- paper: https://arxiv.org/pdf/2201.12329.pdf
- code: GitHub - IDEA-Research/DAB-DETR: [ICLR 2022] DAB-DETR: Dynamic Anchor Boxes are Better Queries for DETR
- 将位置相关性计算显式的引入到decoder中,通过box坐标(x, y, w, h) 影响Q和K的相关性计算。
- 特征图要有对应的位置编码,同时,编码方式和作为query的4D box坐标应该一致,这样相似度分数才高,才能起到pooling的作用。
probe and pool features
the key insight behind this formulation is that xx
目录
Why A Positional Prior Could Speedup Training?
Learning Anchor Boxes Directly
Width & Height-Modulated Gaussian Kernel
摘要
- 本文的两个贡献:1)针对DETR,提出一种全新query范式:dynamic anchor boxes;2)深入分析DETR中query的作用。
- 使用4D box 坐标有两个作用,很像soft ROI Pooling:1)明确的位置先验,可以提高query-to-feature相似度,减缓训练收敛慢的问题;2)可以基于box的宽高建模positional attention map;
- 在ResNet50-DC5作为backbone的情况下,训练50-epochs,可以取得45.7% AP。
引言
- DETR使用100个learnable query从图像中probe and pool features,但目前query的设计是低效的,会导致训练收敛慢,通常需要500-epochs才能收敛。
- 对于DETR query的改进方法,主要是使query关联某个特别的空间位置,而不是多个位置,例如:Conditional DETR、Efficient DETR、Anchor DETR、Deformable DETR。但是上述工作,仅借助了2D位置作为anchor points,而没有考虑目标大小。
- 提出一种新范式。在Transformer的cross-attention模块中,本文使用4D box coordinates (x, y, w, h) 作为queries。这种全新的query范式,通过同时考虑anchor box的位置和大小,为cross-attention引入了更好的空间先验。
- 深入分析DETR中query的作用。每个query可以看作两个部分:content part (decoder中self-attention的输出) 和 positional part (DETR中的learnable queries)。Cross-attention,是计算每个query和key的相似度分数,而key也是由两个部分组成:content part (encoded image feature) 和 positional part (位置编码)。因此,Cross-attention其实可以认为是根据query和key相似度,从特征图中pool特征,而相似度同时考虑了内容和位置信息。内容相似度可以认为是在找语义相近的特征,位置相似度则是某种位置限制,用于从特定位置pooling特征。因此,新范式中的中心位置 (x, y)可以提供pooling位置,box大小 (w, h)可以建模cross-attention map。同时,由于在query中显示的引入了box,因此,box可以在每层中动态更新。
Why A Positional Prior Could Speedup Training?
- 前人工作将decoder去除,实现了快速收敛,说明问题收敛慢是由decoder导致的;
- 如上图,比较encoder和decoder,唯一差异是decoder中的Q是learnable query,说明问题出在query上;
- query初始化为0,会导致query-to-feature similarity相同,pooling到相同图片特征。
- query有两个可能的原因导致收敛慢:1)优化问题;2)query中的位置编码和图片的位置编码不一致,导致相似性不好学习。
- 上图(a)中,将query替换为学习好的query,并固定住,发现效果并没有提升,这说明不是优化问题。
- 进一步,本文可视化了图片位置编码和query之间的位置注意力图,可以发现DETR中的query存在:1)有多个注意力中心;2)注意力中心和目标大小不一致。在引入DAB后,DAB-DETR的位置注意力图就变得好很多,同时如图2(b)所示,收敛也快了。
DAB-DETR
如图5所示,修改集中在DETR的decoder中。
Learning Anchor Boxes Directly
对于第q个anchor A_q = (x_q, y_q, w_q, h_q),其positional query P_q = MLP(PE(A_q)),其中,PE是positonal encoding,将R映射为R^(D/2),MLP则将R^(2D)映射为R^(D),MLP包含两个Linear + ReLU,其中第一个用于降维。
Self-attention:
Cross-Attention,其中MLP^(csq)是conditional spatial query,是一个MLP,将D维数据映射到D维,F_(x, y) 是位于(x, y)的图片特征,维度为D。
Width & Height-Modulated Gaussian Kernel
原有的positional attention map是:
本文提出的受box宽高影响的positional attention map是:
其中w_(q,ref)和h_(q, ref)计算如下:
Temperature Tuning
如下式所示,T为超参数,会影响位置先验的大小,本文设置为20。
实验
Main results
Ablation Study