学习笔记-FPN(Feature Pyramid Networks)

学习笔记-FPN(Feature Pyramid Networks)

FPN

bottom-up path

  • backbone:bottom-up path就是backbone的feedforward

  • stage:

    定义:将backbone分为多个stage,将每个stage定义为1个pyramid level

    输出:每个stage中,所有layer输出特征图的size是相同的,取最后一层的输出作为该stage的输出,因为每个stage中最深的层应该具有最强特征

    下采样:相邻stage之间的下采样比例为2

  • FPN for ResNet:本文将ResNet最后4个stage{C2,C3,C4,C5}(相对于输入的下采样比例分别为4、8、16、32)的输出定义为4个pyramid level,并不将第1个stage的输出包含到FPN中,因为其内存占用量比较大。

top-down path

  • motivation:high-level semantic information有助于识别目标但有害于定位目标,low-level spatial information有害于识别目标但有助于定位目标(由于下采样次数较少,所以可以更准确地定位)
  • 构建:通过skip connection来构建top-down path
  • 注:在开始top-down path之前,会在bottom-up path顶层使用1×1卷积生成the coarsest resolution map

skip connection

学习笔记-FPN(Feature Pyramid Networks)_第1张图片

  1. 将来自top-down path的coarser-resolution feature map上采样。上采样比例为2,简单起见就使用nearest neighbor upsampling
  2. 使用1×1卷积减少来自bottom-up path的对应feature map的通道数
  3. 对上两步得到的2个feature map(size和channel数量相同)进行element-wise addition

输出

top-down path得到的输出{P2,P3,P4,P5}就是FPN的输出,其和bottom-up path中的{C2,C3,C4,C5}相对应,其中Ci和Pi的spatial size相同。

此文章作为本人学习笔记,内容可能不够详细。

你可能感兴趣的:(深度学习,cv)