Bootstrap

AdaMixer论文分享

[CVPR 2022 Oral] 由南京大学新型软件技术国家重点实验室,蚂蚁集团联合发表

背景:现在基于query的检测器成为研究的热点,通过query集合和图像特征图的迭代交互抽取特征,不断完善query本身的语义,使其能够完成query对object的一对一cls和bbox预测。

存在的问题:收敛速度慢、性能有限以及主干网和解码器之间额外网络的设计复杂性

目的:怎样增强decoder的能力,使检测器尽量避免引入各种encoder?设计出收敛速度快、性能更佳、结构简单的目标检测器

解决:关键是解码器对不同对象的查询的适应性

方法:增强采样位置的自适应能力和解码特征的自适应能力

首先,每个查询根据估计的偏移量在空间和尺度上自适应地对特征进行采样,这使得AdaMixer能够有效地关注物体的连贯区域。

然后,我们在每个查询的指导下,用一个自适应MLP-Mixer动态解码这些采样特征。

对象查询解码器回顾

普通的注意力解码

DETR在查询和特征之间应用普通的多线程交叉注意,将对象查询转换为潜在对象。交叉注意解码器自适应解码采样位置,因为它利用对象查询和特征的关系来聚合特征。然而,聚合后的特征线性变换不能基于查询自适应解码。

可变形多尺度注意力解码器

可变形的DETR通过引入显式参考点和多尺度特征,从移位等价和尺度不变性的角度提高了纯交叉注意下采样位置的解码能力。但采样特征的内容译码与DETR一样,通过线性变换仍然保持静态。总之,DETR和Deformable DETR中的解码器缺乏对查询有条件地进行聚合特征的推理,从而限制了查询对特征的语义适应性。因此,它们都需要一堆额外的编码器来丰富特征语义。

RoIAlign与动态交互头部作为解码器

Sparse R-CNN作为基于区域和基于查询检测器的交集,使用RoIAlign算子和动态交互头作为查询解码器。动态交互头采用基于查询的自适应内核的逐点卷积处理RoI特征。这使得查询对RoI特征的适应性成为可能,但这只是部分的,因为自适应的点卷积不能从这些特征推断自适应的空间结构来构建查询。此外,RoIAlign算子的采样位置被限制在FPN中查询指定的框和特定级别内,限制了位置适应性,需要显式的金字塔网络进行多尺度建模。

解码器在基于查询的不同目标检测器上的适应性比较

3D Feature Sampling

把多尺度特征作为三维特征空间:给定一个特征图,从骨干网络下采样步长分别为4,8,16,32,

首先通过线性层把它们转换成相同通道并计算z轴坐标,然后调整不同步长的特征图的高和宽到相同大小,并将它们排列在三维空间的x轴y轴上。

自适应3D特征采样处理:一个查询首先对输入的关键点生成对应得偏移向量集合,每一个偏移向量都添加索引 i,并且通过一个线性层依赖于它的内容向量q,然后,对于每一个i,根据查询的位置向量,将这些偏移量转换为采样位置。

流程:

1、把query解耦成两个向量,分别是内容向量(content vector)和位置向量(positional vector),其中query代表着的框可以由位置向量解码而来。

2、在每一个stage,query decoder都会更新refine这两个向量。

3、值得注意的是,我们对位置向量采用的参数化并不是常用框的lrtb坐标或是ccwh坐标,而是xyzr形式,其中z代表着框大小的对数,r代表着框长宽比的对数,这种参数化形式的xyz可以直接让我们的query可以与多层级特征所形成的3D特征空间进行联系。

4、如上图所示,3D特征空间中的query坐标自然由xyz决定,自适应3D特征采样首先由query根据自己的内容向量生成多组offset,再在3D特征空间上进行对应点的插值采样得到对应的特征,3D特征空间有益于我们的方法统一自适应地学习目标物体的位置和尺度的变化。

Adaptive Content Decoding

对于采样的特征,如何自适应解码是AdaMixer解码器的另一个关键设计。为了获取x的空间和通道维度上的相关性,提出对每个维度上的内容分别进行有效解码。具体来说,设计了MLP-mixer的简化和自适应变体,称为自适应混合,其动态混合权类似于卷积中的动态滤波器。如下图所示,该过程依次包含自适应通道混合和自适应空间混合,在查询的指导下包含自适应通道语义和空间结构。

自适应通道混合

对一个分组中的一个查询给定采样特征矩阵x\epsilon R^P^{_{in}\times C},其中C = dfeat/g,自适应通道混合(ACM)是利用基于q的动态权值对通道维度上的特征x进行变换来自适应增强通道语义。

ACM(x) \epsilon R^{P_{in}\times C}为通道混合特征输出,线性层为每组单独的。层归一化应用于混合输出的两个维度。需要注意的是,在这一步中,动态权重在3D空间的不同采样点之间共享,类似于对RoI特征的自适应1 × 1卷积。

自适应空间混合

为了使查询能够适应采样特征的空间结构,我们引入了自适应空间混合(ASM)过程。如图所示,ASM可以描述为:首先对信道混合特征矩阵进行转置,对其空间维度进行动态核:

 式中ACM(x) \epsilon R^{C\times P_{out}}为空间混合输出,Pout为空间混合输出模式的个数。注意,动态权重是跨不同通道共享的。由于采样点可能来自不同的特征尺度,ASM自然涉及到多尺度交互建模,这是高性能对象检测的必要条件。

自适应空间混合遵循自适应通道混合,两者都在一个采样组中应用。最终输出的形状R^{g\times C\times P_{out}}跨组被展平,并通过线性层转换为d_{q}维,以添加回内容向量。

这里的decoder用动态依赖于query的权重去沿两个维度(通道和空间 )mixing采集到的特征,由于采集的特征可能来自于不同层级的特征图,这样的mixing操作自然赋予了decoder多尺度交互建模的能力。

Overall AdaMixer Detector

像DETR中的解码器架构一样,对于查询向量q一个阶段的解码,我们在查询、我们提出的自适应混合和前馈-馈网络(FFN)之间顺序地放置自我注意,如图所示。查询位置向量在每个阶段结束时由另一个FFN更新:

Position-aware multi-head self-attentions

由于我们对查询的内容和位置进行了分离,查询内容向量之间单纯的多头自我关注并不知道一个查询和另一个查询之间的几何关系,这被证明有利于抑制冗余检测。为了实现这一点,我们将位置信息嵌入到自我注意中。我们以正弦形式对内容向量进行位置嵌入,(x, y, z, r)的每个分量占据了四分之一的通道。我们还将交集嵌入前景(IoF)作为查询之间注意权重的偏差,以显式地合并查询之间被包含的关系。每个头的注意力是

Experiments

首先研究了提出的具有有限训练时间和有限数据增强的AdaMixer,即12个epoch的训练方案。为了进行公平的比较,禁用了基于查询的检测器中常用的裁剪和多尺度数据增强,只为这些检测器分配100个查询或可学习的建议。实验结果如表3所示。具有N = 100个查询的AdaMixer实现42.7 AP,在训练预算有限的情况下优于最先进的传统的基于查询的检测器。此外,如果将查询数N增加到300和500,则AdaMixer检测器的性能达到44.1和45.0 AP,尤其是在检测小目标时精确度达到27.0和27.9 AP。值得注意的是,这些结果是用随机翻转作为唯一的数据增强,并在12个训练周期内实现的,表明AdaMixer可以有效地监督训练样本。

 Ablation Studies

(a)考察了是否使解码采样位置和解码内容具有适应性的情况下的性能。取消对位置或内容的适应性,表示在训练和推理过程中,将产生采样偏移的线性层的权值或混合权值全部设为零。在训练过程中,只能学习到这些层的偏差,这些偏差最终无法根据查询内容q自适应。换句话说,所有的采样偏移或混合权值在不同查询和不同图像中都是相同的。可以看出,解码采样位置和采样内容的适应性对于一个良好的基于查询的对象检测器至关重要,它的性能比非自适应的同类高出7.0 AP

(b)中比较我们的自适应混合的不同设计。如图3所示,我们默认的自适应混合设计是先在通道维上混合特征,再在空间维上混合特征。我们通过只放置通道混合,只放置空间混合,并将我们的设计顺序颠倒为三种变体来进行消融。第一个自适应通道混合然后空间混合可以得到最好的性能。这表明通道语义和空间结构对混合设计都很重要。对于反向混合的变体,我们怀疑劣质的结果是由于不足的通道语义到空间混合,因为特征是直接来源于主干。

(c)中,我们研究了引入额外金字塔网络的AdaMixer探测器的性能。具有这些额外网络的模型可能需要更长的训练时间和更多的训练样本才能表现良好。这些结果支持AdaMixer设计作为一个简化的基于查询的检测器。

(d)和(e)显示了每组采样点Pin和空间混出模式Pout的消融情况。性能一般与采样点的数量Pin和空间混出模式Pout有关。复杂性和性能之间的一个很好的平衡是Pin = 32和Pout = 128,其中Pin的性能饱和,而Pout超过这一点时性能下降。

(f)我们提出将位置信息嵌入到查询内容向量之间的自我注意中。除了常规的正弦位置嵌入,我们还将前景上的相交部分(IoF)硬连接到由查询表示的框之间的注意权重。结果表明,将这两种成分结合使用可以显著提高性能。IoF的单个效果也是令人信服的。我们认为盒间的IoF描述了对应查询直接包含的几何关系,对于模仿NMS过程的自我注意具有重要意义。

和其他基于查询的检测器性能对比 

从上图可以看出,我们使用3×训练方案来训练我们的AdaMixer,分配300个查询,并包括更强的数据增强,以与其他基于查询的方法的通用训练相一致。以Swin-S为backbone的我们的模型在单尺度测试达到51.3 AP和34.2 AP。此外,在这些基于查询的探测器中,只有AdaMixer不需要额外的注意编码器和显式金字塔网络。这些结果表明我们的AdaMixer是一种架构简单、有效和快速收敛的基于查询的目标检测器。

;