GA-RPN论文阅读

概要

Anchor的设计是现今大多数目标检测框架的基础,高性能的目标检测框架通常依赖于密集的Anchors的设计,这些Anchors基于预定义的尺度与长宽比。 本文提出了GA-RPN利用图像的语义信息指导Anchor的生成,联合两条支路,一路预测物体的中心点位置,另外一路预测对应位置的尺度和长宽比。此外为了保持特征的一致性,采用了一个Feature adaption module。

方法

Anchor的设计遵循着两个原则:

  • alignment

    to use convolutional features as anchor representations, anchor centers need to be well aligned with feature map pixels.

  • consistency

    the receptive field and semantic scope are consistent in different regions of a feature map, so the scale and shape of anchors across different locations should be consistent.

论文主要围绕着这个公式展开:

该公式主要抓住了两个重要的直觉,(1) 物体可能只存在一张图像的某些区域;(2) 物体的形状,尺度,比例和它的位置有关。

该网络主要分为三个部分,Anchor Location Prediction, Anchor Shape Prediction, Anchor-Guided Feature Adaption, 以下将对这三个部分分别介绍。

Anchor Location Prediction

对于特征图$F_I$而言,该分支主要预测对应的位置上物体存在的概率$p(i,j|F_I)$其中$i,j$表示在特征图上的位置,对应的在原始图片的位置为为$((i+\frac{1}{2})s,(j+\frac{1}{2})s)$,其中s是特征图上的步进长度。该分支$N_L$使用一个$1\times1$的卷积层,然后通过sigmoid函数将卷积后的结果转为概率。基于上述产生的概率图,然后设定一个阈值$\epsilon_L$滤除大约$90%$的regions。由于大部分区域并不包含物体,因此使用masked convolution替代后续的卷积层。

Anchor Shape Prediction

确定物体的可能位置后,下一步就是预测物体的形状。基于特征图$F_I$该分支预测对应位置上$(w,h)$,然而直接预测这两个值,难度较大,因此通过预测$dw$和$dh$,然后通过如下公式映射到对应的$w$和$h$:

其中$s$是特征图上的步进长度,$\sigma$是缩放因子(该超参数设置为8),该分支$N_S$同样由一个$1\times1$的卷积层组成,然后产生一个两通道的图,包含$dw$和$dh$。
此外改论文中指出通过这样的设计,它可以更好的捕捉更高或更宽的物体。

Anchor-Guided Feature Adaptation

传统的RPN网络中,由于每个位置的Anchor有相同的尺度和长宽比,因此特征图可以学习到一致性的表达,然而在GA-RPN中,Anchor的形状因位置而异。若是依然根据之前的方法,则违背了一致性原则。为此,引出了anchor-guided feature adaptation模块,该模块的公式化表达如下所示:

其中$f_i$是在$i$-th位置的特征,$(w_i,h_i)$是对应的anchor的形状。该分支首先通过一个$1\times1$的卷积从anchor shape预测分支输出一个offset field,接着运用可变卷积联合原始的特征图和offset field获得$f’_I$。后续的基于该adapted features进行分类与回归。

原始的可变卷积中,offset field是通过feature map来预测的,而该分支中的offset field是通过anchor shape来预测的,这也是为何称之为anchor-guided feature adaptation模块。

training

joint objective

anchor location targets
定义三个anchor location区域,CR(center region),IR(ignore region),OR(outside region)

CR是中心区域的周围区域,IR是中心区域外围的一部分区域,OR是除了CR和IR外面的所有区域。其中存在两个超参数,一个是CR的范围$\sigma_1$一个是IR的范围$\sigma_2$

由于CR占比较小,所以训练loss采用Focal loss.

anchor shape targets
anchor形状的优化一般分为两步,首先将Anchor与对应的ground-truth bbox进行匹配,然后迭代的计算最优的$\hat{w}$和$\hat{h}$使其IoU最大化。之前的RPN网络分配一个候选的anchor给ground-truth bbox。但是对于GA-RPN则不适用,因为$w$和$h$并没有预定义。然后提出的解决措施是,基于$(x,y)$位置,采样9对不同尺度和长宽比的anchor。对于loss函数的优化采用的是bounded iou loss

实验

超参数设置:$\sigma_1=0.2$,$\sigma_2=0.5$,$\lambda_1=1$,$\lambda_2=0.1$
与Fast_RCNN, Faster_RCNN, RetinaNet对比实验

消融实验