0
点赞
收藏
分享

微信扫一扫

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


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

文章目录

  • ​​图像识别之Yolov5训练自己的模型​​
  • ​​一、前言​​
  • ​​二、对图像进行标注​​
  • ​​三、数据集的划分​​
  • ​​四、配置训练的文件​​
  • ​​1、修改yolov5l.yaml配置文件​​
  • ​​2、修改coco128.yaml配置文件​​
  • ​​五、开始训练​​
  • ​​六、训练结果呈现​​
  • ​​1、训练相关参数​​
  • ​​2、测试​​
  • ​​七、总结​​

一、前言

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


二、对图像进行标注

首先我们需要获取数据,这个大家可以根据自己的需要以及数据的要求在不同的数据集中自己选择下载获取,这里不必赘述了,在获取到数据以后需要对数据进行标注,我使用的线上标注平台式:

​​https://www.makesense.ai/​​

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

我是准备使用猫和狗这两种动物的图片进行训练,最终希望可以准确的识别这两种动物。

下面。我们就对数据集进行标注:

导入数据:

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


进行添加标签:

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


手动圈画空间:一张图片可以有多条狗:

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


一张图片也可以只有一条狗:

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

一张图片可以有多只猫:

图像识别之Yolov5训练自己的模型_深度学习_06

一张图片也可以只有一只猫:

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

在我们,对所有的图片完成标注以后,需要导出标签:

图像识别之Yolov5训练自己的模型_深度学习_08


然后,我们需要对数据集进行归类:

图像识别之Yolov5训练自己的模型_深度学习_09


图像识别之Yolov5训练自己的模型_机器学习_10


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

三、数据集的划分

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

在上面所示的文件夹里面放入图片以及标签:

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

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


图像识别之Yolov5训练自己的模型_机器学习_13

四、配置训练的文件

我们需要对训练的文件进行配置,这样才可训练我们自己的数据。

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

1、修改yolov5l.yaml配置文件

我们在models下面找到yolov5l,因为我是准备使用yolov5l.pt来进行训练,因此使用这个配置文件来进行修改,这里只需要修改一个位置:

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

2、修改coco128.yaml配置文件

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

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

五、开始训练

.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训练自己的模型_深度学习_16

接下来就是漫长的训练过程。

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

六、训练结果呈现

1、训练相关参数

在训练完成之后会有一些训练过程或者结果的记录,这里展示一部分内容:

图像识别之Yolov5训练自己的模型_深度学习_18


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


图像识别之Yolov5训练自己的模型_机器学习_20


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


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


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


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


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


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


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


下面,我们来使用图片进行测试,看看训练的效果怎么样。

2、测试

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

这是测试的语法:

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

图像识别之Yolov5训练自己的模型_机器学习_28


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

七、总结

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

举报

相关推荐

0 条评论