图像识别之Yolov5训练自己的模型

图像识别之Yolov5训练自己的模型

文章目录

  • 图像识别之Yolov5训练自己的模型
  • 一、简介
  • 2.注释图像
  • 三、数据集的划分
  • 四、配置训练文件
  • 1、修改yolov5l.yaml配置文件
  • 2、修改coco128.yaml配置文件
  • 5.开始训练
  • 6. 培训成果展示
  • 1、训练相关参数
  • 2、测试
  • 7. 总结

一、简介

上一篇文章讲解了如何使用Yolov5的原有的模型进行识别,本文将会介绍使用Yolov5来进行自己的数据集的训练。

上一篇文章的链接是:
https://blog.csdn.net/m0_54218263/article/details/122601330?spm=1001.2014.3001.5501

2.注释图像

首先,我们需要获取数据。您可以根据自己的需要和数据要求,选择从不同的数据集中下载获取。此处无需赘述。获取数据后,需要对数据进行标注。我使用的在线标签平台模式:

https://www.makesense.ai/

图像识别之Yolov5训练自己的模型

我打算用猫狗的图片来训练,最后希望能准确识别出这两种动物。

在下面。让我们标记数据集:

导入数据:
图像识别之Yolov5训练自己的模型
添加标签:
图像识别之Yolov5训练自己的模型
手动圈出绘图空间:

一个图像可以有多个狗:
图像识别之Yolov5训练自己的模型
一张图片也可以只有一只狗:
图像识别之Yolov5训练自己的模型

一个图像可以有多个猫:
图像识别之Yolov5训练自己的模型

一张图片也可以只有一只猫:
图像识别之Yolov5训练自己的模型

在我们完成所有图像的标记后,我们需要导出标签:
图像识别之Yolov5训练自己的模型
然后,我们需要对数据集进行分类:
图像识别之Yolov5训练自己的模型
图像识别之Yolov5训练自己的模型
图像识别之Yolov5训练自己的模型

三、数据集的划分

将自定义测试的图像数据和标签数据集分别 划分为:训练集、验证集、测试集,,比例根据数据量不同,一般可以为 96%:2%:2%

将图片和标签放在如上所示的文件夹中:

这里需要注意的是,标签和图片需要一一对应。

图像识别之Yolov5训练自己的模型
图像识别之Yolov5训练自己的模型

四、配置训练文件

我们需要配置训练文件,以便我们可以根据自己的数据进行训练。

我们需要对后缀名为yaml的文件进行修改,从而使得它们满足我们自己的训练的需求:

1、修改yolov5l.yaml配置文件

我们在models下面找到yolov5l,因为我是准备使用yolov5l.pt来进行训练,因此使用这个配置文件来进行修改,这里只需要修改一个位置:
图像识别之Yolov5训练自己的模型

2、修改coco128.yaml配置文件

在这里,我们找到data下面的coco128文件,复制一份,然后将download注释掉,修改数目,修改标签的名称,然后就修改完成了。

图像识别之Yolov5训练自己的模型

5.开始训练

 python train.py --cfg models/myyolov5l.yaml --data data/mycoco.yaml --weights yolov5l.pt --epoch 150 --batch-size 32

如果你不想要这么高的训练准确率,你可以稍微降低它:

python train.py --cfg models/myyolov5s.yaml --data data/mycoco.yaml --weights yolov5s.pt --epoch 150 --batch-size 32

图像识别之Yolov5训练自己的模型

接下来是一个漫长的训练过程。
图像识别之Yolov5训练自己的模型

6. 培训成果展示

1、训练相关参数

训练完成后,会有一些训练过程或结果的记录,这里展示一些:
图像识别之Yolov5训练自己的模型
图像识别之Yolov5训练自己的模型
图像识别之Yolov5训练自己的模型
图像识别之Yolov5训练自己的模型
图像识别之Yolov5训练自己的模型
图像识别之Yolov5训练自己的模型
图像识别之Yolov5训练自己的模型
图像识别之Yolov5训练自己的模型
图像识别之Yolov5训练自己的模型
图像识别之Yolov5训练自己的模型
接下来我们用图片来测试一下,看看训练效果如何。

2、测试

 python detect.py --weights runs/train/exp3/weights/best.pt --source data/test/test1.jpg

这是测试的语法:

 python detect.py --weights runs/train/exp3/weights/best.pt --source data/test/test1.jpg

图像识别之Yolov5训练自己的模型
图像识别之Yolov5训练自己的模型

7. 总结

以上就是,使用yolov5来训练自己的数据集的一个案例,希望对大家有帮助,最后,谢谢大家的阅读与支持,喜欢的话就点个赞,我一定会再接再厉接着加油的呢。

版权声明:本文为博主hhh江月原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/m0_54218263/article/details/122695719

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(1)
青葱年少的头像青葱年少普通用户
上一篇 2022年2月15日
下一篇 2022年2月15日

相关推荐