论文链接:https://arxiv.org/abs/2203.06883
语义对齐就是在描绘同一类别对象的两幅图像中,建立稠密的语义对应关系。语义在语音识别中指的是语音的意思,在图像领域,语义指的是图像的内容,对图片意思的理解
摘要: DETR (DEtection TRansformer) 通过消除手工组件(例如anchor)建立了一种新的目标检测框架。然而,DETR的收敛速度非常慢,大大增加了训练成本。我们观察到,在不同的特征嵌入空间(feature embedding spaces) 中,object query 与目标特征之间匹配的复杂性是导致收敛缓慢的主要原因。 本文提出 SAM-DETR,一种语义对齐匹配 (Semantic-Aligned-Matching) DETR,能在不牺牲精度的情况下极大加快 DETR 的收敛速度。SAM-DETR从两个方面解决了 DETR 收敛速度慢的问题:
SAM-DETR 是一个即插即用的解决方案,在只引入少量计算开销的前提下很好地补充了现有的收敛解决方案。大量实验表明,SAM-DETR 不仅具有很好的收敛性,而且具有很高的检测精度。
大多数目标检测方法由于过度依赖手工制作的组件,例如 anchor、rule-based 目标分配和非最大抑制(NMS),通常具有复杂的 pipeline和次优性能。DETR 消除了对此类手工设计组件的需求,并为目标检测建立了一个完整的端到端框架。DETR 最显著的缺点是收敛速度极慢,在COCO数据集上需要500个epoch,而Faster R-CNN 只需要12~36个epoch。缓慢的收敛问题显著增加了 DETR 的训练成本,阻碍其推广。
DETR 在 decoder 中使用一组 object query 来检测不同空间位置的目标对象。如图2所示,在 cross-attention 模块中,使用基于集合的 global loss 对 object query 进行训练,以匹配目标对象,并从匹配的区域提取相应的特征以进行后续预测。
图 2 DETR decoder 中的 cross-attention 模块可以解释为“匹配和特征提取”过程。每个 object query 首先匹配 encoded image features 中自己的相关区域,然后从匹配区域中提取特征,生成用于后续预测的输出。
然而,在初始化时,每个object query 几乎与所有空间位置相匹配,因此需要繁琐的训练迭代来学习关注相关区域。 object query 和相应的目标特征之间的匹配困难是DETR收敛缓慢的主要原因。
最近一些方法也致力于解决DETR的收敛缓慢问题。例如,Deformable DETR用只关注一小部分特征的可变形 attention 取代了原来的 global dense attention,以降低复杂性并加快收敛速度。Conditional DETR 和SMCA-DETR 将 cross-attention 模块修改为空间条件性。相比之下,我们的方法并不改变注意力机制。
我们的核心思想是简化 object query 与其对应的目标特征之间的匹配过程。 Siamese-based 架构定义了一个非常好的匹配方法,该架构通过两个相同的子网络将匹配双方的语义对齐,以将它们投射到相同的嵌入空间。基于这一动机,我们提出了语义对齐匹配 DETR(SAM-DETR),它在cross-attention 模块之前附加了一个即插即用的模块,以便在语义上将 object query 与编码的图像特征 (encoded image features) 对齐,从而促进它们之间的后续匹配。这为object query 提供了一个强大的先验知识,使其能够关注编码图像特征中语义相似的区域。 此外,基于物体的关键点和末端在识别和定位中的重要性,我们提出显式搜索多个显著点,并使用它们进行语义匹配,这自然符合原始DETR的多头注意力机制。 我们的方法只在原始DETR中引入了一个即插即用模块,而保持大多数其他操作不变。
总之,我们有4项贡献:
Object Detection. 现代目标检测方法可分 one-stage 和 two-stage两类。two-stage detector 主要包括 Faster R-CNN 及其变体,它们使用 Region Proposal Network(RPN)生成 region proposals,然后对每个区域进行预测。One-stage detetors 跳过 proposal 生成,直接在密集的滑动窗口(anchor) 或 object 中心上执行 object 分类和定位。然而,这些方法大多数仍然依赖于许多手工制作的组件,例如anchor的生成、rule-based 训练目标分配和非最大抑制(NMS)后处理,因此不是完全端到端的。
DETR 不同于上述的检测器,建立了一种新的目标检测范式。它采用Transformer encoder-decoder 体系结构和一个 set-based global loss 替换手工制作的组件,实现了第一个完全端到端的object detector。然而,与two-stage 和 one-stage 检测器相比,DETR的收敛慢,需要额外的长时间训练才能达到良好的性能。最近一些方法被提出来解决此问题:Deformable DETR用 sparse deformable attention 取代原来的密集注意力;Conditional DETR和SMCA-DETR分别提出了Conditional cross-attention 和空间调制共注意力(Spatially Modulated Co-Attention (SMCA))来取代DETR decoder 中的cross-attention 模块,旨在对原始的 cross-attention 施加空间约束,以更好地聚焦显著区域。我们的目标也是改善 DETR 的收敛性,但从不同的角度出发。我们的方法没有改变 DETR 中原有的注意力机制,因此可以与现有方法互补。
Siamese-based Architecture for Matching. 匹配是视觉任务中的一个常见概念,尤其是在对比任务中,如人脸识别、再识别目标跟踪、少量镜头few-shot识别等。匹配的核心思想是预测两个输入之间的相似性。 实验证明,Siamese-based 体系结构将匹配双方投影到同一嵌入空间,在涉及匹配的任务中表现得格外出色。我们基于这一观察结果,将 DETR 的 cross-attention 解释为一个“匹配和特征提取”过程。实现快速收敛的关键是要确保 object query 和编码图像特征之间的语义一致,即它们都被投影到同一个嵌入空间中。
本节先回顾DETR的基本架构,然后介绍语义对齐匹配 DETR(SAM-DETR)架构,并展示如何将 ours 与现有的加快收敛的解决方案相结合,进一步提高 DETR 的收敛性。最后通过几个例子的可视化,说明 ours 的机制并证明其有效性。
DETR 将目标检测任务表示为一组预测问题,并使用 Transformer 编码器-解码器体系结构解决该问题。给定一张输入图像 I ∈ R H 0 × W 0 × 3 I\in\mathbb{R}^{H_0\times W_0\times3} I∈RH0×W0×3 ,backbone 和 Transformer encoder 生成编码的图像特征(encoded image features) F ∈ R H W × d F\in\mathbb{R}^{HW\times d} F∈RHW×d (二维的),d是特征的维度。 H 0 H_0 H0、 W 0 W_0 W0 和 H H H、 W W W 分别表示图像和特征的空间大小。然后,编码图像特征 F F F 和一小组 object query Q ∈ R N × d Q\in\mathbb{R}^{N\times d} Q∈RN×d被送到Transformer解码器以产生检测结果,其中 N N N是 object query的数量,通常为100∼300。
在 Transformer decoder 中,object query 由一个 self-attention 模块、一个cross-attention模块,和一个前馈网络 feed-forward network (FFN) 顺序处理,产生输出,输出再进一步经过多层感知器(MLP)来生成预测结果。该过程可解释为:object query 表示不同空间位置的潜在 object ;self-attention 模块在不同的 object query 之间进行消息传递;在cross-attention 模块中,object query 首先搜索要匹配的对应区域,然后从匹配区域中提取相关特征,用于后续预测。 cross attention 机制的表述如下:
其中,其中 W q 、 W k 和 W v W_q、W_k和W_v Wq、Wk和Wv是注意力机制中 query、key 和 value 的线性projection。理想情况下,交叉注意力模块的输出 Q ∈ R N × d Q\in\mathbb{R}^{N\times d} Q∈RN×d 应该包含从编码图像特征中提取的相关信息,以预测 object 的类别和位置。 然而,object query 与编码图像特征中的所有空间位置都相等匹配,因此对于 object query 来说,如何正确地聚焦于特定区域是一个非常具有挑战性的问题。导致DETR收敛速度慢的关键因素是匹配困难。
SAM-DETR 旨在通过将 object query 和编码图像特征语义对齐到相同的嵌入空间,从而加快DETR的收敛,缓解等式1中的匹配困难。SAM-DETR 与 DETR 的主要区别 在 Transformer decoder 层。如图3(a)所示, SAM-DETR在 cross-attention 模块之前附加了语义对齐模块 (Semantics Aligner module) ,通过对可学习的 reference boxes 进行建模来促进匹配过程。 与DETR相同,解码器层重复六次,第一层的输入为零,后续层的输入为前一层的输出。
图 3. SAM-DETR 将语义对齐附加到Transformer解码器层。
(a) SAM-DETR中一个解码器层的结构。 它为每个 object query 建模一个可学习的 reference box,reference box 的中心位置用于生成相应的 position embedding。在reference box 的指导下,语义对齐器 Semantics Aligner 生成新的 object query,这些 query 在语义上与编码的图像特征对齐,从而促进它们的后续匹配。
可学习的 refrence box R b o x ∈ R N × 4 R_{box} \in\mathbb{R}^{N\times 4} Rbox∈RN×4在第一个 decoder 层建模,表示相应 object query 的初始位置。在这些 refrence box 的定位指导下,语义对齐器 Semantics Aligner 将 先前的 object query embeddings Q Q Q 和编码的图像特征 F F F 作为输入,生成 new object query embeddings Q n e w Q^{new} Qnew 及其 position embeddings Q p o s n e w Q^{new}_{pos} Qposnew,并反馈给后续的 cross attention 模块。生成的 Q n e w Q^{new} Qnew 被强制与编码图像特征 F F F 位于相同的嵌入空间中,这有助于它们之间的后续匹配,使 object query 能快速且正确地关注编码图像特征中的相关区域。
如 eq.1和图2所示,cross-attention 模块将点积应用于 object query 和编码图像特征,生成注意力权重图,指示 object query 和目标区域之间的匹配。点积能测量两个向量之间的相似性,使 object query 对更相似的区域具有更高的注意力权重。然而,DETR并没有强制执行object query 和编码图像特征语义对齐(即投影到相同的嵌入空间)。因此,在初始化时,object query embedding 被随机投影到嵌入空间,与编码图像特征的所有空间位置同等匹配。 因此,需要长时间训练,才能学会它们之间有意义的匹配。
基于上述观察,语义对齐器设计了一种语义对齐机制,确保 object query embeding 与编码图像特征位于同一嵌入空间,从而保证它们之间的点积能度量相似性。这基于 reference box 对编码图像特征中的 object query 进行重采样来实现,如图3(b)所示。
图 3. SAM-DETR 将语义对齐附加到Transformer解码器层。
(b) 语义对齐器 Semantics Aligner pipeline 。为简单起见,只演示一个object query。它首先利用 Reference Boxes,通过RoIAlign从相应区域提取特征。然后使用 region feature 预测显著点的坐标。之后用 Previous Query Embeddings 重加权这些显著点的特征 ,以合并有用信息。最后将显著点的特征提取为具有对齐语义的 New Query Embeddings
给定编码图像特征 (Encoded Image Features) F F F 和 object query 的 Reference Boxes R b o x R_{box} Rbox。语义对齐器 Semantics Aligner 首先将编码图像特征 F F F 的空间维度从 1D sequences H W × d HW×d HW×d reshape 为 2D maps H × W × d H×W×d H×W×d,然后使用 RoIAlign 从编码图像特征 F F F 中提取 region-level 特征 F R ∈ R N × 7 × 7 × d F_R\in\mathbb{R}^{N\times 7\times 7\times d} FR∈RN×7×7×d,之后通过从 F R F_R FR 中 重采样 获得 new Query Embeddings Q n e w Q^{new} Qnew 和 new Query Pos. Embeddings Q p o s n e w Q^{new}_{pos} Qposnew。上述过程可通过 eq. 2,eq. 3进行描述:
由于重采样过程不涉及任何投影,因此 new Query Embeding Q n e w Q^{new} Qnew 与编码图像特征 F F F 共享完全相同的嵌入空间,从而为 object query 聚焦于语义相似区域提供了强大的先验知识。
Multi-head attention 在DETR中发挥不可或缺的作用,多头注意力允许每个头部专注于不同的部位,从而显著增强其建模能力。此外,之前很多工作确定了目标检测中 Salient Point 的重要性。受这些观察结果的启发,我们提出显式搜索多个Salient Point,并利用它们的特征进行上述语义对齐匹配,而不是通过平均池或最大池进行重采样。显式搜索多个Salient Point的设计适合于多头注意机制,无需任何修改。
M M M (通常取 8 )表示多头注意力的 head 数量,如图3(b)所示,在通过RoIAlign检索 region-level 特征 F F F 后,我们应用 ConvNet 和 MLP 来为每个区域预测 M M M 个坐标 R S P ∈ R N × M × 2 R_{SP}\in\mathbb{R}^{N\times M\times 2} RSP∈RN×M×2,表示对识别和定位 object 至关重要的 Salient Point 。
Note:我们将预测坐标限制在 reference boxes 内。 然后通过双线性插值从 F R F_R FR 中采样显著点的特征。最后,将 M M M 个特征向量与 M M M 个搜索到的显著点相对应,作为新的 object query embedding,使每个注意力头都能聚焦于一个 Salient Point 的特征。
以 salient points 的 image-scale 坐标作为输入,通过正弦函数生成new query pos. embedding。连接与 M M M 个 salient points 相对应的位置嵌入以提供给后续的 multi-head cross-attention 模块。
语义对齐器 Semantics Aligner 可以有效地生成新的 object query,这些 query 在语义上与编码的图像特征保持一致,但也带来了一个问题:在 cross-attention 模块中根本没有利用包含有价值检测信息的previous query embeddings Q Q Q 。 为解决此问题,语义对齐器将previous query embeddings Q Q Q 作为输入,通过线性投影和 sigmoid 函数生成重加权系数。通过元素相乘和重加权系数,new object query embeddings Q n e w Q^{new} Qnew 及其 position embeddings Q p o s n e w Q^{new}_{pos} Qposnew,都被重加权,以突出重要特征,因此,可以有效地利用 previous query embeddings Q Q Q 中的有用信息。这个过程可以用以下公式表述:
W R W 1 W_{RW1} WRW1 和 W R W 2 W_{RW2} WRW2 表示线性映射, σ ( . ) \sigma(.) σ(.) 表示sigmoid函数, ⊗ \otimes ⊗ 表示元素乘法。
本节介绍 SAM-DETR 对 SMCA-DETR 的兼容性。SAM-DETR 没有改变DETR 中的注意力机制以及大多数操作,只添加了一个即插即用模块,计算开销很小,因此可以与现有的收敛解决方案以互补的方式工作,从而进一步促进DETR的收敛。通过将其与现有的加速 DETR 的 sota 方法:SMCA-DETR相结合,展示了 ours 良好兼容性。
SMCA-DETR 用Spatially Modulated Co-Attention(SMCA)取代了原来的cross-attention,SMCA估计 object query 的空间位置,并应用 2D-Gaussian weight maps 来约束注意力响应。在SMCA-DETR 中,2D-Gaussian weight maps 的中心位置和比例都是通过 object query embedding 来预测的。为了将 SAM-DETR与SMCA相结合,我们做了一些轻微的修改:我们采用语义对齐器预测的 M M M 个显著点的坐标作为 2D-Gaussian weight maps 的中心位置,同时根据 pooled RoI features 预测 weight maps的比例。实验结果证明了 ours 和 SMCA-DETR 之间的互补效应。
图4可视化了语义对齐器 Semantics Aligner 搜索的显著点Salient Points ,以及从多头交叉注意模块生成的注意力权重图。我们还将其与原始DETR的注意力权重图进行了比较,两模型以ResNet-50为backbone,训练了12个epoch。
图 4. SAM-DETR搜索的显著点及其注意力权重图的可视化结果。
搜索到的显著点大多位于目标对象内,并精确地指示具有最具识别性特征的位置,用于目标识别和定位。与原始 DETR 相比,SAM-DETR的注意力权重图更精确,表明我们的方法有效地缩小了匹配的搜索空间,并有利于收敛。相比之下,原始DETR的注意力权重图更加分散,这表明它在匹配相关区域和提取显著特征方面效率低下。
从图中可以看出,搜索的显著点大多位于目标对象内,通常是对对象识别和定位至关重要的最独特的位置。这说明了 ours 在为后续匹配过程搜索显著特征方面的有效性。此外,如不同头部的注意力权重图所示,每个显著点的采样特征可以有效地匹配目标区域,缩小注意力区域图的搜索范围。 相比之下,由原始DETR生成的注意力图更加分散,无法高效准确地定位肢体。这种观察符合我们的动机,即 object query 与目标特征匹配的复杂性是 DETR 收敛缓慢的主要原因。可视化结果也证明了通过语义对齐匹配和显式搜索显著特征来缓解匹配困难的有效性。
表1 在COCO 2017 val set 上 SAM-DETR、其他类似 DETR ,以及 Faster RCNN 的对比结果。
表2 在 COCO val 2017上对我们提出的设计选择进行了研究。
”SAM“ 表示语义对齐匹配。
”RW“ 表示通过 previous query embeddings 重加权。
实验研究了 SAM 的不同重采样策略,包括平均池(Avg)、最大池(max)、一个显著点(SP x1)和八个显著点(SP x8)。
表3 在COCO val 2017上显著点搜索范围的消融实验。
与 FASTER R-CNN相比,SAM-DETR 继承了 DETR 在大对象上的优越精度,在小对象上的性能下降。提高小物体精度的一种方法是利用多尺度特征,我们将在未来对此进行探索。
本文提出 SAM-DETR 来加速 DETR 的收敛。SAM-DETR 的核心是一个即插即用模块,该模块在语义上对齐 object query 和编码图像特征,以促进它们之间的匹配。它还显式搜索语义匹配的显著点特征。SAM-DETR可以轻松地与现有的收敛解决方案集成,以进一步提高性能,从而在12个训练周期内获得与 Fatser R-CNN相当的精度。