Feature Pyramid Networks for Object Detection

  • construct feature pyramids with 最低的 extra cost
  • 为了解决不同尺度下的 object detection 问题
  • 卷积层自带不同尺寸的功能,每卷一层尺寸缩小一点,并且 semantically stronger

Feature Pyramid Networks·

输入一张任意大小的图片,输出不同比例缩放下的不同大小的 feature map

independent of the backbone convolutional architectures

a bottom-up pathway, a top-down pathway, and lateral connections

bottom-up pathway·

backbone ConvNet 的 feed-forward computation

正常的卷积网络可以根据输出的大小分成很多 stage,有的卷积层输入跟输出一样大小,有的可能降低尺寸。我们把输出一样尺寸的一段称为一个 stage,并且只关心每个 stage 的最后一层的输出。用它们生成我们的金字塔。

top-down pathway and lateral connections·

从上往下,把上面的 小的 语义信息浓度高的 层 unsample 到下一层去,让下一层有更多的语义信息

img

横向连接做 1×11\times 1 的卷积是为了降低 channel 的数量

对于每一个 merged map,我们加上一个 3×33\times 3 的卷积,to reduce the aliasing effect of unsampling(混叠效应)

应用·

FPN应用于RPN·

Faster RCNN中的RPN是通过最后一层的特征来做的。最后一层的特征经过3x3卷积,得到256个channel的卷积层,再分别经过两个1x1卷积得到类别得分和边框回归结果。这里将特征层之后的RPN子网络称之为网络头部(network head)。对于特征层上的每一个点,作者用anchor的方式预设了9个框。这些框本身包含不同的尺度和不同的长宽比例。

FPN针对RPN的改进是将网络头部应用到每一个P层。由于每个P层相对于原始图片具有不同的尺度信息,因此作者将原始RPN中的尺度信息分离,让每个P层只处理单一的尺度信息。具体的,对{32232^2、64264^2、1282128^2、2562256^2、5122512^2}这五种尺度的anchor,分别对应到{P2、P3、P4、P5、P6}这五个特征层上。每个特征层都处理1:1<spanclass="bd−box"><h−charclass="bdbd−beg"><h−inner>、</h−inner></h−char></span>1:2<spanclass="bd−box"><h−charclass="bdbd−beg"><h−inner>、</h−inner></h−char></span>2:11:1<span class="bd-box"><h-char class="bd bd-beg"><h-inner>、</h-inner></h-char></span>1:2<span class="bd-box"><h-char class="bd bd-beg"><h-inner>、</h-inner></h-char></span>2:1三种长宽比例的候选框。P6是专门为了RPN网络而设计的,用来处理512大小的候选框。它由P5经过下采样得到。

另外,上述5个网络头部的参数是共享的。作者通过实验发现,网络头部参数共享和不共享两种设置得到的结果几乎没有差别。这说明不同层级之间的特征有相似的语义层次。这和特征金字塔网络的原理一致。

FPN应用于Fast RCNN·

作者将FPN的各个特征层类比为图像金字塔的各个level的特征,从而将不同尺度的RoI映射到对应的特征层上。以224大小的图片输入为例,宽高为w和h的RoI将被映射到的特征级别为k,它的计算公式如下:

img

在ResNet中,k0的值为4,对应了长宽为224的框所在的层次。如果框的长宽相对于224分别除以2,那么k的值将减1,以此类推。

在Faster RCNN中,ResNet的conv4层被用来提取RoI,经过RoI Pooling后映射到14x14的大小。经过RoI Pooling后的特征再进入原来的conv5层,进而得到最终的分类和边框回归结果。在FPN中,conv5层已经被用来作为特征提取器得到P5层;因此,这里单独设计两个1024维的全连接层作为检测网络的网络头部。新的网络头部是随机初始化的,它相比于原来的conv5层更加轻量级。