Deformable DETR:使用多尺度可变形的注意力模块进行目标检测.

DETR将目标检测问题建模为边界框的集合预测问题,从而避免了anchorlabel assignmentNMS等操作,实现了end-to-end的检测流程。但仍存在一些问题,如:

作者认为,上述问题主要是因为在初始化的自注意力计算中,query与所有key计算得到的权重几乎都是一样的(均匀分布),导致需要用较长的时间才能学习到关注稀疏且有意义的位置。作者提出应该让query不再与所有key计算相似度,而是只与有意义的key计算相似度,即在建模相关性的同时保持采样的稀疏性。为此,作者提出Deformable DETR

具体地,作者提出了可变形注意力模块(deformable attention module),对每个query分配固定数量的key。假设输入特征图$x \in \Bbb{R}^{C \times H \times W}$,查询向量$z_q$的参考点坐标为$p_q$,则其可变形注意力计算为:

\[DeformAttn(z_q,p_q,x) = \sum_{m=1}^{M} W_m [ \sum_{k=1}^{K} A_{mqk} \cdot W_m'x(p_q+\Delta p_{mqk}) ]\]

其中$M$表示注意力head的数量;表示固定的key采样数量($k«HW$);$\Delta p_{mqk}$和$A_{mqk}$表示第$m$个注意力head的第$q$个查询向量的第$k$个采样点的采样偏置(sampling offset)和注意力权重,都是通过$z_q$的线性映射得到的。

具体实现时,查询向量$z_q$通过线性映射得到通道数为$3MK$的张量。前$2MK$编码采样偏置$\Delta p_{mqk}$,剩下的$MK$通过softmax函数获得注意力权重$A_{mqk}$。

作者进一步引入了多尺度(multi-scale)特征融合的方法。同时使用$L$层卷积特征图,对其尺寸进行归一化后在每一层都采集$K$个key,即每个query都采样了$LK$个key。其可变形注意力计算为:

\[MSDeformAttn(z_q,\hat{p}_q, \{ x^l \}_{l=1}^{L} ) = \sum_{m=1}^{M} W_m [ \sum_{l=1}^{L} \sum_{k=1}^{K} A_{mlqk} \cdot W_m'x^l(\phi_l(\hat{p}_q)+\Delta p_{mlqk}) ]\]

模型实现如下图所示。在输入编码器时使用固定的位置编码,为区分不同尺度的特征,额外引入可学习的scale-level编码\(\{ e_l \}_{l=1}^{L}\)。

DETR相比,Deformable DETR能够在更少的训练轮数下获得更好的性能: