论文笔记:AugFPN: Improving Multi-scale Feature Learning for Object Detection

  • 代码:https://github.com/Gus-Guo/AugFPN
  • 论文:https://arxiv.org/abs/1912.05384

摘要

  • 现有的SOTA检测器都使用了构建特征金字塔(不同尺度的特征组合),来提升对不同尺度(大小)的目标的检测鲁棒性。而FPN是其中的代表性工作
  • 本文对FPN进行了分析,找到了其中的一些设计上的缺陷
  • 针对缺陷提出了3个改进点,也正是AugFPN的3个组成部分:
    • Consistent Supervision:用于降低不同scale之间的语义Gap
    • Residual Feature Augmentation:用于在不同尺度的特征融合(fusion, summation)中降低信息损失
    • Soft RoI Selection:更好地从图像金字塔中取出ROI Feature用于分类
  • 将FasterRCNN中的FPN结构改成AugFPN,在ResNet50和MobileNet-v2上都有mAP提升
  • 另外,AugFPN中与特征金字塔相关的改进点(也就是Consistent Supervision & Residual Feature Augmentation),在一些Anchor Based/ Anchor Free的One-stage方法中,也能获得提升

原生的FPN中存在的缺陷分析
针对FPN中对不同尺度特征的融合&利用,Figure 1对其进行了总结。对于一个Backbone,FPN首先会引出它在不同尺度下的输出,这些输出有这样的特性:

  1. 底层特征尺度(大小)大,包含的语义信息不够丰富,往往只通过非常有限的卷积核(层),得到一些底层(如边缘,角点)等信息。很多网络的在设计上,为了兼顾算力,底层特征的通常通道数会比较小(因为在这种大小下做卷积的算力会暴增,具体结合卷积的时间复杂度去分析)
  2. 高层特征尺度小,由于经过了相对比较多的卷积层,会包含比较多的语义信息,而且通道数往往会比较大
    相邻两个尺度的特征融合,FPN首先将高层特征通过1x1的卷积进行降维,从而使得它和下面一层特征有同样的通道数(维度/channel数上的适配),然后通过2倍上采样 + 3x3卷积来进行尺度上的适配,最终将维度&尺度上适配后的特征和上一层尺度进行融合(直接相加,因为两个特征的shape已经完全一样)
    上述的特征融合方式(两个卷积进行适配,直接相加)的问题在于:
  • 相邻尺度特征融合过程中的信息损失:在高层 -> 底层适配的过程中,那个1x1的卷积会对丢失信息(这里主要指的是语义(semantic)信息),因为channel数变少了
  • 高层特征的损失:在最高层的特征中,因为没有别的特征和它融合,而它又直接经过了一个1x1的卷积进行降维,通道数的减少显然会损失信息。文章指出这种信息可以通过Global Pooling来解决,但是Global Pooling得到的一个一维向量显然丢失了空间信息(e.g. 目标的相对位置没办法通过这样的一维向量表征)
  • ROI特征的选择上有问题:FPN认为,融合后的底层信息包含较多与小目标相关的特征,并且尺度大,信息更细腻,对小目标更敏感,因此在底层特征中输出的往往是小目标的ROI特征,反之亦然。但问题是,其他层也包含了对该物体的一些语义信息。本文提到了一个缓解性的方案:PANet通过在每个物体中取出ROI特征,然后通过全链接的方式,从而充分利用每个尺度下的ROI。但这样的问题是:
    • 全链接之后接了一个max pooling,同样会丧失一些响应小的网络特征输出,而这些输出也有可能对分类有帮助
    • 全连接层的参数量太大了
      论文笔记:AugFPN: Improving Multi-scale Feature Learning for Object Detection_第1张图片
      针对上述3个缺陷的改进:
      论文笔记:AugFPN: Improving Multi-scale Feature Learning for Object Detection_第2张图片
      对应地,AugFPN 提出了3个模块来提升性能,分别对应图2的3个部分:
  • Consistent Supervision:用于降低不同scale之间的语义Gap
  • Residual Feature Augmentation:用于在不同尺度的特征融合(fusion, summation)中降低信息损失
  • Soft RoI Selection:更好地从图像金字塔中取出ROI Feature用于分类
    Consistent Supervision:
  • 文章中认为,通过两个卷积进行适配,相邻两个尺度的特征图直接相加的方式,从参数优化的角度来看,会使得最终的特征金字塔陷入次优(简而言之,可以认为融合的过程中缺乏语义信息,网络学不好)
  • 因此,一种间接的思路是,直接在每个融合前的特征后面接上检测器&分类器(RPN Head + RCNN),如Figure 2黄色部分。训练时,网络的损失 = lambda * 融合前检测器的Localization Loss + 融合后检测器的Localization Loss + beta * (融合前检测器的Classification Loss + 融合后检测器的Classification Loss) ,实际使用中lambda = 0.25
  • 此外,融合前各个尺度的检测器权重是共享的,这样有利于对不同尺度的监督,从而:1)进一步加强各个尺度下的特征联系; 2)反推底层信息能学到更多的语义信息(从高层信息引导过来)
  • 在预测时,融合前的共享的这些检测器&分类器都可以去掉
    Residual Feature Augmentation
  • 可以看到在图2中的M5,经过1x1的卷积后channel数减少,显然丢失了信息,并且没有其余的特征与其融合
  • 文章中认为,空间上下文信息,能够减少channel数减少带来的语义信息损失,因此可以通过空间信息来补偿,并且提出了Residual Feature Augmentation这一具体举措
    Residual Feature Augmentation的具体做法:
  • 将C5降采样成3份。这里的降采样包括2部分:一个是将C5通过adaptive pooling分别降采样成 alpha1, alpha2, alpha3 * C5的宽高;一个是将adaptive pooling后的结果通过1x1的卷积,将每份降采样的Feature Channel变成256,如图3(a)所示。实际使用中,alpha1, alpha2, alpha3分别为0.1, 0.2, 0.3
  • adaptive pooling介绍:https://discuss.pytorch.org/t/adaptive-avg-pool2d-vs-avg-pool2d/27011
    论文笔记:AugFPN: Improving Multi-scale Feature Learning for Object Detection_第3张图片
  • 重点在于将采样后的特征如何进行融合,也就是Adaptive Spatial Fusion:
    • 本文先通过将3个不同尺度的降采样结果统一上采样到C5一样的宽高,保持channel = 256
    • 将三者concat,通过conv 1x1 -> conv 3x3的方式进行融合,最终形成3个attention map(因此Sigmoid输入的维度应该是Nx3xhxw,与代码中一致)
    • 并将这3个attention map分别应用于3个上采样后的Feature Map
  • Soft ROI Selection
    • 本文认为对于给定的ROI, 如果是在某层金字塔中取,会
    • 对于某个ROI,通过ROI Align取出特征金字塔中所有的ROI Feature(4个尺度会产生4个ROI Feature),默认会在4,8,16,32 4个stride取出4个 7x7x256的ROI feature
    • 同样采用ASF的方式:
      • 将4个ROI Feature Concat起来
      • 通过conv 1x1 -> conv 3x3的方式进行融合,形成N个attention map(N=金字塔层数)
      • 每个ROI Feature与对应的attention map相乘(加权)
      • 将加权后的ROI Feature相加

针对One-stage的适配:

  • 文中指出,这样的理念同样适用于One-stage算法,比如retinanet
  • AugFPN中ROIAlign后面的部分,即Soft ROI Selection在训练中没有用上
  • Consistent Supervision和Residual Feature Augmentation依然可用

总结
本文分析出了FPN在特征融合时所暴露的缺陷:核心是融合的过程中产生的各种信息缺失。针对信息的缺失提出了一些改进点,主要包含三个方面:

  • 补偿最顶层由于融合前降维产生的信息损失
  • 补偿相邻特征融合后产生的语义信息损失
  • 补偿从单层金字塔中取ROI Feature产生的信息损失

你可能感兴趣的:(论文笔记)