跳到主要内容

YOLOv5 算法

YOLO 是什么?

这是 "只看一次"(YOLO)的首字母缩写,这个实时物体检测系统是 Darknet 框架的一部分。它之所以这样命名,是因为图像只经过全卷积神经网络(FCN)一次。

自从它在2015年推出 YOLO 论文以来,开发者 Joseph Redmon 和团队在计算机视觉界引起了一阵狂热。它的受欢迎程度主要是因为它比传统的基于区域的CNN模型更快,而后者是一个多步骤的检测过程。

该系统现在已经升级到了更新的版本。我们将研究 YOLOv5(版本5)。

YOLOv5 是目前常用的 2D 感知算法之一,速度快(GPU 的推理速度高达每秒 100+帧)、精度高。

YOLOv5 组成

YOLOv5 是由 GitHub 的 Ultralytics 组织的 Glenn Jocher 发起的一个项目,它不是 Darknet 的直接产物。它是用 PyTorch 框架的 Python 编写的,而其他 YOLO 版本使用的是 C 和 CUDA。

虽然不是 YOLOv4 的继承者,但 YOLOv5 的结构架构基本保持不变。它由以下部分组成。

  1. 输入: 这是一个提供给系统的图像、补丁等。
  2. 主干。这由系统的神经网络组成,进行所有的学习。跨阶段部分(CSP)网络构成 YOLOv5 的骨干。
  3. 颈部。颈部是用来创建特征金字塔的。它有一组层,在发送预测之前混合和组合图像字符。YOLOv5 使用 PANet 作为其颈部。
  4. 头部:颈部的输出被送入头部,由头部进行方框和类别预测。头部可以是单级的密集预测或两级的稀疏预测。YOLOv5 使用与 YOLOv3 和 YOLOv4 相同的头。

YOLOv5 使用单一的神经网络处理图像,然后将它们分成不同的部分。这样做是为了提高准确性,每个部分通过自动锚定过程获得自己的锚定框。

这个过程是完全自动化的,如果默认的锚箱不准确,它会重新计算锚箱。由于每个零件都有自己的盒子,系统会分析和预测结果。

YOLOv5 模型类型

YOLOv5 有五种模型,列举如下。

  • YOLOv5n。这是最小和最快的模型。它也被称为纳米模型,由于其尺寸,在移动设备中找到应用。
  • YOLOv5s。这也是一个相对较小的模型。它用于在CPU上运行结果。
  • YOLOv5m。正如 "m "所示,这是一个中等大小的模型。
  • YOLOv5l。这是一个大型模型。
  • YOLOv5x。这是各种变体中的顶级型号。然而,尺寸导致速度上的妥协。

请参考下表来比较每个型号的性能。

名称CPU速度(毫秒)GPU速度(毫秒)准确度(mAP 0.5)参数(以百万计)
YOLOv5n456.345.71.9
YOLOv5s986.456.87.2
YOLOv5m2248.264.121.2
YOLOv5l43010.167.346.5
YOLOv5x76612.168.986.7

表中比较了YOLOv5模型的性能 [来源]

YOLOv5 能做什么?

YOLOv5 可以用来检测任何东西或所有东西,这取决于你如何训练该系统。最常见的应用包括车辆拘留、人类检测和障碍物检测。

参考