前言
我这里就不对YOLO做太多介绍了,主要是讲一下YOLOv5和之前几代的区别。
YOLOv1~v3 是由原作者 Joseph Redmon1 提出的,v4 则是由 Alexey Bochoknovskiy 在完善之前的模型后提出的,在论文出来后得到了原作者的肯定2。
YOLOv5相比前几代的不同,这个版本是由 Ultralytics3 公司发布的,或许是涉及到公司利益,所以v5并没有论文,但也使得模型发布初期受到了很多非议。
如果想知道性能高低,这里推荐看看这篇文章: Responding to the Controversy about YOLOv5
目前而言,在同等的精度下,v5 相比 v4 的权重文件更小,并且 v5 所采用的 pytorch 框架比 darknet 更容易上手。
我的配置:Ubuntu 20.04 + Python 3.8
准备
直接从 github 上获取源码。
Github: https://github.com/ultralytics/yoloV5
或者直接 clone 下来:
git clone https://github.com/ultralytics/yolov5
关于官方的模型我推荐 YOLOv5s,下载完成后把模型放在根目录里就行。
下载完成后,进入根目录并配置环境:
cd yolov5-masterpip install -r requirements.txt
等待安装完成。
摄像头检测
检测前先确定 yolov5s.pt 模型文件在根目录里。
如果是带摄像头的笔记本,可以尝试从摄像头获取视频流进行实时识别:
python detect.py --source 0
source 0
: webcam,默认摄像头。
吐槽:果然还是我卤蛋头的识别率更高么!!!
图像检测
图像检测可以使用官方给的测试图片:
python detect.py --source ./data/images/bus.jpg
报错
模型错误
RuntimeError: PytorchStreamReader failed reading zip archive: failed finding central directory
这个报错出现的原因是,模型的下载或保存出现错误:
第一种:如果使用的是官方提供的模型,并且没有预下载,那么根据网络条件可能会出现网络波动并停止下载,可以直接重新下载或通过其他方法获取模型。
第二种:如果使用的是自己训练的模型,就可能是训练的时候参数保存出了问题,需要更新下配置重新训练模型4。