YOLOv5训练及使用(基础详细版)
采集数据集
1.标注数据
按照https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data的步骤操作,标注标签时,使用makesense.ai(网页直接搜索)
整个目录下的所有图片全部选中后上传,如下图所示:
然后增加要识别的标签
然后点击start project。也可以先点击start project,然后增加标签。
标注标签要与之对应
标注完一张图片后,进行下一张图片的标注。全部图片标注完成后。选中导出,注意选中yolov5的数据格式导出。
基于yolov5 训练
1. 创建fruit.yaml配置文件
在data目录下,拷贝yolov5文档提到的coco128.yaml配置文件,重命名为fruit.yaml
右键上图的fruit.yaml。
根据实际内容修改fruit.yaml 配置文件内容(1.train和val路径2.标签种类names),修改后参考如下:
组织文件目录。把标注好的文件放到对应目录下,参考如下:
其中fruit目录是参考上面fruit.yaml里的路径,fruit目录下内容:
images目录下内容:
labels目录下内容:
自己采集并导入标注的数据放在此目录下:
从make sence 导出的文件放在此目录下:
val验证集目录类似,参考配置如下:
如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进行训练。
模型结果
训练完成后,在此目录下有训练结果:
算法检测
使用训练结果推理 参考 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会增加,如下图)
data/images目录下内如参考如下:
运行检测后,结果路径在runs目录下的detect目录里(每次运行exp会依次增加),检测结果参考如下:
在pycharm里使用
1.训练
1)在yolov5的train.py里边的main函数下修改训练的yaml文件
2)default 为训练次数
其余部分可不做修改。
3)右键 Run train 开始训练。
2.验证
1)训练完后在run-train会出现一个exp文件,exp中的weights文件会生成一个best.py和last.py
2)根据出现的exp文件名称修改图中序号一的名称。
3)把另外找的、想要验证的图片放到图中序号2的文件夹下(在yolov5里边)
4)右键 run detect
5) 训练结束后,在run-detect里查看结果。