论文链接:You Only Look Once: Unified, Real-Time Object Detection
网页地址:YOLO
摘要:
我们提出了YOLO,一个新的方法用于目标检测。之前的目标检测工作都是使用分类器来做检测。相反,我们将目标检测中空间分离的边界框和相关的类概率问题使用回归来处理。在每次测试时,一个神经网络直接从全图预测出目标的边界框和所属的类别。因为整个检测流程是一个网络,它可以端到端地优化检测性能。我们提出的架构检测速度非常快,YOLO处理一张图像的速度可以达到45 FPS,更小的YOLO版本Fast YOLO,甚至可以达到155 FPS, mAP依然可以达到其它实时性检测算法的两倍。相比于最先进的检测系统,YOLO有更大的定位误差,更少的将图像背景误检成目标。最后,当从自然图像检测推广到其他领域检测,如艺术品检测。YOLO能学习到目标非常全面的特征,它优于其它的检测算法,比如DPM和R-CNN。
理解:
目前的目标检测系统,都是使用分类器来执行检测任务。为了检测一个目标,这些系统使用该目标的分类器,并在测试图像中的不同位置和尺度对其进行分类。像可变形部件模型(DPM)这样的系统使用滑动窗口方法,分类器在整个图像上均匀间隔的位置运行,对图像的各个部分进行分类。R-CNN也是这样,先提取存在目标的候选区域,然后用CNN对这些区域进行图特征提取,最后用SVM对这些区域提取到的特征进行分类。分类完之后,使用后处理方法去精修检测出来的边界框,去掉重复检测的框,并基于场景中的其它目标对边界框重新打分。这个检测流程很复杂,因为每个模块都要单独训练,导致这个过程很慢并且很难优化。我们将目标检测重构为一个单一的回归问题,直接从图像像素预测边界框坐标和类概率。使用我们的系统,你只需要看一次图像(YOLO),就可以预测当前的目标和它们的位置。过程如下图:
一个卷积网络同时预测多个边界框和这些框的类概率。YOLO对全图像进行训练,直接优化检测性能。与传统的目标检测方法相比,该统一模型具有许多优点。
- YOLO将目标检测问题当做回归来处理,直接用像素预测出目标的边界框和类别概率。如果当做分类问题来处理,则大概需要三个过程,首先是目标区域的提取,然后是对这些区域进行分类,最后再进行优化。相比如回归问题,有以下几个缺点:首先过程复杂,其次,对每个区域都要分类一次,这个计算代价是很大的。这也是YOLO比R-CNN系列要快的原因。
- YOLO是将整个图用于特征,这就使得网络的感受野非常大,很容易就能区分哪些是图像的背景,而R-CNN提取特征时,只是输入图像的局部,这就使得网络的感受野很小,不能很好区分背景(举个例子,当图像中有一头很大的大象,占了图像60%的面积,从图像整体看,很容易区分图像背景和大象,如果,仅仅从图像中截取一小部分,就很难区分这一小部分是大象身体的一部分还是背景的一部分了),所以正如摘要所说的,更少的将图像背景误检成目标。