YOLOv5训练及使用(基础详细版)

采集数据集

1.标注数据

按照https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data的步骤操作,标注标签时,使用makesense.ai(网页直接搜索)

yolov5的train怎么用gpu yolov5多gpu训练_深度学习

整个目录下的所有图片全部选中后上传,如下图所示:

yolov5的train怎么用gpu yolov5多gpu训练_深度学习_02

然后增加要识别的标签

yolov5的train怎么用gpu yolov5多gpu训练_深度学习_03

然后点击start project。也可以先点击start project,然后增加标签。

yolov5的train怎么用gpu yolov5多gpu训练_深度学习_04

标注标签要与之对应

yolov5的train怎么用gpu yolov5多gpu训练_yolov5的train怎么用gpu_05


yolov5的train怎么用gpu yolov5多gpu训练_机器学习_06

标注完一张图片后,进行下一张图片的标注。全部图片标注完成后。选中导出,注意选中yolov5的数据格式导出。

yolov5的train怎么用gpu yolov5多gpu训练_目标检测_07


yolov5的train怎么用gpu yolov5多gpu训练_目标检测_08

基于yolov5 训练

1. 创建fruit.yaml配置文件

在data目录下,拷贝yolov5文档提到的coco128.yaml配置文件,重命名为fruit.yaml

yolov5的train怎么用gpu yolov5多gpu训练_深度学习_09


右键上图的fruit.yaml。

根据实际内容修改fruit.yaml 配置文件内容(1.train和val路径2.标签种类names),修改后参考如下:

yolov5的train怎么用gpu yolov5多gpu训练_深度学习_10


组织文件目录。把标注好的文件放到对应目录下,参考如下:

其中fruit目录是参考上面fruit.yaml里的路径,fruit目录下内容:

yolov5的train怎么用gpu yolov5多gpu训练_机器学习_11


yolov5的train怎么用gpu yolov5多gpu训练_python_12


images目录下内容:

yolov5的train怎么用gpu yolov5多gpu训练_python_13


labels目录下内容:

yolov5的train怎么用gpu yolov5多gpu训练_深度学习_14


自己采集并导入标注的数据放在此目录下:

yolov5的train怎么用gpu yolov5多gpu训练_机器学习_15


从make sence 导出的文件放在此目录下:

yolov5的train怎么用gpu yolov5多gpu训练_机器学习_16


val验证集目录类似,参考配置如下:

yolov5的train怎么用gpu yolov5多gpu训练_目标检测_17

如val也使用train目录,请修改前面配置的fruit.yaml里的路径

开始训练

https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data(可以参考) 1)文档的操作步骤进行操作,其中最后一步的训练的命令,需要修改参数(epochs 100 表示这组数据训练了100遍;data fruit.yaml(根据你自己命名的.yaml文件修改此处名字))
2)在yolov5 终端(cmd)输入命令activate pytorch 进入pytorch环境
3)然后输入命令python train.py --img 640 --batch 16 --epochs 100 --data fruit.yaml --weights yolov5.pt进行训练。

模型结果

训练完成后,在此目录下有训练结果:

yolov5的train怎么用gpu yolov5多gpu训练_yolov5的train怎么用gpu_18

算法检测

使用训练结果推理 参考 https://github.com/ultralytics/yolov5里的推理命令或在yolov5终端输入如下推理命令:

python detect.py --source data/images --weights runs\train\exp\weights\best.pt --conf 0.25

推理命令说明:

detect.py 为推理检测的脚本代码,

–source 为检测的图片所在的目录,

–weights为所用到的模型文件,根据前面算法训练,此处用到的模型文件即为大家训练好的。

–conf 为自信度,0.25表示只采用0.25以上的。

蓝色字部分为前面训练好的模型文件(它是用yolov5.pt和仿真采集的图片集训练出来的)。

具体路径请修改为自己的实际结果所在路径。(每次运行训练脚本train.py时,exp会增加,如下图)

yolov5的train怎么用gpu yolov5多gpu训练_深度学习_19


data/images目录下内如参考如下:

yolov5的train怎么用gpu yolov5多gpu训练_深度学习_20

运行检测后,结果路径在runs目录下的detect目录里(每次运行exp会依次增加),检测结果参考如下:

yolov5的train怎么用gpu yolov5多gpu训练_yolov5的train怎么用gpu_21


yolov5的train怎么用gpu yolov5多gpu训练_机器学习_22

在pycharm里使用

1.训练

yolov5的train怎么用gpu yolov5多gpu训练_目标检测_23


1)在yolov5的train.py里边的main函数下修改训练的yaml文件

2)default 为训练次数

其余部分可不做修改。

3)右键 Run train 开始训练。

2.验证

yolov5的train怎么用gpu yolov5多gpu训练_yolov5的train怎么用gpu_24


1)训练完后在run-train会出现一个exp文件,exp中的weights文件会生成一个best.py和last.py

2)根据出现的exp文件名称修改图中序号一的名称。

3)把另外找的、想要验证的图片放到图中序号2的文件夹下(在yolov5里边)

4)右键 run detect

5) 训练结束后,在run-detect里查看结果。