英语原文共 14 页,剩余内容已隐藏,支付完成后下载完整资料
Faster R-CNN: 利用区域建议网络实现对象实时检测
Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun
摘要——目前最先进的目标检测网络需要依靠区域建议算法来推测目标位置,像SPPnet [1]和Fast R-CNN [2]等网络已经减少了检测网络的运行时间,这时候计算区域建议计算成为了瓶颈。在这项工作中,我们介绍一种区域建议网络(RPN),该网络与检测网络共享全图的卷积特征,从而使得区域建议几乎不花时间。 RPN是一个全卷积网络,可同时预测每个位置的目标边界和目标分数。 RPN是经过端对端训练,生成高质量区域建议框,Fast R-CNN将其用于检测。通过一种简单的交替运行优化方法,RPN和Fast R-CNN可以在训练时共享卷积特征。对于非常深的VGG-16模型[3],我们的检测系统在GPU上的帧率为5fps(包含所有步骤),在PASCAL VOC 2007和PASCAL VOC 2012上实现了最高的目标检测准确率(2007是73.2%mAP,2012是70.4%mAP),每个图像用了300个建议框。代码已公开。
索引术语 - 对象检测,区域建议,卷积神经网络
引言
目标检测的最新进展是由区域提议方法(例如[4])和基于区域的卷积神经网络(RCNN)[5]的成功所驱动的。 尽管基于区域的CNN[5]的在计算上消耗大,但幸好这个消耗通过建议框之间共享卷积[7,5]大大降低了,因此其消耗大幅降低[1],[2]。 最新的版本Fast R-CNN [2]使用非常深的网络实现接近实时的检测速率[3],注意它忽略了生成区域建议框的时间。现在,建议框是最先进的检测系统中的计算瓶颈。
区域建议方法通常依赖于消耗小的特征和经济的获取方案。选择性搜索[4]是最流行的方法之一,它基于已经设计好的低级特征贪心地合并超级像素。 然而,与高效检测网络[2]相比,选择性搜索速度慢一个数量级,在CPU实现中每个图像大约耗时2秒。 EdgeBoxes [6]目前在建议框质量和速度之间做出了最佳平衡,每张图像大约耗时只有0.2秒。但无论如何,区域提议步骤仍会消耗与检测网络差不多的运行时间。
有人可能会注意到,Fast R-CNN利用GPU,而在研究中使用的区域建议方法是在CPU上现实的,这种运行时间比较是不公平的。 一种明显的提速方法是在GPU上生成建议框。这可能是一种有效的工程解决方案,但这个方法忽略了其后的检测网络,因而也错失了共享计算的重要机会。
在本文中,我们进行了算法的改变——使用深卷积神经网络计算建议框——这是一种简洁有效的解决方案,建议框的计算几乎不会给检测网络的带来太大的消耗。 为此,我们引入了新颖的区域建议网络(RPNs),它与最先进的目标检测网络[1],[2]共享卷积层。在测试时,通过共享卷积的时候,计算建议框的边际成本是很小的(例如每个图像10ms)。
我们的观察结果是,基于区域的检测器例如Fast R-CNN所使用的卷积特征映射,也可以用于生成区域建议。 在这些卷积特征之上,我们通过添加一些额外的卷积层来构建RPN,这些层同时在规则网格上的每个位置处回归区域边界和对象分数。 因此,RPN是一种完全控制网络(FCN)[7],并且可以专门用于生成检测区域建议的任务进行端到端的训练。
RPN旨在有效预测具有广泛尺度和长宽比的区域建议。 与使用图像金字塔(图1,a)或过滤器金字塔(图1,b)的流行方法[8],[9],[1],[2]相比 引入新的“锚”盒作为多种尺度和长宽比的参考。我们的方案可以被认为是回归参考金字塔(图1,c),它避免了枚举多个比例或长宽比的图像或过滤器。这个模型在使用单一尺度的图像进行训练和测试时运行良好,从而有利于运行速度。
图1:解决多尺度和尺寸的不同方案。(a)构建图像和特征映射金字塔,分类器以各种尺度运行。(b)在特征映射上运行具有多个比例/大小的滤波器的金字塔。(c)我们在回归函数中使用参考边界框金字塔。
为了将RPN与快速R-CNN [2]对象检测网络相结合,我们提出了一种训练方案,该方案在区域建议任务的微调和微调对象检测之间进行交替,同时保持区域建议的固定。 该方案迅速收敛,并产生两个任务之间共享的具有卷积特征的统一网络。
我们在PASCAL VOC检测基准数据集[11]中全面评估了我们的方法,其中具有Fast R-CNN的RPN产生的检测精确度优于使用择性搜索Fast R-CNN的强基准。 同时,我们的方法在测试时几乎免除了选择性搜索的所有计算负担——区域建议的有效运行时间仅为10毫秒。 在使用[3]的昂贵的非常深的模型时,我们的检测方法在GPU上仍然具有5fps的帧速率(包括所有步骤),因此在速度和准确性方面都是实用的目标检测系统。我们还报告了MS COCO数据集[12]的结果,并使用COCO数据调查了PASCAL VOC的改进。代码已经在https://github.com/shaoqingren/faster-rcnn(MATLAB)和https://github.com/rbgirshick/py-faster-rcnn(在Python中)公开。
这篇手稿的初步版本之前已经公布[10]。 从那时起,RPN和Fast R-CNN的框架已经被采用,并且被广泛应用于其他方法,如3D目标检测[13],基于部分的检测[14],实例分割[15]和图像标题[16]。 我们的快速和有效的目标检测系统也已经建立在Pinterest的商业系统中[17],并报告了用户参与度的提高。
在ILSVRC和COCO 2015比赛中,Fast R-CNN和RPN是ImageNet检测,Imag genet定位,COCO检测和COCO分割轨迹中几个第一名[18]的基础。 RPN完全从数据中学习建议区域,因此可以从更深入和更具表现力的特征(例如[18]中采用的101层残差网络)中轻松获益。Fast R-CNN和RPN也被这些比赛中的其他几个主要参赛者使用2。这些结果表明,我们的方法不仅是实用合算的解决方案,而且是一个提高目标检测精度的有效方法。
相关工作
目标建议:有关目标建议方法有大量文献。 目标建议方法的综合调查和比较可以在[19],[20],[21]中找到。 广泛使用的目标建议方法包括基于超像素分组(例如,选择性搜索[4],CPMC [22],MCG [23])和那些基于滑动窗口的方法(例如,窗口中的对象[24],EdgeBoxes [6])。 目标建议方法被采用为独立于探测器(例如,选择性搜索[4]目标检测器,R-CNN [5]和Fast R-CNN [2])的外部模块。
用于目标检测的深度网络: R-CNN方法[5]对CNN进行端到端的训练,将建议区域分类为目标类别或背景。R-CNN主要作为分类器,并不预测目标边界(除了通过边界框回归进行优化)。其准确性取决于区域建议模块的性能(参见[20]中的比较)。有几篇论文提出了使用深度网络来预测目标边界框的方法[25],[9],[26],[27]。在OverFeat方法[9]中,训练一个全连接层来预测假定单个目标定位任务的边界框坐标。然后将全连接层变成卷积层,用于检测多个类别的目标。 MultiBox方法[26],[27]从一个网络中提取区域建议,最后一个全连接的层同时预测多个不同类别的边界框,并推广OverFeat的“单边界框”方式。这些与类别不相同的边界框被用作R-CNN的建议区域[5]。与我们的全卷积方案相比,MultiBox建议网络适用于单幅图像作物或多幅大型图像(例如224times;224)。MultiBox在提议区域和检测网络之间不共享特征。稍后在我们的方法的上下文中,我们将更深入地讨论OverFeat和MultiBox。在我们的工作同时,DeepMask方法[28]是为学习分割建议而开发的。
卷积的共享计算[9],[1],[29],[7],[2]因为高效而准确的视觉识别而受到越来越多的关注。OverFeat论文[9]计算图像金字塔的卷积特征用于分类,定位和检测。共享卷积特征映射的自适应大小池化(SPP)[1]被开发用于有效的基于区域的目标检测[1],[30]和语义分割[29]。Fast R-CNN[2]能够对共享卷积特征进行端到端的检测器训练,并显示出令人信服的准确性和速度。
Faster R-CNN
我们的对象检测系统称为Faster R-CNN,由两个模块组成。 第一个模块是建议区域的深度全卷积网络,第二个模块是使用建议区域的Fast R-CNN检测器[2]。 整个系统是一个单一的,统一的目标检测网络(图2)。使用最近流行的“注意力”[31]机制的神经网络术语,RPN模块告诉Fast R-CNN模块在哪里寻找。在第3.1节中,我们介绍了区域提议网络的设计和属性。在第3.2节中,我们开发了用于训练具有共享特征模块的算法。
图2:Faster R-CNN是一个单一,统一的目标检测网络。RPN模块作为这个统一网络的“注意力”。
3.1区域建议网络
一个区域建议网络(RPN)以任意大小的图像作为输入,并输出一组矩形的目标建议,每个建议都有一个目标评分。我们用全卷积网络对这个过程进行建模[7],我们在本节中进行阐述。因为我们的最终目标是与Fast R-CNN目标检测网络共享计算[2],所以我们假设这两个网络共享一组共同的卷积层。在我们的实验中,我们研究了具有5个可共享卷积层的Zeiler和Fergus模型[32](ZF)和具有13个可共享卷积层的Simonyan和Zisserman模型[3](VGG-16)。
为了生成区域提议,我们在最后的共享卷积层输出的卷积特征映射上滑动一个小网络。这个小网络将输入卷积特征映射的ntimes;nntimes;n空间窗口作为输入。每个滑动窗口映射到一个低维特征(ZF为256维,VGG为512维,后面是ReLU[33])。这个特征被输入到两个子全连接层——一个边界框回归层(reg)和一个边界框分类层(cls)。在本文中,我们使用n=3n=3,注意输入图像上的有效感受野是大的(ZF和VGG分别为171和228个像素)。图3(左)显示了这个小型网络的一个位置。请注意,因为小网络以滑动窗口方式运行,所有空间位置共享全连接层。这种架构通过一个ntimes;n卷积层,后面是两个子1times;1卷积层(分别用于reg和cls)自然地实现。
图3:左:区域提议网络(RPN)。右:在PASCAL VOC 2007测试集上使用RPN提议的示例检测。我们的方法可以检测各种尺度和长宽比的目标。
3.1.1锚点
在每个滑动窗口位置,我们同时预测多个区域建议,其中每个位置的最大可能建议的数量被表示为k。 因此,reg层具有4k个输出,编码k个框的坐标,并且cls层输出2k个评分,估计每个提议是目标或不是目标的概率。相对于我们称之为锚点的kk个参考边界框,kk个提议是参数化的。锚点位于所讨论的滑动窗口的中心,并与一个尺度和长宽比相关(图3左)。默认情况下,我们使用3个尺度和3个长宽比,在每个滑动位置产生k=9k=9个锚点。对于大小为Wtimes;H(通常约为2400)的卷积特征映射,总共有WHkWHk个锚点。
平移不变的锚点
我们的方法的一个重要特性是它是平移不变的,无论是在锚点还是计算相对于锚点的区域提议的函数。如果在图像中平移目标,提议应该平移,并且同样的函数应该能够在任一位置预测提议。这个平移不变的属性是由我们的方法保证的。作为比较,MultiBox方法[27]使用k-means生成800个锚点,这不是平移不变的。所以如果平移目标,MultiBox不保证会生成相同的提议。
平移不变特性也减小了模型的大小。MultiBox有(4 1)times;800(4 1)times;800维的全连接输出层,而我们的方法在k=9k=9个锚点的情况下有(4 2)times;9(4 2)times;9维的卷积输出层。因此,对于VGG-16,我们的输出层具有2.8times;1042.8times;104个参数(对于VGG-16为512times;(4 2)times;9512times;(4 2)times;9),比MultiBox输出层的6.1times;1066.1times;106个参数少了两个数量级(对于MultiBox [27]中的GoogleNet[34]为1536times;(4 1)times;8001536times;(4 1)times;800)。如果考虑到特征投影层,我们的提议层仍然比MultiBox少一个数量级。我们期望我们的方法在PASCAL VOC等小数据集上有更小的过拟合风险。
多尺度锚点作为回归参考
我们的锚点设计提出了一个新的方案来解决多尺度(和长宽比)。如图1所示,多尺度预测有两种流行的方法。第一种方法是基于图像/特征金字塔,例如DPM[8]和基于CNN的方法[9],[1],[2]中。图像在多个尺度上进行缩放,并且针对每个尺度(图1(a))计算特征映射(HOG[8]或深卷积特征[9],[1],[2])。这种方法通常是有用的,但是非常耗时。第二种方法是在特征映射上使用多尺度(和/或长宽比)的滑动窗口。例如,在DPM[8]中,使用不同的滤波器大小(例如5times;7和7times;5)分别对不同长宽比的模型进行训练。如果用这种方法来解决多尺度问题,可以把它看作是一个“滤波器金字塔”(图1(b))。第二种方法通常与第一种方法联合采用[8]。
作为比较,我们的基于锚点方法建立在锚点金字塔上,这是更具成本效益的。我们的方法参照多尺度和长宽比的锚盒来分类和回归边界框。它只依赖单一尺度的图像和特征映射,并使用单一尺寸的滤波器(特征映射上的滑动窗口)。我们通过实验来展示这个方案解决多尺度和尺寸的效果(表8)。
由于这种基于锚点的多尺度设计,我们可以简单地使用在单尺度图像上计算的卷积特征,Fast R-CNN检测器也是这样做的[2]。多尺度锚点设计是共享
全文共23651字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[11338],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。