提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
版本一定要和我的一致,不然不保证能run起来!!!
一、YOLOv5 5.0
该任务我们选择YOLOv5 5.0 版本。在https://github.com/ultralytics/yolov5中,可以选择对应的版本下载。由于GitHub上 v5 5.0 版本的C++代码居多,故选择 v5 5.0。(后期流程和部署代码熟练了可以试一下v5 7.0 版本的部署)
1、下载代码
这里直接打开上述链接应该是这样的页面, 是v5 7.0 的代码
我们要选择 v5 5.0 版本,那么我们要在master中选择Tags,里面有对应的各个版本
这才是v5 5.0 的代码,如下图所示
然后,我们将代码的zip压缩包下载下来(也可以使用 git clone 的方式将代码直接copy到本地)
解压到自己的文件夹下
2、调试训练代码
2.1、配置环境
在PyCharm中打开文件夹。
首先,配置需要的环境,requirement.txt中有各种包需要的最低版本,在PyCharm的Terminal中复制 pip install -r requirement.txt ,开始配置环境。(建议为yolov5 5.0 版本新建一个虚拟环境,避免在同一个环境在别的代码中需要更新环境。)
Anaconda Prompt中可以查看我们环境中的各种包,我记得numpy和onnx版本不能太高,会有问题,按照我这个版本按照就可以了。(中间遇到其他的版本问题百度一下,大部分都可以解决)
2.2、训练
打开 train.py 文件,在 if name == ‘main’: 中,“–cfg"中添加默认值 models/yolov5s.yaml ,这个是yolov5s模型的yaml文件,会在之后按照这个yaml文件中的设定去构建网络结构,并下载yolov5s.pt文件。(可以设置别的模型,路径名写对就可以了)
右键train,可以看到下面在下载 yolov5s.pt 文件,但是仔细观察可以看到是在下载v7.0版本的,我们要的是5.0版本的。并且我们在下载完成之后会看到有报错,报错原因就是因为我们的 .pt 文件下载错误,因此我们需要从官网找一下对应的文件。
回到我们GitHub上的官网地址,在右侧有一个releases
往下翻会找到5.0版本的链接,点击进入
在最下方会有yolov5 5.0 版本的 yolov5s.pt,下载下来,放在刚才的文件夹下。
这个时候我们点击train还是会报错,可以看到是因为路径问题,下载下来的 coco128.zip 没有解压(不清楚是代码写错了,还是我的问题)。
由于train.py中,”–data"的默认值是data/coco128.yaml,我们打开coco128.yaml看一下。发现train和val指向的都是上一级目录的coco128文件夹,那我们手动解压一下,把路径修改成绝对路径。
再点击train,还是会报错
在loss中修改这一行
同时,要把数据集中的labels文件夹下的.cache缓存文件删掉
再train就可以run起来了!!!
训练结束后,会生成 best.pt 和 last.pt 文件
3、导出 .onnx 文件
打开在 models 文件夹下的 export.py 文件,修改"–weights"的默认值,修改成训练好之后的 best.pt 路径,然后就可以导出了。会在 best.pt 文件夹下生成对应的 .onnx 文件
二、C++部署
这里我是直接GitHub上找的C++代码,直接贴链接https://github.com/xiaojunjun65/YOLOv5-onnx,这个作者的教程在https://blog.csdn.net/xiaojunjun200211/article/details/121784214,可自行参考
C++代码中主要是把class_name的值、.onnx文件路径和图片路径修改一下就可以运行了。文章来源:https://www.toymoban.com/news/detail-694143.html
总结
建议没有过部署经验的同学可以先按照这个流程先部署一下 5.0 版本,或者找GitHub上的代码时一定要按照作者要求的 YOLOv5 版本做部署,熟练之后再部署其他版本。主要问题在于版本和作者不一致之后会出现检测框无法展示出来,.onnx 节点报错等问题,我是初学,还不清楚是什么原因,后面再学学可以尝试一下高版本的部署。
欢迎有小伙伴交流和指教,感谢!!!
感谢:https://blog.csdn.net/xiaojunjun200211/article/details/121784214文章来源地址https://www.toymoban.com/news/detail-694143.html
到了这里,关于YOLOv5 5.0版本 + OpenCV 4.5.2 部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!