Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

摘要

最先进的目标检测网络依赖于区域提议算法来假设对象的位置。像SPPnet [1] 和 Fast R-CNN [2] 这样的进步已经减少了这些检测网络的运行时间,使得区域提议计算成为瓶颈。在这项工作中,我们引入了一个区域提议网络(RPN),它与检测网络共享全图像卷积特征,从而实现了几乎无成本的区域提议。RPN是一个完全卷积的网络,它同时预测每个位置的对象边界和对象性分数。RPN被端到端地训练以生成高质量的区域提议,这些提议被Fast R-CNN用于检测。我们进一步将RPN和Fast R-CNN合并到一个网络中,通过共享它们的卷积特征——使用最近流行的神经网络的“注意力”机制的术语,RPN组件告诉统一网络在哪里查看。对于非常深的VGG-16模型[3],我们的检测系统在GPU上的帧率为5fps(包括所有步骤),同时在PASCAL VOC 2007、2012和MS COCO数据集上仅使用300个提议每张图像就实现了最先进的目标检测精度。在ILSVRC和COCO 2015比赛中,Faster R-CNN和RPN是几个赛道第一名获奖条目的基础。代码已经公开可用。

引言

最近在目标检测领域的进步主要得益于区域提议方法(例如,[4])和基于区域的卷积神经网络(R-CNNs)[5]的成功。尽管最初在[5]中开发的基于区域的CNN在计算上是昂贵的,但由于在提议中共享卷积,其成本已大幅降低[1],[2]。最新的版本,Fast R-CNN [2],在忽略花费在区域提议上的时间时,使用非常深的网络[3]实现了接近实时的速率。现在,提议是最先进的检测系统在测试时间的计算瓶颈。

区域提议方法通常依赖于低成本的特征和经济的推理方案。选择性搜索[4]是最流行的方法之一,它基于工程化的低级特征贪婪地合并超像素。然而,与高效的检测网络[2]相比,选择性搜索在CPU实现中要慢一个数量级,每张图像需要2秒。EdgeBoxes [6]目前提供了提议质量和速度之间的最佳权衡,每张图像需要0.2秒。然而,区域提议步骤仍然消耗了与检测网络一样多的运行时间。

人们可能注意到,快速的基于区域的CNN利用了GPU,而在研究中使用的区域提议方法是在CPU上实现的,这使得这样的运行时间比较不公平。加速提议计算的一个明显的方法是将其重新实现为GPU。这可能是一个有效的工程解决方案,但是重新实现忽略了下游的检测网络,因此错过了共享计算的重要机会。

在这篇论文中,我们展示了一种算法改变——使用深度卷积神经网络计算提议——导致了一种优雅且有效的解决方案,其中提议计算在给定检测网络的计算时几乎是免费的。为此,我们引入了新颖的区域提议网络(RPN),它与最先进的目标检测网络[1],[2]共享卷积层。通过在测试时共享卷积,计算提议的边际成本很小(例如,每张图像10ms)。

我们的观察是,像Fast R-CNN这样的基于区域的检测器使用的卷积特征图也可以用于生成区域提议。在这些卷积特征之上,我们通过添加一些额外的卷积层来构建RPN,这些层同时在规则网格的每个位置回归区域边界和对象性分数。因此,RPN是一种全卷积网络(FCN)[7],并且可以端到端地专门训练用于生成检测提议的任务。

RPNs被设计为能够有效地预测具有各种尺度和纵横比的区域提议。与常见的使用图像金字塔(图1,a)或滤波器金字塔(图1,b)的方法[8],[9],[1],[2]相比,我们引入了新颖的“锚”框,它们在多个尺度和纵横比上作为参考。我们的方案可以被认为是一个回归参考的金字塔(图1,c),它避免了枚举多个尺度或纵横比的图像或滤波器。当使用单尺度图像进行训练和测试时,这个模型表现良好,从而提高了运行速度。

为了将RPNs与Fast R-CNN [2]目标检测网络统一起来,我们提出了一种交替进行区域提议任务的微调和对象检测的微调的训练方案,同时保持提议固定。这个方案快速收敛,并生成了一个具有卷积特征在两个任务之间共享的统一网络。

我们在PASCAL VOC检测基准[11]上全面评估了我们的方法,其中RPNs与Fast R-CNNs产生的检测精度优于Selective Search与Fast R-CNNs的强基线。同时,我们的方法在测试时几乎放弃了Selective Search的所有计算负担——提议的有效运行时间仅为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和Faster R-CNN的框架已经被采用并推广到其他方法,如3D对象检测[13],基于部分的检测[14],实例分割[15],和图像字幕[16]。我们快速有效的对象检测系统也已经在商业系统中建立,如Pinterests [17],并报告了用户参与度的改善。

在ILSVRC和COCO 2015比赛中,Faster R-CNN和RPN是几个第一名条目的基础[18],包括ImageNet检测,ImageNet定位,COCO检测,和COCO分割。RPNs完全从数据中学习提出区域,因此可以很容易地从更深和更具表达力的特征中受益(如在[18]中采用的101层残差网络)。Faster R-CNN和RPN也被这些比赛中的几个其他领先条目使用。这些结果表明,我们的方法不仅是一种成本效益高的实用解决方案,而且是一种有效提高对象检测精度的方法。

相关工作

对象提议。 关于对象提议方法有大量的文献。可以在[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

  • 14
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄阳老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值