使用yolov5的2.0分支训练自己的模型并在x3派运行

本文详细介绍了如何使用YOLOv5的2.0分支训练自定义模型,并将其转换为适合在X3派上运行的模型。首先,下载代码、权重和数据集,配置环境,使用labelImg标注数据。接着,训练模型,解决训练过程中的protobuf和Pillow版本问题。然后,转换模型为ONNX格式,并在OE开发包中进行模型验证和校准数据处理。最后,将模型转换为板上模型并进行精度分析,为上板运行做准备。
摘要由CSDN通过智能技术生成


之前训练自己模型的时候使用的是博主 bubbling的1.0分支的代码,博主的 博客比较详细,使用的是VOC2007数据集,可以快速上手根具需要训练自己的模型。不过最近需要将yolov5的模型部署到旭日X3派的开发板上,参考教程和社区帖子一阵折腾,成功转换模型并运行了,就是检测的结果很不理想(后续补坑,看看么个事儿)。猜想可能是版本问题,模型后处理过程不同导致,决定按教程里面,使用 官方2.0分支训练部署模型试试。

准备代码、权重、数据集

在准备放置yolov5工程的文件目录打开终端,使用命令:

git clone https://github.com/ultralytics/yolov5  # clone repo
cd yolov5
git reset --hard 5e970d4  # last commit before v2.0

或者直接在官方2.0分支页面Assets下点击下载Sources code(zip)并解压。接着下载yolov5l/m/s/x.pt这些预训练权重文件(分别对应大/中/小/较大),建议先使用yolov5s.pt试试,下载后放在解压后的yolov5-2.0文件夹下的weights文件夹下。

配置环境

conda create -n yolo python=3.8.10 

在yolov5工程文件夹中右键打开终端,使用创建的yolo环境

conda activate yolo

安装依赖:

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

然后运行一下命令,对/inference/images中的图片作一个检测:

python detect.py --weights weights/yolov5s.pt --img 416 --conf 0.4 --source inference/images/

可以看到/inference/output文件中已有结果。
在这里插入图片描述

准备数据

在yolov5-2.0/data文件夹下打开终端:

bash get_coco2017.sh

没有魔法大概率连接不了下载coco数据集的网站,可以使用百度网盘下载一个coco128数据集,可以看到coco128数据集中的图片文件的存放和/data/coco128.yaml中train:描述的路径一致,coco128中labels中存放为yolo格式的.txt标注文件,文件名称和images中的图片一一对应。
可以将自己的数据集图片存放在yolov5-2.0/data/coco128/images/train2017中。
修改/data/coco128.yaml中的train:和val:为./data/coco128/images/train2017/nc:为自己标注的类别数量,names:为标注时使用的标签名称。

标注数据

在yolo环境中使用清华源镜像安装标注工具labelImg

(yolo)xxx:~$ pip install labelImg -i https://pypi.tuna.tsinghua.edu.cn/simple

安装成功后,运行labelImg

(yolo)xxx:~$ labelImg

在这里插入图片描述打开目录选择yolov5-2.0/data/coco128/images/train2017;改变存放目录选择yolov5-2.0/data/coco128/labels/train2017(标注产生的文件将保存在此位置);格式选择YOLO;点击创建区块,使用矩形框选要识别检测的物体并给定标签:xxx;点击查看,可勾选自动保存模式;滑动鼠标滚轮可对待标注图片进行放大缩小。

训练模型

数据准备好后,运行下列命令进行训练:

python train.py --img 640 --batch 16 --epochs 100  --data ./data/coco128.yaml --cfg ./models/yolov5s.yaml --weights ./weights/yolov5s.pt

训练过程中可能出现如下错误:
1.


                
  • 20
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值