ICCV'23|轻量检测Focus-DETR:30%Token就能实现SOTA性能!

作者 | Garfield  编辑 | 极市平台

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

本文只做学术分享,如有侵权,联系删文

6de93f98652349b752e69eb2d9e0e193.png

论文地址:https://arxiv.org/abs/2307.12612

代码地址:https://github.com/huawei-noah/noah-research/tree/master/Focus-DETR

1. 引言

88a8c549977f2d8281f7a10545fd1ead.png

这篇论文的研究背景是基于transformer的目标检测模型,特别是DETR系列模型。DETR类模型已经取得了很大进展,并逐渐弥补了与基于卷积网络的检测模型之间的差距。但是传统的encoder结构对所有tokens进行等量的计算,存在计算冗余。最近的工作已经讨论了在transformer encoder中压缩tokens以降低计算复杂度的可行性。但是这些方法倾向于依赖于不太可靠的模型统计信息。此外,简单减少tokens数量会严重影响检测性能。所以这篇论文的研究背景是如何在降低计算量的同时保持检测精度,即在计算效率和模型精度之间取得更好的平衡。具体来说,现有的稀疏方法存在以下问题:

  1. 现有方法倾向于过度依赖于解码器的交叉注意力图(DAM)来监督前景特征选择,这会导致前景特征选择效果不佳。尤其是在采用可学习queries的模型中,DAM与保留的前景tokens之间的相关性会降低。

  2. 现有方法无法有效利用多尺度特征图之间的语义关联性,不同尺度间tokens选择决策的偏差被忽略。

  3. 现有方法只进行简单的背景tokens舍弃,前景tokens的数量仍然繁多,无法进行更细粒度的查询交互来提升语义信息,因为计算量受限。

  4. 一些模型仅仅减少encoder的tokens数量,而没有设计增强前景语义表达的机制,导致性能难以提升。

也就是说,现有的模型前景特征选择策略并不优化,语义级别的细分不足,多尺度特征的关联被忽略,降低了模型的上限。那么论文提出的方法是怎么解决这些问题的呢?

这篇论文提出了Focus-DETR来聚焦更具信息量的tokens,其核心是设计了分级语义判别机制。作者设计了一个tokens评分机制,同时考虑定位和语义分类信息。首先通过前景tokens选择器基于多尺度特征进行前景选择,然后引入多类别评分预测器选择更细粒度的对象tokens。这样可以获取两个层次的语义细分。在这个可靠的评分机制指导下,不同语义级别的tokens被输入到双注意力编码器中。细粒度对象tokens首先进行自注意力增强表达,然后散落回前景tokens中以弥补可变形注意力的限制,从而提升前景queries的语义。通过逐步引入语义信息进行细粒度判别,Focus-DETR重构了编码器的计算流程,在最小的计算量下增强了细粒度tokens的语义。也就是说,Focus-DETR通过设计语义级别的渐进式判别和细粒度表示的增强注意力,使得transformer encoder可以高效聚焦在信息量更大的特征上,在降低计算量的同时提升了检测性能。相比之前过于依赖DAM的方法,本文通过引入定位和语义双重信息进行多级语义判别,并在此基础上进行表示增强,可靠性更高,从而取得了更好的性能。

2. 方法

5297230c57a0b206e2185b96dbc6cdcf.png

2.1 Model Architecture

整体来看,论文提出模型的结构主要分为以下部分:

  • 骨干网络(Backbone):可以使用ResNet或Swin Transformer等进行特征提取。

  • 前景Token选择器(Foreground Token Selector):基于多尺度特征图进行由上而下的评分调制,选择前景tokens。

  • 多类别评分预测器(Multi-Category Score Predictor):基于前景SCORE和类别预测值选择更细粒度的对象tokens。

  • 双注意力编码器(Dual Attention Encoder):包含自注意力模块对细粒度tokens进行增强表示,和可变形注意力模块来混合远程信息。

  • 解码器(Decoder):包含自注意力模块和交叉注意力模块,最终预测bounding box和类别。

整体来看,Focus-DETR通过设计前景和细粒度tokens的评分机制,将不同语义级别的tokens输入双注意力编码器中进行特征增强,在降低计算量的同时提升了检测性能。下面我们来具体介绍论文提出方法的各个组件。

2.2 Scoring mechanism

e25bc9e553561ea06b9418e8a5c3e26c.png

前景Token选择器(Foreground Token Selector)的工作流程如下:

  1. 基于多尺度特征图{f1, f2,...fL},使用共享的MLP网络预测每个token的前景分数Sl。

  2. 将高层语义的前景分数作为低层的补充信息,进行由上而下的评分调制。具体地是:

    这里UP表示上采样函数,MLP_F预测前景概率,αl是学习的调制系数。

    根据ground truth box,我们为每个token打上前景或者背景的标签,作为选择器的监督信号。具体通过上述进行标签分配。

  3. 多尺度特征图上的大尺度前景分数与语义信息会调制小尺度的特征图,增强选择的可靠性。

  4. 前景Token选择器充分利用了由上而下的语义指导,可以更准确地选择前景区域,为后续的表示增强提供基础。

d5e8887498fc6fb159b299630c249dcb.png

而多类别评分预测器(Multi-Category Score Predictor)的工作流程如下:

  1. 在选择出前景tokens的基础上,为了精细选择对象tokens,引入了多类别评分预测器。

  2. 计算每个token的前景概率和额外的类别预测概率。

  3. 将两者相乘作为最终的细粒度tokens评分,即:这里来自额外的类别预测分支。

  4. 同时结合了token的定位和语义信息,可以选择出对象性更强的细粒度tokens。

  5. 与Deformable DETR不同,这里的类别预测不包括背景类别,避免对背景tokens进行计算。

  6. 根据pj选择topk的细粒度tokens进行进一步的表示增强。

多类别预测器基于前景tokens,引入语义信息选择更细粒度、更具代表性的对象tokens,为后续的表示增强提供支持。

2.3 Calculation Process of Dual Attention

dfd79b51f9ca21ebdcdb44a7b9b9213a.png

Focus-DETR设计了Dual Attention Encoder来进行表示的增强。具体来说,首先根据前文设计的评分机制,可靠地选择出前景区域tokens和更细粒度的对象tokens。然后,将这些细粒度的对象tokens先进行自注意力模块的计算,增强这些tokens之间的语义信息交互。经过自注意力增强的细粒度对象表示,会被散落回到对应的前景tokens的位置中,以弥补可变形注意力在远程tokens信息融合方面的局限性。这样一来,前景tokens就同时结合了全局上下文信息和增强的细粒度对象语义信息。整个编码器中,重复这样的代表增强流程进行层次化的特征学习。这种双注意力编码器的设计,既考虑了计算效率,只对少量细粒度tokens进行额外的自注意力计算,也提升了前景特征表示的discrimination,有效地增强了前景语义信息。因此,双注意力编码器在最小的计算量下,有效地提升了Focus-DETR模型的检测性能。

2.4 Complexity Analysis

从双层注意力机制上,我们可以看出双注意力编码器的计算代价是可控的。具体来说,作者先分析了可变形注意力模块在编码器和解码器中的计算复杂度,发现编码器占主要的计算量。然后定义了细粒度tokens增强模块的计算复杂度。在典型的设置下,其计算量相比整个模型 Transformer 部分的计算量仅为2.5%左右。这说明,虽然引入了双注意力编码器和细粒度tokens的自注意力增强,但其对总体计算量的影响可以忽略。这得益于本文设计的评分机制,使得进入细粒度自注意力的tokens数量是可控的。所以,双注意力编码器在改善模型性能的同时,计算量的增加是在可接受范围内的。这充分证明了Focus-DETR在降低计算量和提高效率方面的有效性。

3. 实验

c5981f7575e7663152afc1242de27eef.png

根据论文Table 1的实验结果,我们可以看到Focus-DETR相比其他检测方法取得了以下效果:与其他efficient DETR方法如PnP-DETR相比,在类似计算量下,Focus-DETR的性能更优。例如与PnP-DETR相比,获得了7.9的AP提升。将Sparse DETR集成到DINO中构建了一个强大的基准,而Focus-DETR比这个基准还高出2.2的AP,证明了其在token选择上的优势。与原DINO相比,Focus-DETR只损失了0.5的AP,但计算量降低了45%,推理速度提升了40.8%,这充分体现了其在计算效率上的优势。从精度计算量曲线来看,Focus-DETR相比其他检测transformer模型,在相似的计算量下能够取得最佳的检测性能。使用其他backbone如ResNet101和Swin Transformer,Focus-DETR仍能保持非常强的性能。

ca26ee4989c1fcba18d71971ef95930e.png a93951588a2fbfd57d666071b4ef49fc.png

根据论文Table 6的结果,我们可以分析不同模型在改变保留前景tokens的比例时,性能和计算量的变化:当保留tokens的比例为0.1时,Focus-DETR比Sparse DETR高1.6AP,比DINO+Sparse DETR高1.4AP,验证其在小比例下的优势。而在0.2的tokens保留比例下,Focus-DETR仍分别领先Sparse DETR和DINO+Sparse DETR 1.2AP和1.9AP。同时当tokens保留比例为0.3时,这也是论文的默认设置,Focus-DETR比Sparse DETR高2.7AP,比DINO+Sparse DETR高1.4AP,优势更加明显。在更高的保留比例0.4和0.5下,Focus-DETR仍能保持紧凑的领先优势。从计算量来看,随着保留tokens的增加,各模型的GFLOPs成正比上升,而FPS下降。但Focus-DETR始终保持了较高的推理速度。也就是说总体上,Focus-DETR在任何tokens保留比例下,相比其他模型都能取得显著的性能提升,验证了其在前景选择上的效果。

4. 讨论

4038288b3ad499112ebde152949bb716.png

相较于其他基于DETR的目标检测方法,Focus-DETR的特别之处和主要优势包括:

  1. Focus-DETR设计了一个多级语义判别机制,通过前景token选择器和多类别评分预测器,融合定位和语义信息,进行由粗到细的tokens选择,使得进入编码器的tokens更加聚焦和具有代表性。

  2. 在粗略的前景tokens选择后,Focus-DETR引入了细粒度的对象tokens选择,通过自注意力模块增强了这些细粒度tokens的语义表达。这种级联的语义选择和表示增强机制,使得编码器可以高效地聚焦在对检测任务更关键的语义上。

  3. Focus-DETR采用了双注意力编码器,通过细粒度tokens增强来弥补可变形注意力的信息聚合局限,充分增强了前景语义表达。同时计算量可控,只需对少量tokens进行额外计算。

  4. 综上,通过设计语义级别的渐进式判别和细粒度表示的增强注意力,Focus-DETR使编码器可以更高效地聚焦在对检测更关键的语义上,从而在降低计算量的同时提升了检测精度。这是其相对于其他DETR检测方法的显著优势所在。

5. 结论

本文提出了Focus-DETR,其目标是通过设计分级语义判别机制来聚焦更具信息量的tokens,在提高计算效率的同时保持模型精度。本文设计了一个多级语义判别机制,包含前景token选择器和多类别评分预测器,可以获得两个层次的语义细分。基于语义判别结果,将不同层次的tokens输入双注意力编码器中,通过细粒度tokens的自注意力增强来提升前景语义。Focus-DETR重构了编码器的计算流程,在最小的计算量下增强了细粒度tokens的语义。实验结果表明,Focus-DETR与其他检测transformer相比,在类似计算量下取得了最佳的性能。总体而言,通过设计语义级别的渐进式判别和细粒度表示的增强注意力,Focus-DETR提出了一种更加高效的基于transformer的检测框架,取得了计算效率与模型精度的更好平衡。

① 全网独家视频课程

BEV感知、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、点云3D目标检测、目标跟踪、Occupancy、cuda与TensorRT模型部署、协同感知、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码学习)

b3e8c5844c8bfd91251afebea3fdcd91.png 视频官网:www.zdjszx.com

② 国内首个自动驾驶学习社区

近2000人的交流社区,涉及30+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(2D检测、分割、2D/3D车道线、BEV感知、3D目标检测、Occupancy、多传感器融合、多传感器标定、目标跟踪、光流估计)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

77b3bd01b3b6a9ec6a98274b46be830d.png

③【自动驾驶之心】技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多模态感知、Occupancy、多传感器融合、transformer、大模型、点云处理、端到端自动驾驶、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向。扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)

c935c3077b2c2ec2150d4f56622c81a5.jpeg

④【自动驾驶之心】平台矩阵,欢迎联系我们!

6438e16f4c1576f6fee81e3b3ee36f0b.jpeg

猜你喜欢

转载自blog.csdn.net/CV_Autobot/article/details/132114598