摘要
背景介绍:
论文首先指出,当前最先进的目标检测网络依赖于区域提议算法来假设对象的位置。
之前的一些进展,如SPPnet和Fast R-CNN,已经减少了这些检测网络的运行时间,但这也暴露出了区域提议计算成为了瓶颈。
主要贡献:
作者介绍了一个区域提议网络(Region Proposal Network, RPN),它与检测网络共享全图卷积特征,从而实现了几乎无成本的区域提议。
RPN是一个全卷积网络,能够在每个位置同时预测对象边界和对象存在性得分。
RPN通过端到端的训练生成高质量的区域提议,这些提议随后被Fast R-CNN用于检测。
作者进一步将RPN和Fast R-CNN合并到一个单一网络中,通过共享它们的卷积特征,实现了“注意力”机制,即RPN部分告诉统一网络应该关注哪里。
实验结果:
对于非常深的VGG-16模型,作者的检测系统在GPU上的帧率达到了5fps(包括所有步骤),同时在PASCAL VOC 2007、2012和MS COCO数据集上实现了最先进的目标检测精度,每张图片只使用300个提议。
在ILSVRC和COCO 2015竞赛中,Faster R-CNN和RPN是多个赛道中第一名获胜队伍的基础。
作者还提供了代码的公开访问链接。
结论:
通过共享特征和使用RPN,作者的方法不仅提高了目标检测的准确性,而且使得系统能够以接近实时的速度运行,这对于实际应用是非常有价值的。
1.introduction
对象检测的进展:
作者指出,对象检测的最新进展是由区域提议方法(例如Selective Search)和基于区域的卷积神经网络(R-CNNs)推动的。
尽管最初开发的R-CNN在计算上非常昂贵,但通过在提议之间共享卷积(如SPPnet和Fast R-CNN)的方式,其成本已大幅降低。
Fast R-CNN通过使用非常深的网络(如VGG-16)实现了接近实时的检测速度,但如果不考虑区域提议的生成时间,这一速度仍受限于提议步骤。
区域提议的挑战:
区域提议方法通常依赖于廉价的特征和经济的推理方案,但与高效的检测网络相比,如Selective Search,其速度慢了一个数量级,CPU实现每秒处理一张图像需要2秒。
EdgeBoxes提供了提议质量和速度之间最佳的折衷方案,每张图像的处理时间为0.2秒,但区域提议步骤仍然消耗与检测网络相当的运行时间。
GPU与CPU的比较问题:
作者提到,快速的基于区域的CNN利用了GPU的优势,而研究中使用的区域提议方法通常在CPU上实现,这种运行时比较是不公平的。
作者指出,将提议计算重新实现在GPU上是一种有效的工程解决方案,但这种重新实现忽略了下游检测网络,因此错过了共享计算的重要机会。
作者的解决方案:
作者展示了一种算法上的改变——使用深度卷积神经网络计算提议,这几乎消除了检测网络计算成本中的提议计算。
作者介绍了一种新的区域提议网络(RPN),它与最先进的对象检测网络共享卷积层,通过在测试时共享卷积,计算提议的边际成本变得很小。
RPN通过在规则网格的每个位置添加一些额外的卷积层来同时回归区域边界和对象存在性得分,因此是一种全卷积网络(FCN),可以端到端地训练,专门用于生成检测提议。
RPN的设计和训练:
RPN旨在高效预测具有广泛尺度和宽高比的区域提议,避免了使用多尺度图像或滤波器的流行方法。
作者引入了新颖的“锚”框,作为多个尺度和宽高比的参考,这种方案可以看作是回归参考的金字塔,避免了枚举多尺度或宽高比的图像或滤波器。
为了将RPN与Fast R-CNN对象检测网络统一起来,作者提出了一种训练方案,该方案在区域提议任务和对象检测任务之间交替进行微调,同时保持提议固定。
实验评估和应用:
作者在PASCAL VOC检测基准上全面评估了他们的方法,RPN与Fast R-CNN结合使用时,比Selective Search与Fast R-CNN结合使用的强基线产生了更好的检测精度。
作者的方法在测试时几乎消除了Selective Search的所有计算负担,有效运行时间仅为10毫秒。
即使使用昂贵的非常深的模型,作者的检测方法在GPU上的帧率仍为5fps,是一个实用的对象检测系统。
作者还报告了在MS COCO数据集上的结果,并研究了使用COCO数据对PASCAL VOC的改进。
代码已经公开提供,RPN和Faster R-CNN的框架已经被采用并推广到其他方法,如3D对象检测、基于部分的检测、实例分割和图像字幕。
在ILSVRC和COCO 2015竞赛中,Faster R-CNN和RPN是多个赛道中第一名获胜队伍的基础,表明了这种方法不仅在成本效益上适用于实际使用,而且也是提高对象检测精度的有效方式。
2 RELATED WORK
目标提议方法:
目标提议方法的研究已经非常广泛,这些方法旨在从图像中生成可能包含目标的区域。
常用的目标提议方法包括基于超像素分组的方法(例如Selective Search、CPMC、MCG)和基于滑动窗口的方法(例如objectness in windows、EdgeBoxes)。
这些方法通常作为独立的外部模块被采用,与检测器(如R-CNN和Fast R-CNN)分开工作。
深度网络用于目标检测:
R-CNN方法通过端到端训练CNN来将提议区域分类为对象类别或背景。
R-CNN主要作为分类器,不预测对象边界,除了通过边界框回归进行细化。
R-CNN的准确性依赖于区域提议模块的性能。
有若干论文提出了使用深度网络预测对象边界框的方法,例如OverFeat和MultiBox方法。
OverFeat和MultiBox方法:
OverFeat方法通过一个全连接层来预测单个对象的边界框坐标,然后将这个全连接层转换为卷积层来检测多个类别特定的对象。
MultiBox方法从网络的最后一层全连接层生成区域提议,同时预测多个类别不可知的边界框,这是OverFeat“单一框”方式的泛化。
这些类别不可知的边界框被用作R-CNN的提议。
MultiBox提议网络应用于单个图像裁剪或多个大图像裁剪,与作者提出的全卷积方案不同。
MultiBox不共享提议和检测网络之间的特征。
共享卷积计算:
共享卷积计算的方法越来越受到关注,因为它可以提高视觉识别的效率和准确性。
OverFeat论文计算了来自图像金字塔的卷积特征,用于分类、定位和检测。
自适应尺寸池化(SPP)在共享的卷积特征图上开发,用于高效的基于区域的对象检测和语义分割。
Fast R-CNN实现了在共享卷积特征上的端到端检测器训练,并展示了引人注目的准确性和速度。
3 FASTER R-CNN
Faster R-CNN系统概述:
Faster R-CNN是一个目标检测系统,由两个主要模块组成:第一个模块是深度全卷积网络(用于生成提议区域),第二个模块是Fast R-CNN检测器(使用生成的提议区域进行目标检测)。
整个系统是一个单一的、统一的网络,用于执行目标检测任务(如图2所示)。
该系统采用了神经网络中最近流行的“注意力”机制,其中RPN模块负责告诉Fast R-CNN模块应该关注图像的哪些区域。
模块1 - 深度全卷积网络(RPN):
这个模块是一个深度全卷积网络,负责生成目标提议区域。
RPN通过在输入图像的特征图上滑动一个小网络来工作,这个小网络对每个位置生成多个区域提议。
RPN输出的是一组矩形提议区域,每个区域都有一个对象得分,表示该区域包含对象的可能性。
模块2 - Fast R-CNN检测器:
这个模块是Fast R-CNN检测器,它使用RPN生成的提议区域来执行目标检测。
Fast R-CNN检测器对每个提议区域进行分类