目标检测--yolov5制作和训练自己的数据集

文章介绍了如何使用Yolov5框架训练自定义数据集,包括在Makesense.ai网站进行数据标注,修改配置文件,调整训练参数,以及在训练后如何在视频和图片上显示识别的数量和类别。此外,还提到将训练模型应用到本地及平台上的注意事项。
摘要由CSDN通过智能技术生成

官方参考:Train Custom Data · ultralytics/yolov5 Wiki · GitHub

目录

1、标注数据

 2、修改yolov5配置文件

3、在视频和图片上添加识别的数量和类别(计数暂时不会)

4、本地配置完毕能训练了,放到平台上跑


1、标注数据

采用makesense.ai网站进行数据标注

Make Sense

将图片上传到网站,并且选择目标检测

 创建新标签,也可以直接在txt文件里写好直接导入

 对图片进行标注

标注完成后点击Actions--Export 输出标签,需要哪种形式的标签就选哪个

 可以按照我这样,新建文件夹,放入图片和标签,在test和train都放入图片和标签

 2、修改yolov5配置文件

复制一份coco.yaml改名为自己的配置文件,修改训练集和测试集路径,类别数和类别名称,类别名称的顺序有讲究,和上边创建标签时的顺序一样(标签还得是英文,中文报错了)

 然后修改train的main函数里的data这一项为我们自己的配置文件,修改完成后即可运行

 运行结果保存在runs--train--新的exp下,其中best.pt为精度最高的模型,last为最新训练的模型,可以在detect中来用我们训练好的模型预测

效果还不错,最后我用的是40张图片训练,10张图片测试,200轮

视频参考

3、在视频和图片上添加识别的数量和类别(计数暂时不会)

首先在detect.py中找到这一行,加上一个输出识别的变量s_output

然后找到下面,按照上边s的写法,我们添加s_output

s_output += f"{n} {names[int(c)]}{'s' * (n > 1)} "

 找到下边,在if save_img后添加,最后运行即可,exp中的图片和视频就会显示识别效果

cv2.putText(im0, f"{s_output}", (5, 50), cv2.FONT_HERSHEY_SIMPLEX, 1.2,(0, 0, 255), 2)

4、本地配置完毕能训练了,放到平台上跑

需要把datasets中的train文件夹下和val文件夹下的cahe文件删除(保留的是上一次运行成功后的路径,运行train时不会再次扫描图片和标签),在重新配置路径才能运行成功

| [![](https://img-blog.csdnimg.cn/img_convert/5ecf066b6c86db651c102453663c3121.jpeg =100x)](http://www.relxdingyilang.cn/) | [点击访问博客查看更多内容](http://www.relxdingyilang.cn/) |
|------------------------------------------|-- |

制作自己的数据集,用于训练YOLOv7模型,你可以按照以下步骤进行操作: 1. 收集图像数据:收集与你的目标物体相关的图像。确保图像具有多样性,包括不同的角度、距离、光照条件和背景。 2. 标注目标物体:使用标注工具(如LabelImg、Labelbox等)将目标物体在图像中进行标注。通常,YOLOv7需要边界框(bounding box)来标注目标物体的位置和类别。 3. 创建标签文件:为每个图像创建一个相应的标签文件,用来记录每个目标物体的位置和类别。每个标签文件应与其对应的图像文件具有相同的名称,但扩展名为txt。 4. 划分数据集:将数据集划分为训练集和验证集。通常,80%的数据用于训练,20%的数据用于验证。确保训练集和验证集中的图像分布平衡。 5. 生成YOLO格式数据:将标签文件转换为YOLO格式。YOLO格式是一种文本文件,每一行表示一个目标物体的位置和类别。具体格式为:class_id x_center y_center width height,其中(x_center, y_center)是边界框中心的相对位置,width和height是边界框的相对宽度和高度。 6. 配置训练参数:根据YOLOv7的要求,配置训练参数,包括图像大小、类别数量、训练批次大小、学习率等。 7. 进行训练:使用YOLOv7的训练脚本开始训练。该脚本将读取配置文件、数据集和标签文件,并根据指定的参数进行训练。 8. 模型评估和调优:在训练完成后,使用验证集对模型进行评估。根据评估结果进行调优,如调整超参数、增加数据量等。 9. 测试模型:使用测试集或新的图像数据对模型进行测试,并检查模型的检测性能和准确度。 以上是制作自己的数据集用于训练YOLOv7模型的一般步骤。注意,YOLOv7是基于Darknet框架的模型,你可以在Darknet的GitHub页面上找到更多关于数据集制作和模型训练的详细说明。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值