(a) 使用图像金字塔构建特征金字塔。特征是在每个图像尺度上独立计算的,这很慢。
(b) 在图b中,类似与Fast-RCNN的流程,而且对小目标检测的效果并不是很好。
最近的检测系统选择仅使用单尺度特征来加快检测速度。
©在图c中,与ssd算法较为类似。 将一张图片输入给backbone,然后在backbone正向传播中得到的不同特征图上分别的进行预测。
另一种方法是重用由 ConvNet 计算的金字塔特征层次结构,就好像它是一个特征化的图像金字塔一样。
(d) 在图d中,并不是简单的在backbone正向传播中得到的不同特征图上分别的进行预测。而是将不同特征图上的进行融合,然后在融合得到的特征图上在进行预测。
我们提出的特征金字塔网络 (FPN) 与 (b) 和 © 一样快,但更准确。
我们可以看到图像中存在不同尺寸的目标,而不同的目标具有不同的特征,利用浅层的特征就可以将简单的目标的区分开来;利用深层的特征可以将复杂的目标区分开来;
FPN 能够实现比所有现有最先进方法更高的准确度。此外,这种改进是在不增加单尺度基线的测试时间的情况下实现的。
采用的特征图是有一定的要求的。是按照2的整数倍进行选取的。比如说2828,1414 ,77的。
在backbone特征图,我们都会先使用11的卷积层进行处理,目的是为了挑战不同特征层上的channel是一样的。两倍的上采样和11卷积进行add操作。
c5所得到的特征图进行上采样,与c4所得到的特征图进行add融合,然后将融合得到的特征图在进行上采样,与c3所得到的特征图进行add融合,然后在进一步上采样,与c2所得到的特征图进行add融合。
后面在接上33的卷积层,得到p2,p3,p4,p5。根据论文所给的描述,我们会在p5的基础上进行下采样得到p6。
我们将锚点定义为在 {P2、P3、P4、P5、P6} 上分别具有 {32^2、64 ^2、128 ^2、256 ^2、512 ^2} 像素的区域。1 如在 [29] 中,我们也使用多个纵横比的锚点{1:2, 1:1, 2:1} 在每个级别。所以金字塔上总共有 15 个锚点。
FPN效果定量评估
测试了FPN算法在COCO数据集上面的性能表现,使用了FPN的Faster R-CNN方法获得了很多的最佳指标,尤其是在APs指标上面。总之,获得了最好的单模型准确率。
我们比较了比较了FPN+RPN和RPN这两种方案,我们可以看到我们的性能有了大幅度的提升。