Faster R-CNN论文详解【目标检测1——基于RPN的实时目标检测】

写在前面:大家好!我是【AI 菌】,一枚爱弹吉他的程序员。我热爱AI、热爱分享、热爱开源! 这博客是我对学习的一点总结与思考。如果您也对 深度学习、机器视觉、算法、Python、C++ 感兴趣,可以关注我的动态,我们一起学习,一起进步~
我的博客地址为:【AI 菌】的博客
我的Github项目地址是:【AI 菌】的Github

这篇论文原名为:《Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks》
作者豪华阵容:Shaoqing Ren(任少卿), Kaiming He(何凯明), Ross Girshick, and Jian Sun(孙剑)
其中有三位华人,这一点还是挺令我们自豪的;另一位作者Ross Girshick是R-CNN系列开篇之作的作者。

温馨提示:Faster R-CNN的实战手把手教程也将更新,想学习的同学,可以关注我的博客动态。


文章目录

    • 摘要
    • 1. 介绍
    • 2. 相关工作
    • 3. Faster R-CNN
      • 3.1 Region Proposal Networks
        • 3.1.1 Anchors
        • 3.1.2 损失函数
        • 3.1.3 训练RPNs
      • 3.2 RPN和Fast R-CNN共享卷积
      • 3.3 实施细节
    • 4. 实验
      • 4.1 PASCAL VOC上的实验
      • 4.2 MS COCO上的实验
    • 5. 结论


摘要

最先进的目标检测网络依靠区域建议算法来估计目标的位置。SPPnet和Fast R-CNN算法减少了这些检测网络的运行时间,但是也暴露了区域推荐算法计算的瓶颈。在这篇论文中,我们介绍了一个区域推荐网络(RPN),该区域推荐网络与检测网络共享整张图的卷积特征,使得区域推荐基本不消耗任何计算时间。RPN是一个完全卷积网络,可以同时预测每个位置的目标边界和目标得分。对RPN进行端到端的训练,以生成高质量的Fast R-CNN用于检测推荐区域。通过使用最近流行的“注意力”机制的神经网络共享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是多个赛道中第一名获胜作品的基础。

关键字:目标检测,推荐区域,卷积神经网络


1. 介绍

推荐区域方法(例如《Selective search for object recognition》)和基于推荐区域的卷积神经网络(R-CNN)的成功推动了对象检测的最新进展。尽管基于推荐区域的CNN计算代价很大,但由于在Fast R-CNN算法中进行共享卷积,因此其计算成本已大大降低。最近相关的研究——Fast R-CNN,在忽略生成推荐区域花费的时间时,使用非常深的网络实现了接近实时的速度。目前,生成推荐区域的过程耗时长是满足实时检测的最大瓶颈
注:在R-CNN和Fast R-CNN中,一般采用的是Selective Search算法生成推荐区域,这个过程大概耗时2s左右,因此R-CNN和Fast R-CNN都还达不到实时的效果。

Selective Search是最流行的方法之一。然而,与高效的检测网络相比,Selective Search的速度要慢一个数量级,在CPU实现中每张图像耗时2秒。EdgeBoxes算法是当前生成推荐区域质量和速度之间的最佳权衡,每张图像耗时0.2秒。 尽管如此,生成推荐区域过程仍然与检测网络消耗一样多的运行时间。

在本文中,我们展示了一种新的算法——使用深度卷积神经网络计算推荐区域,从而得到了一个高效的解决方案。这种方法几乎不给目标检测网络增加额外的耗时。为此,我们提出了与最新的目标检测网络Fast R-CNN共享卷积层的新颖的区域推荐网络(RPN)。通过在测试时共享卷积,使得生成推荐区域的额外时间成本很小(例如,每张图片耗时10毫秒)。

我们的观察结果是,基于推荐区域的检测器(如Fast RCNN)使用的卷积特征图也可用于生成推荐区域。在这些卷积特征之上,我们通过添加一些其他卷积层来构建RPN,这些卷积层同时回归规则网格上每个位置的区域边界和客观性得分。 因此,RPN是一种全卷积网络(FCN)[7],可以专门针对生成推荐区域的检测任务进行端到端训练。
Faster R-CNN论文详解【目标检测1——基于RPN的实时目标检测】_第1张图片
RPN旨在以各种比例和纵横比有效预测推荐区域。与使用图像金字塔(图1,a)或卷积金字塔(图1,b)的流行方法相比,我们介绍了新颖的"anchor box"作为多种比例和纵横比的参考。我们的方案可以看作是回归参考的金字塔(图1,c),它避免了枚举具有多个比例或纵横比的图像或卷积核。当使用单比例尺图像进行训练和测试时,该模型表现良好,从而提高了运行速度

为了将RPN与快速Fast R-CNN目标检测网络统一起来,我们提出了一种训练方案,该方案在对推荐区域任务进行微调与对目标检测进行微调之间交替,同时保持推荐区域不变。 该方案可以快速收敛,并生成具有卷积特征的统一网络,这两个任务之间可以共享该卷积功能。

我们在PASCAL VOC检测标准上全面评估了我们的方法,其中具有Fast R-CNN的RPN产生的检测精度要优于通过Selective Search生成推荐区域的Fast R-CNN。同时,我们的方法在测试时几乎免除了Selective Search的所有计算耗时,产生推荐区域的有效运行时间仅为10毫秒。 使用非常深的模型,我们的检测方法在GPU上的帧速率仍然为5fps(包括所有步骤),因此在速度和准确性方面都是实用的目标检测系统。 我们还报告了在MS COCO数据集上的测试结果,并使用COCO数据研究了在PASCAL VOC上的改进。

在ILSVRC和COCO 2015竞赛中,Faster R-CNN和RPN是ImageNet目标检测,ImageNet定位,COCO检测和COCO分割中几个第一名的基础[18]。RPN完全学会了根据数据推荐区域,因此可以轻松地从更深,更具表现力的特征(例如[18]中采用的101层残差网络)中受益。 在这些比赛中,其他一些领先的参赛者也使用了Faster R-CNN和RPN。这些结果表明,我们的方法不仅是一种实用的高性价比解决方案,而且还是提高物体检测精度的有效途径。

2. 相关工作

目标推荐框。关于目标推荐的方法文献有很多。广泛使用的目标推荐方法包括基于超像素分组的方法(例如,选择性搜索,CPMC,MCG)和基于滑动窗口的方法(例如,objectness in windows,EdgeBoxes)。采用目标推荐方法作为独立于检测器的外部模块(例如,选择性搜索目标检测器,R-CNN和Fast R-CNN)。
注:这里所说的目标推荐,也就等同于R-CNN和Fast R-CNN所说的区域推荐。

用于目标检测的深度网络。卷积的共享计算已吸引了越来越多的关注,以进行有效而准确的视觉识别。 OverFeat论文从图像金字塔计算卷积特征,以进行分类,定位和检测。共享卷积特征图上的自适应大小池(SPP)被开发用于有效的基于区域的目标检测和语义分割[29]。Fast R-CNN可以对共享卷积特征进行端到端检测器的训练,并显示出令人信服的准确性和速度。

3. Faster R-CNN

我们将该目标检测系统命名为Faster R-CNN,它是由两个模块组成。第一个是,用于生成推荐区域的深度全卷积网络(deep fully convolutional network)。第二个是,使用该推荐区域的Fast R-CNN检测器。整个系统是用来目标检测的一个单一的、整体的网络(如图2所示)。使用最近神经网络方面一个很流行的术语——注意力机制,RPN模块告诉Fast R-CNN从哪里去看。在3.1节,我们会介绍用于推荐区域网络(RPN)的设计和特性。在3.2节,我们进一步优化用于训练共享卷积的两个模块的算法。
Faster R-CNN论文详解【目标检测1——基于RPN的实时目标检测】_第2张图片

3.1 Region Proposal Networks

区域推荐网络(RPN)接收(任意大小的)图像作为输入,并输出一组矩形的目标推荐框,每个目标推荐框都有一个客观评分。我们使用全卷积网络对该过程进行建模,我们将在本节中对其进行描述。因为我们的最终目标是与Fast R-CNN目标检测网络共享计算,所以我们假设两个网络共享一组共同的卷积层。在我们的实验中,我们研究了具有5个可共享卷积层的Zeiler和Fergus模型(ZF)和具有13个可共享卷积层的Simonyan和Zisserman模型(VGG-16)。

为了生成推荐区域,我们在最后共享的卷积层输出的卷积特征图上滑动一个小型网络。这个小网络将输入卷积特征图的n×n空间窗口作为输入。每个滑动窗口都映射到一个较低维的特征(ZF为256-d,VGG为512-d,后面是ReLU)。此功能被馈入两个同级的全连接层——边界框回归层(reg)和框分类层(cls)。在本文中,我们使用n = 3,注意输入图像上的有效接收场很大(ZF和VGG分别为171和228像素)。在图3的单个位置(左)显示了此微型网络。请注意,由于微型网络以滑动窗口的方式运行,因此完全连接的层将在所有空间位置上共享。自然地,该体系结构由n×n卷积层和两个同级1×1卷积层(分别用于reg和cls)实现。
Faster R-CNN论文详解【目标检测1——基于RPN的实时目标检测】_第3张图片

3.1.1 Anchors

在每个滑动窗口位置,我们同时预测多个推荐区域,其中每个位置的最大可能推荐数目为k。因此,回归层具有4k个输出,该输出对k个框的坐标进行编码,而分类层输出2k个分数,这些分数估计每个推荐框的目标或非目标的概率。相对于k个参考框(称为锚点),对k个推荐框进行了参数化。锚点位于相关滑动窗口的中心,并与比例和宽高比相关联(图3,左)。 默认情况下,我们使用3个比例和3个纵横比,在每个滑动位置产生k = 9个锚点。 对于大小为W×H(通常约为2400)的卷积特征图,总共有W×H×k个Anchors

Translation-Invariant Anchors
我们的方法的一个重要特性是,在锚点和计算相对于锚点的推荐的函数方面,它都是平移不变的。如果一个人翻译了图像中的一个目标,则该推荐框应进行翻译,并且相同的功能应能够在任一位置预测该推荐框。我们的方法保证了平移不变的特性。作为比较,MultiBox方法使用k均值生成800个锚点,这些锚点不是平移不变的。因此,MultiBox不保证翻译对象时会生成相同的推荐框。

平移不变属性还减小了模型大小。 MultiBox具有(4 + 1)×800维全连接输出层,而在k = 9个锚的情况下,我们的方法具有(4 + 2)×9维卷积输出层。结果,我们的输出层具有 2.8 × 1 0 4 2.8×10^4 2.8×104个参数(VGG-16为512×(4 + 2)×9),比具有 6.1 × 1 0 6 6.1×10^6 6.1×106个参数少很多(1536×(4 + 1)×800(对于MultiBox中的GoogleNet)。如果考虑要素投影层,我们推荐层的参数仍然比MultiBox 6少一个数量级。我们希望我们的方法在较小的数据集(如PASCAL VOC)上过拟合的风险较小。

Multi-Scale Anchors as Regression References
我们的锚设计提出了一种解决多种比例(和纵横比)的新颖方案。如图1所示,有两种流行的多尺度预测方法。第一种方法是基于图像/特征金字塔的,例如在DPM]和基于CNN的方法中。在多个比例尺上调整图像大小,并为每个比例尺计算特征图(HOG或深度卷积特征)(图1(a))。这种方法通常有用但很费时。第二种方法是在特征图上使用多个比例(和/或纵横比)的滑动窗口。例如,在DPM中,使用不同的卷积核大小(例如5×7和7×5)分别训练不同长宽比的模型。如果使用这种方法处理多个尺度,则可以将其视为“卷积金字塔”(图1(b))。第二种方法通常与第一种方法结合使用。

相比之下,我们的基于锚点的方法是基于锚点金字塔构建的,这种方法更具成本效益。我们的方法参照多个比例和纵横比的锚框对边界框进行分类和回归。它仅依赖于单一比例的图像和特征图,并使用单一大小的滤镜(在特征图上滑动窗口)。我们通过实验证明了该方案对解决多种规模和规模的影响(表8)。
Faster R-CNN论文详解【目标检测1——基于RPN的实时目标检测】_第4张图片

由于基于锚的这种多尺度设计,我们可以简单地使用在单尺度图像上计算出的卷积特征,就像快速R-CNN检测器所做的一样。多尺度锚点的设计是共享功能而无需花费额外成本解决尺度的关键组成部分。

3.1.2 损失函数

为了训练RPN,我们为每个锚分配一个二进制类标签(无论是不是目标)。我们通过两种方法确定Anchors的正标签:(i)Anchors与ground truth的IOU值最高的Anchor (ii)与ground truth的IOU大于0.7的Anchors。 请注意,单个真实框可能为多个Anchors分配正标签。通常,第二个条件足以确定正样本。但是我们仍然采用第一个条件是因为在极少数情况下,第二个条件可能找不到正样本。如果anchor与所以的真实框的IoU值均低于0.3,则只能为Anchor分配负标签。既非正样本也非负样本的Anchor,不有助于训练目标。
利用这些定义,我们将损失函数定义为:
Faster R-CNN论文详解【目标检测1——基于RPN的实时目标检测】_第5张图片
在此,i 是小批量中Anchors的索引,而 p i p_i pi 是第 i 个Anchor中有目标的预测概率。如果Anchor是正标签,则真实标签 p i ∗ p_i^* pi 为1;如果Anchor是负标签,则 p i ∗ p_i^* pi 为0。

t i t_i ti 是代表预测边界框的4个参数化坐标的向量; t i ∗ t_i^* ti 是与正标签的Anchor的对应的真实框的参数化坐标。

分类损失 L c l s L_{cls} Lcls 是两类(包含与不包含目标的Anchor)的对数损失。

对于回归损失, L r e g ( t i , t i ∗ ) = R ( t i − t i ∗ ) L_{reg}(t_i, t_i^*)=R(t_i-t_i^*) Lreg(ti,ti)=R(titi)。其中R是在《Fast R-CNN》中定义的具有鲁棒性的损失函数——Smooth L1。公式中 p i ∗ L r e g p_i^*L_{reg} piLreg 表示仅对包含目标(正标签)的Anchor进行回归,不对负标签的Anchor进行回归。
通过查找了其他的资料,这里给出Smooth L1 函数的表达形式:
S m o o t h L 1 ( x ) = { 0.5 x 2 ∣ x ∣ < 1 ∣ x ∣ − 0.5 o t h e r w i s e Smooth_{L_1}(x)=\begin{cases} 0.5 x^2 & |x|<1 \\ |x|-0.5 & otherwise \\ \end{cases} SmoothL1(x)={0.5x2x0.5x<1otherwise

分类层和回归层的输出分别由{ p i {p_i} pi}和{ t i {t_i} ti}组成。

通过 N c l s N_{cls} Ncls N r e g N_{reg} Nreg 对分类、回归项分别进行标准化,并通过平衡参数λ对其进行加权。在我们当前的实现中,等式(1)中的分类项通过小批量大小(即 N c l s N_{cls} Ncls = 256)进行标准化,而回归项通过锚框位置的数量进行标准化( 即 N r e g N_{reg} Nreg 在2,400左右)。
默认情况下,我们将 λ 设置为10,因此分类和回归项的权重大致相等。我们通过实验表明,结果对宽范围内的λ值不敏感(表9)。我们还注意到,上面的标准化不是必需的,可以简化。
Faster R-CNN论文详解【目标检测1——基于RPN的实时目标检测】_第6张图片
对于边界框回归,我们按照R_CNN中采用4个坐标的参数化:

Faster R-CNN论文详解【目标检测1——基于RPN的实时目标检测】_第7张图片
其中x,y,w和h表示框的中心坐标及其宽度和高度。变量 x , x a 和 x ∗ x,x_ a和x ^∗ xxax分别表示预测框,锚框和真实框的参数(同样对于y,w,h)。可以将其视为从锚框到附近的真实框的边界框回归。

然而,我们的方法通过与以前的基于RoI的(感兴趣区域)方法[1],[2]不同的方式实现了边界框回归。在[1],[2]中,对从任意大小的RoI合并的特征执行边界框回归,并且回归权重由所有区域大小共享。在我们的公式中,用于回归的特征在特征图上具有相同的空间大小(3×3)。为了说明变化的大小,学习了一组k个边界框的回归器。每个回归器负责一个比例和一个长宽比,而k个回归器不共享权重。这样,由于锚框的设计,即使特征具有固定的大小/比例,仍然可以预测各种大小的盒子。

3.1.3 训练RPNs

RPN可以通过反向传播和随机梯度下降(SGD)进行端到端训练。我们遵循[2]中的“以图像为中心”的采样策略来训练该网络。每个小批量处理均来自包含多个正负示例锚框的单个图像。可以针对所有锚框的损失函数进行优化,但是由于它们占主导地位,因此会偏向于负样本。取而代之的是,我们在图像中随机采样256个锚,以计算小批次的损失函数,其中正采样和负锚的采样比例最高为1:1。如果图像中的正样本少于128个,则用负样本填充小批量。

我们通过从零均值高斯分布中提取权重(标准偏差为0.01)来随机初始化所有新层。所有其他层(即共享卷积层)都通过预先训练ImageNet分类模型来初始化,这是标准做法。我们调整ZF网络的所有层,并转换conv3_1以及VGG网络以节省内存。对于PASCAL VOC数据集,我们对6万个小批量使用0.001的学习率,对接下来的20k小批量使用0.0001的学习率。我们使用0.9的动量和0.0005的权重衰减。我们使用Caffe进行实现。

3.2 RPN和Fast R-CNN共享卷积

到目前为止,我们已经描述了如何为生成推荐区域而训练网络,而没有考虑到这基于区域的目标检测CNN利用这些推荐区域。对于检测网络,我们采用Fast R-CNN。接下来,我们描述用于学习由RPN和Fast R-CNN组成的具有共享卷积层的统一网络的算法(如图2)

经过独立训练的RPN和Fast R-CNN都将以不同的方式修改其卷积层。因此,我们需要开发一种技术,该技术允许在两个网络之间共享卷积层,而不是学习两个单独的网络。我们讨论了三种共享功能的网络训练方法:
(i)交替训练。在此解决方案中,我们首先训练RPN,然后使用这些推荐框来训练Fast R-CNN。然后,使用由Fast R-CNN微调的网络初始化RPN,然后重复此过程。这是本文所有实验中使用的解决方案。
(ii)近似联合训练。在此解决方案中,如图2所示,在训练期间将RPN和快速R-CNN网络合并为一个网络。在每次SGD迭代中,前向传递都会生成推荐区域,在训练快速时就像对待固定的预先计算的推荐一样对待 R-CNN检测器。反向传播照常进行,其中对于共享层,来自RPN损耗和Fast R-CNN损耗的反向传播信号被组合在一起。该解决方案易于实现。但是此解决方案忽略了导数w.r.t. 推荐框的坐标也是网络响应,因此是近似值。在我们的实验中,我们凭经验发现此求解器产生的结果接近,但与交替训练相比,训练时间减少了约25-50%。
(iii)非近似联合训练。如上所述,RPN预测的边界框也是输入的函数。快速R-CNN中的RoI合并层[2]接受卷积特征,并接受预测的边界框作为输入,因此,理论上有效的反向传播求解器也应包含梯度w.r.t、框坐标。这些梯度在上面的近似联合训练中被忽略。在一个非近似的联合训练解决方案中,我们需要一个w.r.t. 框坐标。这是一个不平凡的问题,可以通过[15]中开发的“RoI warping”层来提供解决方案,这超出了本文的范围。

四步交替训练。在本文中,我们采用实用的4步训练算法来通过交替优化学习共享特征。 第一步,我们按照3.1.3节所述训练RPN。该网络使用ImageNet预先训练的模型进行初始化,并针对区域推荐任务端到端进行了微调。在第二步中,我们使用步骤1 RPN生成的推荐区域,通过Fast R-CNN训练一个单独的检测网络。该检测网络也由ImageNet预训练模型初始化。此时,两个网络不共享卷积层。第三步,我们使用检测器网络初始化RPN训练,但是我们修复了共享卷积层,并且仅微调了RPN唯一的层。现在,这两个网络共享卷积层。最后,保持共享卷积层固定不变,我们对Fast R-CNN的唯一层进行微调。这样,两个网络共享相同的卷积层并形成统一的网络。可以进行类似的交替训练进行更多的迭代,但是我们观察到的改进微不足道。

3.3 实施细节

对于锚框,我们使用3个比例,框区域分别为128×128,256×256和512×512像素,以及3个纵横比为1:1、1:2和2:1。这些超参数不是为特定的数据集精心选择的,我们将在下一部分中提供有关其影响的消融实验。如前所述,我们的解决方案不需要图像金字塔或卷积金字塔即可预测多个尺度的区域,从而节省了可观的运行时间。图3(右)显示了我们的方法在各种比例尺和纵横比下的特征。表1显示了使用ZF网络为每个锚框学习的平均推荐区域大小。我们注意到,我们的算法所允许的预测要大于潜在的感受野。这样的预测并非不可能,如果只有目标的中间可见,则仍可以粗略地推断出目标的范围。

在这里插入图片描述
跨图像边界的锚框需要小心处理。在训练期间,我们将忽略所有跨边界锚,因此它们不会造成损失。对于典型的1000×600图像,总共将有大约20000(≈60×40×9)个锚框。忽略跨边界锚框,每个图像大约有6000个锚框用于训练。如果在训练中不忽略跨界离群值,则会在目标中引入较大且难以校正的误差项,并且训练不会收敛。但是,在测试期间,我们仍将全卷积RPN应用于整个图像。这可能会生成跨边界推荐框,我们会将其裁剪到图像边界。

一些RPN推荐框彼此高度重叠。为了减少冗余,我们根据推荐区域的类别预测分数采用非最大抑制(NMS)。我们将NMS的IOU阈值固定为0.7,这使我们每个图像大约有2000个推荐区域。正如我们将显示的那样,NMS不会损害最终的检测准确性,但是会大大减少推荐区域的数量。在NMS之后,我们使用排名前N位的推荐区域进行检测。接下来,我们使用2000个RPN提案训练Fast R-CNN,但是在测试时评估不同数量的推荐区域。

4. 实验

4.1 PASCAL VOC上的实验

我们根据PASCAL VOC 2007检测基准全面评估了我们的方法。该数据集由大约20个目标类别的5000张训练图像和5000张测试图像组成。我们还提供了一些型号的PASCAL VOC 2012基准测试结果。对于ImageNet预训练网络,我们使用具有5个卷积层和3个完全连接层的ZFnet[快速]版本,以及具有13个卷积层的公共VGG-16模型。3个全连接层。我们主要评估平均检测精度(mAP),因为这是目标检测的实际指标。
Faster R-CNN论文详解【目标检测1——基于RPN的实时目标检测】_第8张图片
表2(顶部)显示了使用各种推荐区域方法进行训练和测试时的Fast R-CNN结果。这些结果使用ZF网络。对于选择性搜索(SS),我们通过“快速”模式生成了大约2000个推荐框。对于EdgeBoxes(EB),我们通过调整为0.7 IoU的默认EB设置生成推荐区域。在Fast R-CNN框架下,SS的mAP为58.7%,EB的mAP为58.6%。具有快速R-CNN的RPN获得了竞争性的结果,mAP达到59.9%,同时使用了多达300个建议框。由于共享卷积计算,使用RPN产生的检测系统比使用SS或EB的检测系统快得多。较少的推荐区域也降低了region-wise全连接层的成本(表5)。

Faster R-CNN论文详解【目标检测1——基于RPN的实时目标检测】_第9张图片
VGG-16的性能表3列出了推荐和检测的VGG-16结果。使用RPN + VGG,未共享特征的结果为68.5%,略高于SS基准。如上所示,这是因为RPN + VGG生成的建议比SS更准确。与预定义的SS不同,RPN受到了积极地训练,并从更好的网络中受益。对于特征共享的变体,结果为69.9%,比强大的SS基准要好,但几乎没有成本。我们将在PASCAL VOC 2007和2012的联合训练中进一步训练RPN和检测网络。最低目标为73.2%。图5显示了PASCAL VOC 2007测试集上的一些结果。在PASCAL VOC 2012测试集(表4)上,我们的方法在VOC 2007 trainval + test和VOC 2012 trainval的并集上训练的mAP为70.4%。表6和表7显示了详细数字。
Faster R-CNN论文详解【目标检测1——基于RPN的实时目标检测】_第10张图片
Faster R-CNN论文详解【目标检测1——基于RPN的实时目标检测】_第11张图片
Faster R-CNN论文详解【目标检测1——基于RPN的实时目标检测】_第12张图片
Analysis of Recall-to-IoU。接下来,我们使用真实框计算不同IoU比率下推荐框的召回率。值得注意的是,Recall-to-IoU指标与最终检测精度只是松散的。使用此指标来诊断推荐方法比评估推荐更合适。
图4中,我们显示了使用300、1000和2000个推荐框的结果。我们将它们与SS和EB进行比较,根据这些方法所产生的置信度,N个推荐框是排名前N位的推荐框。这些图表明,当推荐区域数量从2000个减少到300个时,RPN方法表现得很正常。这解释了为什么当使用最少300个推荐框时RPN具有良好的最终检测mAP。正如我们之前分析的那样,此属性主要归因于RPN的分类项。当推荐区域减少时,SS和EB的召回率比RPN下降得更快。
Faster R-CNN论文详解【目标检测1——基于RPN的实时目标检测】_第13张图片

4.2 MS COCO上的实验

我们在Microsoft COCO目标检测数据集上提供了更多结果。该数据集涉及80个对象类别。我们使用训练集上的80k图像,验证集上的40k图像和测试开发集上的20k图像进行实验。我们评估了IoU∈[0.5:0.05:0.95](COCO的标准度量,简称为mAP @ [0.5,0.95])和[email protected](PASCAL VOC度量)的平均mAP。
Faster R-CNN论文详解【目标检测1——基于RPN的实时目标检测】_第14张图片
表11中,我们首先使用本文中的实现报告了Fast R-CNN系统的结果[2]。我们的Fast R-CNN基准测试集上的[email protected]为39.3%,高于[2]中的报告。我们推测产生这种差距的原因主要是由于负样品的定义以及小批量大小的变化。我们还注意到,mAP @[0.5,0.95]只是可比的。

5. 结论

我们已经提出了RPN用于生成有效而准确的推荐区域。通过与下游检测网络共享卷积特征,推荐区域步骤几乎是不耗时的。我们的方法使统一的,基于深度学习的目标检测系统能够以接近实时的帧速率运行。所学习的RPN还提高了推荐区域的质量,从而提高了总体目标检测精度。

你可能感兴趣的:(论文阅读详解)