FPN-Feature Pyramid NetWorks

论文来源:Feature Pyramid Networks for Object Detection 

论文链接:https://arxiv.org/abs/1612.03144

FPN : Feature Pyramid Networks 即 特征金字塔网络

目录

主要想法

 以往的多尺度方法

FPN核心理论

如何使用FPN结构?

1、在目标检测中如何使用?

2、在目标分割中如何使用?

3、其他应用

参考资料


主要想法

用最少的资源最快的速度进行多层特征融合检测,提升特征提取的效果,提升小目标检测率,提升检测或分割的整体效果;

 以往的多尺度方法

1、图像金字塔每一层都利用:对源图像进行二分之一缩放,每缩放一次算一层,对每层图像分别进行特征提取和预测,一些传统图像算法中会用到;

2、只利用图像金字塔最后一个scale,也就是最小的那一层的特征图来进行预测,YOLOv1、YOLOv2、Faster R-CNN中使用的就是这种架构,也就是常用的深度学习结构,卷积叠加到最后一层的特征图,然后用来进行计算;

3、对图像金字塔的每一层都进行一次预测,例如SSD把特征图都综合起来进行计算;

FPN核心理论

一句话总结:对多尺度特征图的一种融合方法,包含自底向上和自顶向下两个过程,在自顶向下的过程中融合截至目前层的特征图的特征进行一次预测。

自底向上 Botton-up pathway:建立图像多层金字塔,基于特征提取的神经网络,对于相互链接的拥有相同尺寸的特征图输出的层作为一个stage。从最后一层有效特征图开始,最后一层算一层特征图,特征图长宽每增加一倍,则从相应的stage中取得最深的那层特征图输出作为一层特征图,从而建立特征金字塔。文中以ResNets为例进行了说明。

自顶向下的融合 Top-down pathway and lateral connections:对于建立好的特征金字塔,先进行1*1的卷积得到一个特征图与比其更小的那层特征图利用最近邻采样法进行放大2倍后的图像进行元素相加得到这一层的特征图。对于最顶层,则直接是1*1的卷积之后得到特征图。对每一层特征图再进行一个3*3的卷积从而得到最终使用的特征图。其中1*1卷积即为lateralconnections。

具体结构可以看参考1,以Resnet为例画出来了,清晰明了。

如何使用FPN结构?

1、在目标检测中如何使用?

主要是对RPN步骤进行改进,对于RPN中单个尺寸的特征图,更换为通过FPN得到多尺寸特征图,相对于RPN的3个尺寸3个长宽比e的9个anchor,FPN用五个尺度的特征图用三种长宽比的15个anchor。长宽比1:2、1:1、2:1,尺寸32^2、64^2、128^2、256^2、512^2.head是3*3的对特征图的卷积,然后是1*1的滑动窗口取得anchor。文中还对anchor是能对应到源图像各种尺寸进行了说明。

与目标IOU大于0.7的为正样本,小于0.3的为负样本进行训练;

对于head的参数文中使用了多个尺度的特征图进行共享的方式 和 每个特征图都有一个自己head结果的方式,发现两种方式的准确率很相似。共享的方式效果还可能更好,这就证明尺度虽多但是表达予以的方式应该是差不多,所以最后用了这种共享head参数的方式,也就是说一个分类器对各个尺度的anchor分类就可以满足要求。

在共享head的基础上,ROI pooling得到7*7的特征,后面链接两个1024-d的加Relu的全连接层,再后面是跟着box和class的预测结果。全连接层而不是卷积层文中说是更快更轻量级在后面实验中证明也能取得更好的效果。

基于Faster-RCNN改进了RPN环节之后作为目标检测的例子,进一步证明了top-down结构、lateral connections 和多尺度anchor的必要性。其中很一点是说在多个尺度的特征图上取anchor有效果提升,但是在一个尺度的特征图上增加取多个尺度的的anchor提升不明显,对以后的实验是有帮助的。

2、在目标分割中如何使用?

使用方法基于DeepMask/SharpMask说明。该网络是用于实力分割中给出是否有物体的判断,如果有物体则进一步输出分割mask图像。原有方法是利用卷积层在图像中生产密集的候选框。

通过FPN的方法得到不同尺度特征图之后:对于预测有无物体利用128-d的向量进行计算。给了几种提取物体区域的处理方式的对比:1、对于特征图中5*5的区域提取出来,然后预测14*14的mask;2、对于特征图中7*7的区域提取出来,然后预测14*14的mask;3、方法1和2的结合;4、对于3中的方法预测mask分辨率提升为28*28;5、对于方法4在训练时用两倍的迭代次数。结果是方法1和2差不多,到3稍有提升,4比3稍有提升,5比4再稍有提升。但是从方法1开始已经比对比的DeepMask、sharpMask和InstanceFCN准确率都要好。

3、其他应用

后续Mask-RCNN也用了这种思想,把FPN同时用在了目标检测和目标分割以及人体特征点检测等领域。

参考资料

1、明白的结构解析:

特征金字塔网络Feature Pyramid Networks - core! - 博客园

2、明白的道理分析:

Feature Pyramid Network解读和理解 - 知乎

3、一些补充:

补充:Feature Pyramid Networks for Object Detection_王小胖儿的博客-CSDN博客

4、补充参考RPN的原理:

Region Proposal Networks 详解_qq314000558的专栏-CSDN博客

你可能感兴趣的:(深度学习,深度学习,人工智能,目标检测)