卷积神经网络之特征金字塔网络(Feature Pyramid Networks) - SUSTC-XLAB/crops GitHub Wiki

前言

Feature Pyramid Networks(FPN)是Tsung-Yi Lin,何恺明等人在 CVPR 2017 发表的论文,特征金字塔网络是利用深度卷积神经网络固有的多尺度、多层级的金字塔结构去构建,同时使用一种自上而下的侧边连接方式,在所有尺度构建了高级语义的特征图。这篇论文主要使用特征金字塔网络来融合多层特征,改进CNN的特征提取。在详细讨论之前,我们需要了解的一点是:FPN 是 ResNet 或 DenseNet 等通用特征提取网络的附加组件。你可以从你喜欢的 DL 库中得到想要的预训练 FPN 模型,然后像其他预训练模型一样使用它们。

概述

多尺度目标检测是计算机视觉领域的一个基础且具挑战性的课题。在图像金字塔基础上构建的特征金字塔是传统解决思路,这种特性使得模型可以检测大范围尺度的图像。当前图像金字塔特征主要在人工特征中使用,比如DPM就要用到它产生密集尺度的样本以提升检测水平。

然而目前人工特征式微,深度学习的CNN特征成为主流,CNN特征的鲁棒性很好,刻画能力强。即便如此,仍需要金字塔结构去进一步提升准确性,尤其在多尺度检测上。因为金字塔结构的一大优势是其产生的特征每一层都是语义信息加强的,包括高分辨率的低层。但是目前对图像金字塔每一层都处理有很大的局限性,不仅耗时耗显存巨大,而且也只能在检测的时候使用。

图像金字塔并不是多尺度特征表征的唯一方式,CNN计算的时候本身就存在多级特征图(feature map hierarchy),且不同层的特征图尺度就不同,形似金字塔结构。结构上虽不错,但是前后层之间由于不同深度(depths)影响,语义信息差距太大,主要是高分辨率的低层特征很难有代表性的检测能力。

这篇论文的特征金字塔网络做法很简单,如下图所示。把低分辨率、高语义信息的高层特征和高分辨率、低语义信息的低层特征进行自上而下的侧边连接,使得所有尺度下的特征都有丰富的语义信息。这种结构是在CNN网络中完成的,和前文提到的基于图片的金字塔结构不同,而且完全可以替代它。 特征金字塔网络

特征金字塔网络结构

  • Bottom-Up Pathway

所有的CNN都具备原始的特征金字塔的特征,不需要多讲,这里作者选择的是每个Stage 的最后一层作为特征层,这里的 Stage 是指尺寸发生变化的情况。

  • Top-Down Pathway

对应特征图的上采样,思路是通过上采样提取更 Strong 的语义信息,同时上采样带来的是某些信息的丢失。

  • Lateral Connection

侧向连接是将原始的特征信息整合到右侧上采样特征层,原始特征代表了准确的 Location 信息。

通过 Top-Down Pathway和 Lateral Connection的结合,兼顾底层特征和抽象语义,Top-Down 通过2倍的上采样连接,侧向连接通过 1x1 的卷积进行连接,通过 Add 操作进行 Merge。连接方式可以这样描述: 特征金字塔网络连接方式

实验分析

作者分别对比了 RPN 和 Fast R-CNN 的测试精度,分析 侧向连接 和 Top-Down 对于精度的贡献,可以看到,FPN精度是最高,Lateral 和 Top-Down 对于精度的贡献都比较明显。来看对比表格: 特征金字塔网络实验1 实验2

Reference

Lin, Tsung-Yi, Piotr Dollár, Ross B. Girshick, Kaiming He, Bharath Hariharan and Serge J. Belongie. “Feature Pyramid Networks for Object Detection.” 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2017): 936-944.

https://blog.csdn.net/linolzhang/article/details/75675425

https://blog.csdn.net/baidu_32173921/article/details/74485956

https://blog.csdn.net/shuzfan/article/details/54913369