Yolo

Catalogue
  1. 定义
    1. 背景
    2. 发展历史
    3. 特点
    4. 目的
  2. 模型架构
    1. YOLOv1
  3. 资料

定义

YOLO是一种目标检测模型。(you only look once)只需要浏览一次就可以识别出图中的物体的类别和位置

目标检测:计算机视觉中比较简单的一个任务;用来在一张图篇中找到某些特定的物体。 识别物体的种类、标出物体的位置.

背景

因为只需要看一次,YOLO被称为Region-free方法,相比于Region-based方法,YOLO不需要提前找到可能存在目标的Region。

典型的Region-base方法的流程是:

1
2
先通过计算机图形学(或者深度学习)的方法,对图片进行分析,找出若干个可能存在物体的区域。
将这些区域裁剪下来,放入一个图片分类器中,由分类器分类。

也被称为单阶段(1-stage)模型 和 两阶段(2-stage)模型.

发展历史

YOLO之前的世界: R-CNN什么的.

  1. 最初的CNN:通过滑动窗口方式识别一个个物体。( 太慢了,步长越小,处理越慢,浪费时间 )
  2. R-CNN:用滑窗法可能最后得到了几十万个窗口,如果提前扫描一下图片,得到2000个左右的Region,大大节省了时间.
    管这个叫做Region Proposal,并且提出了一个叫做Selective Search的算法。

  3. 但是R-CNN被YOLO打脸了,YOLO说,我更快。

    • YOLOv1(2016年5月):第一个YOLO版本、提出一种端到端的目标检测方法、将图像划分为网格、每个网格负责预测多个边界框和对应的类别。
      「YOLOv1相对较简单,但在实时性能上表现出色」

    • YOLOv2 / YOLO9000(2016年12月):改进,使用Anchor Boxes来优化边界框的预测、使用Darknet-19网络结构、YOLO9000扩展了模型的类别,使其能够检测超过9000个类别。

    • YOLOv3(2018年4月):重要版本,引入了关键的改进(使用多尺度检测、使用更深的Darknet-53网络结构、使用多层级特征融合)。准确性和速度之间取得了更好的平衡。

    • YOLOv4(2020年4月):CSPDarknet53网络结构、YOLOv3的PPM(Path Aggregation Network)、SAM(Spatial Attention Module)。「在目标检测任务中取得了更好的性能」

    • YOLOv5(2020年6月):采用轻量级网络结构、新的训练策略「可以在更快的速度下实现高精度目标检测」

特点

单次前向传递: YOLO采用单一的神经网络模型,通过一次前向传递即可同时预测图像中所有目标的边界框和类别。

网格划分:将图像划分成网格,并在每个网格上进行目标检测。每个网格负责预测包含在该网格中的目标。

边界框预测: 在每个网格中,通过卷积层预测多个边界框的坐标信息(边界框的左上角和右下角坐标)。

优缺点:优势在于其速度和简洁性;相对于一些两阶段的目标检测算法,可能在检测小目标和处理密集场景时表现稍逊。

目的

目标是实现高效而准确的目标检测,尤其在实时应用中取得了显著的成果。

模型架构

YOLOv1

由Joseph Redmon等人在2016年提出的目标检测算法。

(1)背景

在YOLOv1提出之前,目标检测的实现方法往往较为复杂,需要通过分类的方法来重写回归分支,以实现检测,并且需要复杂的后处理来得到最终的检测结果。这导致检测过程耗时长且复杂。

为了改进这一问题,Joseph Redmon等人提出了YOLOv1,将目标检测任务定义为单个回归问题,直接从输入图像上得到目标的位置和类别,大大简化了检测过程。

此外,Joseph Redmon等人还将YOLOv1设计为一个端到端的算法,使得整个检测过程更加高效和简洁。这种新的目标检测算法在提出后受到了广泛的关注和应用,为计算机视觉领域的发展做出了重要贡献。

Joseph Redmon因提出YOLO系列算法而被称为“YOLO之父”。

不过,由于后期美国军方曾将YOLO智能识别技术用于军事武器开发,Joseph Redmon不希望自己的成果被用在军事上,因此他后来停止了计算机视觉方面的研究和工作。尽管如此,他之前提出的YOLO系列算法仍然在计算机视觉领域发挥着重要作用。

1
Joseph Redmon提出YOLOv1时的身份背景,他当时是在华盛顿大学读博士,并在Ali Farhadi教授的指导下进行研究. 因此,他是在学术环境中,具体来说是在华盛顿大学的研究团队中,提出并发表了YOLOv1算法。

(2)模型架构(论文思想)

见论文精读.

  • 算法流程
  • 网络结构
  • 预训练分类网络
  • 训练检测网络
  • 损失函数(L2 Loss)

(3)YOLOv1的缺陷

资料

论文精读:《You Only Look Once: Unified, Real-Time Object Detection》