首页:https://blog.csdn.net/u014236392/article/details/86767950
论文:Feature Pyramid Networks for Object Detection
unofficial code - caffe:https://github.com/unsky/FPN
1.
识别不同大小的物体是计算机视觉中的一个基本挑战,我们知道,低层的特征语义信息比较少,但是目标位置准确;高层的特征语义信息比较丰富,但是目标位置比较粗略。
所以,本文打算利用卷积网络的特征层级结构的金字塔形状,创造一个在所有尺度有着强语义的特征金字塔。最终,依靠一种将低分辨率、强语义特征和高分辨率、弱语义特征结合的结构,基于一种自顶向下的路径和横向连接的方式,产生一个在所有层都有着丰富语义的特征金字塔,并且可以从单个输入图像上快速建立。
2. 金字塔结构
(1)像传统的 R-CNN 系列,见图 (b),仅采用了网络最后一层的特征,即只在最后一层 feature map 上进行预测,这导致忽略了其它层的特征,但是细节信息可以在一定程度上提升检测的精度,所以此方法尤其是不利于小目标的检测。
(2)图 (a),采用图像金字塔,将图像做成不同尺度大小的,然后在不同尺度大小图像生成的对应不同尺度的特征上进行预测。这种方法会大大增加时间成本。
(3)图 ©,如 SSD,同时利用低层特征和高层特征,从网络不同层抽取不同尺度的特征做预测,但是这种方法获得的特征不鲁棒,都是一些弱特征(因为很多的特征都是从较浅的层获得的)
(4)图 (d) 就是 FPN 的结构,将处理过的低层特征和高层特征进行累加,融合了多层特征信息,并在不同的特征上进行独立预测输出。
3. 具体分析
自底向上
自底向上方式是主体网络的前向计算,它计算了一个由多个尺度特征图组成的特征层次结构,每步的缩放大小为2。通常有许多层产生相同大小的输出图,我们说这些层处于相同的网络阶段。我们选择每个阶段的最后一层的输出作为我们的特征图的参考集,我们将丰富它来创建我们的金字塔。这种选择是有道理的,因为每个阶段最深的层应该有着最强的特征。
自顶向下和横向连接
自顶向下的过程采用上采样进行,而横向连接则是将上采样的结果和自底向上生成的相同大小的feature map进行融合。在融合之后还会再采用3×3的卷积核对每个融合结果进行卷积,目的是消除上采样的混叠效应(aliasing effect)。