目标检测 Feature Pyramid Networks for Object Detection(FPN)论文笔记

目标检测 Feature Pyramid Networks for Object Detection(FPN)论文笔记


原文: Feature Pyramid Networks for Object Detection
作者: Tsung-Yi Lin, Piotr Dollar, Ross Girshick, Kaiming He, Bharath Hariharan, and Serge Belongie
下载地址: https://arxiv.org/abs/1612.03144

1 简介

  • 长久以来,在不同尺度下识别物体一直是计算机视觉一大挑战。传统的解决方法是对一张图像进行缩放,形成图像金字塔,然后从每层分别提取特征,形成对应的特征金字塔(如Figure1(a))。这种方法曾经在深度学习方法之前很受欢迎,但之后逐渐被CNN一系列方法替代。因为CNN网络已经能够自动提取高级特征,并且鲁棒性更强(如Figure1(b)),而且金字塔结构相对而言太耗时间了。
  • 即便如此,CNN系列的检测网络对于小物体还是不够理想,所以还是可以考虑使用金字塔。SSD(Single Shot Detector)对此进行过尝试(如Figure1(c))。**网络的浅层分辨率高,但特征表示较为低级;深层的分辨率低,但有更高级的特征表示。**SSD从每层的特征中进行预测,为了避免计算量过大,前面的浅层信息没有使用。但本文表明这些高分率的浅层信息也是很有用的。
  • 作者根据以上提出了FPN(Feature Pyramid Networks)(如Figure1(d))。网络首先通过bottom-up pathway由浅到深提取特征(就是正常的网络结构),再通过top-down pathwaylateral connections生成在每个等级都有丰富语义的特征金字塔。
    目标检测 Feature Pyramid Networks for Object Detection(FPN)论文笔记_第1张图片
  • 过去有一些研究方法采用的是Figure2上半部的结构,即只在top-down pathway的最后一层做预测。而本文的方法在每一层都有预测(Figure2下半部)。
    目标检测 Feature Pyramid Networks for Object Detection(FPN)论文笔记_第2张图片

2 FPN介绍

2.1 Bottom-up pathway

  • bottom-up pathway就是平常见到的前向传播网络,从原图开始,一层一层计算特征。作者将一些尺度相同的层称为同一“stage”。下一个stage的分辨率比上一个降低了1倍。在后面的特征金字塔中,只取每个stage的最后一层参与其构成。
  • 由于使用的是Resnet作为主干,作者将其分成5个stage,每个stage最后的conv输出标记为 {C1,C2,C3,C4,C5} 。第一层占用的内存太多,因此只取 {C2,C3,C4,C5} 四个stage构成特征金字塔。它们对于输入图像的步长等于 {4,8,16,32}

2.2 Top-down pathway and lateral connections

  • 先从C5开始,通过最近邻方法把特征图升采样2倍;对应的需要相加的bottom-up map用1*1卷积核的网络调整其通道数(本文中通道数d=256),这样二者就可以逐元素相加了(过程见Figure3)。Top-down pathway就这样一层一层向下传递。
  • 迭代开始时,为了产生 the coarsest resolution map,C5首先用一个1*1的卷积层处理。
  • 得到每个相加的特征图后,作者再次用3*3的卷积处理,得到最后的特征图 {P2,P3,P4,P5}
    目标检测 Feature Pyramid Networks for Object Detection(FPN)论文笔记_第3张图片

3 应用

本章中作者说明如何将上面提出的特征金字塔用到目标检测当中

3.1 FPN for RPN

  • 在FPN中,作者只用了一种尺度的anchor,由于不同层的feature pyramid上对应的尺寸已经不同,所以都使用同一个尺度的anchor就足够了。于是乎 {P2,P3,P4,P5,P6} 对应的anchor面积为 {322,642,1282,2562,5122} 。另外,还有 {1:2,1:1,2:1} 三种长宽比,所以anchor的种类共有15种。
  • anchor的标签还是遵循以前的方法。如果某个anchor IoU大于0.7,或是某个ground-truth最大IoU,则为正标签。反之如果IoU小于0.3,则为负标签。
  • 注意到上面多了一个 P6 ,它只是单纯为了多一个更大的anchor,从 P5 2倍上采样得到。这个只在本小节有,下面的Fast R-CNN依然只到P5。
  • 作者还提到参数共享问题,不过没看明白,直接贴原文了:

目标检测 Feature Pyramid Networks for Object Detection(FPN)论文笔记_第4张图片

目标检测 Feature Pyramid Networks for Object Detection(FPN)论文笔记_第5张图片

3.2 FPN for Fast R-CNN

  • 作者认为,对于不同尺度的ROI,ROI Polling层也要用不同尺度的特征图输入。具体要用哪一层,作者给出如下公式计算。其中 w h 是ROI的尺寸, k0 是指当 wh=2242 时使用哪一层 P? 输入。当ROI更小时,就要考虑用更精细的特征图,即 P? 下标更小。
    image_1biltr57nsodit617r1ml9sj92a.png-8.6kB

4 实验

  • 论文的实验篇幅太长了,这里就不多说明,想看详细实验分析建议阅读原文 : )

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