目标检测模型开发文档v1.0

目标检测模型的数据准备、训练和预测过程开发文档

开发步骤:
一:数据采集与数据标注
二:训练模型
三:测试模型

代码文件:
yolo4_tiny.py,CSPdarknet53_tiny.py定义了一个轻量级模型
loss.py用于计算预测框与真实框的iou以及loss值等
ious.py用于求出预测框以及真实框的位置
utils.py文件中设置了输入进来的图片以及预测框的处理以及训练学习率的调用设置

一:数据采集与数据标注

1:数据集结构:
在这里插入图片描述
JPEGImages文件夹:
原始图像格式必须为jpg格式,避免出错
Annotations文件夹:
该文件夹中存放图像标注的xml文件
ImageSets文件夹:
该文件夹中存放标注类别的每个文件列表信息
train.txt表示训练数据集合
val.txt表示验证数据集合
trainval.txt表示验证跟训练数据集合
test.txt表示测试数据集合

2:数据采集
选择需要检测的目标,按目标采集图片
此处选择目标类别为:人头(head),眼镜(glass),帽子(cap),行人(pedestrian),口罩(mask)

3:数据标注
使用labelImg工具标注图片

4:数据集制作
运行voc2yolo4.py文件会生成四个txt文件
在这里插入图片描述
5:生成图片及标注框位置
运行voc_annotation.py文件会生成三个txt文件
在这里插入图片描述

2007_train.txt中每一行对应图片路径及标注框位置

二:训练模型

训练前在model_data文件夹下创建voc_classes.txt文件,存放需要分类的类别
train.py文件中获得类和先验框
在这里插入图片描述
设置训练数据生成器后读入xml文件,获得框属性
创建yolo模型
在这里插入图片描述
训练文件中可选择是否加载预训练权重
在这里插入图片描述

训练参数的设置
logging表示tensorboard的保存地址
checkpoint用于设置权值保存的细节,period用于修改多少epoch保存一次
reduce_lr用于设置学习率下降的方式
early_stopping用于设定早停,val_loss多次不下降自动结束训练,表示模型基本收敛
在这里插入图片描述
划分验证集和训练集比例为1:9
在这里插入图片描述

开始训练,先冻结后训练,再解冻训练,冻结后训练可以加快训练速度,也可以在训练初期防止权值被破坏
在这里插入图片描述在这里插入图片描述
Init_epoch为训练起始
Freeze_epoch为冻结训练的次数
Epoch为总训练次数
batch_size为一次训练中每次数据读取个数
这些数据可视个人情况设定
运行train.py文件开始训练
在这里插入图片描述

三:测试模型

在yolo.py文件中设置模型路径以及预测框的分数score、交并比iou等
如检测不出目标可适当降低score值
需注意当模型损失率在20左右时可能检测不到目标,应多进行几次训练尽量降低损失率。

运行predict.py文件
在终端中输入:
python predict.py
输入图片名称可测试图片,并将图片保存
在这里插入图片描述
在这里插入图片描述

运行video.py可调用摄像头检测
在终端中输入
python video.py
如果要调用视频测试可将
capture=cv2.VideoCapture(0)
改为
capture=cv2.VideoCapture(“视频路径”)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值