Feature Pyramid Networks for Object Detection(2016)论文综述

1、 为什么要做这个研究(理论走向和目前缺陷) ?
图像金字塔太耗计算及存储资源,不用图像金字塔又对小物体检测不好。直接从低层特征预测不好,因为语义信息不足。直接从高层特征预测,语义信息够了但是多次下采样使得定位不准。故提出自顶向下的特征金字塔结构。
2、 他们怎么做这个研究 (方法,尤其是与之前不同之处) ?
自顶向下的特征金字塔+横向连接(元素对应相加),融合了高层的语义信息和低层的位置信息。直接融合可能会造成混叠效应,故横向连接前进行1*1卷积降维。
每个预测层的fm只使用一个大小的anchor(3种ratios),所以自顶向下的金字塔低层特征上其实也没有多少anchor,增加不了多少计算量(原来单层预测会有多个大小的anchor)。
3、 发现了什么(总结结果,补充和理论的关系)?
提高了检测精确度,计算量略微增加,对小物体检测效果显著提升。

摘要:特征金字塔在识别系统中很常见。但是金字塔结构占用计算存储大。本文研究深度卷积神经网络固有的金字塔结构来构建特征金字塔。FPN,自顶向下的结构且伴有横向连接,效果很好。速度6FPS。

1引言
图像金字塔计算量大,占内存多,不实用。

低层的fm分辨率高,但是语义信息不好,故SSD虽有也考虑多层预测,但是却放弃了低层的特征,主要从高层预测。实际上,低层信息有利于检测小物体。
Feature Pyramid Networks for Object Detection(2016)论文综述
2. 相关研究
手工设计特征及早期的神经网络:HOG,SIFT
深度卷积神经网络目标检测器:OverFeat,R-CNN, SPPnet, Fast R-CNN, Faster R-CNN
使用多层的方法:FCN,Hypercolumns,

3 FPN
FPN的目的就是利用原有的语义从低到高特征金字塔结构,构建一个全部都有高级语义信息的金字塔结构。
FPN的金子塔结构与主干网络无关,主干网络只要特征是金字塔风格的都可以随意选取。本文选择ResNet。
自底向上的路径:如下图,每次fm的放大倍数为2(不是面积,而是长宽分别放大2倍)。
对于ResNet,每个阶段的最后一个残差块(conv2, conv3, conv4, conv5)的输出记为{C2, C3, C4, C5},他们的相对于输入图片的strides是{4, 8, 16, 32}。没有把conv1的输出加入到金字塔结构,因为太占内存。
Feature Pyramid Networks for Object Detection(2016)论文综述
自顶向下的路径和横向连接:
通过对自底向上产生的高层特征层进行上采样(最近邻近上采样模式)来产生更高分辨率而且语义信息更强的特征。然后这些特征通过横向连接(直接元素对应相加)来进行增强。
左侧最高层输出的特征图C5用11的卷积降维到256个通道,成为右侧的最高层的特征图。所有左侧的特征图在横向连接之前需要先用11的卷积降维(降至256channles),达到跟右侧同stage特征图维度相同。连接后右侧的特征图用3*3的卷积来消除上采样带来的混叠效应,并作为下一级特征图。左侧的特征图自底向上记作:{C2, C3, C4, C5}, 右侧特征图自底向上记作{P2, P3, P4, P5}。
因为所有层都是用同一个分类器回归器来预测(也可以各自用各自的,效果差不多),故所有预测层输出的fm的维度都是256个通道。

4 应用
4.1在RPN中应用
以前rpn中fm的每个位置应用多尺度的anchor,现在只是在fpn的输出特征层的每一层应用单尺度的Anchor。{P2, P3, P4, P5, P6} 分别对应的anchor大小为{322, 642, 1282, 2562, 5122}。每个anchor的高宽比跟原来一样为{1:2, 1:1, 2:1}。故总共有15个anchors。
具体代码实现是对每一预测层输出的fm运用轮流输入到同一个rpn头进行预测,产生独立的score和box offset。训练过程中每个fm根据各自的stride生成各自的正例和负例anchors。根据正例和负例anchor来训练。

4.2 在fast R-CNN中应用FPN
Fast r-cnn通常用于单一尺度的fm,为了使用FPN,先把每一层产生的roi(边框坐标)连接到一块,然后把不同的RoI分配到不同的特征图上去。
实际上,是根据roi(边框坐标)的大小选择用哪一层的fm作为roi(特征图)输入到后面的roi align中。若roi是的长或宽是56个像素级别(原图尺度),则将最高层的P2上对应的roi特征图输入到后续网络。RoI大小级别共计4个,分别为56、128、256、512像素级别,对应级别roi分别从p2,p3,p4,p5特征图输出roi特征图到后续的roi align中。
Roi_align生成77256的feature map,然后用77的卷积核升维成111024的特征图,然后将这个111024的特征图squeeze拼接成一个1024个元素的向量(张量),然后分别输入到两个用来分类和检测框回归的子分支,这两个子分支只由一个全连接层(分类:1024类别数, 回归:1024*(4倍类别数))组成。
5 目标检测实验
5.1 RPN的预选框
用召回率评估。
5.1.1消融实验
与baseline对比,
Feature Pyramid Networks for Object Detection(2016)论文综述
5.2 用Fast/Faster R-CNN做目标检测
用AP评估
5.2.1 Fast R-CNN(rpn用fpn, fast rcnn用原来的主干网络,但是用rpn生成的roi)
5.2.2 Faster r-cnn(rpn和fast rcnn用同样的采用fpn的主干网络,可共享参数也可不共享参数)
5.2.3 与coco获胜者比较
Feature Pyramid Networks for Object Detection(2016)论文综述

6 拓展:语义分割预选框
6.1 分割预选框结果

7结论