目标检测:Faster R-CNN

详细内容来源于:https://blog.csdn.net/cdknight_happy/article/details/89713295
论文:https://arxiv.org/abs/1506.01497
pytorch代码实现:https://github.com/jwyang/faster-rcnn.pytorch
包括理解!

Faster R-CNN:Faster Regions with CNN features

摘要

当前最先进的目标检测依赖算法都依赖于区域提议算法来假设目标位置像,像SPPnet和Fast R-CNN这样最新的算法减少了检测网络的运行时间,但区域提议的计算成为了性能瓶颈。在本文中,我们引入了一个区域提议网络(RPN),它与检测网络共享全图像卷积特征,从而实现了几乎无成本的区域提议。RPN是一个全卷积网络,可同时预测每个的目标边界框和包含目标的置信度。RPN经过端到端训练,可以生成高质量的区域proposal,这些proposal可以作为Fast R-CNN的输入实现目标检测。我们通过共享其卷积特征进一步将RPN和Fast R-CNN合并到一个网络中 - 使用最近流行的具有注意力机制的神经网络术语,RPN网络告知我们哪里是感兴趣区域。对于非常深的VGG-16网络,我们的检测系统在GPU上的帧率为5fps(包括所有步骤),同时在PASCAL VOC 2007,2012上实现了最领先的检目标测精度在MS。 在COCO数据集上,每个图像只需要300个proposal就取得了良好的效果。在ILSVRC和COCO 2015比赛中,Faster R-CNN和RPN是多个赛道中获得第一名的参赛作品的基础。

1 引言

目标检测的最新进展是由区域提议方法(例如,[4])和基于区域的卷积神经网络(RCNN)[5]的成功推动的。尽管最初的RCNN计算成本很高,但由于跨proposal共享卷积[1],[2],检测的计算成本已经大幅降低。最新的Fast R-CNN [2]使用非常深VGG16网络[3]实现接近实时的检测速率,但是这篇论文中忽略了proposal生成所花费的时间。当前最先进的目标检测系统中的效率瓶颈就在于proposal的生成环节

proposal生成方法通常依赖于低计算量的特征和高效的推理。选择性搜索[4]是最受欢迎的方法之一,它基于工程化的低层特征贪婪地合并像素。然而,与高效的检测网络[2]相比,选择性搜索的速度慢了一个数量级,在CPU实现上单幅图像处理需要2秒。EdgeBoxes [6]目前提供了proposal质量和速度之间的最佳权衡,每张图像0.2秒。然而,proposal生成步骤仍然与检测网络耗时一样多。

可能有人注意到,Fast R-CNN使用GPU进行实现,而当前的proposal生成方法基本都是在CPU上实现的,这样直接比较运行时间是不公平的。加速proposal生成的方法是用GPU进行实现。这可能是一种有效的工程解决方案,但如果不考虑和下游检测网络共享特征,也是对计算资源的巨大浪费。

在本文中,我们展示了新的方法,使用CNN在基本不增加检测网络计算量的情况下实现准确的proposal生成。为此,我们引入了新颖的区域提议网络(RPN),它与目标检测网络共享卷积层[1],[2]。通过在测试时共享卷积,生成proposal的边际成本很小(例如,每个图像10ms)

我们的观察结果是,基于区域的检测器使用的卷积特征(如Fast RCNN)也可用于proposal的生成。在这些卷积特征上,我们通过添加一些额外的卷积层来构建RPN,这些卷积层同时在常规网格上的每个位置处回归区域边界和评估包含前景目标的概率值。因此,RPN是一种全卷积网络(FCN)[7],可以专门针对proposal生成任务进行端到端训练。
在这里插入图片描述
RPN旨在高效地预测具有各种尺度和纵横比的proposal,与流行方法图1(a)所示的图像金字塔和图1(b)滤波器金字塔相比,我们提出了新的“anchor” box,作为多尺度和纵横比的参考box。我们的方案可以被认为是对参考框的金字塔进行回归(图1,c),避免了使用多尺度和纵横比的图像或滤波器。该模型只需要使用单尺度图像进行训练和测试,可有效提升计算效率。

为了将RPN与Fast R-CNN [2]目标检测网络统一起来,我们提出了一种训练方案,交替进行区域提议任务(RPN)的微调和目标检测网络的微调(Fast RCNN)。该方案收敛快并最终可生成一个可以在两个任务间共享卷积特征的统一网络。

我们在PASCAL VOC数据集上全面评估了我们的方法,RPN+Fast RCNN优于selective search+Fast RCNN。同时,我们的方法在生成proposal的耗时仅为10毫秒。使用VGG16这样的高计算量的深度模型,我们的检测方法在GPU上仍然具有5fps的帧率(包括所有步骤),综合处理速度和准确性,我们实现了最实用的目标检测系统。我们还报告了在MS COCO数据集上的结果,并使用COCO数据研究了对PASCAL VOC的改进。代码已在https://github.com/shaoqingren/faster_rcnn(MATLAB)和https://github.com/rbgirshick/py-faster-rcnn(在Python中)公开发布。

RPN和Faster R-CNN框架已被采用并推广到其他方法,如3D物体检测[13],基于部件的检测[14],实例分割[15]和图像描述[16]。我们快速有效的目标检测系统还用到了例如Pinterests [17]的商业系统中。

在ILSVRC和COCO 2015竞赛中,Faster R-CNN和RPN是ImageNet检测、定位,COCO检测和分割领域的几个第一名的基础。RPN完全从数据中学习proposal,因此可以轻松地从更深层次和更具表现力的特征中受益(例如[18]中采用的101层残留网络)。在这些比赛中,其他几个主要参赛者也使用Faster R-CNN和RPN。这些结果表明,我们的方法是高效准确的目标检测方案。

2 相关工作

object proposals:关于proposal生成的文献很多,广泛使用的方法包括基于分组超像素的方法(例如,选择性搜索[4],CPMC [22],MCG [23])和基于滑动窗口的方法(例如,窗口中的对象[24],EdgeBoxes [6])。一般都将proposal的生成作为独立于检测器的外部模块(例如,选择性搜索[4]目标检测器,RCNN [5]和Fast R-CNN [2])。

使用深度网络进行目标检测:R-CNN方法采用端到端训练的CNN进行proposal的分类。R-CNN主要作为分类器使用,它不预测对象边界(只是进行了边界框的位置修正)。R-CNN的定位准确性取决于proposal的性能(参见[20]中的比较)。在OverFeat方法中,使用单个全连接层预测单个目标的边框坐标,该全连接层后接卷积层用于检测多个指定类别的目标。MultiBox方法从网络中生成proposal,其最后一个全连接层同时预测多个类不可知的框,是OverFeat“单一框”的泛化,这些不知具体类别的框可用作R-CNN的输入proposal。与我们的全卷积方案相比,MultiBox提议网络处理多个图像块,不在提案和检测网络之间共享特征。

overFeat计算了图像金字塔中的卷积特征,用于分类、定位和检测;在共享卷积特征上应用自适应尺寸的SPP层实现了高效的基于区域的检测和分割;Fast R-CNN [2]在共享卷积特征上实现端到端的训练,实现了高效准确的目标检测。

3 Faster-RCNN

在这里插入图片描述
Faster R-CNN由两个模块组成,第一个模块是生成proposal的深度全卷积网络(RPN网络),第二个模块是使用proposal的Fast R-CNN检测器。如图2所示,整个系统是一个统一的目标检测网络。使用最近流行的具有“注意力”机制的神经网络术语,RPN模块告诉Fast R-CNN网络在图像的哪些区域进行查看。在3.1节中,介绍了RPN网络设计和属性。在3.2节中,介绍了训练具有共享特征的两个模块的训练过程。

3.1 Region Proposal Network

区域提议网络(RPN)以任意尺寸的图像作为输入并输出一组矩形proposal框,同时输出了每个proposal框包含目标的可能性,RPN由全卷积网络组成。因为我们的最终目标是与Fast R-CNN目标检测网络共享计算,因此这里设定两个网络共享卷积层。这里测试了ZFNet(5个卷积层)和VGG16(13个卷积层)。
在这里插入图片描述
为了生成proposal,我们在最后一个共享卷积层输出的卷积特征上滑动一个小网络,该小网络以输入卷积特征映射的n×n子块作为输入,输出一个较低维度的特征(对ZFNet是256-d,对VGG是512-d,后面使用ReLU激活,256-d是256个通道数)。这个输出特征被送入两个全连接层(一个box回归层和一个box分类层)。在本文中n = 3。RPN网络如图3(左)所示。请注意,由于小网络以滑动窗口方式运行,因此全连接层在所有空间位置共享,该结构由n×n卷积层实现,随后是两个兄弟1×1卷积层(分别用于reg和cls)。(理解:实际Faster R-CNN中RPN部分anchor box后接得是&#x

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值