论文:《DEFORMABLE DETR: DEFORMABLE TRANSFORMERS FOR END-TO-END OBJECT DETECTION》 论文链接:https://arxiv.org/pdf/2010.04159.pdf 代码链接:https://github.com/fundamentalvision/Deformable-DETR
最近在目标检测领域提出了DETR,以消除在物体检测中对许多手工设计部件的需求,同时显示出良好的性能。然而,由于Transformer注意力模块在处理图像特征图时的局限性,它存在收敛速度慢和特征空间分辨率有限的问题。为了缓解这些问题,本文作者提出了可变形DETR,其注意力模块只关注参考周围的一小部分关键采样点。DEFORMABLE DETR比DETR(尤其是在小对象上)在10×更少的训练周期下实现更好的性能。
一、引言
现代目标检测器采用了许多手工制作的组件,例如预设锚框、 rule-based的训练目标分配、非最大抑制(NMS)后处理。它们不是完全端到端的。最近,Carion等人提出了DETR,以消除对此类手工制作组件的需求,并构建了第一个完全端到端的对象检测器,实现了极具竞争力的性能。DETR通过组合卷积神经网络(CNN)和Transformer编码器解码器,利用了简单的架构。他们利用Transformer的多功能和强大的关系建模能力,在适当设计的训练策略下取代手工制定的规则。 尽管DETR具有良好的性能,但它也有自己的问题: (1)与现有的目标检测器相比,它需要更长的训练时间才能收敛。例如,在COCO基准上,DETR需要500个epoch才能收敛,这大约比Faster R-CNN慢10到20倍。 (2) DETR在检测小物体方面的性能相对较低。现代物体探测器通常利用多尺度特征,从高分辨率特征图中检测小物体。同时,高分辨率特征图导致DETR的 参数急剧增加。上述问题主要归因于Transformer组件在处理图像特征图时的缺陷。在初始化时,注意力模块将几乎均匀的注意力权重投射到特征图中的所有像素。长时间的训练周期对于学习注意力权重以关注稀疏有意义的位置是必要的。另一方面,Transformer编码器中的注意力权重计算是对像素数的二次计算。因此,处理高分辨率特征图具有非常高的计算和存储复杂性。在图像域中,可变形卷积是处理稀疏空间位置的一种强大而有效的机制。它自然避免了上述问题。但它缺乏要素关系建模机制,这是DETR成功的关键。 在本文中,作者提出了可变形DETR,它缓解了DETR的缓慢收敛和高复杂性问题。它结合了可变形卷积的稀疏空间采样和Transformer的关系建模能力。本文提出了可变形关注模块,它关注一小组采样位置,作为所有特征图像素中突出关键元素的预过滤器。该模块可以自然地扩展到聚合多尺度特征,而无需FPN。在可变形DETR中,作者利用(多尺度)可变形注意力模块来代替处理特征图的Transformer注意力模块,如下图所示。
可变形DETR由于其快速收敛、计算和存储效率,为开发端到端对象检测器的变体提供了可能性。作者探索了一种简单有效的迭代边界框细化机制,以提高检测性能。本文还尝试了两阶段可变形DETR,其中区域建议也由一组可变形的DETR生成,这些DETR被进一步馈入解码器以进行迭代边界框细化。 高效的注意力机制:Transformer涉及自注意力和交叉注意力机制。Transformer最著名的问题之一是大量键值的高时间和内存复杂度,这在许多情况下阻碍了模型的可伸缩性。最近解决这个问题在实践中可以大致分为三类。 第一类是在键值上使用预定义的稀疏注意力模式。最直接的范例是将注意力模式限制为固定的局部窗口。尽管将注意力限制在局部邻域可以降低复杂性,但它会丢失全局信息。为了补偿这一问题,以固定的间隔添加键值1要素来显著增加键值的感受野。有部分Transformer允许少量特殊令牌访问所有关键元素。一些Transformer还添加了一些预先固定的稀疏注意力用来直接关注远程的键值元素 。 第二类是学习依赖数据的稀疏注意力。Kitaev等人提出了一种基于位置敏感散列(LSH)的注意力,它将查询和关键元素散列到不同的bins中。Roy等人提出了类似的想法,利用k-means找出最相关的键值。Tay等人(2020a)通过学习块排列以获得逐块稀疏关注。 第三类是探索自注意力的低阶属性。Wang等人(2020b)通过在尺寸维度而不是通道维度上的线性投影来减少键值元素的数量。Katharopoulos等人(2020);Choromanski等人(2020)通过kernelization approximation重写了自注意力的算子。 在图像领域,高效注意力机制的设计仍然限于第一类。尽管理论上降低了复杂性,但由于内存访问模式的固有限制,这种方法在实现上比具有相同FLOP的传统卷积慢得多(至少慢3倍)。 另一方面,卷积存在变体,如可变形卷积和动态卷积,也可以被视为自注意力机制。尤其是,可变形卷积在图像识别方面比Transformer自注意力更有效。同时,它缺乏元素关系建模机制。 本文提出的可变形注意力模块受到可变形卷积的启发,属于第二类。它只关注从查询元素的特性预测的一组固定的采样点。在相同的FLOP下,可变形注意力比传统卷积稍慢。 用于对象检测的多尺度特征表示:物体检测的主要困难之一是有效地表示不同尺度的物体。现代物体探测器通常利用多尺度特征来适应这种情况。作为开创性工作之一,FPN提出了一种自上而下的路径来组合多尺度特征。PANet进一步在FPN顶部添加了自下而上的路径。Kong等人(2018)通过全局注意力操作结合了所有尺度的特征。Zhao等人(2019)提出了一种U形模块,用于融合多尺度特征。最近,NAS-FPN和Auto-FPN被提出通过神经架构搜索自动设计跨尺度连接。Tan等人(2020)提出了BiFPN,这是PANet的重复简化版本。本文提出的多尺度可变形注意力模块可以通过注意力机制自然地聚合多尺度特征图,而无需这些特征金字塔网络的帮助。
二、重新审视Transformer和DETR
Transformer中的多头注意力:Transformer是一种基于机器翻译注意力机制的网络架构。给定一个查询元素(例如,输出句子中的目标词)和一组关键元素(例如输入句子中的原始词汇),多头注意力模块根据测量查询关键字对query-key 兼容性的关注权重自适应地聚合键值内容。为了使模型专注于来自不同表示子空间和不同位置的内容,使用可学习权重线性聚合不同注意力头部的输出。用
q
∈
?
q
q∈ ?_q
q∈?q?表示特征
z
q
∈
R
C
z_q∈ R^C
zq?∈RC索引查询元素和
k
∈
?
k
k∈ ?_k
k∈?k?索引具有表示特征
x
k
∈
R
C
x_k∈R^C
xk?∈RC的关键元素,其中C是特征尺寸,
?
q
?_q
?q?和
?
k
?_k
?k?分别指定查询和关键元素的集合。然后通过以下公式计算多头注意力特征: 其中m表示注意力头的索引,
W
m
′
∈
R
C
v
×
C
W^{'}_m∈ R^{C_v×C}
Wm′?∈RCv?×C和
W
m
∈
R
C
×
C
v
W_m∈ R^{C×C_v}
Wm?∈RC×Cv?具有可学习的权重(默认情况下,
C
v
=
C
/
M
C_v=C/M
Cv?=C/M)。注意力权重
A
m
q
k
∝
e
x
p
{
z
q
T
U
m
T
V
m
x
k
C
v
}
A_{mqk}∝exp\{\frac{z^T_qU^T_mV_mx_k}{\sqrt{C_v}}\}
Amqk?∝exp{Cv?
?zqT?UmT?Vm?xk??}归一化为
∑
k
∈
?
k
A
m
q
k
=
1
\sum{k∈?_k} A_{mqk}=1
∑k∈?k?Amqk?=1,其中
U
m
,
V
m
∈
R
C
v
×
C
U_m,V_m∈ R^{C_v×C}
Um?,Vm?∈RCv?×C也是可学习的权重。为了消除不同空间位置的歧义,表示特征
z
q
z_q
zq?和
x
k
x_k
xk?通常是元素内容和位置嵌入的级联/求和。 目前,Transformer存在两个已知问题。一个是Transformer需要长时间的训练才能融合。假设查询和关键元素的数量分别为
N
q
N_q
Nq?和
N
k
N_k
Nk?。通常,当
N
k
N_k
Nk?大时,通过适当的参数初始化,
U
m
z
q
U_mz_q
Um?zq?和
V
m
x
k
V_mx_k
Vm?xk?遵循均值为0、方差为1的分布,这使得注意力权重
A
m
q
k
≈
1
N
k
A_{mqk}≈\frac{1}{N_k}
Amqk?≈Nk?1? 。这将导致输入特征的梯度是模糊的。因此,需要长时间的训练,以便注意力权重可以集中在特定的键值上。在图像域中,其中键值元素通常是图像像素,
N
k
N_k
Nk?可以非常大,并且收敛是单调的。 另一方面,由于有大量的查询和键值元素,多头注意力的计算和存储复杂性可能非常高。上式的计算复杂度为
O
(
N
q
C
2
+
N
k
C
2
+
N
q
N
k
C
)
O(N_qC^2+N_kC^2+N_qN_kC)
O(Nq?C2+Nk?C2+Nq?Nk?C)。在图像域中,查询和键值元素都是像素,
N
q
=
N
k
N_q=N_k
Nq?=Nk?且远远大于通道C、 复杂性由第三项
O
(
N
q
N
k
C
)
O(N_qN_kC)
O(Nq?Nk?C)支配。因此,多头注意力模块的复杂性随特征图大小呈二次增长。 DETR:DETR基于Transformer编码器-解码器架构,结合基于集合的匈牙利损失,通过二部分匹配强制对每个真实边界框进行唯一预测。其基本原理如下所示: 给定由CNN主干提取的输入特征图
x
∈
R
C
×
H
×
W
x∈R^{C×H×W}
x∈RC×H×W ,DETR利用标准Transformer编码器-解码器架构将输入特征映射转换为一组对象查询的特征。3层前馈神经网络(FFN)和线性投影被添加到对象查询特征(由解码器产生)的顶部作为检测头。FFN作为回归分支来预测边界框坐标
b
∈
[
0
,
1
]
4
b∈ [0,1]^4
b∈[0,1]4,其中
b
=
b
x
,
b
y
,
b
w
,
b
h
b={b_x,b_y,b_w,b_h}
b=bx?,by?,bw?,bh?对归一化的框中心坐标、框高度和宽度(相对于图像大小)进行编码。线性投影充当分类分支以产生分类结果。 对于DETR中的Transformer编码器,查询和键值元素都是特征图中的像素。输入是ResNet的特征图(带有编码的位置嵌入)。设H和W分别表示特征图的高度和宽度。自注意力的计算复杂度为
O
(
H
2
W
2
C
)
O(H^2W^2C)
O(H2W2C),其随空间大小呈二次增长。 对于DETR中的Transformer解码器,输入包括来自编码器的特征图和由可学习位置嵌入表示的N个对象查询(例如,N=100)。解码器中有两种类型的注意力模块,即交叉注意力模块和自注意力模块。在交叉注意力模块中,对象查询从特征图中提取特征。查询元素是对象查询的,键值元素是来自编码器的输出特征映射。其中,
N
q
=
N
,
N
k
=
H
×
W
N_q=N,N_k=H×W
Nq?=N,Nk?=H×W,交叉注意力的复杂度为
O
(
H
W
C
2
+
N
H
W
C
)
O(HW C^2+N HW C)
O(HWC2+NHWC)。复杂性随着特征图的空间大小线性增长。在自注意力模块中,对象查询彼此交互,以便捕获它们之间的关系。查询和关键元素都是对象查询。其中,
N
q
=
N
k
=
N
N_q=N_k=N
Nq?=Nk?=N,自注意力模块的复杂度为
O
(
2
N
C
2
+
N
2
C
)
O(2N C^2+N^2C)
O(2NC2+N2C)。对于中等数量的对象查询,复杂性是可以接受的。 DETR是一种有吸引力的目标检测设计,它消除了对许多手工设计组件的需求。然而,它也有自己的问题。这些问题主要归因于Transformer在将图像特征图作为关键元素处理时的注意力不足: (1)DETR在检测小对象方面的性能相对较低。现代物体探测器使用高分辨率特征图来更好地检测 小物体。然而,高分辨率特征图将导致DETR的Transformer编码器中的自关注模块的复杂度不可接受,其与输入特征图的空间大小具有二次复杂度。 (2) 与现代物体探测器相比,DETR需要更多的训练时间才能收敛。这主要是因为处理图像特征的注意力模块难以训练。例如,在初始化时,交叉注意力模块在整个特征图上几乎是平均关注的。然而,在训练结束时,注意力图会变得非常稀疏,只关注对象。DETR似乎需要一个长时间的训练来学习注意力图中如此显著的变化。
三、Deformable Attention Module
将Transformer注意力应用于图像特征图的核心问题是,它将查看所有可能的空间位置。为了解决这个问题,我们提出了一个可变形的注意力模块。受可变形卷积的启发,无论特征图的空间大小如何,可变形注意力模块都只关注参考点周围的一小组关键采样点,如下图所示。通过为每个查询分配少量固定的关键点,可以缓解收敛和特征空间分辨率问题。 给定输入特征图
x
∈
R
C
×
H
×
W
x∈ R^{C×H×W}
x∈RC×H×W,让q索引具有内容特征
z
q
z_q
zq?和二维参考点
p
q
p_q
pq?的查询元素,可变形注意力特征如下: 其中m表示注意力头,k表示采样key,k表示总采样key数量(k远远小于HW)。
?
p
m
q
k
?_{pmqk}
?pmqk?和
A
m
q
k
A_{mqk}
Amqk?分别表示第m个注意力头中第k个采样点的采样偏移和注意力权重。标量注意力权重
A
m
q
k
A_{mqk}
Amqk?位于范围[0,1]内,通过
∑
k
=
1
K
A
m
q
k
=
1
\sum^{K}_{k=1} A_{mqk}=1
∑k=1K?Amqk?=1进行归一化。
?
p
m
q
k
∈
R
2
?_{p_{mqk}}∈ R^2
?pmqk??∈R2是具有无约束范围的二维实数。
p
q
+
?
p
m
q
k
p_q+?_{p_{mqk}}
pq?+?pmqk??是权重分数。
?
p
m
q
k
?_{p_{mqk}}
?pmqk??和
A
m
q
k
A_{mqk}
Amqk?二者都通过查询特征
z
q
z_q
zq?上的线性投影获得。在实现中,查询特征
z
q
z_q
zq?被送到
3
M
K
3MK
3MK通道的线性投影算子,其中前
2
M
K
2MK
2MK通道对采样偏移
?
p
m
q
k
?_{p_{mqk}}
?pmqk??进行编码并且剩余的M个通道被送到softmax算子以获得注意力权重
A
m
q
k
A_{mqk}
Amqk?。 可变形注意力模块可以将卷积特征图作为键值元素。设
N
q
N_q
Nq?为查询元素的数量,当
M
K
MK
MK相对较小时,可变形注意力模块的复杂度为
O
(
2
N
q
C
2
+
m
i
n
(
H
W
C
2
,
N
q
K
C
2
)
)
O(2N_qC^2+min(HWC^2,N_qKC^2))
O(2Nq?C2+min(HWC2,Nq?KC2))。当其应用于DETR编码器时,其中
N
q
=
H
W
N_q=HW
Nq?=HW,复杂度变为
O
(
H
W
C
2
)
O(HW C^2)
O(HWC2),其与空间复杂度呈线性。当应用于DETR解码器中的交叉注意力模块时,其中
N
q
=
N
N_q=N
Nq?=N(N是对象查询的数量),复杂度变为
O
(
N
K
C
2
)
O(N KC^2)
O(NKC2),这与空间大小HW无关。 多尺度可变形注意力模块: 大多数现代对象检测框架受益于多尺度特征图。本文提出的可变形注意力模块可以自然地扩展到多尺度特征图中。 设
{
x
l
}
l
=
1
L
{x^l}^L_{l=1}
{xl}l=1L?为输入的多尺度特征图,其中
x
l
∈
R
C
×
H
l
×
W
l
x^l∈ R^{C×H_l×W_l}
xl∈RC×Hl?×Wl?。设
P
q
^
∈
[
0
,
1
]
2
\hat{P_q}∈ [0,1]^2
Pq?^?∈[0,1]2是每个查询元素q的参考点的归一化坐标,则多尺度可变形注意力模块为: 其中m表示注意力头,l表示输入特征的层级级别,k表示采样点。
?
p
m
l
q
k
?_{p_{mlqk}}
?pmlqk??和
A
m
l
q
k
A_{mlqk}
Amlqk?分别表示第l个特征级和第m个关注头中第k个采样点的采样偏移和关注权重。标量注意力权重
A
m
l
q
k
A_{mlqk}
Amlqk?通过
∑
l
=
1
L
∑
k
=
1
K
A
m
l
q
k
=
1
\sum^{L} _{l=1}\sum^{K} _{k=1}A_{mlqk}=1
∑l=1L?∑k=1K?Amlqk?=1归一化。使用归一化坐标
P
q
^
∈
[
0
,
1
]
2
\hat{P_q}∈ [0,1]^2
Pq?^?∈[0,1]2,其中归一化坐标(0,0)和(1,1)分别表示图像左上角和右下角。上式中的函数
φ
l
(
P
q
^
)
\varphi l(\hat{P_q})
φl(Pq?^?)将归一化坐标
P
q
^
\hat{P_q}
Pq?^?重新缩放为第l级的输入特征图。多尺度可变形注意力模块与之前的单尺度版本非常相似,只是它从多尺度特征图中采样LK个点,而不是从单尺度特征图采样K个点。 当
L
=
1
、
K
=
1
L=1、K=1
L=1、K=1和
W
m
′
∈
R
C
v
×
C
W^{'}_m∈ R^{C_v×C}
Wm′?∈RCv?×C时,所提出的注意力模块将退化为可变形卷积被固定为单位矩阵。可变形卷积设计用于单尺度输入,只关注每个注意力头的一个采样点。然而,多尺度可变形注意力关注多尺度输入中的多个采样点。所提出的(多尺度)可变形注意力模块也可以被视为Transformer注意力的有效变体,其中可变形采样位置引入了预滤波机制。当采样点遍历所有可能的位置时,提出的注意力模块等同于Transformer注意力。 可变形Transformer编码器:本文用所提出的多尺度可变形注意力模块替换DETR中处理特征图的Transformer注意力模块。编码器的输入和输出都是具有相同分辨率的多尺度特征图。在编码器中,提取多尺度特征图
{
x
l
}
l
=
1
L
?
1
(
L
=
4
)
{x^l}^{L?1}_{l=1}(L=4)
{xl}l=1L?1?(L=4),其中
C
l
C_l
Cl?的分辨率比输入图像低
2
l
2^l
2l。最低分辨率的特征图
x
L
x^L
xL是通过最后
C
5
C_5
C5?级上的3×3步长为2的卷积获得的,表示为
C
6
C_6
C6?。所有多尺度特征图都是C=256通道。在本结构中FPN中的自上而下结构未被使用,因为提出的多尺度可变形注意力本身可以在多尺度特征图之间交换信息。附录还说明了多尺度特征图的构建。实验表明,添加FPN不会提高性能。 在编码器中应用多尺度可变形注意力模块时,输出是与输入分辨率相同的多尺度特征图。键值元素和查询元素都是多尺度特征图中的像素。对于每个查询像素,参考点是其本身。为了识别每个查询像素所处的特征级别,除了位置嵌入之外,我们还向特征表示添加了尺度级别嵌入(表示为
e
l
e_l
el?)。与具有固定编码的位置嵌入不同,尺度级嵌入
{
e
l
}
l
=
1
L
\{e_l\}^L_{l=1}
{el?}l=1L?被随机初始化并与网络联合训练。 可变形Transformer解码器:解码器中有交叉注意力和自注意力模块。两种类型的注意力模块的查询元素都是对象查询。在交叉注意力模块中,对象查询从特征图中提取特征,其中键值元素是来自编码器的输出特征图。在自注意力模块中,对象查询相互交互,其中键值元素是对象查询。由于提出的可变形注意力模块用于处理卷积特征图作为关键元素,因此只将每个交叉注意力模块替换为多尺度可变形注意力模块,而保持自注意力模块不变。对于每个对象查询的参考点
P
q
^
\hat{P_q}
Pq?^?是通过可学习线性投影和sigmoid函数从其对象查询嵌入中预测的。 由于多尺度可变形注意力模块提取参考点周围的图像特征,本文使得检测头将边界框预测为相对于参考点的相对偏移,以进一步降低优化难度。参考点用作锚框中心的初始预测。检测头预测相对于参考点的相对偏移。这样,学习的解码器注意力将与预测的边界框具有强相关性,这也加速了训练收敛。 通过在DETR中用可变形注意力模块替换Transformer注意力模块,建立了一个高效、快速收敛的检测系统,称为可变形DETR(如下)。
四、可变形DETR的其他改进和变体:
可变形DETR由于其快速收敛性以及计算和存储效率,为我们开发各种端到端对象检测器提供了可能性。 迭代边界框优化: 这是受光流估计方向中开发的迭代细化的启发。建立了一种简单有效的迭代边界框细化机制,以提高检测性能。每个解码器层基于前一层的预测来细化边界框。 二阶段可变形DETR:在原始DETR中,解码器中的对象查询与当前图像无关。受两级对象检测器的启发,探索了一种可变形DETR的变体,用于作为第一阶段生成区域建议。生成的区域建议将作为对象查询馈送到解码器以进行进一步细化,形成两阶段可变形DETR。 在第一阶段,为了实现高召回率建议区域,多尺度特征图中的每个像素都将用作对象查询。然而,直接将对象查询设置为像素将给解码器中的自注意力模块带来巨大的的计算和访存成本,其复杂性随着查询的数量呈二次增长。为了避免这个问题,移除了解码器,并形成了一个仅用于区域建议生成的编码器的可变形DETR。其中每个像素被指定为一个对象查询,它直接预测一个边界框。得分最高的边界框被选为区域方案。在向第二阶段提交区域提议之前,不应用NMS。
五、实验部分
在本文中,ImageNet预训练的ResNet-50被用作消融实验的主干。在没有FPN的情况下提取多尺度特征图。默认情况下,M=8和K=4被设置为可变形注意力。可变形Transformer编码器的参数在不同的特征级别之间共享。其他超参数设置和训练策略主要遵循DETR,除了损失权重为2的Focal Loss用于边界框分类,并且对象查询的数量从100增加到300。还报告了DETR-DC5的性能,以进行公平比较,表示为DETR-DC5+。默认情况下,模型训练50个轮次,学习率在第40个时期衰减0.1倍,使用Adam优化器训练模型,基本学习率为2×e?4,β1=0.9,β2=0.999,权重衰减为10?4.用于预测对象查询参考点和采样偏移的线性投影的学习率乘以0.1。在NVIDIA Tesla V100 GPU上评估运行时间。 下图实验部分:与更快的R-CNN+FPN相比,DETR需要更多的训练时间来收敛,并且在检测小对象时性能更低。和DETR比起来,可变形DETR以10×更少的训练周期实现更好的性能(尤其是在小对象上)。详细的收敛曲线如下图。借助迭代边界框细化和两阶段范式,本方法可以进一步提高检测精度。
本文提出的可变形DETR具有与Faster R-CNN+FPN和DETR-DC5相当的FLOP。但运行时速度比DETR-DC6快得多(1.6倍),比Faster R-CNN+FPN仅慢25%。DETR-DC5的速度问题主要是由于Transformer中的大量内存访问引起的。本文提出的可变形注意力可以缓解这个问题,但代价是无序的内存访问。因此,它仍然比传统卷积稍慢。 可变形注意力的消融研究 :下表给出了所提出的可变形注意力模块的各种设计选择的消融。使用多尺度输入代替单尺度输入可以有效地提高1.7%AP的检测精度,尤其是在2.9%
A
P
S
AP_S
APS?的小物体上。增加采样点K的数量可以进一步提高0.9%的AP。使用多尺度可变形注意力(允许不同尺度级别之间的信息交换)可以使AP提高1.5%。因为已经采用了跨尺度特征交换,所以添加FPN不会提高性能。当不应用多尺度注意力,且K=1时,(多尺度)可变形注意力模块退化为可变形卷积,从而提供明显较低的精度。 与最先进方法的比较:下表将提出的方法与其他最先进的方法进行了比较。在下表中,提出的模型都使用了迭代边界框细化和两阶段机制。通过ResNet-101和ResNeXt-101,本文的方法分别实现了48.7 AP和49.0 AP,而没有其他额为的训练方法。通过将ResNeXt-101与DCN一起使用,精度提高到50.1 AP。通过额外的测试时间增加,所提出的方法实现了52.3 AP。
六、结论
可变形DETR是一种端到端的对象检测器,它高效且快速收敛。它使我们能够探索端到端对象检测器的更有趣和实用的变体。可变形DETR的核心是(多尺度)可变形注意力模块,这是处理图像特征图的有效注意力机制。我们希望我们的工作为探索端到端对象检测开辟了新的可能性。
七、附录
假设查询元素的数量为
N
q
N_q
Nq?,在可变形注意力模块中,计算采样坐标偏移的复杂性
?
p
m
q
k
?_{pmqk}
?pmqk?和注意力权重
A
m
q
k
A_{mqk}
Amqk?为
O
(
3
N
q
C
M
K
)
O(3N_qCMK)
O(3Nq?CMK)。给定采样坐标偏移和注意力权重,等式2的复杂度为
O
(
N
q
C
2
+
N
q
K
C
2
+
5
N
q
K
C
)
O(N_qC^2+N_qKC^2+5N_qKC)
O(Nq?C2+Nq?KC2+5Nq?KC),其中
5
N
q
K
C
5N_qKC
5Nq?KC中的因子5是因为双线性插值和注意力中的加权和。另一方面,也可以在采样前计算
W
m
′
x
W^{'}_{m}x
Wm′?x,因为它独立于查询,计算公式2的复杂度将变为
O
(
N
q
C
2
+
H
W
C
2
+
5
N
q
K
C
)
O(N_qC^2+HWC^2+5N_qKC)
O(Nq?C2+HWC2+5Nq?KC)。因此,可变形注意力的总体复杂性为
O
(
N
q
C
2
+
m
i
n
(
H
W
C
2
,
N
q
K
C
2
)
+
5
N
q
K
C
+
3
N
q
C
M
K
)
O(N_qC^2+min(HWC^2,N_qKC^2)+5N_qKC+3N_qCMK)
O(Nq?C2+min(HWC2,Nq?KC2)+5Nq?KC+3Nq?CMK)。在我们的实验中,M=8,K≤ 4和C=256,因此5K+3MK<C,复杂度为
O
(
2
N
q
C
2
+
m
i
n
(
H
W
C
2
,
N
q
K
C
2
)
)
O(2N_qC^2+min(HWC^2,N_qKC^2))
O(2Nq?C2+min(HWC2,Nq?KC2))。 如下图所示,编码器的输入多尺度特征图从ResNet((通过1×1卷积变换)中
C
3
C_3
C3?至
C
5
C_5
C5?级的输出特征图中提取
{
x
l
}
l
=
1
L
?
1
(
l
=
4
)
{x^l}^{L-1}_{l=1}(l=4)
{xl}l=1L?1?(l=4)。最低分辨率的特征图
x
L
x^L
xL是通过最后
C
5
C_5
C5?级上的3×3步长为2的卷积获得的。没有使用FPN,因为提出的多尺度可变形注意力本身可以在多尺度特征图之间交换信息。
可变形DETR中的边界框预测 :由于多尺度可变形注意力模块提取参考点周围的图像特征,本文设计了检测头,以预测边界框相对于参考点的相对偏移,从而进一步降低优化难度。参考点用作锚框中心的初始预测。 迭代边界框优化:这里,每个解码器层基于前一层的预测来细化边界框。不同解码器层的预测头不共享参数。
|