目标检测训练自己的数据集

#训练自己的数据集
一、准备数据集
1.准备数据集:先在网上查有没有已经标注的公共数据集,如COCO、VOC数据集,如果公共数据集中没有所需的类,则自己在网上找图片即可(图像尽可能保存为jpg格式),图像尽可能要求分辨率高,背景环境简单
2.数据集的标注:在目标检测中常用labelImg工具进行标注,工具下载地址:link
标注工具github界面如图所示:下载后解压,使用说明见下载文件中的readme.md
labelImg
3.进入labelImg-master文件夹:
labelImg文件夹
在空白处安装键盘的Shift键+鼠标右键,点击“在此处打开Powershell”(如果没有此选项,用cmd进入该目录即可),对于windows系统:在命令窗口输入命令:
pyrcc5 -o libs/resources.py resources.qrc
python labelImg.py
如下图所示(注意,PowerShell或cmd窗口不要关闭!):
输入命令
此时会出现labelImg的窗口,如下图所示,在Open Dir找到图片路径:
图像标注
比如要检测香烟:按一下键盘上的w键,此时鼠标会变成+,对目标画矩形框,并在跳出来的窗口输入标签,如下图所示:
图像标注
Ctrl+s对标签进行保存(不要更改标签文件名字),标签会以xml文件形式进行保存,标签文件内容如下图,按D可切换下一张:
标签文件
以上步骤即为自作数据集的全过程,如果在使用labelImg工具标注时发现有鼠标有失控的现象,将工具重新打开即可。
二、训练:
2.1准备工作:
案例介绍的为YOLOv4目标检测,环境为pytorch,显卡为英伟达1650。
代码下载:link.代码相关问题可查看该博主的说明。
下载yolov4的权重文件:链接: link 提取码: q2iv。该权重文件也是上述博主云盘所提供的。将下载好的权重文件放在model_data文件下,同时在model_data下新建一个new_classes.txt文件,输入自己需要检测的类:
放入类文件及权重文件
输入自己类
打开yolo.py文件,在class YOLO(object)中model_path:为加载的权重文件(前面提到的yolov4的权重文件),文件格式为pth,anchors_path为锚框文件路径,classes_path为检测的类文件路径。
运行predict.py,输入img下的测试图像:street.jpg。如果能显示出检测结果说明程序能正常运行,否则根据报错进行调整,一般错误有某个组件没下载或者版本问题,模型加载路径问题。
2.2 训练自己的数据集:
建立标签和图像文件夹
在VOCdevit/VOC2007下检查有没有上图文件,没有则自己创建Annotation文件用来存放xml标签文件,JPEGImages用来存放图像文件。
运行voc2yolo4.py,此时会在ImageSets/Main文件下生成每个训练图像的txt文件(txt文件中只有图像的名称,没有坐标信息和格式)。
打开voc_annotation.py,将classes中的类修改为自己标记的类名称,并运行,将xml转换为yolo4可读的txt文件,此时会生成2007_train.txt,2007_test.txt,2007_val.txt文件,打开2007_train.txt可看到每个图像的名称即坐标信息,如下图所示:
转换的标签信息
如果在txt文件中没有这些信息,说明转换有错误,再一步一步检查,如果检查标签文件以及Main文件下的txt文件没问题,可修改voc_annotation.py中in_file这一行的代码,代码修改如下:
修改代码
打开train_with_tensorboard.py(需要安装tensorboardX),将下图中的classes_path修改为new_classes.txt:
修改路径
其他训练参数可根据自身需求进行调整,训练后的模型会保存在logs文件中,训练完以后如果想继续训练,可修改model_path的权重路径为自己权重进行预训练。
在yolo.py中可修改model_path和classes_path为自己权重和类文件,然后再predict.py和video.py进行图像或视频检测。

Yolov4原理详解可参考:link

  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱吃肉的鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值