FPN学习笔记
FPN (CVPR 2017)
1.概述
-
名称:特征图金字塔网络FPN(Feature Pyramid Networks)
-
解决问题:物体检测中的多尺度问题(?)
-
效果:简单改变网络连接,不增加计算量,但提高对小物体的检测性能
-
独特之处:低层的特征语义信息较少,但目标位置信息准确;高层的特征语义信息较丰富,但目标位置信息粗略。有些算法采用多尺度特征融合的方式,但一般是用融合后的特征做预测,而FPN是在不同特征层独立进行预测
2.对比
-
常见的网络结构(就是普通的CNN):如SPP-Net、Fast R-CNN、Faster R_CNN等,都是自底向上卷积,用最后一层特征图进行预测,存在对小物体检测能力下降的问题(若原图中某物体面积小于最后一层特征图中每个像素点映射的原图区域大小,就会被忽略(?))
-
图片金字塔(手工时代?):按比例缩放图片,形成图片金字塔,生成每张图片的对应特征图后单独预测,但是太耗时,一般在测试时用
-
多尺度特征融合:同SSD一样,但FPN作者认为SSD用的底层特征还不够底层
-
FPN (Feature Pyramid Networks):对高层特征进行上采样,低层特征进行自顶向下的连接,每一层都会进行预测
-
top-down pyramid w/o lateral:这是作者设计出来做实验对比的,有自顶向下,没有横向连接(论文没有原图,魔改了)
-
only finest nevel:同上,有横向,只在最后一层进行预测
3.FPN详解(主要结构的三个方面,对应图看)
-
主网络:ResNet(具体细节还需要看原文?)
-
自底向上:CNN的正常前向传播,得到一层层特征(这里涉及ResNet内容?)
-
自上而下:把高层特征图进行上采样(upsampling),生成与各层特征图大小相同的另外的特征图;再用横向连接将上采样的结果和自底向上生成的相同大小的feature map进行融合(merge),其中横向连接的两层特征空间尺寸相同,这样可以利用底层定位细节信息。将低分辨率的特征图做2倍上采样(为了简单起见,使用最近邻上采样)。然后通过按元素相加,将上采样映射与相应的自底而上映射合并。这个过程是迭代的,直到生成最终的分辨率图
-
横向连接(侧边融合):用1 * 1的卷积核进行连接
4.实验与对比(暂略)
- 与RPN结合
- 与其他网络对比