论文阅读:Region Proposal by Guided Anchoring

论文阅读:Region Proposal by Guided Anchoring

  • (1)Author
  • (2)Abstract
  • (3)Introduction
  • (4)Guided Anchoring
  • (5)Results
  • (6)个人总结

(1)Author

  • 作 者
    Jiaqi Wang,Kai Chen,Shuo Yang,Chen Change Loy,Dahua Lin
  • 机 构
    CUHK - SenseTime Joint Lab, The Chinese University of Hong Kong
    Amazon Rekognition
    Nanyang Technological University
  • 时 间
    2019年

(2)Abstract

  • 提出了一种名为Guided Anchoring的anchor机制,这种机制使用语义信息来指导anchoring,该方法能够联合预测目标中心可能存在的位置以及不同位置的尺度和纵横比。
  • 基于此方法,在MS COCO数据上与传统RPN相比,召回率提升了9.1%,并且少用了90%的anchor。将此方法应用于Fast RCNN、Faster RCNN和RetinaNet,分别将其mAP提升了2.2%、2.7%、1.2%。

(3)Introduction

  • 使用预定义的anchor,可能由于设计问题从而拖慢检测器的精度和速度。为了保持足够高的Proposal Recall,需要大量的anchor,其中绝大部分都是无用的,这会带来大量的计算开销;
  • 文中方法的出发点是目标在图像上是不均匀分布的,并且物体的尺度也与图像的内容、位置以及场景的几何结构密切相关。文中的方法基于两步来生成稀疏的anchor,首先识别可能包含对象的子区域,然后确定不同位置的形状。
  • 可学习的anchor shape是有希望的,但其打破了一致性规则,由于现在的anchor是可变的,不同的feature map像素必须学习适应相应anchor的自适应表示。为了解决这一问题,文中建立了一种Guided Anchoring Region Proposal Network,它既包含了guided anchoring,又包含了feature自适应机制。
  • 文中还对高质量proposal在two-stage检测器的使用做了研究,提出了一种机制用来提升训练好的模型的表现。

(4)Guided Anchoring

  • 文中方法的示意图如下:
    论文阅读:Region Proposal by Guided Anchoring_第1张图片

  • 还是用到了feature pyramid,这一点主要目的还是采用多尺度特征实现大小目标兼顾,每一张feature map进入Guided Anchoring模块,这个模块有两个分支,分别预测anchor的location和shape,然后再应用一个feature adaption模块对origin feature进行处理来使其适应anchor的shape。最后再将offset field和origin feature结合后的feature用于后续的prediction;

  • 在预测anchor location时,使用1x1卷积来对base feature进行处理以获得一个目标分数的map,然后再用sigmoid函数将其转换为概率值,根据作者所述,使用深一点的网络更加精确的预测,而sigmoid函数能在精度和效率在呈现很好的平衡;

  • 在预测anchor shape时,作者发现直接预测w和h并不稳定,所以改为预测下式(这个很像Faster RCNN和YOLO中的处理):
    在这里插入图片描述

  • 在feature adaption阶段,首先预测一个offset field,然后使用3x3的可变形卷积和offset来生成adapted feature;

  • 在进行训练时,使用下式损失进行joint优化:
    在这里插入图片描述

  • 为了获得更大的初始IoU,anchor应该放置在靠近真实物体中心的位置,因此作者还为每个box定义了三种类型的区域;
    论文阅读:Region Proposal by Guided Anchoring_第2张图片
    论文阅读:Region Proposal by Guided Anchoring_第3张图片
    由于CR区域只能占到一小部分区域,因此作者还引入了focal loss来训练location的分支;

  • 之前工作计算IoU的方式也不适用于本文,因此作者提出了新的计算方法来适应本文设计:
    论文阅读:Region Proposal by Guided Anchoring_第4张图片
    但对于一个任意的anchor和一个确定的ground truth,上式就变得很复杂并且在end-to-end的训练中很难被有效实现,因此作者采用了一个替代的方案:
    给定(x0,y0),我们对w和h的一些共有值进行采样,以模拟所有w和h对应的。然后计算IoU,再取最大值。在文中的实验中,作者采集了9对anchor(这里很像YOLOv3的9对anchor,分别对应大中小object)。特别地,作者还用了RetinaNet中9对尺寸和比例不同的anchor。理论上来讲,采样的anchor越多,估计就越精准,计算量也越大,但后续的实验表明,该方法对hyper parameters是insensitive的。
    文中还定义了一个变化的有界iou损失来优化shape预测,如下式所示:
    在这里插入图片描述
    采用GA-RPN的效果如下图所示:
    论文阅读:Region Proposal by Guided Anchoring_第5张图片

  • 有一个很有意思点是,如果直接使用GA-RPN来替代RPN网络,所带来的gain是很有限的,原因是guided anchoring得到的proposal都是高质量的,positive object的比例更高,而IoU的值也更大,为了更好地利用这些高质量的proposal,作者采用的方法是:(1)减少proposal数量的(2)提升IoU的threshold。
    论文阅读:Region Proposal by Guided Anchoring_第6张图片

  • GA-RPN还可以用于fine-tuning,以包含RPN网络的two-stage算法为例,如果在前几个回合(默认3个epoch)先摒弃RPN网络,而是用pre-computed的GA-RPN来生成proposal,能使performance得到大幅提升。

(5)Results

  • 效果对比: 论文阅读:Region Proposal by Guided Anchoring_第7张图片
    可以看到基于GA-RPN生成的proposal数量更少,但更加集中和精确,这说明本文的方法是有效的;
    论文阅读:Region Proposal by Guided Anchoring_第8张图片

(6)个人总结

  • 本文干货满满,简直就是建立了一个新的anchor体系,基于Guided Anchoring做出了很多匹配的设计(如vIoU等),而且效果却十分给力;
  • 模块的自适应性很好,可以直接与现有的大多数检测算法直接结合,这一点是很难得的;
  • GA-RPN直接输出anchor的形状和位置,不需要通过regression进行进一步精修;
  • 按照作者的说法,目前是feature map的每一个点只对应一个anchor,但这已经满足要求了,对于anchor数量的讨论是一个很有趣的问题(引自原作者在知乎的评论https://zhuanlan.zhihu.com/p/55854246)
  • 文中方法的源码可以直接在open-mmlab的mmdetection中找到,使用和复现都很方便。

你可能感兴趣的:(积小流以成江海)