论文阅读: FPN

Introduction

文章开篇即指出,现有的三种 Scale handling 方法都不好。

  1. Featurized image pyramid 计算开销和存储开销都太大:
    论文阅读: FPN_第1张图片
    基于深度网络的检测算法出来之前,检测算法基本都是基于这种scale handling;后来出现的SNIP、SNIPER也是基于Image Pyramid。

  2. Single feature map 框不出小物体:
    论文阅读: FPN_第2张图片
    使用Single feature map的包括R-CNN、SPPNet、Fast R-CNN、Faster R-CNN、YOLOv1以及R-FCN系列。

  3. Pyramidal feature hierarchy 底层大scale的feature map语义信息少,虽然框出了小物体,但小物体容易被错分:
    论文阅读: FPN_第3张图片
    使用Pyramidal feature hierarchy的包括SSD。

Note

  • YOLOv2是个特例,其在 26×26 层设置了通道层接至 13×13 层。本质上即为single-scale上处理two-scale的feature map信息。

如何能设计一个算法,能同时做到:

  • (计算/存储) 开销合理

  • 有效 检出小物体

Innovation

设计出包含 “ top-down路径 ” 和 “ 横向连接 ” 的套件,来 融合少位置信息而多语义信息的top层feature map ” 和 “ 多位置信息而少语义信息的down层feature map ” :
论文阅读: FPN_第4张图片

具体地,“ top-down路径 ” 采用 2×上采样 来保证左右的scale相同;“ 横向连接 ” 采用 conv1×1 降维来保证所有channel都为256-d:
论文阅读: FPN_第5张图片

Note

  • 在FPN(+Faster R-CNN)中,选用了 C2~C5 四个scale,并对C5下采样出了 P6 一个scale。

  • 在RetinaNet中,选用了 C3~C5 三个scale,并对C5下采样出了 P6P7 两个scale。

Result

FPN组件明显能提升召回率:
论文阅读: FPN_第6张图片

在COCO数据集上Fast R-CNN因为使用了FPN组件而精度涨点:
论文阅读: FPN_第7张图片

同样也能让COCO数据集上的Faster R-CNN精度涨点:
这里写图片描述

用了FPN的Faster R-CNN,效果拔群:
论文阅读: FPN_第8张图片

Thinking

  • FPN如今已成为Detecton算法的标准组件,不管是one-stage(RetinaNet、DSSD)、two-stage(Faster R-CNN、Mask R-CNN)还是four-stage(Cascade R-CNN)都可用;

  • R-FCN系由于其自身设计的缘故,无法使用FPN;

  • 底层feature map位置信息多但语义信息少,FPN为其增强了语义信息,提升了对小物体的检测效果;

  • 提升检测精度,包括加强对小物体的检测效果和对大物体的检测效果。一般来说,顶层feature map是检测大物体的关键,因为容易框出大物体;底层feature map是检测小物体的关键,因为容易框出小物体;

  • FPN只是给底层featue map提供了福利,所以仅仅提升了对小物体的检测效果;

  • 顶层feature map语义信息多但位置信息少,还是对检测大物体不利。后来者PAN在FPN的基础上再加了一个bottom-up方向的增强,使得顶层feature map也可以享受到底层带来的丰富的位置信息,从而把大物体的检测效果也提上去了:
    论文阅读: FPN_第9张图片


[1] Feature Pyramid Networks for Object Detection

你可能感兴趣的:(论文阅读,论文算法)