Focus-DETR

目前 DETR 类模型已经成为了目标检测的一个主流范式。但 DETR 算法模型复杂度高,推理速度低,严重影响了高准确度目标检测模型在端侧设备的部署,加大了学术研究和产业应用之间的鸿沟。

来自华为诺亚、华中科技大学的研究者们设计了一种新型的 DETR 轻量化模型 Focus-DETR 来解决这个难题。

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

  • 代码地址 - mindspore:https://github.com/linxid/Focus-DETR

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

这篇论文的研究背景是基于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的方法,本文通过引入定位和语义双重信息进行多级语义判别,并在此基础上进行表示增强,可靠性更高,从而取得了更好的性能。

为实现模型性能和计算资源消耗、显存消耗、推理时延之间的平衡,Focus-DETR 利用精细设计的前景特征选择策略,实现了目标检测高相关特征的精确筛选;继而,Focus-DETR 进一步提出了针对筛选后特征的注意力增强机制,来弥补 Deformable attention 远距离信息交互的缺失。相比业界全输入 SOTA 模型, AP 降低 0.5 以内,计算量降低 45%,FPS 提高 41%,并在多个 DETR-like 模型中进行了适配。

作者对多个 DETR 类检测器的 GFLOPs 和时延进行了对比分析,如图 1 所示。从图中发现,在 Deformable-DETR 和 DINO 中,encoder 的计算量分别是 decoder 计算量的 8.8 倍和 7 倍。同时,encoder 的时延大概是 decoder 时延的 4~8 倍。这表明,提升 encoder 的效率至关重要。图 1:多个 DETR 类检测器的计算量和时延对比分析

网络结构

Focus-DETR 包括一个 backbone,一个由 dual-attention 组成的 encoder 和一个 decoder。前景选择器(Foreground Token Selector)在 backbone 和 encoder 之间,是一个基于跨多尺度特征的自顶向下评分调制,用来确定一个 token 是否属于前景。Dual attention 模块通过多类别评分机制,选择更细粒度的目标 token,然后将其输入到一个自注意模块来弥补 token 交互信息的缺失。图 2 :Focus-DETR 整体网络结构

计算量降低:前景筛选策略

目前已经有一些对于前景 token 进行剪枝提升性能的方法。例如,Sparse DETR(ICLR2022)提出采用 decoder 的 DAM(decoder attention map)作为监督信息。然而作者发现,如图 3 所示,Sparse DETR 筛选的 token 并不都是前景区域。作者认为,这是由于 Sparse DETR 使用 DAM 来监督前景 token 导致的,DAM 会在训练的时候引入误差。而 Focus-DETR 使用 ground truth(boxes 和 label)来监督前景的 token 的筛选。图 3:Focus-DETR 和 Sparse DETR 在不同 feature map 上保留的 token 对比

图 4. 前背景标签分配可视化

此外,来自不同特征映射的特征选择的差异也被忽略,这限制了从最合适的分辨率选择特征的潜力。为弥补这一差距,Focus-DETR 构造了基于多尺度 feature map 的自顶向下的评分调制模块,如图 5 所示。为了充分利用多尺度特征图之间的语义关联,作者首先使用多层感知器 (MLP) 模块来预测每个特征图中的多类别语义得分。考虑到高层语义特征,低层语义特征包含更丰富的语义信息,作者利用高层 feature map 的 token 重要性得分,作为补充信息来调制低层 feature map 的预测结果。图 5:top-down 前景筛选评分调制策略

细粒度特征增强策略

在依靠前期设计的前景筛选器得到较为准确的前景特征后,Focus-DETR 使用一种有效的操作来获得更为细粒度的特征,利用这些细粒度特征以获得更好的检测性能。直观地说,作者假设在这个场景中引入更细粒度的类别信息将是有益的。基于这一动机,作者提出了一种新的注意力机制,并结合前景特征选择,以更好地结合利用细粒度特征和前景特征。与两阶段 Deformable DETR 的 query 选择策略不同,Focus-DETR 的多类别概率不包括背景类别 (∅)。该模块可以被视为一个 self-attention ,对细粒度特征进行增强计算。然后,已增强的特征将被 scatter 回原始的前景特征并对其进行更新。

实验结果

主要结果

如表一所示,作者将 Focus-DETR 在 COCO 验证集上和其他模型的性能进行比较。可以发现同样基于 DINO,Focus-DETR 仅使用 30% token 的情况下,超过 Sparse DETR 2.2 个 AP。相比原始 DINO,仅损失 0.5 个 AP,但是计算量降低 45%,推理速度提升 40.8%。表 1:总体对比实验结果

模型效能分析

在图 6 中,从不同模型的精度和计算量之间的关系来看,Focus-DETR 在精度和计算复杂度之间达到了最好的平衡。整体来看对比其他模型,获得了 SOTA 的性能。图 6 不同模型测试精度和计算复杂度之间的关联分析 

消融实验

如表 2 所示,作者针对模型设计进行消融实验,以验证作者提出的算法的有效性。表 2 本研究提出的前景特征剪枝策略和细粒度特征自注意力增强模块对实验性能的影响

1. 前景特征选择策略的影响 

直接使用前景得分预测 AP 为 47.8,增加 label assignment 策略生成的标签作为监督,AP 提升 1.0。增加自上而下的调制策略,能够提升多尺度特征图之间的交互,AP 提升 0.4。这表明提出的策略对于提升精度是非常有效的。如图 7 可视化可以发现,Focus-DETR 可以精确地选择多尺度特征上的前景 token。并且可以发现,在不同尺度的特征度之间,可以检测的物体存在重叠,这正是因为 Focus-DETR 使用了交叠的设置导致的。图 7 多尺度特征保留的 token

2. 自上而下的评分调制策略的影响 表 3. 多尺度特征图前景评分的关联方法,作者尝试自顶向下和自底向上的调制。

作者对比了自上而下的调制策略和自下而上的调制策略的影响,对比结果可以发现,作者提出的自上而下的调制策略可以获得更好的性能。

3. 前景保留比率对实验性能的影响 表 4.Focus-DETR、Sparse DETR 和 DINO+Sparse DETR 保留前景 token 的比例

作者对比了不同的剪枝比例的性能,从实验结果可以发现,Focus-DETR 在相同的剪枝比例情况下,均获得了更优的结果。whaosoft aiot http://143ai.com

总结

Focus-DETR 仅利用 30% 的前景 token 便实现了近似的性能,在计算效率和模型精度之间取得了更好的权衡。Focus-DETR 的核心组件是一种基于多层次的语义特征的前景 token 选择器,同时考虑了位置和语义信息。Focus-DETR 通过精确地选择前景和细粒度特征,并且对细粒度特征进行语义增强,使得模型复杂度和精度实现更好平衡。

猜你喜欢

转载自blog.csdn.net/qq_29788741/article/details/132025652