FPN

论文: Feature Pyramid Networks for Object Detection.
代码: https://github.com/unsky/FPN.
年份及出处:2017

1. Motivation

生成特征的4种方法

1. Single feature map
在这里插入图片描述

这是最普通的特征生成方法,常见于 VGG 、ResNet等分类网络和 R-CNN、Fast R-CNN、Faster R-CNN等目标检测网络中。该方法使用网络的最后一层特征进行预测,其优点是计算简单、对计算机的计算能力和内存大小的要求较小。但因为它在预测时只利用了高阶特征的语义信息,而忽略低阶特征的细节信息,所以对小目标的检测效果不是很好

一般来说,我们认为在利用CNN对物体进行检测时,

  • 浅层网络感受野小、分辨率高,其得到的低阶特征由于具有丰富的细节信息,更适合用于小目标或简单目标的检测;
  • 深层网络感受野大、分辨率低,其得到的高阶特征由于具有丰富的语义信息,更适合用于大目标或复杂目标的检测。

2. Featurized image pyramid
在这里插入图片描述

在传统的目标检测算法中,使用的特征是hand-engineered features(e.g. SIFT features and HOG features),相比于深度卷积特征,这些特征对物体尺寸变化的鲁棒性较低,所以需要借助图像金字塔,利用图像的各个尺度进行训练和测试,当物体的尺寸变化时,物体会从图像金字塔的某一层转换到另一层,于是我们可以利用最合适的特征来进行检测,因此图像金字塔可以在一定程度上解决物体尺寸变化问题

在深度学习中,图像金字塔的应用却不是很广泛,很多深度目标检测算法,如 Fast R-CNN、Faster R-CNN 都不使用image pyramid,而只采用single feature map,原因是计算量大,推断时间长(e.g.,采用4种尺寸的输入图像,推断时间将增加4倍)。不过,许多深度目标检测论文的最后仍会利用图像金字塔进行mutil-scale testing,以此增加mAP。

3. Pyramidal feature hierarchy
在这里插入图片描述

实际上,image pyramid是想利用多尺度的特征来做检测, 从而使用同一模型对不同尺寸的图像提取出不同尺寸的特征,这样做无疑是非常耗时的。

为了节约时间,我们可以直接使用卷积网络中产生的各层特征图分别进行预测,其设计思想就是同时利用低层特征和高层特征,分别在不同的层同时进行预测。

一幅图像中可能具有多个不同大小的目标,区分不同的目标可能需要不同的特征,对于简单的目标我们仅仅需要浅层的特征就可以检测到它,对于复杂的目标我们就需要利用复杂的特征来检测它。

  • 优点:在不同的层上面输出对应的目标,不需要经过所有的层才输出对应的目标(即对于有些目标来说,不需要进行多余的前向操作),在一定程度上对网络进行加速操作,同时可以提高算法的检测性能
  • 缺点:获得的特征不鲁棒,弱特征较多(因为很多的特征都是从较浅的层获得的)。

该方法最早应该是由 SSD 提出的多尺度卷积,但 SSD 的多尺度实际上只有中高阶特征,而没有低阶特征,而 FPN 的作者指出,这些低阶特征的细节信息对于小目标的检测是非常重要的。

4. only finest level
方法3存在以下两个缺点:

  • 高阶特征虽然具有丰富的语义信息,它能帮助我们对大部分目标进行识别和检测,但由于它缺乏细节信息,所以如果单独使用它来做预测,会造成小目标检测性能的下降。
  • 低阶特征虽然具有丰富的细节信息,它在一定程度上有利于我们对小目标进行识别和检测,但由于它缺乏语义信息,所以如果单独使用它来做预测,可能会造成误检率上升。

对此,【Learning to refine object segments. In ECCV, 2016】就提出了下图的特征融合方法,对不同尺寸的特征进行融合,高阶特征的丰富语义信息,可以指导低阶特征去识别和检测小目标,减小误检率。
在这里插入图片描述
a top-down architecture with skip connections,where predictions are made on the finest level

注意:这种方法只使用融合后的最后一层特征进行预测,该方法用于图像分割,需要上采样至图像大小,所以只用最后一层特征做预测。

2. FPN

在这里插入图片描述

FPN包含3个部分:

  1. 自下而上的特征提取通道(Bottom-up pathway):用于特征提取,每一stage(多个具有相同分辨率的卷积层组成一个stage)的下采样率为2,每一stage的最后一层输出作为后续特征融合部分的输入。
  2. 自上而下的特征融合通道(Top-down pathway):用于多尺度特征融合,上采样率为2,每一层的输出可作为最终特征,用于预测。
  3. 横向连接(lateral connections):用于上述两个通道的连接。

注意:每一层融合之后还会再采用 3 × 3 3\times3 3×3的卷积核对每个融合结果进行卷积,目的是消除上采样的混叠效应(aliasing effect)。

ResNet为例,FPN的网络结构如下:

  • denote the output of each stage’s last residual block as { C 2 , C 3 , C 4 , C 5 } \{C_2,C_3,C_4,C_5\} {C2C3C4C5} for conv2, conv3, conv4, and conv5 outputs.
  • { C 2 , C 3 , C 4 , C 5 } \{C_2,C_3,C_4,C_5\} {C2C3C4C5}的下采样率分别为 { 4 , 8 , 16 , 32 } \{4,8,16,32\} {481632}
  • { P 2 , P 3 , P 4 , P 5 } \{P_2,P_3,P_4,P_5\} {P2P3P4P5}的通道数均为256
    在这里插入图片描述

Feature Pyramid Networks for RPN

把RPN head连接到FPN每一层上。

anchor的设置:

  • RPN的anchor只设置在单层特征图上,设置了3种scale: { 12 8 2 , 25 6 2 , 51 2 2 } \{128^2,256^2,512^2\} {128225625122}和3种aspect ratio: { 1 : 2 , 1 : 1 , 2 : 1 } \{1:2,1:1,2:1\} {1:21:12:1}
  • FPN是多尺度的特征图,所以不需要在每层上都设置多种scale的anchor,FPN的anchor设置如下: { P 2 , P 3 , P 4 , P 5 , P 6 } \{P_2,P_3,P_4,P_5,P_6\} {P2P3P4P5P6}的anchor的尺寸分别为: { 3 2 2 , 6 4 2 , 12 8 2 , 25 6 2 , 51 2 2 } \{32^2,64^2,128^2,256^2,512^2\} {322642128225625122},每一层仍有3种aspect ratio: { 1 : 2 , 1 : 1 , 2 : 1 } \{1:2,1:1,2:1\} {1:21:12:1}
  • 对anchor进行label assign时,是不考虑level的,把所有层的anchor合在一起,看成是单层的anchor,然后像RPN那样做label assign。(后续有些论文在设置anchor时,某一特定层均设置了多种scale的anchor,这种做法在one-stage anchor-based detector中更加常见,目的是设置更多的anchor,提高召回率,于是,后续的label assign不仅涉及到scale,还涉及到level。)

3. 实验

在这里插入图片描述

  • baseline:以ResNet-50为backbone的RPN,使用5种尺寸的anchor: { 3 2 2 , 6 4 2 , 12 8 2 , 25 6 2 , 51 2 2 } \{32^2,64^2,128^2,256^2,512^2\} {322642128225625122}
  • { P k } \{P_k\} {Pk}:以PFN的所有特征层作为特征,分别连接RPN head

实验结论:

  • (a)(b)比较说明,使用单层特征层做预测,难以有效提高召回率。即使(a)使用了更多的anchor,其 A R 100 AR^{100} AR100还是稍低一些,所以anchor不是越多越好。(a)的 A R s 1 k AR_s^{1k} ARs1k A R m 1 k AR_m^{1k} ARm1k更高,而(b)的 A R l 1 k AR_l^{1k} ARl1k更高,原因在于:不同的下采样率,导致anchor映射回原图得到的候选区域不同,(a)的下采样率较小,在原图中得到的候选区域更接近中小目标,(b)的下采样率较大,在原图中得到的候选区域更接近大目标。
  • (c)和(b)比较,说明FPN可以同时提高所有尺寸的目标。
  • (d)表示只有横向连接,而没有自顶向下的过程,也就是仅仅对自底向上的每一层结果做一个 1 × 1 1\times1 1×1的横向连接和 3 × 3 3\times3 3×3的卷积得到最终的结果,从feature列可以看出预测还是分层独立的,如3. Pyramidal feature hierarchy的结构。作者推测(d)的结果并不好的原因在于在自底向上的不同层之间的semantic gaps比较大。
    (e)表示有自顶向下的过程,但是没有横向连接,即向下过程没有融合原来的特征,如下图结构。这样效果也不好的原因在于目标的location特征在经过多次降采样和上采样过程后变得更加不准确。
    在这里插入图片描述
    (f)采用finest level层做预测(如4. only finest level),即经过多次特征上采样和融合到最后一步生成的特征用于预测,主要是证明金字塔分层独立预测的表达能力。显然finest level的效果不如FPN好,原因在于PRN网络是一个窗口大小固定的滑动窗口检测器,因此在金字塔的不同层滑动可以增加其对尺度变化的鲁棒性。另外(f)有更多的anchor,说明增加anchor的数量并不能有效提高准确率。

4. 优点

  1. 多尺度特征融合:对不同尺寸的特征进行融合,高阶特征的丰富语义信息,可以指导低阶特征去识别和检测小目标,减小误检率。对于小物体,一方面我们需要高分辨率的feature map更多关注小区域信息,另一方面,需要更全局的信息更准确判断小物体的存在及位置。

  2. 多尺度特征预测:使用融合后的多尺度特征进行同时预测,融合后的高阶特征仍具有丰富的语义信息,适合识别和检测大部分物体;融合后的低阶特征不仅具有细节信息,还具有部分语义信息,能够更加准确地识别和检测小物体。

  3. 可以在几乎不增加额外计算量情况下解决多尺度检测问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值