552 字
3 分钟
YOLO入门 1 使用预训练模型进行检测

前言#

我这里就不对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 下来:

Terminal window
git clone https://github.com/ultralytics/yolov5

关于官方的模型我推荐 YOLOv5s,下载完成后把模型放在根目录里就行。

下载完成后,进入根目录并配置环境:

Terminal window
cd yolov5-master
pip install -r requirements.txt

等待安装完成。


摄像头检测#

检测前先确定 yolov5s.pt 模型文件在根目录里。

如果是带摄像头的笔记本,可以尝试从摄像头获取视频流进行实时识别:

Terminal window
python detect.py --source 0
  • source 0 : webcam,默认摄像头。

吐槽:果然还是我卤蛋头的识别率更高么!!!


图像检测#

图像检测可以使用官方给的测试图片:

Terminal window
python detect.py --source ./data/images/bus.jpg


报错#

模型错误#

RuntimeError: PytorchStreamReader failed reading zip archive: failed finding central directory

这个报错出现的原因是,模型的下载或保存出现错误:

第一种:如果使用的是官方提供的模型,并且没有预下载,那么根据网络条件可能会出现网络波动并停止下载,可以直接重新下载或通过其他方法获取模型。

第二种:如果使用的是自己训练的模型,就可能是训练的时候参数保存出了问题,需要更新下配置重新训练模型4

Footnotes#

  1. Joseph Chet Redmon

  2. 目标检测之YOLOv5算法

  3. Ultralytics

  4. PytorchStreamReader failed reading zip archive: failed finding central directory

YOLO入门 1 使用预训练模型进行检测
https://fuwari.vercel.app/posts/人工智能/计算机视觉/yolo入门-1-使用预训练模型进行检测/
作者
Asuwee
发布于
2021-12-20
许可协议
CC BY-NC-SA 4.0