fpn是在卷积神经网络中图像金字塔的应用。图像金字塔在多尺度识别中有重要的作用,尤其是小目标检测。
论文中给了这么一张图来展示4种利用特征的形式。
(a)图像金字塔。这个是直接把图片resize成不同的尺度,使用不同的尺度对应生成不同的特征。缺点是时间成本很大,如果在测试的时候使用四级的图像金字塔,那么测试时间*4.
(b)只用最后一层特征。在fpn之前的算法,faster rcnn和spp net都是只用了最后一层特征。这个最大的问题应该是小目标难以识别,比如image中小目标尺寸16*16,下采样16倍就变成了1*1,四舍五入相当于没了。
(c)使用每层特征图进行预测。SSD是这么做的,从网络不同层抽取不同尺度的特征做预测。fpn认为SSD算法用到的底层不够底层。
(d)fpn采用了这种方法,顶层特征上采样后和底层特征融合,每层独立预测。
fpn的思路:
fpn每层做特征融合的特征图有两个,首先是前向传播,然后取了每个特征图做上采样(最近邻插值),对应前向传播的特征图做融合。融合的方式是:通过1x1卷积调整通道数,然后直接add。之后进行3x3卷积操作