一、标注数据(labelimg标注工具)
利用labelimg标注工具标注图片真实框,获得xml(voc)格式文件。标签名包括'ball'、'racket'、'hand'。如下图所示:
二、安装开发环境(docker、Linux、Python、Opencv)
直接用docker拉取镜像,代码如下:docker pull ultralytics/yolov5:latest
创建容器,代码如下:docker run --shm-size 64g --gpus all --network host -v /mnt/d/train/yolov5:/yolov5 --name yolov5 -d ultralytics/yolov5:latest tail -f /dev/null
进入容器:docker exec -it yolov5 bash
如下图所示:
三、标签xml(voc)格式转为txt(yolov)格式并划分数据集
xml文件如图所示:
txt文件如图所示:
划分后的数据集如图所示:
以上操作就完成了数据集和开发环境的准备
四、下载预权重
可以参考此博主的文章:https://blog.youkuaiyun.com/qxqsunshine/article/details/128321451
这里以yolov5s.pt为例,如下图所示:
五、数据集和模型配置文件
数据集配置文件如图所示:
模型配置文件:yolov5s.yaml
备注:只需要修改类别数量即可
以上就完成了所有前期的准备工作
六、编辑训练脚本:vim train.py
备注:--weights:预权重目录
--cfg:模型配置文件
--data:数据集配置文件
--epoch:迭代次数
--batch-size:批量大小(主要与内存有关,一般取32、64、96)
--device:gpu数据量(一般默认选择0,即单gpu训练)
设置完成以上参数就可以开始训练了,训练完成如下图所示:
七、预测图片和视频检验效果:vim detect.py
备注:--weight:修改为训练出来的权重文件
--source:需要预测的图片、数据集、视频、实时视频
--data:数据集配置文件
--conf-thres:置信度阙值;--iou-thres:iou阙值
数据集预测结果如图所示:
下一步计划是采用opencv部署模型。