【论文阅读笔记】FPN:Feature Pyramid Networks for Object Detection
FPN:Feature Pyramid Networks for Object Detection
- (一)论文地址:
- (二)核心思想:
- (三)Introduction:
- (四)网络结构:
-
- 4.1 Bottom-up pathway:
-
-
4.2 Top-down pathways and lateral connections:
-
(五)嵌入到 Fast-RCNN 中:
-
(六)训练细节:
-
(七)实验结果:
-
(一)论文地址:
https://arxiv.org/abs/1612.03144
(二)核心思想:

通过卷积网络构建层次结构的特征层(左侧),随后构建一个融合了高度语义信息和低维特征信息的特征金字塔(右侧),然后,在这些特征金字塔的各个层级上,采用分阶段方法进行目标尺寸检测;
(三)Introduction:

特征/图像金字塔被广泛用于不同大小的目标检测;
(a)方法(如R-CNN)使用了图像金字塔,使用不同大小的图像来生产不同大小的特征层,从而对不同大小的目标进行检测,计算消耗非常大;
(b)方法(如Faster-RCNN)为了节省计算时间,使用了具有高度语义信息的单层特征层,通过生成不同大小的anchors(预选框)来对不同大小的目标进行检测,对小目标检测效果不佳;
(c)方法(如SSD)为了解决不同大小目标特征不同的问题,重复使用了不同大小的特征层,分别对不同大小目标进行检测,但是由于底层特征并不具有高度的语义信息,导致对小目标检测的结果仍不理想;
由于目标分类任务需要提取复杂的语义信息,而目标检测任务则关注图像的基本属性,如颜色、边缘、角点等。
因此,作者提出了一种新的特征金字塔检测方法——FPN;
如图(d),作者构建了具有高度语义信息的深层特征层,并通过上采样(最邻近插值)的方式生成新的特征金字塔,使得不同尺寸的特征层均获得了高度的语义信息;同时,作者通过求和(类似于残差机制)的方式融合了底层特征。
(四)网络结构:
4.1 Bottom-uppathway:
bottom-up pathway即作为FPN网络 backbone的前馈网络(左侧),通过步长为2的下采样,生成不同尺寸的特征层。
在本实现中,Backbone的每一层的最后一个特征层被使用,其中,每一层的最后一个特征层往往具有最强的表现特征。
论文中采用了ResNet作为主干网络,并提取了中间特征层中的Conv2、Conv3、Conv4和Conv5输出作为特征层,记为{C2, C3, C4, C5}。

4.2 Top-down pathway and lateral connections:

如图,首先将 C_5 通过一个 1×1 卷积生成特征金字塔的第一层:

后面的每层都是由相应的图像特征层通过1×1卷积+上一层特征2×上采样得到;
通过该方法,我们获得了四个输出层。随后,通过连接一个3×3的卷积层来降低上采样过程中不同层级特征的重叠,最终构建了用于目标检测的特征金字塔,通常表示为 \{P_2, P_3, P_4, P_5\}。
此外,在特征金字塔的每一层中,我们共享一个分类器(classifier)和一个回归器(regressor)。因此,为了保持一致性和有效性,每一层的通道数必须相同,具体设置为 d=256。
(五)嵌入到 Fast-RCNN 中:
由于 FPN 并不是一个完整的网络,因此需要将它嵌入到其他的网络中;
作者在论文中采用了FPN方法整合到Fast-RCNN框架中,通过RPN结构生成最终的检测结果。

在Fast-RCNN架构中,我们采用了一种更为高效的特征提取方案,具体而言,将原有的单层特征层替换为基于FPN生成的特征金字塔结构。随后,通过保持原有方法的框架,我们利用3×3的卷积层作为滑动窗口,配合1×1的分类器与1×1的回归器,成功提取出目标区域。
由于特征金字塔已经覆盖了不同尺寸目标的特征,因此在相同特征层级上无需再使用尺寸不同的锚框,只需调整长宽比即可。此时,\{P_2,P_3,P_4,P_5,P_6\}所对应的锚框具体数值分别为:\{32^2,64^2,128^2,256^2,512^2\},对应的3种长宽比即为:\{1:1, 1:2, 2:1\}。

(六)训练细节:
- 输入图像的最小边长设置为600像素;
- 在8块GPU(并行训练环境)上采用了SGD方法进行训练;
- 每个GPU的batch size为2,每张图片参与训练的锚框数量为256;
- 模型采用了0.0001的权重衰减系数和0.9的动量参数;
- 学习率经历了从0.02降到0.002的过程(这个衰减幅度不算特别大)。
(七)实验结果:



