YOLOv7简单使用记录
毕设用了YOLOv7,个人使用感觉是在保持精度的情况下,大幅提高了速度,当然与之相对应的是计算复杂度的提高,所以对设备也有一定要求。
这个博客讲怎么用YOLOv7提供的源码和COCO数据集训练好的权重来进行简单的目标检测,训练等将在下一个博客中介绍。
环境配置
yolov7源码地址https://github.com/WongKinYiu/yolov7
首先是pytorch的安装和cuda的安装,可以参考之前的博客,要注意pytorch和cuda版本对应问题。源码中requirements.txt中的安装要求为torch>=1.7.0,!=1.12.0 torchvision>=0.8.1,!=0.13.0
下载yolov7源码,推荐使用pycharm,pycharm可以指定环境anaconda已经配置好的环境。例如我新建一个虚拟环境命名为yolov7,在pycharm中打开yolov7项目,在设置中,选择该虚拟环境的编译器。一般情况下可以直接选择,如果不能选择就按照路径搜索。
设置环境后,terminal中应该会启动该环境,如果没有启动就手动启动,使其保持在你配置好的环境下运行。
终端中输入pip install -r requirements.txt
,下载需要的库。试过anaconda下载好像有的库不在,只能用pip。
下载权重
权重文件可以在源码地址中找到,也可以直接通过wget链接下载。该权重文件是用coco数据集训练得到的。
wget https://github.com/WongKinYiu/yolov7/releases/download/v0.1/yolov7.pt
点击pt文件可以选择你需要的直接下载,记得保存到该yolov7文件夹中(不保存用绝对路径可能会麻烦,所以推荐直接保存到该文件夹)。
下载权重后就可以直接指定使用原有的权重来进行检测了。
使用训练好的权重检测
也是参考源项目中提供的命令语句,直接在命令行中输入。
视频
python detect.py --weights yolov7.pt --conf 0.25 --img-size 640 --source yourvideo.mp4
图片
python detect.py --weights yolov7.pt --conf 0.25 --img-size 640 --source inference/images/horses.jpg
可以看到视频和图片的区别只有尾缀,因为yolov7可以直接区分图片和视频格式。
前面的参数都可以自己调整,weights就是你下载的权重,位置不要出错就行,conf就是置信度,img-size是输入图片的大小(一般情况下图片越大检测精度越高,检测速度也会降低),source是检测文件的位置。
入图片的大小(一般情况下图片越大检测精度越高,检测速度也会降低),source是检测文件的位置。