Feature pyramids are as basic component in recognition systems for detecting objects at different scales.
in this paper, we exploit the inherent multi-scale, pyramids hierarchy of deep convolutional networks to construct feature pyramids with marginal extra cost. A top-down architecture with lateral connections is developed for building high-level semantis feature maps at all scales.

简介

利用金字塔方法去检测不同尺度下的物体,已经在很多方面进行了应用。

  • 传统方法:SIFT,HOG –> DPM
  • 深度学习:SSD

结构如下:


深度学习之检测模型-FPN

  • a) 利用图像金字塔构建特征金字塔,然后针对不同尺度进行分别独立计算【速度慢】
  • b) 利用单个最高层的特征层去计算【目前流行的方法】
  • c) 针对ConvNet中的不同尺度,分别去计算【卷积神经网络在特征金字塔上拥有天然的优势】
  • d) 本文提出了一种新的方法,在b,c基础上,增加了横向连接【精度更高】

分析:

  • 特征层越高,特征表达能力越强【覆盖的信息越多】
  • 特征层越低,特征表达能力相对较弱【覆盖的信息较少】
  • 将两者有机的结合在一起,可以更佳丰富不同尺度下的特征表达能力。

特征金字塔Feature Pyramid Networks


深度学习之检测模型-FPN

说明:

  • 特征金字塔总的每一层都是和上一层的特征融合
  • 卷积网络的最高层网络C5通过一个1x1卷积生成金字塔的最高层P5
  • 其他卷积层都是通过上一层的金字塔特征上采样和对应的卷积层(经过1x1卷机)相加得到
  • 金字塔特征中的每一层都进过一个3x3的卷积,生成最终的特征
  • 所有的金字塔特征中的每一层的深度都是256-d
  • 所有额外的卷积都【上述提到的1x1卷积和3x3卷积】不采用非线性**函数
  • 特征金字塔上的每一层特征都进行检测和分类
  • 特征金字塔与卷积层对应关系{P2,P3,P4,P5}–>{C2,C3,C4,C5},对应特征的尺寸是相同的

FPN应用

FPN在RPN上的应用

  • 将RPN上的单尺度特征替换为FPN,在每一层特征上,增加一个3x3卷积核两个1x1卷积进行分类和box回归
  • 每一个特征层采用单一尺度的anchor进行预测【因为金字塔本身就已经考虑多尺度问题了】
    • {P2,P3,P4,P5,P6}分别对应的anchor面积为{322,642,1282,2562,5122}
  • 每一个特征层采用多比例的anchor
    • {1:2,1:1,2:1}
  • 正样本:IoU>0.7
  • 负样本:IoU<0.3

FPN在RCNN上的应用

  • 首先通过RPN产生一系列的ROI候选区域
  • 针对每一个候选区域的大小,选在在FPN上进行RoiPool操作

    • k=k0+log2(wh224))
    • 其中:
    参数 说明
    224 是ImageNet的标准输入
    k0 基准值,设置为5,代表P5层的输出
    w,h 表示ROI区域的长和宽
    • 从而,如果Roi是112*112的大小,那么,k=k01=51=4,说明,该Roi应该使用P4的特征层。


深度学习之检测模型-FPN

实验

参数 说明
800 图像短边缩放到800
2 batch per GPU
0.0001/0.9 decay rate和momentum
0.02/0.002 学习率:前30K用0.02,后10K用0.002

实验1:

  • 对比不同特征层


深度学习之检测模型-FPN

说明:

  • 通过对比发现FPN相比conv4,conv5效果都好
  • 通过ablation实验,证明了RPN的top-down金字塔的效果要:
    • d)采用类似fig1种的b结构,但是将其他层的特征通过3x3/1x1卷积进行叠加到最高层作为特征输出
      • 因为不同特征层之间存在着semantic gap,从而效果不好
    • e)采用top-down金字塔,但是不尽兴lateral相加操作
      • 虽然分辨率也提高了,但是由于没有和对应层的特征信息,从而位置精度不够
    • f)只采用FPN中的P2分辨率最高的一层作为特征层,并把所有的anchor放在这一层使用
      • FPN是通过固定的窗口来扫描所有特征层,从而增加了尺度不变形的鲁棒性
      • 单独采用P2,特征图尺寸更大,导致产生更多的anchor(750k)
      • 实验说明,更多的anchor并不能带来更好的效果

实验2

  • 基于Fast RCNN框架,固定proposal个数进行比较

    深度学习之检测模型-FPN

说明:

  • 采用实验1中的table1(c)模型的RPN结果,作为本实验的proposal
  • RoiPool输出的大小为14x14
  • 结论同实验1

实验3

  • 利用Faster RCNN框架+FPN进行物体检测


深度学习之检测模型-FPN

说明:

  • Faster RCNN+FPN可以达到最好的效果AP=33.9

实验4

  • 与历年模型对比


深度学习之检测模型-FPN

说明:

  • 利用Faster RCNN+FPN在COCO数据集上达到了最好的效果。

实验5

  • 对比不同的基础网络


深度学习之检测模型-FPN

说明:

  • 基础网络ResNet-101比ResNet-50效果要好,因为其表达能力更好

实验6

  • 图像分割


深度学习之检测模型-FPN


深度学习之检测模型-FPN

说明:

  • FPN进行图像分割可以达到非常好的效果【roipool–> 14x14】

总结

FPN可以有效的将不同尺度下的特征进行数据融合,并保留每一个尺度下的位置敏感性。

  • 尺度不变形
  • 位置信息更佳准确

参考文献

https://arxiv.org/pdf/1612.03144.pdf
http://blog.csdn.net/dcxhun3/article/details/59055974
http://blog.csdn.net/zchang81/article/details/76155460

相关文章:

  • 2021-10-20
  • 2021-09-12
  • 2021-06-05
  • 2021-06-16
  • 2021-05-23
  • 2021-11-10
  • 2021-07-14
猜你喜欢
  • 2021-12-20
  • 2021-11-23
  • 2022-01-01
  • 2021-08-13
  • 2021-09-21
  • 2021-08-26
相关资源
相似解决方案