作者丨ChaucerG
来源丨集智书童
编辑丨极市平台
导读
作者提出了一种完全基于Transformer且无解码器(DFFT)的目标检测器,首次在训练和推理阶段都实现了高效率。DFFT在一系列低资源约束(例如,从 40 到 100 GFLOPs)中实现了更高的准确度和更好的训练推理效率。
论文链接:https://arxiv.org/abs/2206.06829
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% 的计算成本。
目标检测是一项经典的计算机视觉任务,旨在定位和识别自然图像中的目标。最近,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个切入点:
消除训练效率低下的解码器并利用2个强大的编码器来保持单尺度特征图预测的准确性。为了设计一个与 DETR
相媲美的轻量检测管道并保持较高的训练效率,DFFT
消除了训练效率低的解码器,并在特征融合和类/框网络中提出了2个强大的 Transformer
编码器,以避免在修整解码器后性能下降。得益于2个强大的编码器,DFFT
仅在单尺度特征图上进行基于Anchor的密集预测,确保训练和推理效率的同时保持高精度。
尺度聚合编码器:通过逐步分析2个连续特征图的全局空间和语义关系,将多尺度线索汇总到一个特征图。因此,在单个特征图上很容易检测到各种尺度的实例,避免了跨网络层的详尽搜索。
任务对齐编码器:使
DFFT
能够在耦合Head中同时进行分类和回归。通过利用 Group-channel-wise Attention,它解决了2个任务的学习冲突并提供了一致的预测。
对于计算资源有限的检测任务,尽可能探索低级语义特征。在深入研究了Transformer注意力组件的不同特征(例如,空间注意力和通道注意力)之后,设计了一个强大且高效的面向检测的Transformer Backbone。此外,建议将语义增强注意力模块合并到Backbone的几个Stage中,以捕获丰富的低级语义。来自不同Stage的低级语义有助于检测器详细区分干扰物。这种设计与专用于学习分类任务的最终高级语义的常见Backbone有很大不同。
最后,进行了综合实验,以验证 DFFT 的优越性以及上述所有设计的有效性。与基础工作 deformable DETR 相比,DFFT 实现了 61% 的推理加速、28% 的训练加速和 1.9% 的 AP 增益。
在部分中将介绍 DFFT
,一种高效的无解码器、完全基于 Transformer
的目标检测器。
DFFT 的概述如图 2b 所示。面向目标检测的 Transformer Backbone F 提取4个尺度的特征并将它们发送到以下仅编码器的单尺度密集预测模块。预测模块首先通过 Scale-Aggregated Encoder S 将多尺度特征聚合为单个特征图。然后使用 Task-Aligned Encoder T 将特征同时对齐以进行分类和回归任务,以提高推理效率。
面向检测的 Transformer (DOT)的目的是提取具有强语义的多尺度特征。如图3a所示, 它分 层叠加了一个嵌入模块和4个DOT, 其中一个新的语义增强注意力模块聚合了每2个连续的 DOT阶段的低级语义信息。对于每个输入图像 , DOT Backbone 提取4个不同尺度的特征:
其中, 其中 是 的通道的第 个特征。
对于输入图像 , 首先将其划分为 个patches, 并将这些patches输入线性映 射, 获得大小为 的patch embedding , 写为:
其中, 是上面描述的Embedding Module。
每个 DOT Stage
包含一个 DOT Block
,旨在有效地捕获每个尺度上的局部空间和全局语义关系。在密集预测中处理高分辨率特征图时,传统的Transformer Block
通过将多头自注意力 (MSA) 层替换为局部空间注意力层来降低计算成本,例如空间减少注意力 (SRA) 和移位窗口自注意力(SW-MSA)。然而,这种设计牺牲了检测性能,因为它只提取具有有限低级语义的多尺度特征。
为了缓解这个缺点, DOT Block
包括多个 SW-MSA Block
和一个全局通道注意力块,如图 3a 的第1部分所示。注意,每个注意力块都包含一个注意力层和一个 FFN 层,在图 2 的每个注意力块中省略了 FFN 层以简化说明。用 表示第 i 个 DOT Stage
的 DOT Block
的输出特征。作者发现,在连续的局部空间注意力层后面放置一个轻量级的通道注意力层可以有利于在每个尺度上推断目标语义。
虽然 DOT Block 通过全局通道注意力增强了低级特征中的语义信息, 但语义可以进一步改进 以有利于检测任务。因此, 提出了一种新颖的语义增强注意力 (SAA) 模块 , 它在2个连续的尺度级别之间交换语义信息并增强它们的特征。SAA 由一个上采样层和一个全局通道注 意力块组成。DFFT 将 SAA 合并到每2个连续的 DOT Block 中, 如图 3a 的第2部分所示。形式上, SAA 从当前 DOT Block 和前一个 DOT Stage 获取输出, 然后返回语义增强特 征, 该特征被发送到下一个 DOT Stage,也有助于最终的多尺度特征 点。用 表示 SAA 在第 个 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
的公式可以定义为:
其中,down表示下采样函数。
第i个阶段的SAA模块可以定义为
其中,up表示上采样函数。来自DOT backbone的最终多尺度特征可以写为
该模块旨在通过2个新颖的编码器提高完全基于 Transformer 的目标检测器的推理和训练效 率。它首先使用尺度聚合编码器 (SAE) 将来自 DOT Backbone 的多尺度特征 聚合到一个 特征图 中。之后, 它使用任务对齐编码器 (TAE) 在单个Head中同时生成对齐的分类特征 和回归特征 。
用3个 SAE 模块设计了这个编码器,如图 3b 所示。每个 SAE 块将2个特征作为输入,并在所有 SAE 块中逐步聚合特征。将最终聚合特征的规模设置为 H/32 × W/32,以平衡检测精度和计算成本。为此,最后一个 SAE 块将在聚合之前将输入特征上采样到 H/32 × W/32。这个过程可以描述为:
其中, 是全局通道级注意力块, 是最终的聚合特征图。
最近的单阶段检测器使用2个独立的分支(例如,解耦的Head)独立地执行目标分类和定位。这种双分支设计忽略了2个任务之间的交互,导致预测不一致。同时,耦合Head中的两个任务的特征学习通常存在冲突。因此本文提出了任务对齐编码器,它通过在耦合Head中堆叠组通道注意力块,在学习任务交互和任务特定特征之间提供更好的平衡。
如图 3c 所示, 该编码器由 2 种通道注意块组成。首先, 堆叠组通道注意力块 对齐, 最后将聚合特征 分成两部分。其次, 全局通道注意力块 进一步编码2个分割特征之-, 用于后续回归任务。这个过程可以描述为
其中 是分割特征,
具体来说,group channel-wise attention block 和 global channel-wise attention block 的区别在于,除了 group channel-wise attention block 中的 key/query/value embedding 的投影之外,所有的线性投影都是在2组中进行的。因此,特征在注意力操作中相互作用,而在输出投影中分别推导。
由于 DFFT
在单个特征图上进行单层密集预测,因此预定义的Anchor是稀疏的。基于稀疏Anchor应用 Max-IoU 匹配会导致positive Anchor的不平衡问题,使得检测器在训练时会关注大的GT框而忽略小的GT框。为了克服这个问题,作者使用 YOLOF
提出的统一匹配策略来确保所有 GT 框与相同数量的positive Anchor一致匹配,而不管它们的大小。
与大多数传统检测方法的设置类似,损失函数包括用于分类的Focal损失和用于回归的 GIOU 损失。在推理阶段,基于最终的聚合特征图 有效地进行目标检测。
表 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 主干可以增强低级特征的语义信息,从而提高检测精度。
SAA 通过将语义信息从高级特征扩展到低级特征,为目标检测任务获得更丰富的低级语义特征,与 FPN 具有相似的效果。为了与 FPN 进行公平比较,禁用了2个编码器,并直接将来自主干的特征馈送到 RetinaNet
的Head,这是一个接受4个尺度特征的多级特征Head。
结果如表 5 所示。虽然 SAA 和 FPN 都提高了精度,但与 FPN 相比,SAA 获得了 0.5% 的AP增益。因此,全局通道注意力比 FPN 更适合Transformer
。在前向传递中包含 SAA 可以获得更强大的模型。
SAE 将多尺度特征聚合到一个特征图中,以降低推理阶段的计算成本。将 SAE 与 YOLOF 中的类似设计进行了比较,后者利用dilated encoder
来转换来自多个尺度的特征。
表 6 显示 SAE 比 YOLOF 的dilated encoder
提高了 1.1% 的 AP。与普通连接操作相比,SAE 的精度提高了 1.8%。总体而言,SAE 可以以较低的计算成本实现更好的性能。
受益于 group-channel-wise attention 对语义关系建模的能力,TAE 处理耦合Head中的任务冲突,并进一步生成与任务对齐的预测。
如图 6 第一行所示,在基线模型中将 TAE 替换为 YOLOF 的Head后,分类(红色)和定位(橙色)的最佳Anchor彼此远离。那是因为 YOLOF 使用了一个任务未对齐的解耦Head,导致分类和定位的预测不一致。相比之下, TAE 提供了具有高分类和 IOU 分数的对齐预测(例如,图 6 中的人、斑马和猫)。
在表 7 中比较了不同模型在预测 AP 和推理 GFLOP 和 FPS 方面的性能。对于计算性能,GFLOP 和 FPS 分别对通道数和注意力块数敏感。例如,与 DFFTNANO 相比,DFFTTINY 增加了 15 GFLOPs 但由于注意力块较少而具有更好的 FPS,而 DFFTSMALL 增加了 20 GFLOPs 但获得了相似的 FPS。
总体而言,DTTF实现了比可变形 DETR 更好的 AP 和推理效率;在相同的 FPS 下,DFFT 比 DETR 具有更好的精度和 GFLOPS。最后,虽然设计网络架构主要是为了减少 GFLOP,但注意到上述观察结果也可用于重新设计的网络并优化 FPS。
本文仅做学术分享,如有侵权,请联系删文。
3D视觉工坊精品课程官网:3dcver.com
1.面向自动驾驶领域的多传感器数据融合技术
2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)
9.从零搭建一套结构光3D重建系统[理论+源码+实践]
10.单目深度估计方法:算法梳理与代码实现
11.自动驾驶中的深度学习模型部署实战
12.相机模型与标定(单目+双目+鱼眼)
13.重磅!四旋翼飞行器:算法与实战
14.ROS2从入门到精通:理论与实战
15.国内首个3D缺陷检测教程:理论、源码与实战
重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。
一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~