FPN——论文详解

http://cn.arxiv.org/abs/1612.03144

题目:Feature Pyramid Networks for Object Detection

摘要:

  • 特征金字塔是识别不同尺度的目标时常用的结构,但是特征金字塔需要较大的计算量和显存,所以最近研发的一些探测器都不再使用这种结构。
  • 作者开发出的一种构建特征金字塔的新方法,可以减少额外的对计算量和显存的消耗。
  • 使用FPN作为backbone,Faster RCNN的精度进一步提升(因为提取的特征更加丰富),速度为6fps on a GPU
  • 最近在coco和imagenet上取得靠前名次的网络都采用了多尺度的方法。

1、Introduction

本文的目的就是利用ConvNet’s特征层次,建立一个各个尺度特征都包含较强语义的特征金字塔。

FPN——论文详解_第1张图片

介绍了目前的特征金字塔的都有哪些形式:

  • Featurized image pyramid:figure 1(a) 速度慢、消耗大量显存。为了取得较好的精度,可能会有10个降采样层(图像要resize 10次),作者很不认同这种做法,因为这太慢了,消耗显存大。但是毋庸置疑的是最近在coco和imagenet上取得较好成绩的模型都是用了Featurized image pyramid,作者认为这主要是由于Featurized image pyramid生成的多尺度特征,每一层都是semantically strong的。 
  • Single feature map: figure 1(b)  与Featurized image pyramid不同,不同层次的包含的语义明显不同,低特征层只包含低级特征,这对目标识别是不利的。所以除了为了速度,也为了精度,包括Faster R-CNN都用这种方法。因为最顶层的特征是semantically strong的。
  • Pyramidal feature hierarchy: figure 1(c) ,用SSD举例说明,为了减小对计算机能力的开销,SSD重复使用了多尺度特征图,但是也错失了利用底层特征的机会。这对于小目标的探测是非常有用的信息。
  • Feature Pyramid Network:作者提出的网络,图中蓝色细线代表feature maps,蓝色粗线代表semantically stronger features。通过使用top-down pathway和lateral connections,把low-resolution,semantically strong的特征和high-resolution,semantically weak的特征相结合,外加横向连接结构,目的是建立一个类似于Featurized image pyramid那种各尺度都是强语义的特征金字塔。这种方法比第一种速度快,占用显存少。

FPN——论文详解_第2张图片

2、Related Work

Hand-engineered features and early neural networks.

  • (Hand-engineered features)——SIFT、HOG特征是图像处理领域常用的尺寸不变算子
  • 在HOG和SIFT之前,已经有人使用ConvNets在图像金字塔上多尺度检测人脸

Deep ConvNet object detectors.

  • 介绍了最近使用深度学习情况

Methods using multiple layers.

  • 目前多尺度应用的情况

3. Feature Pyramid Networks

目标时建立一个特征金字塔,每一层都包含high-level的语义信息,方法是优化卷积特征金字塔的层次结构。

FPN——论文详解_第3张图片

  • Bottom-up pathway:其实就是正常的resnet,vgg这些。
  • Top-down pathway and lateral connections.
    Top-down pathway 很简单,高层特征上采样,但是与同级别的Bottom-up pathway中的特征层尺寸相同,但是其包含的语义信息更多,使用横向连接(lateral connections)将两者融合。bottom-up pathway中的底层特征虽然包含的语义信息少,但是由于它还未进行很多次降采样,所以包含了更多的定位信息。使用1x1 conv目的是统一两条pathway channel的数量(256),方便融合。使用3x3的目的是为了消除上采样造成的混叠效应(aliasing effect)

4. Applications

4.1 Feature Pyramid Networks for RPN

需要证明FPN对RPN是有效的,回想一下RPN的工作原理:在Faster RCNN中,RPN的输入是使用一个3x3的滑窗在最后一个卷积层的输出上进行滑动,会分成定位和分类两个分支,这可以通过3x3卷积后再接一个1x1卷积实现,作者称这部分为:netword head。

为了引入FPN,我们把同样的head设计(3x3 convs and two sibling 1x1 convs)连接到特征金字塔的每一层,由于特征金字塔已经包含了尺度信息,我们不在需要向faster rcnn那样设计三种不同尺寸的anchor,我们只要每一层设计一种尺寸的anchor即可\left \{ 32{^2}},{64{^2}},{128{^2}},{256{^2}},{512{^2}} \right \} pixels on {P2,P3,P4,P5,P6}。但是与faster rcnn中相同的是,我们仍使用{1:2,2:1,2:1}三种ratios,所以一共是15中anchors。

与faster rcnn中一样,与gt重叠大于0.7或者是与某个gt重叠率最高的anchor都会被赋予positive label,如果与其他所有的gt的重叠率都小于0.3就会被赋予negtive lable。

之后的流程就与Faster RCNN相同了。

4.2. Feature Pyramid Networks for Fast R-CNN

这个不咋用,略了。

5. Experiments on Object Detection
 

FPN——论文详解_第4张图片

5.1. Region Proposal with RPN

使用COCO的Average Recall 和 AR on small ,medium, large用来评判结果。

具体的实践细节可以参考论文的Inplementation details。

分别验证了三个部分的重要性:

  • top-down enrichment
  • lateral connections
  • pyramid representations

5.2. Object Detection with Fast/Faster R-CNN

Table3 (a),(b)使用了与(*)中相同的结构,但是AP却提高了很多,作者认为原因在于它改了一些超参数:

  • 使用了800pixels尺寸的图像;
  • 每张照片512个RoIs可以提高收敛速度,而参考文献中使用了64;
  • 使用了5中scale的anchors,比参考文献多了一种;
  • 每张图片1000个proposal,参考文献只使用300;

1、Sharing features.
可以提高一丢丢AP,同时减少一些test time

2、Running time.

0.148s for ResNet-50

0.172s for ResNet-101

 


 

 


 

 

 

 

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