摘要——本文对YOLO系列系统进行了全面的综述。与以往的文献调查不同,本综述文章从最新的技术视角重新审视了YOLO系列的特性。同时,我们还分析了YOLO系列如何持续影响和推动实时计算机视觉相关研究,并促成了计算机视觉和语言模型的后续发展。我们深入探讨了YOLO系列在过去十年中提出的方法如何影响了后续技术的发展,并展示了YOLO在各个领域的应用。我们希望这篇文章能够在后续的实时计算机视觉发展中发挥良好的指导作用。
关键词——YOLO,计算机视觉,实时目标检测。
目标检测是一项基础的计算机视觉任务,能够支持广泛的下游任务。例如,它可以用于辅助实例分割、多目标跟踪、行为分析与识别、人脸识别等。因此,目标检测在过去几十年中一直是一个热门的研究课题。近年来,由于移动设备的普及,在边缘设备上执行实时目标检测的能力已成为各种实际应用中必不可少的组成部分。这类应用的任务包括自动驾驶、工业机器人、身份认证、智能医疗、视觉监控等。在众多实时目标检测算法中,近年来开发的YOLO(You Only Look Once)系列(从v1到v10)[1]–[10]尤为突出。它极大地并广泛地影响了计算机视觉领域的各种研究。本文将回顾YOLO系列技术及其对当代实时计算机视觉系统发展的影响。 第一个在目标检测领域取得突破性成功的深度学习方法是R-CNN [11]。R-CNN是一种两阶段的目标检测方法,它将目标检测过程分为两个阶段:目标候选框生成和目标候选框分类。R-CNN首先使用在图像处理中常用的选择性搜索[12]来提取候选框。在这个阶段,CNN只作为特征提取器来提取候选框的特征。至于识别部分,则使用SVM[13]。随后发展的Fast R-CNN [14]和Faster R-CNN [15]分别使用SPPNet [16]加速特征提取并提出了区域候选网络(Region Proposal Networks),逐步将目标检测转化为端到端的形式。YOLO [1]由Joseph Redmon于2015年提出,它通过每个网格的预测一步完成目标检测。这是一种突破性的方法,将实时目标检测领域提升到一个全新的水平。后续发展的一阶段目标检测系统还包括SSD [17]、RetinaNet [18]、FCOS [19]等。
尽管一阶段目标检测方法可以实时检测物体,但在精度上仍与两阶段目标检测方法有差距。一阶段检测系统如RetinaNet [18]和YOLOv3 [3]在这方面取得了显著进展,并且都达到了足够的精度。YOLO系列已成为工业界以及所有需要实时目标分析的学术界和研究中心的首选方法。2020年,Scaled-YOLOv4 [20]进一步设计了一种非常有效的目标检测模型扩展方法。首次在一般目标检测领域中,一阶段目标检测方法的精度超越了所有当代的两阶段目标检测方法,这一成就也引发了许多基于YOLO系列方法的后续相关研究。 除了目标检测外,YOLO系列还被用于其他计算机视觉领域,作为开发实时系统的基础。目前在实例分割、姿态估计、图像分割、3D目标检测、开放词汇目标检测等领域,YOLO仍在实时系统中发挥着重要作用。 在本综述文章中,我们将依次介绍以下问题: