Deformable DETR论文翻译

论文地址:DEFORMABLE DETR: DEFORMABLE TRANSFORMERS FOR END-TO-END OBJECT DETECTION

摘要

DETR最近被提出,以消除在对象检测中许多手工设计的组件的需要,同时显示良好的性能。但由于transformer注意模块在处理图像特征图时的局限性,导致收敛速度慢,特征空间分辨率有限。为了减轻这些问题,我们提出了Deformable DETR,其注意力模块只关注参考点周围的一小组关键采样点。可变形的DETR比DETR(特别是在小物体上)可以获得更好的性能,训练周期少10个。在coco基准上的大量实验证明了我们的方法的有效性。

1.介绍

现代的对象检测器使用了许多手工制作的组件(Liu et al., 2020),例如,锚点生成、基于规则的训练目标分配、非最大抑制(NMS)后处理。它们不是完全端到端的。最近,Carion等人(2020)提出了DETR,以消除对此类手工制作组件的需求,并构建了首个完全端到端对象检测器,实现了极具竞争力的性能。DETR通过结合卷积神经网络(CNNs)和transformer(Vaswani et al., 2017)的编解码器,利用了一个简单的架构。在适当设计的训练动机下,他们利用transformer的通用并且强大的关系建模能力,以取代手工制作的规则。
尽管它有趣的设计和良好的性能,DETR有它自己的问题 :

  1. 相比与现有的目标检测器,它需要更长的训练时间来收敛。例如,在COCO (Lin et al., 2014)基准上,DETR需要500个epoch来收敛,这比Faster R-CNN慢10到20倍(Ren et al., 2015)。
  2. DETR对小目标的检测性能相对较低。现代目标检测器通常利用多尺度特征,从高分辨率特征图中检测出小物体。同时,高分辨率的feature maps导致DETR不可接受的复杂性。
    造成上述问题的主要原因是transformer元件在处理图像特征图时存在缺陷。在初始化时,注意模块对特征图中的所有像素施加几乎一致的注意权重为了让注意力集中在稀疏的有意义的位置,长时间的训练是必要的。另一方面,transformer编码器的注意力权重计算是基于像素数的二次计算。因此,处理高分辨率特征图的计算和内存复杂度非常高。

在图像领域,可形变卷积(Dai et al., 2017)是一种强大而高效的处理稀疏空间位置的机制。它自然避免了上述问题。而缺少元素关系建模机制,这是DETR成功的关键。
在这篇论文里,我们提出了Deformable DETR,它可以缓解DETR收敛速度慢和复杂度高的问题。它融合了可形变卷积良好的稀疏空间采样能力和transformer的强大关系建模能力。我们提出了可变形注意模块 ,它考虑到一个小的采样位置集合作为一个预先过滤器突出关键元素的所有特征图像素。该模块可以自然地扩展到聚合多尺度特征,而无需FPN的帮助(Lin et al., 2017a)。在Deformable DETR中,我们使用(多尺度)可变形注意模块替换处理特征图的transformer注意模块,如图1所示。
在这里插入图片描述
Deformable DETR由于其快速收敛、计算和内存效率,为我们开发端到端对象检测器的变体提供了可能性。我们探索了一种简单有效的 迭代边界框细化机制 来提高检测性能。我们还尝试了two-stage的Deformable DETR,其中区域建议也是由一个Deformable DETR的变种生成的,这些区域建议进一步被送入解码器用于迭代边界盒细化。

在COCO (Lin et al., 2014)基准上的广泛实验证明了我们的方法的有效性。与DETR相比,Deformable DETR可以在少 10x 训练周期的情况下取得更好的性能(特别是在小物体上)。提出的two-stage Deformable DETR的改进可以进一步提高性能。

2.相关工作

有效的注意机制: transformers 涉及到自我注意和交叉注意机制。transformer最著名的问题之一是在大量关键元素数量时的高时间和内存复杂性 ,这在许多情况下阻碍了模型的扩展性。近年来,针对这一问题已经做出了很多努力(Tay et al., 2020b),在实践中大致可以分为三类:
第一类 是在键上使用预定义的稀疏注意模式,最直接的范例是将注意力模式限制为固定的局部窗口。大部分的工作都按照这个模式。虽然将注意力模式限制在局部区域可以降低复杂性,但会丢失全局信息。为了补偿这个问题,Child等人(2019年);Huang等人(2019);Ho et al.(2019)以固定的时间间隔参与键元素,显著增加键上的感受野。Beltagy等人(2020);Ainslie等人(2020);Zaheer等人(2020)允许少量特殊令牌访问所有键元素。Zaheer等(2020);Qiu等人(2019)还添加了一些预先固定的稀疏注意模式,直接参与较远的键元素。
第二类 是学习依赖于数据的稀疏注意力。Kitaev等人(2020)提出了一种基于注意力的局域敏感哈希(LSH),它将查询和关键元素哈希到不同的容器中。Roy等人(2020)提出了类似的想法,k-means找出最相关的键。Tay等人(2020a)学习了基于块的稀疏注意的块排列。
第三类 是探索自我注意的低等级属性。Wang et al.(2020)通过对尺寸维度的线性投影而不是通道维度来减少关键元素的数量。Katharopoulos等人(2020);Choromanski等人(2020)通过核化近似重写了自注意的计算。
在图像领域,有效注意机制的设计(例如,Parmar等人(2018);Child等人(2019年);Huang等人(2019);Ho等人(2019年);Hu等人(2019);Parmar等人(2019))仍然局限于第一类。尽管理论上降低了复杂性,Parmar等人(2019);Hu等人(2019)承认,由于内存访问模式的固有限制,这种方法在相同的FLOPs情况下实现上比传统卷积要慢得多(至少慢3倍);
另一方面,如Zhu et al. (2019a)所讨论的,卷积也有不同的变体,如可形变卷积(Dai et al., 2017;Zhu等,2019b)和动态卷积(Wu等,2019),也可以看作是自我注意机制。特别是可变形卷积在图像识别中的应用要比transformer自注意性能好得多。同时,缺乏元素关系建模机制。
我们所提出的可变形注意模块是由可变形卷积得到的启发,属于第二类。它只关注由查询元素的特性预测的一个固定的小采样点集。与Parmar等(2019);Hu等人(2019)不同,在相同的FLOPs下,可变形注意力只是略慢于传统的卷积。
目标检测的多尺度特征表示: 目标检测的主要难点之一是如何有效地表示不同尺度下的目标。现代的对象探测器通常利用多尺度特性来适应这一点。FPN (Lin et al., 2017a)作为其开创性工作之一,提出了一种自顶向下的路径来结合多尺度特征。PANet (Liu et al., 2018b)在FPN的基础上进一步增加了自底向上的路径。Kong等人(2018)通过全局注意力操作结合了所有规模的特征。Zhao等人(2019)提出了一种u形模块来融合多尺度特征。最近,NAS-FPN (Ghiasi et al., 2019)和Auto-FPN (Xu et al., 2019)被提出通过神经结构搜索自动设计跨尺度连接。Tan等人(2020)提出了BiFPN,它是PANet的重复简化版本。我们所提出的多尺度变形注意模块可以在不借助特征金字塔网络的情况下,通过注意机制自然地聚合多尺度特征图。

3. 回顾transformer和DETR

transformer中的多头注意力. transformer (Vaswani et al., 2017)是一种基于注意力机制的机器翻译网络架构。给定一个查询元素(输出句子中的一个目标单词)和一个键元素的集合(输入句子中的单词),multi-head attention模块根据衡量查询-键对兼容性的注意力权重自适应地聚合关键内容。为了让模型关注来自不同表示子空间和不同位置的内容,不同注意力头的输出通过可学习权值进行线性聚合。 q ∈ Ωq为表示特征zq ∈ RC 的查询元素索引,k ∈ Ωk 为表示特征xk ∈ RC 的键元素索引,C表示特征维度,Ωq和Ωk 分别为查询元素和键元素的集合。然后通多头注意特征的计算为:
在这里插入图片描述
m为注意力头的索引,在这里插入图片描述
在这里插入图片描述
是可学习的权重(默认Cv = C/M)。注意力权重Amqk在这里插入图片描述
成正相关被归一化为在这里插入图片描述
,Um,Vm ∈ RCv×C也是可学习的权重。为了消除不同空间位置的歧义,表示特征zq和xk通常是元素内容的串联/总和 和位置嵌入。
这里有transformer的两个已知的问题,一个是transformer在收敛之前需要很长的训练迭代,设查询元素个数为Nq,关键元素个数为Nk。通常,在参数初始化适当的情况下,Umzq和Vmxk遵循均值为0,方差为1的分布,这使得当Nk较大时,注意权值为Amqk ≈1/Nk。这将导致输入特征的模糊梯度。因此,需要长时间的训练计划,以便注意力的权重可以集中在特定的键。在图像领域,关键元素通常是图像像素,Nk可能非常大,收敛需要很长时间。
另一方面,对于多头注意力,计算和记忆复杂度可能非常高,因为有大量的查询和关键元素。方程式1的计算复杂度是在这里插入图片描述
。在图像领域,查询元素和键元素都是像素,Nq = Nk >> C, 复杂性由第三项所控制,如O(NqNkC)。因此,多头注意模块的复杂度随着feature map的大小呈二次增长。

DETR. DETR是基于transformer的编码器-解码器架构,结合set-based的匈牙利损失,通过二部图匹配,强制对每个标签边界盒进行独特的预测。下面我们简要回顾一下网络架构:
对于一个由CNN骨干网络提取的特征图作为输入,DETR利用标准的Transformer编解码架构将输入特征图转换为一组对象查询的特征。一个3层的feed-forward neural network(FFN)和一个线性映射被添加在目标查询特征(由解码器产生)作为detection head。FFN就像回归分支一样,预测边界框deepsort候选坐标b ∈ [0, 1]4, b = {bx, by, bw, bh}编码框的中心点,高和宽。线性映射就像是分类分支一样产生分类结果。
对于DETR中的transformer编码器 ,查询元素和键元素都是特征图中的像素。输入是resnet的特征图(带有编码的位置特征)。使用H和W分别表示特征图的高和宽。自注意力的计算复杂度为O(H2W2C),随着空间大小平方的增加。
对于DETR中的transformer解码器 ,他的输入包括来自编码器的特征图和来自可学习的位置特征(N=100)N个目标查询表示。在解码器中有两种注意力模块,分别为交叉注意力和自注意力在交叉注意力模块中,目标查询提取来自特征图的特征,查询元素属于目标查询,而键元素属于来自编码器的输出特征图。其中,Nq = N, Nk=H x W,交叉注意力的复杂度是O(HWC2 + NHW C)。复杂度随着特征图的空间大小线性的增加。在自注意力模块中,目标查询相互影响,来捕捉他们之间的关系。查询元素和键元素都是目标查询。其中Nq = Nk= N,自注意力模块的复杂度为O(2NC2 + N2C)。对于中等数量的目标查询,复杂性是可以接受的。
DETR是目标检测中一个引人注目的设计,它不需要很多手工设计的组件。然而,他也有他自己的问题。这些问题主要是由于transformer在处理作为键要素的图像特征图时不够重视造成的:

  1. DETR在小物体上的表现很差。然而,由于transformer的编码器中的自注意力模块的复杂度与输入特征图空间大小呈二次关系,所以高分辨率的特征图会导致一个不可接受的计算复杂度。
  2. 与现存的检测器作比较,DETR需要更多的训练迭代轮次才能够收敛。这主要是因为使用注意力模块处理图像特征是很难训练的。比如说,在初始化的时候,交叉注意模块在整个特征图上的注意力几乎是平均的。然而,在训练的最后阶段,注意力图会学习得非常稀疏,只专注于目标的四肢。似乎DETR需要一个长时间的训练计划来学习注意力图上的这些显著变化。

4.方法

在这里插入图片描述

4.1 端到端目标检测中的可形变transformer

可形变注意力模块. 将Transformer注意力应用到图像特征图上的核心问题是,它将查看所有可能的空间位置。为了解决这个问题,我们提出一个可形变注意力模块。受可形变卷记得启发,可变形注意模块只关心参考点周围的一小组关键采样点,而不考虑特征图的空间大小。通过为每个查询分配少量固定数量的键,可以缓解收敛性和特征空间分辨率问题。
给定一个输入特征图x ∈ RC×H×W,使q为上下文特征zq的查询元素,pq为一个2d参考点,可形变注意力特征可以通过以下方式计算:
在这里插入图片描述
其中,m表示attention head的索引,k表示采样键的索引,K是总的采样键的数量(K<<HW)。∆pmqk和Amqk分别表示第m个attention head中第k个采样点的采样偏移和注意力权重。注意量权重Amqk在[0,1]范围内,按∑Kk=1Amqk =1进行归一化。∆pmqk ∈ R2 是一个范围无约束的二维实数。由于pq + ∆pmqk 不是整数,采用Dai等人(2017)的双线性插值方法计算x(pq+∆pmqk)。∆pmqk和Amqk都是通过对查询特征zq进行线性投影得到的。在实现中,查询特征zq被提供给一个3MK通道的线性投影运算操作,其中前2MK通道对采样偏移量pmqk进行编码,其余的MK通道被提供给softmax运算符以获得注意力权重Amqk。可形变注意力模块是将卷积特征图作为键元素一样处理而设计的,使Nq 为查询元素的数量,当MK相对较小时,可变形注意力模块的复杂度为O(2NqC2 + min(HWC2, NqKC2))(详见附录A.1)。当他被添加到DETR编码器中时,其中Nq = HW,复杂度变为O(HWC2),复杂度随着空间大小线性增加。当他被添加到DETR解码器中的交叉注意力模块时,其中Nq = N (N 是目标查询的数量),复杂度变为O(NKC2),与空间大小HW无关。

多尺度可形变注意力模块. 大多数现存的目标检测框架受益于多尺度特征图。我们设计的可形变注意力模块可以很自然的扩展到多尺度特征图。
使{xl}Ll=1 为多尺度特征图的输入,其中xl ∈RC×Hl×Wl。使 pˆq∈[0, 1]2 为每个查询元素q中参考点的归一化坐标,然后多尺度可形变注意力模块为:
在这里插入图片描述
其中m为attention head的索引,l为输入特征层的索引,k为采样点的索引。∆pmqk和Amqk分别表示第l层特征中第k个采样点和第m个attention head的采样偏移和注意力权重。权重Amqk 按∑Ll=1Kk=1Amlqk =1进行归一化。这里,我们使用归一化的坐标pˆq∈[0, 1]2 来表示尺度公式的清晰度,其中归一化坐标(0,0)和(1,1)分别表示图像左上角和右下角的角。方程式3中的函数φl(pˆq) 将归一化坐标pq重新缩放到第l层的输入特征图。多尺度可形变注意力和先前的单尺度版本很相似,只不过它从多尺度feature maps中选取LK点,而不是从单尺度feature maps中选取K点。
当L = 1, K = 1,且W`m ∈RCv×C 固定为单位矩阵时,提出的注意力模块将退化为可变形卷积(Dai et al., 2017)。可变形卷积是为单尺度输入设计的,只关注每个注意力头的一个采样点。然而,我们的多尺度可形变注意力从多尺度输入中观察多个采样点。我们提出的(多尺度)可形变注意力模块也可以说是一transformer注意力的有效变种,通过可形变采样定位达到一种预筛选机制。当采样点遍历所有可能的位置时,所提出的注意模块相当于transformer注意模块。

可形变transformer 编码器. 我们使用提出的多尺度可形变注意力模块代替DETR当中处理特征图的人transformer注意力模块。编码器的输入和输出都是相同分辨率的多尺度特征图。在编码器中,我们从ResNet中提取C3到C5stage(通过1×1卷积进行变换)的多尺度特征图{xl}L-1l=1 (L=4),Cl 的分辨率是输入图片的1/2l。最低分辨率的特征图 xL在C5的最后一个阶段进行3×3 stride 2卷积,记为C6。所有的多尺度特征图的通道 C=256。值得注意的是我们并没有使用FPN中自上而下的架构,因为在我们提出的多尺度可形变注意力当中,他可以在多尺度特征图之间交换信息。多尺度特征图的构建也在附录A.2中说明。第5.2节的实验表明,添加FPN并不能提高性能。
在这里插入图片描述

在编码器的多尺度可变形注意模块的应用中,输出是与输入具有相同分辨率的多尺度特征图。键元素和查询元素都是来自多尺度特征图的像素。对于每个查询像素,参考点就是它自己。为了验证每个查询像素在哪个特征层,除了位置特征向量之外,我们还在特征表示中添加了一个尺度级别的特征向量,表示为el。和位置特征向量固定的编码不同,尺度级特征向量{el}L~l =1~是随机初始化的,并与网络共同训练。

可形变transformer解码器. 在解码器中有交叉注意力和自注意力模块,这两种类型的注意力模块的查询元素都是目标查询。在交叉注意力模块中,目标查询从特征图中提取特征,其中键元素是来自编码器的输出特征图。在自注意力模块中,目标查询相互作用,其中键元素是目标查询。由于我们提出的可变形注意模块是将卷积特征图作为键元素处理,因此我们只将每个交叉注意模块替换为多尺度可变形注意模块,而保留自注意模块不变。对于每个目标查询,参考点pˆq的2d归一化坐标由其目标查询特征向量通过一个可学习的线性投影,后跟一个sigmoid函数来预测。
因为多尺度可形变注意模块只提取参考点周围的图片特征,我们让detection head将边框预测作为参考点的相对偏移量,进一步降低了优化难度。参考点作为边框中心的初始猜测,detection head预测参考点的相对偏移量。详见附录A.3。这样,学习到的解码器注意力会与预测的边界框有很强的相关性,也加快了训练的收敛速度。通过使用可形变注意力模块代替DETR中的transformer注意力模块,我们建立了一个有效且快速收敛的检测系统,称为Deformable DETR(图1)。

4.2 DEFORMABLE DETR中额外的改进和提升

Deformable DETR为我们开发端到端对象检测器的各种变体提供了可能性,受益于他的快速收敛,以及计算和内存效率。由于篇幅有限,我们只介绍了这些改进和变体的核心思想。实现详情载于附录A.4。
Iterative Bounding Box Refinement. 这是受到光流估计中迭代改进的启发(Teed & Deng, 2020)。我们建立了一个简单并且有效的迭代边框矫正机制来提高检测性能。这里,每个解码器层根据前一层的预测来细化边界盒。
Two-Stage Deformable DETR. 在原始的DETR中,解码器中的目标查询与当前图像无关。受two-stage检测器的启发,我们探索了一个Deformable DETR的变种来生成候选区域来作为first-stage。生成的候选区域会送进解码器作为目标查询以进一步优化矫正,从而形成two-stage Deformable DETR。在first-stage中,为了实现高召回的候选区域,多尺度特征图中的每个像素将作为一个目标查询。然而,对于解码器中的每个自注意力模块,其复杂度随查询次数呈二次增长,直接设置像素为目标查询会带来不可接受的计算和内存花费。为了避免这个问题,我们移除了解码器并形成了一个只有编码器的Deformable DETR来生成候选区域。其中,每个像素被分配为一个目标查询,直接预测一个边界框。选择得分最高的边界框作为区域建议。在将区域建议提交到第二阶段之前,不应用NMS。

5.实验

数据集 :我们在COCO 2017数据集上进行实验(Lin et al., 2014)。我们的模型在训练集上进行训练,并在val集和test-dev集上进行评估。
实现细节 : 使用ImageNet中的预训练权重ResNet-50作为骨干网络来进行消融实验。多尺度特征图的提取没有使用FPN (Lin et al., 2017a)。可变形注意力默认设置为M = 8和K = 4。可形变transformer编码器的参数在不同层特征图是共享的。其他超参数和训练策略大多数都与DETR一样,除了Focal loss用于边框分类的损失权重设置为2,和目标查询由100增加到了300.为了进行公平比较,我们还报告了经过这些修改的DETR-DC5的性能,称为DETR-DC5+。默认情况下,模型训练50个epoch,学习速率在第40个epoch衰减0.1倍。和DETR(Carion et al., 2020)一样,我们使用Adam optimizer (Kingma & Ba, 2015)对我们的模型进行训练,使基础学习率为2x10-4, β1 = 0.9, β2 = 0.999,权重衰减为10-4。线性映射(用于预测目标查询参考点和采样偏移量)的学习率乘以0.1。运行时间在NVIDIA Tesla V100 GPU上评估。

5.1 与DETR的比较

如表1所示,与Faster R-CNN + FPN相比,DETR需要更多的训练epoch来收敛,在检测小目标时性能更差。与DETR比较,Deformable DETR 使用10x更少的训练轮次实现了更好的性能表现(特别是在小物体上)。详细的收敛曲线如图2所示。借助Iterative Bounding Box Refinement和Two-Stage范型,该方法可以进一步提高检测精度。
我们提出的Deformable DETR与Faster R-CNN + FPN 和 DETR-DC5有着相当的FLOPs。
但是运行速度比DETR-DC5快很多(1.6x),并且只比Faster R-CNN + FPN慢25%。DETR-DC5的速度问题主要是由于transformer中内存访问量大引起的。我们提出的可变形注意力可以缓解这个问题,但代价是无序的内存访问。因此,它仍然比传统的卷积稍微慢一些。
在这里插入图片描述

在这里插入图片描述

5.2 DEFORMABLE ATTENTION的消融实验

表2给出了可变形注意模块的各种设计选择。用多尺度输入代替单尺度输入,可以有效提高1.7% AP的检测准确率,特别是对小物体,APs为2.9%。增加采样点的数量可以提高0.9%AP。采用多尺度可变形注意力,允许不同尺度层次之间进行信息交换,可使AP提高1.5%。因为跨层特征信息交换已经采用了,所以添加FPNs不能提高性能。当不使用多尺度注意力,并且K=1,我们(多尺度)可形变注意力模块退化成了可形变卷积,明显的降低了精度。
在这里插入图片描述

5.3 与SOTA方法的比较

表3将所提出的方法与其他先进的方法进行了比较。使用ResNet-101和ResNeXt-101 (Xie et al., 2017),我们的方法在没有bells and whistles的情况下分别获得48.7 AP和49.0 AP。通过使用ResNeXt-101和DCN (Zhu et al., 2019b),该方法的精度提高到50.1 AP。通过添加TTA,该方法达到52.3 AP。
在这里插入图片描述

6.结论

Deformable DETR是一种高效、快速收敛的端到端目标检测器。他允许我们探索端到端目标检测器更多有趣和有用的变种。Deformable DETR的核心是(多尺度)可形变注意模块,它是处理图像特征图的一种有效的注意机制。我们希望我们的工作为探索端到端目标检测开辟了新的可能性。

  • 12
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值