Advertisement

【论文阅读笔记】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\}

在这里插入图片描述

(六)训练细节:

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

(七)实验结果:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

全部评论 (0)

还没有任何评论哟~