乐趣区

关于人工智能:目标检测YOLO系列算法的进化史

本文中将简略总结 YOLO 的倒退历史,YOLO 是计算机视觉畛域中驰名的模型之一,与其余的分类办法,例如 R -CNN 不同,R-CNN 将检测后果分为两局部求解:物体类别(分类问题),物体地位即 bounding box(回归问题)不同,YOLO 将工作对立为一个回归问题。也就是绝对于 R -CNN 系列的 ” 看两眼 ”(候选框提取与分类),YOLO 只须要 You Only Look Once。

指标检测

咱们人类只须要看一眼图像就能晓得图像外面蕴含了那些物体,可能晓得这些物体在哪里,以及他们之间的互相关系。这是人类进行指标检测的过程,然而当谈到人工智能计算机视觉中的视频和图像剖析时,指标检测是一个乏味和一直倒退的主题,它从图像和视频中提供有意义和有价值的信息,能够为医疗保健、产品优化、人脸识别、主动驾驶,卫星图像剖析等不同畛域提供微小的帮忙。检测一个对象并从图像中取得高层次的语义或了解将通过 3 个步骤:

1、分类: 这是一个有监督的学习工作,它将训练一个模型,如反对向量机(SVM),AdaBoost 来了解一个对象是否在图像中

2、定位: 通过边界框来辨别对象图像,显示对象是否在图像中(分类)

3、检测: 准确检测物体所在的地位 (物体定位) 和它们所属的组 (物体分类) 的过程。

下图显示了指标检测模型的构造。像人工智能中的所有算法一样,它从输出层开始(输出一个图像),指标检测的两个次要局部是 Backbone 和 Head。Backbone 的作用是提取特色,提供输出的特色映射示意,个别都会应用 ImageNet 上的预训练模型。Head 基于特色进行训练,预测图像中物体的类别及其边界框。

在两阶段指标检测模型中,Faster R-CNN (Region-based Convolutional Neural Networks),应用区域倡议网络在第一阶段和第二阶段生成和抉择感兴趣区域,并将区域倡议向下发送并应用卷积神经网络进行指标分类和边界框回归。两阶段检测器模型具备最高的准确率,但通常较慢,因为必须对每个选定区域进行预测。因而很难将其用作实时对象检测器。

单阶段指标检测器,本文的 YOLO(You Only Look Once),通过创立输出图像的特色图、学习类别概率和整个图像的边界框坐标,将指标辨认视为一个简略的回归问题。算法只运行一次。这样的模型尽管准确率略微有所降落,但比两阶段指标检测器快得多,通常用于实时指标检测工作。

YOLO Version 1; 对立的实时指标检测框架

YOLO 是一个简略的且不简单的对象检测模型,它对图片进行剖析只须要“看一眼”,就能够预测指标对象及其在输出图片上的地位。该算法将指标检测定义为单个回归问题。将每个给定的图像划分为一个 S * S 网格零碎,该网格零碎是图像的子集或一部分,每个网格通过预测网格内对象的边界框数量来辨认对象。

YOLO 执行一个神经卷积网络来辨认网格中的对象,预测对象四周的边界框以及它们属于哪个类别的概率。概率被用作置信水平。卷积网络的初始层从图像中提取特色,全连贯层预测概率。YOLO 工作流程如下图所示:

为了辨认图像中的不同对象及其地位,应用多尺度滑动窗口扫描整个图像,因为对象能够在图像的每个局部以不同的大小显示。提取滑动窗口的最佳大小和数量是很重要的,而且这是计算密集型的因为不同数量的候选或不相干的候选会影响后果。通过这种形式 YOLO 能够与传统算法相媲美,并且速度更快。这些步骤的示例如下图所示。

YOLO V1 的劣势:能够高速实时检测物,可能了解狭义对象示意,模型也不太简单。

YOLO V1 的局限性:如果小对象以集群或组的模式呈现,则模型成果,例如下图所示

YOLO V1 训练是基于损失函数来展现检测性能的,而损失函数没有思考窗口的大小,大框中的小谬误是不言而喻的,但其实小框中的谬误其实应该更加被关注,因为他对交并比的影响更大,交并比是一种评估指标,用于掂量数据集上对象检测器模型的准确性 [6]。

YOLO Version 2;YOLO9000:更快,更好,更强

对象检测模型应该疾速、精确,并且能够辨认各种对象类别。基于这个想法 YOLO V2 呈现了,与 YOLO V1 相比,在速度、准确性和检测大量物体的能力方面有各种改良。这个新版本训练了 9000 个新类别,所以被称作 YOLO9000。它将不同的数据集 ImageNet 和 COCO 联合起来,以提供更大量的分类数据,扩充检测模型的范畴,并进步召回率。COCO 用于指标检测,蕴含 80 个类别的 100,000 张图像。

YOLO V2 构造中应用 Softmax 为每个边界框提供客观性分数。Softmax 为每一类多类分类任务分配一个在 0 到 1 之间的十进制概率,在 YOLO V2 中,它也为图像中的对象提供了多类分类的可能性。召回率则掂量正确检测到真值对象的概率。YOLO V2 在分类和检测数据集上联结训练。该办法对图像进行标记以进行检测,辨认边界框和对常见对象进行分类。还是用仅具备类标签的图像用于扩大算法能够检测的类别。YOLO V2 中一个乏味的点,除了试图提供更好和精确的后果外,还提供了一个比 YOLO V1 更简略的模型。

上表中看到,V2 中减少了 BN 的操作。通过 BN 层对来自前一层的输出执行标准化和规范化,将输出值缩放转换。在 Yolo V2 中,Yolo V1 的所有卷积层上增加 BN,从而在 Yolo V2 中取得 2% 以上的精度晋升。BN 还有助于稳固训练,减速收敛,并在不适度拟合的状况下从模型中去除 dropout。另一种进步准确率的技术是应用更高分辨率的输出,将输出尺寸从 224224 更改为 448448,这将进步 4% 的 MAP(均匀均匀精度)。

YOLO Version 3;小改良,大晋升

在 YOLO V3[9]中,只对 YOLO 的设计增加了一些更改,从而实现了更精确、更好和更快的设计。在预测边界的新构造中,持续应用 V2 的构造,然而减少了逻辑回归用于预测每个边界框的得分。当一个边界框在与实在对象重叠之预测后果比任何其余边界框都多时,预测后果就为 1。当边界框不是最佳但与实在对象重叠超过阈值时,预测则被疏忽,并且还引入了 Faster R -CNN 的办法,在 YOLO V3 中将优先只思考一个边界框。

下图显示了 YOLO V3 上的性能比照

下图则对 YOLO v2 与 V3 的比拟。很在 YOLO V3 中能够检测到一些较小的对象,而 V2 无奈检测到。

除了准确性和比拟之外,Redmon 和 Farhadi 在他们的论文中提到的重要一点是道德和计算机视觉的应用。因为军事钻研小组十分关注这一畛域,他们心愿人们应用他们的新技术不是为了杀人,而是为了让他人高兴,让他们的生存更美妙。这是论文中的原话:

we have a responsibility to at least consider the harm our work might be doing and think of ways to mitigate it. We owe the world that much.

这也是 Joseph Redmon 退出指标检测畛域钻研的起因,有趣味的能够去搜下他 TED 的演讲。

YOLO Version 4;最佳速度和准确性

指标检测钻研的重点是改良在该畛域执行的模型的速度。随着工夫的推移,YOLO 的利用在寰球范畴内一直增长,钻研畛域也减少了许多新的变动,在卷积神经网络 (CNN) 中,一些想法能够进步模型的准确性。YOLO V4 的次要指标是开发一种速度更快的指标检测器,并且具备易于训练和应用的并行计算能力。通过增加和组合一些新性能,例如加权残差连贯 (WRC)、跨阶段局部连贯 (CSP)、跨小批量标准化 (CmBN)、自我反抗训练 (SAT)、Mish 激活函数、Mosaic 数据加强、DropBlock 正则化和 CIoU 损失等等,在 YOLO V4 中实现了更好更快的模型。YOLO V4 探讨的一个重要主题是一个实时传统神经网络模型,该模型只须要传统 GPU 进行训练,从而为应用个别 GPU 的任何人提供训练、测试、实现实时、高质量的可能性,以及令人信服的指标检测模型。

上面是 YOLO V4。这个新版本速度更快,并且体现出可比的性能。

在 YOLO V4 中,Alexey Bochkovskiy 等人总结了他们的次要奉献:

  • 开发了一个高效而弱小的指标检测模型,这使得每个应用 1080 Ti 或 2080 Ti GPU 的人都能够训练和测试一个超疾速、实时、精确的指标检测模型。
  • 他们在训练期间验证了最先进的 Bag-of-Freebies 和 Bag-of-Specials 检测办法的影响。
  • 批改了 state-of-the-art 的办法,包含(Cross-iteration batch normalization)、PAN(Path aggregation network)等,使它们更高效,更适宜单 GPU 训练。

总结

如果你查看 YOLO 的构造、源代码和包,就会发现它们构造良好、文档齐全且收费应用。所以这里要感激所有关注这个话题并推动他们致力的人,因为这对于老手来说几乎太有好了。

尽管还有很多的 YOLO 类模型,例如 YOLOv5,YOLO X 甚至刚刚公布的 YOLO v6,然而 Joseph Redmon 曾经退出,“没有马云的阿里巴巴还是阿里巴巴”吗?

援用:

You Only Look Once: Unified, Real-Time Object Detection, Joseph Redmon and et. all, https://pjreddie.com/media/fi…

Optimizing the Trade-off between Single-Stage and Two-Stage Object Detectors using Image Difficulty Prediction, Petru Soviany, Radu Tudor Ionescu, https://arxiv.org/abs/1803.08707

YOLOv4: Optimal Speed and Accuracy of Object Detection, Alexey Bochkovskiy et. all, https://arxiv.org/pdf/2004.10…

A Model for Real-Time Traffic Signs Recognition Based on the YOLO Algorithm — A Case Study Using Vietnamese Traffic Signs Tran et al, 2019, published in: Future Data and Security Engineering

D. Zhou et al.,“IoU Loss for 2D/3D Object Detection,”2019 International Conference on 3D Vision (3DV), Québec City, QC, Canada, 2019, pp. 85–94, doi: 10.1109/3DV.2019.00019.

J. Redmon and A. Farhadi,“YOLO9000: Better, Faster, Stronger,”2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Honolulu, HI, 2017, pp. 6517–6525, doi: 10.1109/CVPR.2017.690.

Manal El Aidouni, 2019, Evaluating Object Detection Models: Guide to Performance Metrics, https://manalelaidouni.github…

Redmon, Joseph & Farhadi, Ali. (2018). YOLOv3: An Incremental Improvement.

S. Ren, K. He, R. Girshick, and J. Sun. Faster r-cnn: Towards real-time object detection with region proposal networks. arXiv preprint arXiv:1506.01497, 2015

T.-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ramanan, P. Dollar, and C. L. Zitnick. Microsoft coco: Com- ´ mon objects in context. In European conference on computer vision, pages 740–755. Springer, 2014

Alexey Bochkovskiy, Chien-Yao Wang, and Hong-Yuan Mark Liao. Yolov4: Optimal speed and accuracy of object detection. arXiv preprint arXiv:2004.10934, 2020.

https://avoid.overfit.cn/post/4f3ce7e0e30947659f59a8ca4d3a2f7b

作者:Dr. Abduljabbar Asadi

退出移动版