FeatAug-DETR:通过特征增强丰富 DETR 的一对多匹配
作者:Rongyao Fang, Peng Gao, Aojun Zhou, Yingjie Cai, Si Liu, Jifeng Dai, Hongsheng Li
摘要
一对一匹配是 DETR 类目标检测框架中的关键设计。它使 DETR 能够执行端到端检测。然而,它也面临着缺乏正样本监督和收敛速度慢的挑战。最近的几项工作提出了一对多匹配机制,以加速训练并提高检测性能。我们重新审视这些方法,并以增强对象查询的统一格式对它们进行建模。在本文中,我们提出了两种从增强图像或图像特征的不同角度实现一对多匹配的方法。第一种方法是通过数据增强进行一对多匹配(表示为 DataAug-DETR)。它在空间上变换图像,并在同一训练批次中包含每个图像的多个增强版本。这种简单的增强策略已经实现了一对多匹配,并令人惊讶地提高了 DETR 的性能。第二种方法是通过特征增强进行一对多匹配(表示为 FeatAug-DETR)。与 DataAug-DETR 不同,它增强的是图像特征而不是原始图像,并且在同一批次中包含多个增强特征以实现一对多匹配。FeatAug-DETR 显著加速了 DETR 训练并提高了检测性能,同时保持推理速度不变。我们进行了大量实验来评估所提方法对 DETR 变体的有效性,包括 DAB-DETR、Deformable-DETR 和 H \mathcal{H} H-Deformable-DETR。在没有额外训练数据的情况下,FeatAug-DETR 将 DeformableDETR [1] 的训练收敛时间缩短至 24 个 epoch,并在以 Swin-L 为主干的 COCO val2017 上实现了 58.3 AP。
关键字
检测Transformer、一对一匹配、一对多匹配、数据增强、加速训练
引言
目标检测是计算机视觉中的一项基本任务,它可以预测图像中物体的边界框和类别。在过去的几年中,深度学习在目标检测任务中取得了重大成功,并提出了数十种经典的目标检测器。这些经典检测器主要基于卷积神经网络,包括单阶段检测器 [2]–[4] 和两阶段检测器 [5]–[8]。一对多标签分配是经典检测器的核心设计,其中每个 GT 框被分配给检测器的多个预测。在这种一对多匹配方案下,这些框架需要人为设计的非最大抑制 (NMS) 进行后处理,并且无法进行端到端训练。
DEtection TRansformer (DETR) [11] 揭示了使用 Transformer 架构 [12] 在目标检测中实现高性能的潜力。它实现了 GT 框和预测之间的一一匹配。各种类似 DETR 的框架都取得了巨大的成功。提出了不少后续工作来通过修改架构来改进 DETR,例如 Transformer 编码器的架构 [1]、[13]、解码器的架构 [1]、[14]–[16] 和查询设计 [17]–[19]。
除了改进 DETR 架构外,最近的几项研究还旨在改进 DETR 中的一对一匹配机制 [11]。一对一匹配有助于 DETR 放弃人为设计的 NMS 进行后处理。此外,[9] 表明,额外的一对多匹配监督可以实现更快、更好的收敛。在最近的 GroupDETR [9] 和混合匹配 [10] 中,额外的对象查询用于制定一对多匹配,以提供额外的监督,从而更好地训练 DETR。
一对多匹配机制将每个 GT 对象与多个对象查询相关联。对象查询通过 DETR 解码器中的交叉注意与包含对象的图像特征图进行交互。因此,一对一和一对多匹配隐式地在查询和空间特征图中的对象特征之间进行分配。最先进的 Group-DETR 和混合匹配通过增强额外的对象查询并将其输入到匹配模块中来增强一对一匹配。它们在加速收敛速度和提高检测性能方面取得了令人印象深刻的成果。
我们的初步观察表明,一个简单但设计得当的数据增强方案 (DataAug-DETR) 可以隐式地实现一对多匹配,并令人惊讶地提高 DETR 性能。通过在单个批次中集成单个图像的多个空间增强版本,可以将相同的对象分配给各种增强图像中的不同查询。这些一对多分配可以大大提高检测性能。
鉴于 DETR 查询会从图像特征图中积累信息,我们建议通过对特征图应用空间增强来近似空间图像增强的影响,从而避免将同一图像的不同版本重复转发到视觉主干中。我们进一步为 DETR 提出了特征增强 (FeatAug-DETR),它在空间上平移和翻转特征图,并在同一批次中排列特征图的不同版本,从而在特征增强后将相同的对象查询分配给不同的对象。这种方法是一种简单而有效的增强 DETR 性能的方法。
我们进行了大量实验来评估 DataAug-DETR 和 FeatAug-DETR 的效率和有效性。作为一种即插即用的方法,我们提出的模块可以轻松集成到不同的 DETR 变体中。FeatAug-DETR 显着加速了收敛速度,并提高了各种 DETR 检测器的性能,包括 DAB-DETR[19]、Deformable-DETR [1] 和 H-Deformable-DETR [10]。FeatAug-DETR 帮助带有 Swin-Large 主干 [20] 的 Deformable-DETR [1] 在 1× 训练计划(12 个 epoch)下达到 55:8 AP,比不使用我们的方法(54:5 AP)高 1:3 AP,同时保持推理 FLOP 不变。此外,FeatAug-DETR 与 H \mathcal{H} H-DeformableDETR [10] 兼容,因为特征增强从不同的角度实现了一对多匹配。
总而言之,我们的贡献总结如下:
- 我们提出了 DataAug-DETR,它对每幅图像进行多次增强,并将同一训练批次中的图像的不同增强版本包含在内。它提高了 DETR的检测准确率。
- 我们进一步为 DETR 提出了特征增强 (FeatAug-DETR)。它增强了视觉主干中的特征图,与 DataAug-DETR相比,显著加快了训练速度。
- 当将 FeatAug-DETR 集成到混合匹配 [10] 中时,我们的方法在 COCO val2017 上以 Swin-L 为骨干、经过24 个训练周期取得了 58.3 AP,比最先进的性能高出 0.5 AP。
方法
A. 简要回顾 DETR 和一对多匹配
在 DETR 中,输入图像 I I I 经过主干网络 B \mathcal{B} B 处理,得到特征图 F ∈ R C ^ × H ^ × W ^ F \in \mathbb{R}^{\hat{C} \times \hat{H} \times \hat{W}} F∈RC^×H^×W^ 。DETR 编码器中的自注意力和前馈网络堆栈进行变换,得到特征图。Transformer 解码器利用交叉注意力引导一系列对象查询 Q ∈ R N × C Q \in \mathbb{R}^{N \times C} Q∈RN×C,从特征图中聚合信息并生成对象预测 P P P,其中 N N N 表示对象查询的数量, C C C 是查询向量维度。预测包括归一化位置预测 P l ∈ R N × 4 P_l \in \mathbb{R}^{N \times 4} Pl∈RN×4 和类预测 P c ∈ R N × ( N c l s + 1 ) P_c \in \mathbb{R}^{N \times (N_{cls}+1)} Pc∈RN×(Ncls+1),其中 N c l s N_{cls} Ncls 表示类号。采用一对一匹配策略将预测 P P P 与真实对象 G G G 关联起来。
将对象查询集
Q
=
{
q
1
,
q
2
,
.
.
.
,
q
N
}
∈
R
N
×
C
Q = \{q_1, q_2, ..., q_N\} \in \mathbb{R}^{N \times C}
Q={q1,q2,...,qN}∈RN×C 输入到 Transformer 解码器中。查询通过 Transformer 解码器
D
(
⋅
)
\mathcal{D}(\cdot)
D(⋅) 中的交叉注意操作从图像特征
F
F
F 中聚合信息,该解码器具有
L
L
L 个 Transformer 层并输出对象预测。每个解码器层的预测分别表示为
P
1
,
P
2
,
.
.
.
,
P
L
P^{1}, P^2, ..., P^L
P1,P2,...,PL。在每一层对对象预测和基本事实
G
G
G 进行二分一对一匹配。该过程公式为:
P
l
=
D
(
Q
,
F
)
,
L
o
n
e
2
o
n
e
=
∑
l
=
1
L
L
H
u
n
g
a
r
i
a
n
(
P
l
,
G
)
,
(1)
P^l = \mathcal{D}(Q, F), \mathcal{L}_{one2one} = \sum^L_{l=1}\mathcal{L}_{Hungarian}(P^l, G), \tag{1}
Pl=D(Q,F),Lone2one=l=1∑LLHungarian(Pl,G),(1)
其中
D
l
(
⋅
)
\mathcal{D}^l(\cdot)
Dl(⋅) 表示解码器的第
l
l
l 层,
L
o
n
e
2
o
n
e
\mathcal{L}_{one2one}
Lone2one 表示一对一匹配损失,
L
H
u
n
g
a
r
i
a
n
\mathcal{L}_{Hungarian}
LHungarian 表示各层的匈牙利匹配(二分匹配)损失。由于每个预测
p
i
l
∈
P
l
p^l_i \in P^l
pil∈Pl 都是从对象查询
q
i
q_i
qi 生成的,因此基本事实与预测之间的匹配可以看作是基本事实
G
G
G 与对象查询
Q
Q
Q 之间的匹配。
为了更好地监督 DETR 并加速其训练,[9]、[10] 提出了一对多匹配方案。将 DETR [9] 和混合匹配 [10] 分组以增强额外对象查询
Q
^
\hat{Q}
Q^ 并引入一对多匹配损失,从而显著提高性能。与一对一匹配的公式类似,一对多匹配的一般公式可以定义为:
P
^
k
l
=
D
l
(
Q
^
k
,
F
)
,
L
o
n
e
2
m
a
n
y
=
∑
k
=
1
K
∑
l
=
1
L
L
H
u
n
g
a
r
i
a
n
(
P
^
k
l
,
G
)
,
(2)
\hat{P}^l_k = \mathcal{D}^l(\hat{Q}_k, F), \mathcal{L}_{one2many} = \sum^K_{k=1}\sum^L_{l=1}\mathcal{L}_{Hungarian}(\hat{P}^l_k, G), \tag{2}
P^kl=Dl(Q^k,F),Lone2many=k=1∑Kl=1∑LLHungarian(P^kl,G),(2)
其中
K
K
K 表示匈牙利匹配组的数量。在每个匹配组中,与第
k
k
k 组增强查询
Q
^
k
\hat{Q}_k
Q^k 相对应的预测表示为
P
^
k
l
\hat{P}^l_k
P^kl,增强的基本事实表示为
G
^
k
\hat{G}_k
G^k。
在一对多匹配中,预测和基本事实得到增强,以生成不同的正监督组。这里我们根据上述统一公式(等式 (2))讨论了 Group-DETR [9] 和混合匹配 [10] 的设计。
1)Group-DETR:Group-DETR 利用
K
K
K 个独立的对象查询组
Q
1
,
.
.
.
,
Q
K
Q_1, ..., Q_K
Q1,...,QK,并为每个训练图像生成
K
K
K 组预测。同一组真实值
G
G
G 分别对每组预测进行一对一匹配。该过程可以表述为:
P
k
l
=
D
l
(
Q
k
,
F
)
,
L
G
r
o
u
p
−
D
E
T
R
=
∑
k
=
1
K
∑
l
=
1
L
L
H
u
n
g
a
r
i
a
n
(
P
k
l
,
G
)
,
(3)
P^l_k = \mathcal{D}^l(Q_k, F), \mathcal{L}_{Group−DETR} = \sum^K_{k=1}\sum^L_{l=1}\mathcal{L}_{Hungarian}(P^l_k, G), \tag{3}
Pkl=Dl(Qk,F),LGroup−DETR=k=1∑Kl=1∑LLHungarian(Pkl,G),(3)
在 Group-DETR 中,多组对象查询与同一组基本事实相匹配。对象查询的增强有助于提高模型性能。
2)混合匹配:在混合匹配中,它使用第二组对象查询,其中包含
T
T
T 个对象查询
Q
^
=
{
q
^
1
,
q
^
2
,
.
.
.
,
q
^
T
}
\hat{Q} = \{\hat{q}_1, \hat{q}_2, ..., \hat{q}_T\}
Q^={q^1,q^2,...,q^T}。第二组查询应用一对多匹配,重复的基本事实集
G
^
=
{
G
^
1
,
G
^
2
,
.
.
.
,
G
^
K
}
\hat{G} = \{\hat{G}_1, \hat{G}_2, ..., \hat{G}_K\}
G^={G^1,G^2,...,G^K},其中
G
^
1
=
G
^
2
=
.
.
.
=
G
^
K
=
G
\hat{G}_1 = \hat{G}_2 = ... = \hat{G}_K = G
G^1=G^2=...=G^K=G。混合匹配的过程可以表述为:
P
l
=
D
l
(
Q
,
F
)
,
P
^
l
=
D
l
(
Q
^
,
F
)
,
L
=
∑
l
=
1
L
L
H
u
n
g
a
r
i
a
n
(
P
l
,
G
)
+
∑
l
=
1
L
L
H
u
n
g
a
r
i
a
n
(
P
^
l
,
G
)
.
(4)
\begin{align*} P^l &= \mathcal{D}^l(Q, F), \hat{P}^l = \mathcal{D}^l(\hat{Q}, F), \\ \mathcal{L} &= \sum^L_{l=1}\mathcal{L}_{Hungarian}(P^l, G) + \sum^L_{l=1}\mathcal{L}_{Hungarian}(\hat{P}^l, G). \end{align*} \tag{4}
PlL=Dl(Q,F),P^l=Dl(Q^,F),=l=1∑LLHungarian(Pl,G)+l=1∑LLHungarian(P^l,G).(4)
Group-DETR 和 Hybrid Matching 都增强了对象查询
Q
^
\hat{Q}
Q^ 以方便训练。考虑到一对多匹配的统一公式(等式 (2)),Group-DETR 和 Hybrid Matching 都通过增强查询集
Q
Q
Q 进行一对多匹配,但忽略了联合增强图像特征
F
F
F 和基本事实
G
G
G 的可能性。
B.通过数据增强实现一对多匹配
我们的重要观察是,一对多匹配也可以通过增强等式 (2) 中的图像特征 F F F 和基本事实 G G G 来实现。我们探索对每幅图像进行多次空间增强,并将它们包含在同一批次中。我们通过实验验证了同一幅图像的空间增强版本会导致不同的查询基本事实分配。
我们对 COCO train2017 数据集进行了一项初步研究,其中我们对每幅图像进行了两次随机翻转和裁剪。随机翻转和裁剪操作遵循与 DETR [11] 中用于数据增强的操作相同的操作。然后将这些增强的图像对输入到经过训练的 Deformable-DETR 中,其参数是固定的。Deformable-DETR 有 300 个对象查询,以单阶段方式运行。我们观察到两个增强图像中 95.9% 的相应对象被分配给不同的对象查询。分配给相同对象查询的其余 4.1% 的对象大多位于两个增强图像中的相同相对位置。更具体地说,两个增强图像中查询不变的 GT 边界框具有 78.2% 的高平均 IoU。这项初步研究表明,通过以适当的方式对每个训练图像进行空间增强,可以通过空间图像增强将对象分配给不同的对象查询。因此,利用图像空间变换来修改 F F F 和 G G G 以实现 DETR 的一对多匹配是合理的。
上述初步研究表明,通过空间数据增强可以实现一对多匹配。我们提出了 DataAug-DETR,它对每个训练图像进行空间图像增强,并将它们包含在同一训练批次中。我们采用 DETR 和 Deformable-DETR 的默认数据增强方案,其中包括 50% 随机水平翻转和 50% 随机裁剪,然后随机调整为几个预定义的大小,短边范围从 [480; 800]。假设每个图像在每次训练迭代中都进行
N
N
N 次空间增强。我们将数据增强操作表示为
T
n
(
⋅
)
\mathcal{T}_n(\cdot)
Tn(⋅),其中
n
n
n 表示对图像的第
n
n
n 次随机数据增强。图像的
N
N
N 个版本通过 DETR 中的图像特征主干
F
\mathcal{F}
F 并生成
N
N
N 个图像特征
{
F
^
n
=
F
(
T
n
(
I
)
)
}
n
=
1
N
\{\hat{F}_n = \mathcal{F}(\mathcal{T}_n(I))\}^N_{n=1}
{F^n=F(Tn(I))}n=1N。请注意,数据增强也适用于真实标签
G
G
G,并生成
N
N
N 个版本的标签
{
G
^
n
=
T
n
(
G
)
)
}
n
=
1
N
\{\hat{G}_n = \mathcal{T}_n(G))\}^N_{n=1}
{G^n=Tn(G))}n=1N。增强过程可以表述为:
F
^
n
=
F
(
T
n
(
I
)
)
,
G
^
n
=
T
n
(
G
)
,
n
=
1
,
.
.
.
,
N
.
(5)
\hat{F}_n = \mathcal{F}(\mathcal{T}_n(I)), \hat{G}_n = \mathcal{T}_n(G), n =1, ..., N. \tag{5}
F^n=F(Tn(I)),G^n=Tn(G),n=1,...,N.(5)
然后,通过对每个增强图像分别应用二分匹配,公式 (2) 中的匹配过程变为:
P
^
n
l
=
D
l
(
Q
,
F
^
n
)
,
L
D
a
t
a
A
u
g
=
∑
n
=
1
N
∑
l
=
1
L
L
H
u
n
g
a
r
i
a
n
(
P
^
n
l
,
G
^
)
,
(6)
\hat{P}^l_n = \mathcal{D}^l(Q, \hat{F}_n), \mathcal{L}_{DataAug} = \sum^N_{n=1}\sum^L_{l=1}\mathcal{L}_{Hungarian}(\hat{P}^l_n, \hat{G}), \tag{6}
P^nl=Dl(Q,F^n),LDataAug=n=1∑Nl=1∑LLHungarian(P^nl,G^),(6)
其中
D
l
(
⋅
)
\mathcal{D}^l(\cdot)
Dl(⋅) 表示 DETR 中的第
l
l
l 个 Transformer 解码器层。请注意,在我们的 DataAug-DETR 的默认设置中,我们使用与所有图像共享的一组对象查询
Q
Q
Q。在对图像的不同增强版本进行匈牙利匹配时,真实对象倾向于与不同的对象查询匹配。
C.通过特征增强实现一对多匹配
在我们的 DataAug-DETR 中,数据增强被多次应用于每个图像。同一幅图像的增强 N N N 个版本由特征主干进行编码,其计算成本相当高,因为每个图像的 N N N 个增强版本都需要由通常很重的主干进行处理。
由于我们选择对每张训练图像进行简单的空间变换,因此也可以通过直接对每张图像
I
I
I 的特征图
F
F
F 进行空间变换来近似空间变换后的图像的最终特征。这样,每张图像只经过一次重特征主干,仍然可以获得多个空间增强特征图
F
^
1
,
.
.
.
,
F
^
N
\hat{F}_1, ..., \hat{F}_N
F^1,...,F^N 。这种策略比 DataAug-DETR 效率高得多,我们将其命名为 FeatAug-DETR。该过程可以表述为:
F
=
F
(
I
)
,
F
n
=
ξ
(
T
n
(
F
)
)
,
G
^
n
=
T
n
(
G
)
,
n
=
1
,
.
.
.
,
N
,
(7)
F = \mathcal{F}(I), \mathcal{F}_n = \xi(\mathcal{T}_n(F)), \hat{G}_n = \mathcal{T}_n(G), n=1,...,N, \tag{7}
F=F(I),Fn=ξ(Tn(F)),G^n=Tn(G),n=1,...,N,(7)
其中
ξ
(
⋅
)
\xi(\cdot)
ξ(⋅) 表示 DETR 的 Transformer 编码器。
T
n
(
⋅
)
\mathcal{T}_n(\cdot)
Tn(⋅) 表示在特征图
F
F
F 上进行空间增强。我们对骨干的输出特征进行特征增强,并在 Transformer 编码器
ξ
(
⋅
)
\xi(\cdot)
ξ(⋅) 之前进行,我们通过实验发现这样做可以获得更好的性能。
得到增强特征
F
^
n
\hat{F}_n
F^n 后,采用类似DataAug-DETR的匹配流程:
P
^
n
l
=
D
l
(
Q
,
F
^
n
)
,
L
F
e
a
t
A
u
g
=
∑
n
=
1
N
∑
l
=
1
L
L
H
u
n
g
a
r
i
a
n
(
P
^
n
l
,
G
^
n
)
,
(8)
\hat{P}^l_n = \mathcal{D}^l(Q, \hat{F}_n), \mathcal{L}_{FeatAug} = \sum^N_{n=1}\sum^L_{l=1}\mathcal{L}_{Hungarian}(\hat{P}^l_n, \hat{G}_n), \tag{8}
P^nl=Dl(Q,F^n),LFeatAug=n=1∑Nl=1∑LLHungarian(P^nl,G^n),(8)
对于特征增强 T n ( ⋅ ) \mathcal{T}_n(\cdot) Tn(⋅) 的具体操作,我们研究了特征图翻转或/和裁剪。
1)特征图翻转:对特征图F进行水平翻转(记为FeatAug-Flip),具体表达式为:
F
=
F
(
I
)
,
F
^
1
=
ξ
(
F
)
,
F
^
2
=
ξ
(
Flip
(
F
)
)
,
G
^
1
=
G
,
G
^
2
=
Flip
(
G
)
.
(9)
F = \mathcal{F}(I), \hat{F}_1 = \xi(F), \hat{F}_2 = \xi(\text{Flip}(F)), \hat{G}_1 = G, \hat{G}_2 = \text{Flip}{(G)}. \tag{9}
F=F(I),F^1=ξ(F),F^2=ξ(Flip(F)),G^1=G,G^2=Flip(G).(9)
应用 FeatAug-Flip 后,两个增强特征图
F
^
1
\hat{F}_1
F^1 和
F
^
2
\hat{F}_2
F^2 被转发到 DETR 的后续模块,并按照公式 2 对同一训练批次中的两个特征图进行两次单独的匈牙利匹配。
2)特征图裁剪:除了翻转操作外,还测试特征图上的随机裁剪(表示为FeatAug-Crop)。FeatAug-Crop 的过程与 FeatAug-Flip 的过程类似,但用特征裁剪代替了翻转。
裁剪和调整大小的超参数与 DETR 的原始图像数据增强裁剪和调整大小方案相同。由于一些最先进的 DETR 类框架基于 Deformable-DETR,它利用来自骨干的多尺度特征,我们的 FeatAug-Crop 增强了单尺度和多尺度特征图。DeformableDETR 分别利用原始分辨率的 1/8、1/16 和 1/32 的多尺度特征图。为了裁剪三个尺度的特征,我们使用 RoIAlign [8] 在三个尺度上裁剪和调整同一区域的大小。单尺度特征的特征增强是相同的,但仅在一个尺度上进行增强。
当使用 RoIAlign 裁剪特征时,我们发现由于 RoIAlign 中的双线性插值,裁剪后的特征 F ^ \hat{F} F^ 变得模糊。它导致原始特征 F F F 和裁剪后的特征 F ^ \hat{F} F^ 之间出现域间隙。当使用两种类型的区域特征训练 DETR 时,其检测性能会下降。我们建议在裁剪的特征上使用额外的特征投影仪来缩小域间隙。给定来自主干的三尺度特征,采用三个单独的投影仪来变换裁剪后的特征 F ^ \hat{F} F^,每个投影仪包括 1×1 卷积层和组规范化层 [34]。投影仪仅在训练期间应用于 F ^ \hat{F} F^,而原始特征 F F F 仍由原始检测头处理。裁剪后的特征投影仪能够减轻 RoIAlign 产生的域间隙并避免性能下降。
3)结合翻转和裁剪:在 FeatAug-Flip 和 FeatAug-Crop 中,每幅图像的两个版本的特征图(包括原始特征和增强特征)通过 DETR 检测头进行转发。将上述翻转和裁剪操作结合起来进行特征增强非常简单。我们将这个组合版本命名为 FeatAug-FC。在应用 FeatAug-FC 时,每幅图像的三个版本的特征图(即原始、翻转和裁剪特征图)都会输入到 DETR 头中。
引入 DataAug-DETR 和 FeatAug-DETR 来增强同一训练批次中的特征图,以从新角度实现 DETR 的一对多匹配。我们的两种方法都提高了检测性能,FeatAug-DETR 也显著加速了 DETR 训练。
实验
A.数据集和实施细节
实验是在 COCO 2017 目标检测数据集 [35] 上进行的。数据集分为 train2017 和 val2017,其中 train2017 和 val2017 集分别包含 118k 和 5k 图像。训练集中每幅图像平均有 7 个实例,单幅图像最多有 63 个实例。我们报告了 COCO val2017 上的标准平均精度 (AP) 结果。DETR 框架使用 ResNet-50 [36]、Swin-Tiny 和 Swin-Large [20] 主干进行测试。ResNet-50 和 Swin-Tiny 主干在 ImageNet-1K [37] 上进行预训练,Swin-Large 在 ImageNet-22K [37] 上进行预训练。
我们在 DAB-DETR [19]、使用 [10] 中的技巧的可变形-DETR [1](表示为“Deform-DETR w/ tck”)和混合匹配可变形-DETR( H \mathcal{H} H-Deformable-DETR)[10] 的基础上测试了我们提出的方法。后两个 DETR 框架使用了额外的技巧,包括边界框细化[1]、两阶段 [1]、混合查询选择 [32] 和两次向前看 [32]。这些技巧加快了收敛速度并提高了最终性能。
我们使用 L 1 L_1 L1 损失和 GIOU [38] 损失进行框回归,并使用焦点损失 [21]( α = 0.25 , γ = 2 \alpha=0.25, \gamma = 2 α=0.25,γ=2)进行分类。与 DETR [11] 中的设置一样,我们在每个解码器层之后应用辅助损失。与 Deformable-DETR [1] 类似,我们在查询选择模块之后添加额外的中间损失,其组件与每个解码器层相同。我们采用的损失系数为:分类损失为 2.0, L 1 L_1 L1 损失为 5.0,GIOU 损失为 2.0,与 [10] 相同。
每个测试的 DETR 框架由一个特征主干、一个 Transformer 编码器、一个 Transformer 解码器和两个用于框和标签的预测头组成。所有 Transformer 权重都使用 Xavier 初始化 [39]。在实验中,我们对 Transformer 编码器和解码器都使用 6 层。Transformer 层的隐藏维度为 256。Transformer 块中前馈层的中间大小为 2048,遵循 [10] 的设置。用于框和标签预测的 MLP 网络在不同的解码器层之间共享相同的参数。我们在解码器中使用 300 个对象查询。我们使用 AdamW [40] 优化器,权重衰减为 1 0 − 4 10^{-4} 10−4。我们对可变形 DETR 头使用 2 × 1 0 − 4 2 \times 10^{-4} 2×10−4 的初始学习率,对主干使用 2 × 1 0 − 5 2 \times 10^{-5} 2×10−5 的学习率,这与 [1] 中的相同。在第 12、24 和 36 个 epoch 设置的第 11、20 和 30 个 epoch 分别应用 1/10 的学习率下降。模型在训练时不使用 dropout。训练批次大小为 16,实验在 16 个 NVIDIA V100 GPU 上运行。在验证期间,我们默认选择 100 个具有最大分类 logit 的预测框和标签进行评估。
B.主要结果
我们的 DataAug-DETR 和 FeatAug-DETR 方法与大多数 DETR 类框架兼容。COCO val2017 集上的结果如表 I 所示。DABDETR-DC5-FeatAug-FC 表示在 DAB-DETR [19] 上应用 FeatAug-FC,并使用 R50 扩张的 C5 阶段图像特征 [41],Deformable-DETR w/ tck。-FeatAug-FC 表示在 Deformable-DETR 之上使用技巧的 FeatAug-FC,
H
\mathcal{H}
H-Deformable-DETR-FeatAug-Flip 表示在混合匹配 Deformable-DETR 之上的 FeatAug-Flip。我们通过实验发现,当与混合匹配相结合时,FeatAugFlip 的性能优于 FeatAug-FC,如表 II 所示。因此,我们报告了使用 FeatAug-Flip 的混合匹配结果以及使用 FeatAug-FC 的混合匹配结果。
在表中,我们还报告了一些先前代表性 DETR 变体的性能。比较的方法包括单尺度和多尺度检测器。利用多尺度特征的 Deformable-DETR 检测器通常比单尺度检测器具有更好的性能。
我们比较了 DataAug-DETR 和 FeatAug-DETR 在基线上的性能增益。DataAug-DETR 是在 Deform-DETR w/ tck 的基础上评估的。[1]。FeatAug-DETR 是在 DAB-DETR [19]、Deform-DETR w/ tck. 和 H-Deformable-DETR [10] 上评估的。与 Deform-DETR w/ tck.(36 个训练周期)基线相比,DataAug-DETR(48 个训练周期)的性能提高了约 1.0 AP,而使用 48 个训练周期训练的基线的性能下降。在 DataAug-DETR 的每个周期中,我们仅训练整个训练集的 1 / N 1/N 1/N,其中 N N N 是 DataAug-DETR 的增强次数。因此,DataAug-DETR 每个时期的训练时间与基线相同。
在以 ResNet-50 为骨干的单尺度 DAB-DETR 上,FeatAug-FC 在 50 个训练周期内将性能提高了 1.4 AP,达到 47.1 AP,这使得单尺度检测器的性能优于多尺度 Deformable-DETR [1](46.9 AP)。结果表明,DAB-DETR-DC5-FeatAug-FC 的 APM 和 APL 大大超过了 Deformable-DETR(分别为 0.8 AP 和 2.7 AP)。当将训练周期缩短至 36 个周期时,FeatAug-FC 仍可实现 46.1 AP 的性能,比使用 50 个周期训练的 DAB-DETR-DC5 基线高出 0.4 AP。
在多尺度 Deform-DETR w/ tck. 基线的基础上,FeatAug-FC 不仅在收敛后实现了约 1.0 AP 增益,而且还缩短了所有三个测试主干上的训练周期(24 个周期 vs. 36 个周期)。我们将 FeatAugFC 集成到 Swin-Large 主干上的 Deform-DETR w/ tck. 中,实现了 57.6 AP,与最先进的 DINO-Deformable-DETR 框架相当。
混合匹配(记为 H)[10] 的工作也解决了一对多匹配问题,并实现了最佳性能。我们还在混合匹配和 Swin-Large 主干上测试了我们的 FeatAug-DETR,并实现了 58.3 AP 的性能,比之前最先进的 DINO 高 0.5 AP。在实验中,我们采用混合匹配的默认超参数设置作为 [10]。
C. DataAug-DETR 的非空间与空间转换
如第 III-B 节所述,对象查询与基本事实的分配对位置变化很敏感。 换句话说,当增强改变对象的相对位置时,这些对象几乎总是与原始图像/特征匹配不同的查询。 我们提出的翻转和裁剪增强都是改变相对对象位置的空间变换。 还有其他广泛使用的数据增强方法不会改变对象的相对位置,例如图像随机调整大小。 在本节中,我们还测试了在我们的 DataAug-DETR 方法中仅应用图像随机调整大小,该方法在同一批次中多次对每个图像应用随机调整大小。 我们将非空间变换与 DeformDETR w/tck. 基线和我们的 DataAug-DETR 与默认设置进行比较。 在实验中,每个图像的增强时间
N
=
2
N=2
N=2。
如表 III 所示,DataAug-DETR 中仅应用图像调整大小的性能甚至比基线和我们提出的默认 DataAug-DETR 设置更差。该模型收敛速度较慢,导致性能比基线更差。该实验表明,翻转和裁剪等空间变换对于 DataAug-DETR 的有效性至关重要。它还展示了 FeatAug-DETR 中翻转和裁剪特征增强的合理性。
D. DataAug-DETR 的收敛分析
在以下分析实验中,除非另有说明,我们将测试我们提出的方法并在 Deform-DETR w/ tck 和 ResNet-50 主干之上评估其不同设计,并将其视为我们的实验基线。
当保持与基线相同的 16 个批次大小时,与普通训练流程相比,DataAug-DETR 可以被视为改变了训练数据的顺序。在这里,我们研究了 DataAug-DETR AP-epoch 曲线的收敛速度。
如图 3(左)和表 IV 所示,应用 DataAug-DETR 可提高最终收敛性能。基线在 36 个 epoch 内收敛并达到 49.0 AP。进一步训练会损害模型,因为在训练 48 个 epoch 后性能会下降。在应用增强次数 N = 2 的 DataAug-DETR 后,其在 36 个 epoch 时的性能比基线高 0.8 AP。在 48 个 epoch 训练方案下,性能继续提高。还观察到,DataAug-DETR 在早期 epoch 中略微减慢了收敛速度。
我们还使用 DataAug-DETR 研究了增强数 N N N,图 3(右)显示,增强数越大,收敛速度越慢,而最终性能在 N ≥ 2 N \geq 2 N≥2 后达到饱和。因此,除非另有说明,我们采用 N = 2 N=2 N=2 作为默认设置。
E. 不同特征增强算子的比较
我们比较了所提出的 FeatAug-Flip、FeatAug-Crop 和 FeatAug-FC 在 Deform-DETR w/ tck 基线上的性能。结果列于表 V。
如表所示,我们所有的 FeatAug-DETR 的结果都优于基线。FeatAug-Flip 在 12 个训练周期内比 FeatAug-Crop 高 0.3 AP。更强大的FeatAug-FC 在 24 个周期内比 FeatAug-Flip 和 FeatAugCrop 高 0.3 AP,达到 49.9 AP。
结果表明,FeatAug-Flip 收敛速度比 FeatAug-Crop 快,但收敛性能相似。与 FeatAug-Flip 和 FeatAug-Crop 相比,FeatAug-FC 的性能提升更大,但也需要额外的训练时间。因此,FeatAug-Flip 适用于主干模型相对较小的模型(例如 R50 和 Swin-Tiny)。当使用较大的主干模型(例如 Swin-Large)进行训练时,FeatAug-FC 是首选。
F. FeatAug-DETR 的收敛分析
在 FeatAug-DETR 中,Transformer 编码器和解码器在训练过程中处理了几个增强特征,这会产生额外的计算消耗。然而,这种计算量的增加与主干的规模无关。当使用大规模主干进行训练时,与主干相比,额外的计算消耗相对较小。表 VI 显示了不同主干的每个 epoch 的训练时间比较。
表格报告了 Deform-DETR w/tck 基线和与 FeatAug-Flip 集成的训练时间。FeatAug-Crop 的训练时间与 FeatAug-Flip 相似。我们的训练过程使用 16 个 NVIDIA V100 GPU,批处理大小为 16。如表 VI 所示,计算时间的增加与主干的大小无关。使用 Swin-L 主干时,计算时间增加的比例仅为 15% 左右。
FeatAug-DETR 的训练 AP 曲线如图 4 所示。左图显示了相对于训练周期的曲线。我们的 FeatAug-DETR 始终大幅超越 Deform-DETR w/ tck. 基线,并将训练周期从 36 个周期缩短到 24 个周期。考虑到我们的 FeatAug-DETR 在每个周期都需要额外的计算消耗,我们还在右图中显示了相对于 GPU×Hours 的训练 AP 曲线。它表明 FeatAug-DETR 在检测精度和收敛速度方面仍然比基线取得了更好的性能。特别是当骨干规模较大时,性能提升更加明显。
G. 消融研究
1)在单阶段 Deformable-DETR 上进行评估:由于我们主要基于 Deform-DETR w/ tck 来评估我们的方法,其中包含一些可提高性能的技巧。为了证明我们的方法独立于这些技巧,并且仍然可以提高各种 DETR 变体的性能,我们还在单阶段 Deformable-DETR(其原始版本)上测试了我们的方法。结果如表 VII 所示。
我们的方法加快了其收敛速度。训练了 36 个 epoch 的 FeatAug-FC 比训练了 50 个 epoch 的单阶段 Deformable-DETR 好 1.4 AP。在同样的 50 个训练 epoch 下,FeatAug-FC 达到了 46.3 AP,比基线好 1.8 AP。
2)FeatAug-DETR的输入特征:在我们的FeatAug-DETR中,我们从骨干中增强图像特征,并将增强的特征输入到Transformer编码器中。然而,在Deform-DETR w/tck.baseline中,Transformer编码器之后的特征也可以选择作为增强的替代方案。为了分析哪个特征更适合作为FeatAug-DETR的输入,我们对它们进行了测试,结果如表 VIII 所示。Transformer编码器之后的特征上的FeatAug-DETR表示为FeatAug-Encoder,直接从骨干上对特征的增强表示为FeatAug-Default。
如表所示,对编码器特征进行特征增强实际上损害了性能,甚至比基线更差。因为 Transformer 编码器使用位置信息增强了图像特征。如果在 Transformer 编码器之后应用特征增强,则会误导后面的 Transformer 解码器了解该图像的位置信息,从而损害 Transformer 解码器训练。
3)FeatAug-DETR 中的裁剪特征投影仪:在我们的 FeatAug-Crop 和 FeatAug-FC 中,为了减轻 RoIAlign 造成的域间隙,我们在裁剪特征后采用投影仪。造成的域间隙的可视化如图 5 所示。在这里,我们移除了单个投影仪,并在原始特征和裁剪特征上使用相同的投影仪。结果显示在表 IX 中。在 FeatAugCrop 中使用裁剪特征的投影仪比对裁剪特征和原始特征使用相同的投影仪的性能高 0.4 AP。性能提升在小物体和大物体上更为明显,其中 APS 增加了 1.4,
A
P
L
AP_L
APL 增加了 1.3。
H. 位置感知对象查询的可视化
在 III-A 节中的初步研究中,它表明空间增强改变了查询对象分配。我们进一步可视化了每个对象查询预测的一些边界框。在这里,我们测试了一个经过训练的 Deformable-DETR,没有我们的 DataAug-DETR 或 FeatAug-DETR。我们记录了每个查询与地面真实对象匹配的所有输出边界框预测,并可视化了每个查询的所有预测边界框的 fcenter x、center y、width、heightg。在这里,我们在图 6 中可视化了四个查询(#11、#27、#145 和 #238)。
如图 6 所示,每个对象查询的预测中心几乎总是位于固定位置附近,这意味着改变边界框在特征图上的相对位置的空间变换(例如翻转)可以改变匹配的对象查询。此外,通过观察查询 #11 和查询 #27 的预测高度和宽度分布,可以看出虽然两个查询预测的中心位置相似,但它们预测的高度和宽度分布不同。查询 #11 总是预测大物体,而查询 #27 总是预测小物体。这表明改变预测边界框大小的裁剪操作也会改变对象查询匹配。
以上两个观察结果表明,分配给预测边界框的对象查询具有高度的位置感知性。应用翻转和裁剪操作使得不同的对象查询匹配不同的真实对象。
总结
本文丰富了 DETR 的一对多匹配公式。我们总结了 GroupDETR [9] 和混合匹配 [10] 的增强对象查询的一对多匹配机制,并提出了增强图像特征以实现一对多匹配的方法。具体来说,我们提出了 DataAug-DETR 方法,以帮助 DETR 类方法在收敛后实现更高的性能。此外,我们还提出了 FeatAug-DETR 方法,包括 FeatAug-Flip、FeatAug-Crop 和 FeatAug-FC。FeatAug-DETR 方法显著加快了 DETR 训练速度并实现了更好的性能。FeatAug-DETR 将具有不同骨干的 Deformable-DETR [1] 的性能提高了约 1.0 AP,并将训练时间缩短至仅 1 倍或 2 倍标准训练计划。当将 FeatAug-DETR 与混合匹配 [10] 结合使用并使用 Swin-Large 主干时,我们实现了目前最先进的 58.3 AP 性能。