目标检测经典论文翻译汇总:[翻译汇总]
翻译pdf文件下载:[下载地址]
此版为纯中文版,中英文对照版请稳步:[YOLOv1中英文对照版]
YOLO:统一的实时目标检测Joseph Redmon*, Santosh Divvala*†, Ross Girshick¶, Ali Farhadi*†University of Washington*, Allen Institute for AI†, Facebook AI Research¶http://pjreddie.com/yolo/ |
摘要
我们提出了YOLO,一种新的目标检测方法。以前的目标检测工作重复利用分类器来完成检测任务。相反,我们将目标检测框架看作回归问题,从空间上分割边界框和相关的类别概率。单个神经网络在一次评估中直接从整个图像上预测边界框和类别概率。由于整个检测流水线是单一网络,因此可以直接对检测性能进行端到端的优化。
我们的统一架构非常快。我们的基础YOLO模型以45帧/秒的速度实时处理图像。Fast YOLO是YOLO的一个较小版本,每秒能处理惊人的155帧图像,同时实现其它实时检测器两倍的mAP。与最先进的检测系统相比,YOLO虽然存在较多的定位错误,但很少将背景预测成假阳性(译者注:其它先进的目标检测算法将背景预测成目标的概率较大)。最后,YOLO能学习到目标非常通用的表示。当从自然图像到艺术品等其它领域泛化时,它都优于其它检测方法,包括DPM和R-CNN。
1. 引言
人们瞥一眼图像,立即知道图像中的物体是什么,它们在哪里以及它们如何相互作用。人类的视觉系统是快速和准确的,使我们能够执行复杂的任务,例如如驾驶车辆时不会刻意地进行思考或思想。快速、准确的目标检测算法可以让计算机在没有专用传感器的情况下驾驶汽车,使辅助设备能够向人类用户传达实时的场景信息,并具有解锁通用目的和响应机器人系统的潜力。
目前的检测系统重复利用分类器来执行检测。为了检测目标,这些系统为该目标提供一个分类器,并在不同的位置对其进行评估,并在测试图像中进行缩放。像可变形部件模型(DPM)这样的系统使用滑动窗口方法,其分类器在整个图像的均匀间隔的位置上运行[10]。
最近的许多方法,如R-CNN使用region proposal方法首先在图像中生成潜在的边界框,然后在这些提出的框上运行分类器。在分类之后,通过后处理对边界框进行修正,消除重复的检测,并根据场景中的其它目标重新定位边界框[13]。这些复杂的流程很慢,很难优化,因为每个单独的组件都必须单独进行训练。
我们将目标检测重构并看作为单一的回归问题,直接从图像像素到边界框坐标和类别概率。使用我们的系统,您只需要在图像上看一次(you only look once, YOLO),以预测出现的目标和位置。
YOLO新奇又很简单:如图1所示。单个卷积网络同时预测这些框的多个边界框和类别概率值。YOLO在全图像上训练并直接优化检测性能。这种统一的模型比传统的目标检测方法有一些好处。
图1:YOLO检测系统。用YOLO处理图像简单直接。我们的系统(1)将输入图像调整为448×448,(2)在图像上运行单个卷积网络,以及(3)由模型的置信度对所得到的检测进行阈值处理。
首先,YOLO速度非常快。由于我们将检测视为回归问题,所以我们不需要复杂的流程。测试时我们在一张新图像上简单的运行我们的神经网络来预测检测。我们的基础网络以每秒45帧的速度运行,在Titan X GPU上没有批处理,快速版本运行速度超过150fps。这意味着我们可以在不到25毫秒的延迟内实时处理流媒体视频。此外,YOLO实现了其它实时系统两倍以上的mAP。关于我们的系统在网络摄像头上实时运行的演示,请参阅我们的项目网页:http://pjreddie.com/yolo/。
其次,YOLO在进行预测时,会对图像进行全局地推理。与基于滑动窗口和region proposal的技术不同,YOLO在训练期间和测试时会看到整个图像,所以它隐式地编码了关于类的上下文信息以及它们的外形。Fast R-CNN是一种顶级的检测方法[14],但因为它看不到更大的上下文,所以在图像中会将背景块误检为目标。与Fast R-CNN相比,YOLO的背景误检数量少了一半。
第三,YOLO学习目标的泛化表示。当在自然的图像上进行训练并对艺术作品进行测试时,YOLO大幅优于DPM和R-CNN等顶级检测方法。由于YOLO具有高度泛化能力,因此在应用于新领域或碰到非正常输入时很少出故障。
YOLO在准确度上仍然落后于最先进的检测系统。虽然它可以快速识别图像中的目标,但它仍在努力精确定位一些目标,尤其是一些小目标。我们在实验中会进一步检查这些权衡。
我们所有的训练和测试代码都是开源的。各种预训练模型也都可以下载。
2. 统一的检测
我们将目标检测的单独组件集成到单个神经网络中。我们的网络使用整个图像的特征来预测每个边界框。它还可以同时预测一张图像中的所有类别的所有边界框。这意味着我们的网络全面地推理整张图像和图像中的所有目标。YOLO设计可实现端到端训练和实时的速度,同时保持较高的平均精度。
我们的系统将输入图像分成S×S的网格。如果一个目标的中心落入一个网格单元中,该网格单元负责检测该目标。
每个网格单元预测这些盒子的B个边界框和置信度分数。这些置信度分数反映了该模型对盒子是否包含目标的置信度,以及它预测盒子的准确程度。在形式上,我们将置信度定义为Pr(Object)∗IOUtruthpred。如果该单元格中不存在目标,则置信度分数应为零。否则,我们希望置信度分数等于预测框与真实值之间联合部分的交集(IOU)。
每个边界框包含5个预测:x、y、w、h和置信度。(x,y)坐标表示边界框相对于网格单元边界框的中心。宽度和高度是相对于整张图像预测的。最后,置信度预测表示预测框与实际边界框之间的IOU。
每个网格单元还预测C个条件类别概率Pr(Classi|Object)。这些概率以包含目标的网格单元为条件。每个网格单元我们只预测的一组类别概率,而不管边界框的的数量B是多少。
在测试时,我们乘以条件类概率和单个盒子的置信度预测值:
它为我们提供了每个框特定类别的置信度分数。这些分数编码了该类出现在框中的概率以及预测框拟合目标的程度。
为了在Pascal VOC上评估YOLO,我们使用S=7,B=2。Pascal VOC有20个标注类,所以C=20。我们最终的预测是7×7×30的张量。
图2:模型。我们的系统将检测任务构建为回归问题。它将图像分成S×S的网格,并且对于每个网格单元都预测B个边界框、这些边界框的置信度以及C个类别概率。这些预测结果被编码为S×S×(B∗5+C)的张量。
2.1. 网络设计
我们将此模型实现为卷积神经网络,并在Pascal VOC检测数据集[9]上进行评估。网络的初始卷积层从图像中提取特征,而全连接层预测输出概率和坐标。
我们的网络架构受到GoogLeNet图像分类模型的启发[34]。我们的网络有24个卷积层,后面是2个全连接层。我们只使用1×1降维层,后面是3×3卷积层,这与Lin等人[22]的模型结构类似,而不是GoogLeNet使用的Inception模块。完整的网络如图3所示。