图像识别之Yolov5训练自己的模型
Posted hhh江月
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图像识别之Yolov5训练自己的模型相关的知识,希望对你有一定的参考价值。
图像识别之Yolov5训练自己的模型
文章目录
一、前言
上一篇文章讲解了如何使用Yolov5的原有的模型进行识别,本文将会介绍使用Yolov5来进行自己的数据集的训练。
上一篇文章的链接是:
https://blog.csdn.net/m0_54218263/article/details/122601330?spm=1001.2014.3001.5501
二、对图像进行标注
首先我们需要获取数据,这个大家可以根据自己的需要以及数据的要求在不同的数据集中自己选择下载获取,这里不必赘述了,在获取到数据以后需要对数据进行标注,我使用的线上标注平台式:
我是准备使用猫和狗这两种动物的图片进行训练,最终希望可以准确的识别这两种动物。
下面。我们就对数据集进行标注:
导入数据:
进行添加标签:
手动圈画空间:
一张图片可以有多条狗:
一张图片也可以只有一条狗:
一张图片可以有多只猫:
一张图片也可以只有一只猫:
在我们,对所有的图片完成标注以后,需要导出标签:
然后,我们需要对数据集进行归类:
三、数据集的划分
将自定义测试的图像数据和标签数据集分别 划分为:训练集、验证集、测试集,,比例根据数据量不同,一般可以为 96%:2%:2%
在上面所示的文件夹里面放入图片以及标签:
这里需要注意的是,标签与图片需要一一对应的。
四、配置训练的文件
我们需要对训练的文件进行配置,这样才可训练我们自己的数据。
我们需要对后缀名为yaml的文件进行修改,从而使得它们满足我们自己的训练的需求:
1、修改yolov5l.yaml配置文件
我们在models下面找到yolov5l,因为我是准备使用yolov5l.pt来进行训练,因此使用这个配置文件来进行修改,这里只需要修改一个位置:
2、修改coco128.yaml配置文件
在这里,我们找到data下面的coco128文件,复制一份,然后将download注释掉,修改数目,修改标签的名称,然后就修改完成了。
五、开始训练
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
接下来就是漫长的训练过程。
六、训练结果呈现
1、训练相关参数
在训练完成之后会有一些训练过程或者结果的记录,这里展示一部分内容:
下面,我们来使用图片进行测试,看看训练的效果怎么样。
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训练自己的模型的主要内容,如果未能解决你的问题,请参考以下文章
学习总结win10下yolov5使用GPU训练自己的模型,同时调用网络摄像头识别目标学习指南与踩坑经验