26

Happy · 2022年06月20日

全新范式 | 沈春华老师团队提出无需解码器的目标检测器DFFT

image.png

ViT正在改变目标检测方法的格局。ViT在检测中的一个自然用途是用基于Transformer的主干替换基于CNN的主干,这直接且有效,但代价是为推理带来了相当大的计算负担。更巧妙的做法是DETR系列,它消除了在目标检测中对许多手工设计组件的需求,但引入了需要超长收敛时间的解码器。因此,基于Transformer的目标检测无法在大规模应用中流行。为了克服这些问题,作者提出了一种完全基于Transformer且无解码器(DFFT)的目标检测器,首次在训练和推理阶段都实现了高效率。

通过围绕2个切入点将目标检测简化为仅编码器的基于Anchor的单阶段密集预测问题:

    1. 消除训练效率低下的解码器,并利用2个强大的编码器来保持单阶段特征图预测的准确性;
    2. 探索计算资源有限的检测任务的低级语义特征。

image.png

特别设计了一种新颖的轻量级面向检测的Transformer主干,它基于精心设计的消融研究有效地捕获具有丰富语义的低级特征。在 MS COCO 基准上进行的大量实验表明,DFFTSMALLDETR高出 2.5% AP,计算成本降低了 28%,训练 epoch 减少了 10 倍以上。与基于Anchor的检测器RetinaNet相比,DFFTSMALL获得了超过 5.5% 的 AP 增益,同时降低了 70% 的计算成本。

1简介

目标检测是一项经典的计算机视觉任务,旨在定位和识别自然图像中的目标。最近,Vision Transformer已被广泛开发为传统检测框架(如Faster RCNNMask RCNNRetinaNet)中的强大Backbone。然而,这些基于Transformer的检测器以牺牲计算效率(例如,至少 200 GFLOP)为代价实现了高精度,这妨碍了它们在资源有限的实际应用中的落地。

DETR是一项开创性的工作,它通过使用编码器-解码器Transformer设计来解决这个问题,该设计将目标检测简化为端到端的集合预测问题。DETR的新颖解码器帮助目标查询处理single-level表示的不同感兴趣区域,大大提高了推理效率。不幸的是,这种增强是以大约 10 到 20 倍的训练收敛速度为代价的。因此,基于Transformer的检测器是否能够在不损失训练和推理阶段效率的情况下获得高精度仍然是个未知数。

DETR系列最近的工作主要集中在改善解码器引起的延迟收敛。他们使用明确的空间先验(如reference pointsanchor pointsRPN 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的密集预测,确保训练和推理效率的同时保持高精度。

  1. 尺度聚合编码器:通过逐步分析2个连续特征图的全局空间和语义关系,将多尺度线索汇总到一个特征图。因此,在单个特征图上很容易检测到各种尺度的实例,避免了跨网络层的详尽搜索。
  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的目标检测器。

image.png

DFFT的概述如图 2b 所示。面向目标检测的Transformer BackboneF 提取4个尺度的特征并将它们发送到以下仅编码器的单尺度密集预测模块。预测模块首先通过Scale-Aggregated EncoderS 将多尺度特征聚合为单个特征图。然后使用Task-Aligned EncoderT 将特征同时对齐以进行分类和回归任务,以提高推理效率。

2.1 面向检测的Transformer Backbone

image.png

image.png

Embedding Module

image.png

DOT Block

每个DOT Stage包含一个DOT Block,旨在有效地捕获每个尺度上的局部空间和全局语义关系。在密集预测中处理高分辨率特征图时,传统的Transformer Block通过将多头自注意力 (MSA) 层替换为局部空间注意力层来降低计算成本,例如空间减少注意力 (SRA) 和移位窗口自注意力(SW-MSA)。然而,这种设计牺牲了检测性能,因为它只提取具有有限低级语义的多尺度特征。

image.png

语义增强注意力

image.png

DOT Stage

最终的DOT Backbone包含4个DOT 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的公式可以定义为:

image.png

2.2 仅有编码器的单阶段密集预测

image.png

Scale-aggregated Encoder

用3个 SAE 模块设计了这个编码器,如图 3b 所示。每个 SAE 块将2个特征作为输入,并在所有 SAE 块中逐步聚合特征。将最终聚合特征的规模设置为 H/32 × W/32,以平衡检测精度和计算成本。为此,最后一个 SAE 块将在聚合之前将输入特征上采样到 H/32 × W/32。这个过程可以描述为:

image.png

Task-aligned Encoder

最近的单阶段检测器使用2个独立的分支(例如,解耦的Head)独立地执行目标分类和定位。这种双分支设计忽略了2个任务之间的交互,导致预测不一致。同时,耦合Head中的两个任务的特征学习通常存在冲突。因此本文提出了任务对齐编码器,它通过在耦合Head中堆叠组通道注意力块,在学习任务交互和任务特定特征之间提供更好的平衡。

image.png

具体来说,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一致匹配,而不管它们的大小。

image.png

3实验

3.1 消融实验

1、Detection-oriented Transformer (DOT) block

image.png

表 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 可以提高性能,而拥有更多注意力节点并不是主要原因。

image.png
在图 5 中进一步可视化了 DFFTMEDIUM 训练了 12 个 epoch 的每个主干阶段的特征图。在前两个阶段, DOT 主干可以获得具有足够语义信息的低级特征来捕获小目标。然后第三阶段侧重于中型和大型目标。最后,最后一个阶段只响应大目标。这些观察结果验证了 DOT 主干可以增强低级特征的语义信息,从而提高检测精度。

2、语义增强注意力

SAA 通过将语义信息从高级特征扩展到低级特征,为目标检测任务获得更丰富的低级语义特征,与 FPN 具有相似的效果。为了与 FPN 进行公平比较,禁用了2个编码器,并直接将来自主干的特征馈送到RetinaNet的Head,这是一个接受4个尺度特征的多级特征Head。

image.png

结果如表 5 所示。虽然 SAA 和 FPN 都提高了精度,但与 FPN 相比,SAA 获得了 0.5% 的AP增益。因此,全局通道注意力比 FPN 更适合Transformer。在前向传递中包含 SAA 可以获得更强大的模型。

3、Scale-aggregated Encoder (SAE)

SAE 将多尺度特征聚合到一个特征图中,以降低推理阶段的计算成本。将 SAE 与 YOLOF 中的类似设计进行了比较,后者利用dilated encoder来转换来自多个尺度的特征。

image.png

表 6 显示 SAE 比 YOLOF 的dilated encoder提高了 1.1% 的 AP。与普通连接操作相比,SAE 的精度提高了 1.8%。总体而言,SAE 可以以较低的计算成本实现更好的性能。

4、Task-aligned Encoder (TAE)

受益于 group-channel-wise attention 对语义关系建模的能力,TAE 处理耦合Head中的任务冲突,并进一步生成与任务对齐的预测。

image.png

如图 6 第一行所示,在基线模型中将 TAE 替换为 YOLOF 的Head后,分类(红色)和定位(橙色)的最佳Anchor彼此远离。那是因为 YOLOF 使用了一个任务未对齐的解耦Head,导致分类和定位的预测不一致。相比之下, TAE 提供了具有高分类和 IOU 分数的对齐预测(例如,图 6 中的人、斑马和猫)。

5、对GFLOPs和FPS的影响分析

image.png

在表 7 中比较了不同模型在预测 AP 和推理 GFLOP 和 FPS 方面的性能。对于计算性能,GFLOP 和 FPS 分别对通道数和注意力块数敏感。例如,与 DFFTNANO 相比,DFFTTINY 增加了 15 GFLOPs 但由于注意力块较少而具有更好的 FPS,而 DFFTSMALL 增加了 20 GFLOPs 但获得了相似的 FPS。

总体而言,DTTF实现了比可变形 DETR 更好的 AP 和推理效率;在相同的 FPS 下,DFFT 比 DETR 具有更好的精度和 GFLOPS。最后,虽然设计网络架构主要是为了减少 GFLOP,但注意到上述观察结果也可用于重新设计的网络并优化 FPS。

3.2 SOTA对比

image.png

来源:AIWalker
作者:ChaucerG

推荐阅读

本文章著作权归作者所有,任何形式的转载都请注明出处。更多动态滤波,图像质量,超分辨相关请关注我的专栏AIWalker。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
6194
内容数
191
夯实深度学习知识基础, 涵盖动态滤波,超分辨,轻量级框架等
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息