前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >全新范式 | 沈春华老师团队提出无需解码器的目标检测器DFFT

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

作者头像
AIWalker
发布2022-06-24 14:28:03
6010
发布2022-06-24 14:28:03
举报
文章被收录于专栏:AIWalkerAIWalker

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

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

特别设计了一种新颖的轻量级面向检测的 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 的目标检测器。

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阶段的低级语义信息。对于每个输入图像x\in 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 StageDOT Block 的输出特征。作者发现,在连续的局部空间注意力层后面放置一个轻量级的通道注意力层可以有利于在每个尺度上推断目标语义

语义增强注意力

虽然 DOT Block 通过全局通道注意力增强了低级特征中的语义信息,但语义可以进一步改进以有利于检测任务。因此,提出了一种新颖的语义增强注意力 (SAA) 模块 F_{se-att} ,它在2个连续的尺度级别之间交换语义信息并增强它们的特征。SAA 由一个上采样层和一个全局通道注意力块组成。DFFTSAA 合并到每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_2\in 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。

3.2 SOTA对比

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-06-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AIWalker 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1简介
    • 切入点1:
      • 切入点2:
      • 2本文方法
        • 2.1 面向检测的Transformer Backbone
          • DOT Block
          • 语义增强注意力
          • DOT Stage
        • 2.2 仅有编码器的单阶段密集预测
          • Scale-aggregated Encoder
          • Task-aligned Encoder
          • Miscellaneous
      • 3实验
        • 3.1 消融实验
          • 1、Detection-oriented Transformer (DOT) block
          • 2、语义增强注意力
          • 3、Scale-aggregated Encoder (SAE)
          • 4、Task-aligned Encoder (TAE)
          • 5、对GFLOPs和FPS的影响分析
        • 3.2 SOTA对比
        相关产品与服务
        图像识别
        腾讯云图像识别基于深度学习等人工智能技术,提供车辆,物体及场景等检测和识别服务, 已上线产品子功能包含车辆识别,商品识别,宠物识别,文件封识别等,更多功能接口敬请期待。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档