ViT
正在改变目标检测方法的格局。ViT
在检测中的一个自然用途是用基于Transformer
的主干替换基于CNN
的主干,这直接且有效,但代价是为推理带来了相当大的计算负担。更巧妙的做法是DETR
系列,它消除了在目标检测中对许多手工设计组件的需求,但引入了需要超长收敛时间的解码器。因此,基于Transformer
的目标检测无法在大规模应用中流行。为了克服这些问题,作者提出了一种完全基于Transformer
且无解码器(DFFT
)的目标检测器,首次在训练和推理阶段都实现了高效率。 通过围绕2个切入点将目标检测简化为仅编码器的基于Anchor的单阶段密集预测问题:
- 消除训练效率低下的解码器,并利用2个强大的编码器来保持单阶段特征图预测的准确性;
- 探索计算资源有限的检测任务的低级语义特征。
特别设计了一种新颖的轻量级面向检测的 Transformer
主干,它基于精心设计的消融研究有效地捕获具有丰富语义的低级特征。在 MS COCO 基准上进行的大量实验表明,DFFTSMALL
比 DETR
高出 2.5% AP,计算成本降低了 28%,训练 epoch 减少了 10 倍以上。与基于 Anchor
的检测器 RetinaNet
相比,DFFTSMALL
获得了超过 5.5% 的 AP 增益,同时降低了 70% 的计算成本。
1简介
目标检测是一项经典的计算机视觉任务,旨在定位和识别自然图像中的目标。最近,Vision Transformer
已被广泛开发为传统检测框架(如 Faster RCNN
、Mask RCNN
和 RetinaNet
)中的强大Backbone
。然而,这些基于Transformer
的检测器以牺牲计算效率(例如,至少 200 GFLOP)为代价实现了高精度,这妨碍了它们在资源有限的实际应用中的落地。
DETR
是一项开创性的工作,它通过使用编码器-解码器 Transformer
设计来解决这个问题,该设计将目标检测简化为端到端的集合预测问题。DETR
的新颖解码器帮助目标查询处理single-level
表示的不同感兴趣区域,大大提高了推理效率。不幸的是,这种增强是以大约 10 到 20 倍的训练收敛速度为代价的。因此,基于 Transformer
的检测器是否能够在不损失训练和推理阶段效率的情况下获得高精度仍然是个未知数。
DETR
系列最近的工作主要集中在改善解码器引起的延迟收敛。他们使用明确的空间先验(如reference points
、anchor points
、RPN proposals
和条件空间嵌入
)来增强解码器中的对象查询。然而,在解码器阶段引入空间先验会牺牲检测器的推理效率,消耗超过 1.5 倍的 GFLOPs。它还提出了一个问题,上述高效但准确的基于Transformer
的检测器是否不可避免地需要解码器。
在本文中构建了一种新的检测架构,名为 DFFT
:Decoder-Free Fully Transformer-based object detection,DFFT
在一系列低资源约束(例如,从 40 到 100 GFLOPs)中实现了更高的准确度和更好的训练推理效率 如图 1 所示。基于对Backbone
、特征融合和类/框网络中涉及的不同Transformer
架构(例如,注意力组件的类型、位置和链接)如何影响之间的权衡的精心设计的分析检测性能和效率,DFFT
将整个目标检测管道简化为仅编码器的基于单阶段Anchor的密集预测任务。具体来说,DFFT
设计围绕2个切入点:
切入点1:
消除训练效率低下的解码器并利用2个强大的编码器来保持单尺度特征图预测的准确性。为了设计一个与 DETR
相媲美的轻量检测管道并保持较高的训练效率,DFFT
消除了训练效率低的解码器,并在特征融合和类/框网络中提出了2个强大的 Transformer
编码器,以避免在修整解码器后性能下降。得益于2个强大的编码器,DFFT
仅在单尺度特征图上进行基于Anchor的密集预测,确保训练和推理效率的同时保持高精度。
- 尺度聚合编码器:通过逐步分析2个连续特征图的全局空间和语义关系,将多尺度线索汇总到一个特征图。因此,在单个特征图上很容易检测到各种尺度的实例,避免了跨网络层的详尽搜索。
- 任务对齐编码器:使
DFFT
能够在耦合Head中同时进行分类和回归。通过利用 Group-channel-wise Attention,它解决了2个任务的学习冲突并提供了一致的预测。
切入点2:
对于计算资源有限的检测任务,尽可能探索低级语义特征。在深入研究了Transformer
注意力组件的不同特征(例如,空间注意力和通道注意力)之后,设计了一个强大且高效的面向检测的Transformer Backbone
。此外,建议将语义增强注意力模块合并到Backbone
的几个Stage中,以捕获丰富的低级语义。来自不同Stage的低级语义有助于检测器详细区分干扰物。这种设计与专用于学习分类任务的最终高级语义的常见Backbone
有很大不同。
最后,进行了综合实验,以验证 DFFT
的优越性以及上述所有设计的有效性。与基础工作 deformable DETR
相比,DFFT
实现了 61% 的推理加速、28% 的训练加速和 1.9% 的 AP 增益。
2本文方法
在部分中将介绍 DFFT
,一种高效的无解码器、完全基于 Transformer
的目标检测器。
DFFT
的概述如图 2b 所示。面向目标检测的 Transformer Backbone
F 提取4个尺度的特征并将它们发送到以下仅编码器的单尺度密集预测模块。预测模块首先通过 Scale-Aggregated Encoder
S 将多尺度特征聚合为单个特征图。然后使用 Task-Aligned Encoder
T 将特征同时对齐以进行分类和回归任务,以提高推理效率。
2.1 面向检测的Transformer Backbone
面向检测的Transformer
(DOT)的目的是提取具有强语义的多尺度特征。如图3a所示,它分层叠加了一个嵌入模块和4个DOT,其中一个新的语义增强注意力模块聚合了每2个连续的DOT阶段的低级语义信息。对于每个输入图像xin R^{H×W×3} ,DOT Backbone
提取4个不同尺度的特征:
DOT Block
每个 DOT Stage
包含一个 DOT Block
F_{block} ,旨在有效地捕获每个尺度上的局部空间和全局语义关系。在密集预测中处理高分辨率特征图时,传统的Transformer Block
通过将多头自注意力 (MSA) 层替换为局部空间注意力层来降低计算成本,例如空间减少注意力 (SRA) 和移位窗口自注意力(SW-MSA)。然而,这种设计牺牲了检测性能,因为它只提取具有有限低级语义的多尺度特征。
为了缓解这个缺点, DOT Block
包括多个 SW-MSA Block
和一个全局通道注意力块,如图 3a 的第1部分所示。注意,每个注意力块都包含一个注意力层和一个 FFN 层,在图 2 的每个注意力块中省略了 FFN 层以简化说明。用 hat f_i 表示第 i 个 DOT Stage
的 DOT Block
的输出特征。作者发现,在连续的局部空间注意力层后面放置一个轻量级的通道注意力层可以有利于在每个尺度上推断目标语义。
语义增强注意力
虽然 DOT Block
通过全局通道注意力增强了低级特征中的语义信息,但语义可以进一步改进以有利于检测任务。因此,提出了一种新颖的语义增强注意力 (SAA) 模块 F_{se-att} ,它在2个连续的尺度级别之间交换语义信息并增强它们的特征。SAA
由一个上采样层和一个全局通道注意力块组成。DFFT
将 SAA
合并到每2个连续的 DOT Block
中,如图 3a 的第2部分所示。形式上,SAA
从当前 DOT Block
和前一个 DOT Stage
获取输出,然后返回语义增强特征,该特征被发送到下一个 DOT Stage
,也有助于最终的多尺度特征 f_i 点。用 overline f_i 表示 SAA 在第 i 个 DOT Stage
的输出特征。
DOT Stage
最终的 DOT Backbone
包含4个 DOT Stage
F_{stage} ,其中每个阶段由一个 DOT Block
和一个 SAA
模块(第1阶段除外)组成。具体来说,第一阶段包含一个 DOT Block
并且没有 SAA
模块,因为 SAA
模块的输入来自2个连续的 DOT Stage
。其余3个Stage中的每一个都包含一个patch merging
模块,以减少类似于 Swin
的patch数量、一个 DOT Block
和一个 SAA
模块,然后是一个下采样层来恢复输入维度,如图 3a 所示。因此,第 i 阶段的 DOT Block
的公式可以定义为:
其中,down表示下采样函数。
第i个阶段的SAA模块可以定义为
其中,up表示上采样函数。
来自DOT backbone的最终多尺度特征可以写为
2.2 仅有编码器的单阶段密集预测
该模块旨在通过2个新颖的编码器提高完全基于Transformer
的目标检测器的推理和训练效率。它首先使用尺度聚合编码器 (SAE) 将来自 DOT Backbone
的多尺度特征 f_i^{dot} 聚合到一个特征图 s^{sae} 中。之后,它使用任务对齐编码器 (TAE) 在单个Head中同时生成对齐的分类特征 t^{cls} 和回归特征 t^{reg} 。
Scale-aggregated Encoder
用3个 SAE 模块设计了这个编码器,如图 3b 所示。每个 SAE 块将2个特征作为输入,并在所有 SAE 块中逐步聚合特征。将最终聚合特征的规模设置为 H/32 × W/32,以平衡检测精度和计算成本。为此,最后一个 SAE 块将在聚合之前将输入特征上采样到 H/32 × W/32。这个过程可以描述为:
其中,S_{att} 是全局通道级注意力块,s^{sae}=s_3 是最终的聚合特征图。
Task-aligned Encoder
最近的单阶段检测器使用2个独立的分支(例如,解耦的Head)独立地执行目标分类和定位。这种双分支设计忽略了2个任务之间的交互,导致预测不一致。同时,耦合Head中的两个任务的特征学习通常存在冲突。因此本文提出了任务对齐编码器,它通过在耦合Head中堆叠组通道注意力块,在学习任务交互和任务特定特征之间提供更好的平衡。
如图 3c 所示,该编码器由2种通道注意块组成。首先,堆叠组通道注意力块 T_{group} 对齐,最后将聚合特征 s^{sae} 分成两部分。其次,全局通道注意力块 T_{global} 进一步编码2个分割特征之一,用于后续回归任务。这个过程可以描述为
其中 t_1, t_2in R^{H/32 × W/32 ×256} 是分割特征,t^{cls}in R^{H/32 × W/32 ×256} 和t^{reg}in R^{H/32 × W /32 ×512} 分别是分类和回归任务的最终特征。
具体来说,group channel-wise attention block 和 global channel-wise attention block 的区别在于,除了 group channel-wise attention block 中的 key/query/value embedding 的投影之外,所有的线性投影都是在2组中进行的。因此,特征在注意力操作中相互作用,而在输出投影中分别推导。
Miscellaneous
由于 DFFT
在单个特征图上进行单层密集预测,因此预定义的Anchor是稀疏的。基于稀疏Anchor应用 Max-IoU 匹配会导致positive Anchor的不平衡问题,使得检测器在训练时会关注大的GT框而忽略小的GT框。为了克服这个问题,作者使用 YOLOF
提出的统一匹配策略来确保所有 GT 框与相同数量的positive Anchor一致匹配,而不管它们的大小。
与大多数传统检测方法的设置类似,损失函数包括用于分类的Focal损失和用于回归的 GIOU 损失。在推理阶段,基于最终的聚合特征图 s^{sae} 有效地进行目标检测。
3实验
3.1 消融实验
1、Detection-oriented Transformer (DOT) block
表 3 研究了全局通道注意力 (GCA) 和语义增强注意力 (SAA) 如何对 DOT 的性能做出贡献。只修改骨干网络,而不禁用 SAE 和 TAE 模块。第 1 行和第 2 行表明,从 SW-MSA 切换到全局通道注意力可以提高 1.1% 的精度,而不会对 FLOP 产生重大影响。第 2 行和第 3 行显示,添加一个 GCA 块会花费 11 GFLOP,但只会获得 0.3% 的 AP。一旦用 SAA 模块替换 GCA 块(这样两个设置具有相同数量的注意力节点),精度就会从 40.1% 提高到 41.4%。这两个观察结果表明,SAA 可以提高性能,而拥有更多注意力节点并不是主要原因。
在图 5 中进一步可视化了 DFFTMEDIUM 训练了 12 个 epoch 的每个主干阶段的特征图。在前两个阶段, DOT 主干可以获得具有足够语义信息的低级特征来捕获小目标。然后第三阶段侧重于中型和大型目标。最后,最后一个阶段只响应大目标。这些观察结果验证了 DOT 主干可以增强低级特征的语义信息,从而提高检测精度。
2、语义增强注意力
SAA 通过将语义信息从高级特征扩展到低级特征,为目标检测任务获得更丰富的低级语义特征,与 FPN 具有相似的效果。为了与 FPN 进行公平比较,禁用了2个编码器,并直接将来自主干的特征馈送到 RetinaNet
的Head,这是一个接受4个尺度特征的多级特征Head。
结果如表 5 所示。虽然 SAA 和 FPN 都提高了精度,但与 FPN 相比,SAA 获得了 0.5% 的AP增益。因此,全局通道注意力比 FPN 更适合Transformer
。在前向传递中包含 SAA 可以获得更强大的模型。
3、Scale-aggregated Encoder (SAE)
SAE 将多尺度特征聚合到一个特征图中,以降低推理阶段的计算成本。将 SAE 与 YOLOF 中的类似设计进行了比较,后者利用dilated encoder
来转换来自多个尺度的特征。
表 6 显示 SAE 比 YOLOF 的dilated encoder
提高了 1.1% 的 AP。与普通连接操作相比,SAE 的精度提高了 1.8%。总体而言,SAE 可以以较低的计算成本实现更好的性能。
4、Task-aligned Encoder (TAE)
受益于 group-channel-wise attention 对语义关系建模的能力,TAE 处理耦合Head中的任务冲突,并进一步生成与任务对齐的预测。
如图 6 第一行所示,在基线模型中将 TAE 替换为 YOLOF 的Head后,分类(红色)和定位(橙色)的最佳Anchor彼此远离。那是因为 YOLOF 使用了一个任务未对齐的解耦Head,导致分类和定位的预测不一致。相比之下, TAE 提供了具有高分类和 IOU 分数的对齐预测(例如,图 6 中的人、斑马和猫)。
5、对GFLOPs和FPS的影响分析
在表 7 中比较了不同模型在预测 AP 和推理 GFLOP 和 FPS 方面的性能。对于计算性能,GFLOP 和 FPS 分别对通道数和注意力块数敏感。例如,与 DFFTNANO 相比,DFFTTINY 增加了 15 GFLOPs 但由于注意力块较少而具有更好的 FPS,而 DFFTSMALL 增加了 20 GFLOPs 但获得了相似的 FPS。
总体而言,DTTF实现了比可变形 DETR 更好的 AP 和推理效率;在相同的 FPS 下,DFFT 比 DETR 具有更好的精度和 GFLOPS。最后,虽然设计网络架构主要是为了减少 GFLOP,但注意到上述观察结果也可用于重新设计的网络并优化 FPS。