论文地址:https://arxiv.org/pdf/1901.03278.pdf
代码地址:https://github.com/open-mmlab/mmdetection
1.Motivation
2.Method
3.Discussion
1.Motivation
由于主流的Region Anchor 目标检测算法(例如:Fast R-CNN、Fater R-CNN和RetinaNet)均有两个主要限制,分别是:1)产生密集的anchors,并在这大量的anchor中选出最佳候选区域,这导致高代价的计算复杂度。2)在训练前,设置scale与aspect ratios的固定值,根据这些值预测anchor的尺度与大小 ,预测值不够精确。于是作者提出根据alignment 与consistent两个基准(第三部分discussion解释),提出了GA-anchor算法。该算法大致可分别两步,首先选取可能包含目标的子区域,接着在这个子区域根据不同定位点定义anchor的形状。实验结果证明比主流的RPN算法收敛速度快,且mAP有了明显提升。
2.Method
图1网络图
(1)Guided Anchor生成过程:
本文基于特征金字塔对每一个特征map进行guided anchoring,将guided anchoring子网络分为NL和Ns分支,NL对每一坐标位置进行概率评估,收集生成的概率信息,根据设定的概率阈值,筛选概率值高于阈值的坐标作为候选目标中心点位置,大大减少了anchor的生成数量。Ns则负责anchor的形状预测。在算法中,anchor的scale和aspect ratios是不固定的,需要在训练过程预测anchor形状,根据不同的中心点位置预测不同形状的anchor,每一个坐标位置,只生成一个anchor,然后选择与ground truth最接近的anchor作为候选区域。Ns输出值为w 和h的增量信息,计算公式如下:
其中参数为8,s为步长。
最后,是自适应特征分支NT生成自适应特征映射,基于Ns分支的预测形状,将其输出结果作为自适应卷积的offset field(偏移量),然后基于这个偏移量在初始的特征map作deformable卷积,deformable卷积原理图如下:
图2 各种卷积原理图
(2)目标anchor位置坐标:作者为了减少计算量,缩小了location的范围,将初始的特征map根据ground truth覆盖率进行分区,其中CR:center region为目标覆盖率最高区域,定义为正样本区域,IR:ignore region为无关区域,而OR:outside region为目标覆盖率最低,定义为负样本区域。
图3 区域定义图
(3)目标anchor形状生成:基于常用的IOU值计算最优的shape,这里的IOU计算方式有所不同,因为每一个anchor的形状不是固定,因此作者根据每一个定位点,选取9个公共长宽值,然后将这些长宽值与ground truth联系起来计算IOU值,挑选IOU值最大的定义为目标anchor shape。
3.Discussion
(1)算法经过一系列实验验证,在一阶段(single-stage)和两阶段(two-stage)检测算法均有效。文献改变了anchor的传统位置与形状定义方法,免去了滑窗法和预先定值法,加快了anchor的收敛速度,基本在第三次训练(epoch)中就能取得很高的效果值。
(2)在每一个位置点由于不同形状的anchor包含了特征map不同的视觉内容,因此制定自适应特征,基于anchor的形状所覆盖的特征内容生成子特征图F'i(图1)。
(3)实验结果显示,对比location和shape预测效果,anchor shape 的提升值更高,也就是说shape对实验结果的影响较大。
(4)作者所说的alignment,也就是对齐性,指的是feature 的位置与anchor的位置对齐,这个在location预测中实现;另外一个consistent(一致性),指的是anchor shape与feature shape保持一致,这里体现在特征shape的预测过程,而 feature adaptive就是根据一致性实现的。