0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Focus-DETR:30%Token就能实现SOTA性能,效率倍增

深度学习自然语言处理 来源:深度学习自然语言处理 2023-08-02 15:12 次阅读

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

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

为实现模型性能和计算资源消耗、显存消耗、推理时延之间的平衡,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 的效率至关重要。

761e2780-2fb3-11ee-9e74-dac502259ad0.png

图 1:多个 DETR 类检测器的计算量和时延对比分析

网络结构

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

7648530c-2fb3-11ee-9e74-dac502259ad0.png

图 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 的筛选。

765cdfd4-2fb3-11ee-9e74-dac502259ad0.png

图 3:Focus-DETR 和 Sparse DETR 在不同 feature map 上保留的 token 对比

为了更好地训练前景筛选器,作者优化了 FCOS 的前背景标签分配策略,如图 4 所示。作者首先为不同特征映射的包围框设置了一个大小范围。与传统的多尺度特征标签分配方法不同,它允许相邻两个特征尺度之间的范围重叠,以增强边界附近的预测能力。

对每个拥有步长7667b5a8-2fb3-11ee-9e74-dac502259ad0.png 的特征 7679683e-2fb3-11ee-9e74-dac502259ad0.png ,其中76882f54-2fb3-11ee-9e74-dac502259ad0.png代表多尺度特征的层级序号,7692d1e8-2fb3-11ee-9e74-dac502259ad0.png 代表在二维特征图上的位置坐标,作者定义该特征在原图上的映射位置为 769f6c1e-2fb3-11ee-9e74-dac502259ad0.png,那么 76a9bdc2-2fb3-11ee-9e74-dac502259ad0.png,因此 7679683e-2fb3-11ee-9e74-dac502259ad0.png 特征所对应的标签应该为:  

76cd5a2a-2fb3-11ee-9e74-dac502259ad0.png

其中76e014e4-2fb3-11ee-9e74-dac502259ad0.png 代表坐标和真值框中心之间的最大棋盘距离,76ea0a9e-2fb3-11ee-9e74-dac502259ad0.png 代表真值目标框,76f2c8e6-2fb3-11ee-9e74-dac502259ad0.png 分别代表被第76882f54-2fb3-11ee-9e74-dac502259ad0.png层特征图预测的目标的尺度的最大值和最小值,由于尺度重叠设置,771367fe-2fb3-11ee-9e74-dac502259ad0.png。   77227302-2fb3-11ee-9e74-dac502259ad0.png

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

此外,来自不同特征映射的特征选择的差异也被忽略,这限制了从最合适的分辨率选择特征的潜力。

为弥补这一差距,Focus-DETR 构造了基于多尺度 feature map 的自顶向下的评分调制模块,如图 5 所示。

为了充分利用多尺度特征图之间的语义关联,作者首先使用多层感知器 (MLP) 模块来预测每个特征图中的多类别语义得分。

考虑到高层语义特征,低层语义特征包含更丰富的语义信息,作者利用高层 feature map 的 token 重要性得分,作为补充信息来调制低层 feature map 的预测结果。

7733d976-2fb3-11ee-9e74-dac502259ad0.png

图 5:top-down 前景筛选评分调制策略

细粒度特征增强策略

在依靠前期设计的前景筛选器得到较为准确的前景特征后,Focus-DETR 使用一种有效的操作来获得更为细粒度的特征,利用这些细粒度特征以获得更好的检测性能。直观地说,作者假设在这个场景中引入更细粒度的类别信息将是有益的。基于这一动机,作者提出了一种新的注意力机制,并结合前景特征选择,以更好地结合利用细粒度特征和前景特征。

如图 2 所示,为了避免对背景 token 进行冗余的计算,作者采用了一种同时考虑位置信息和类别语义信息的堆叠策略。具体来说,预测器773e1cf6-2fb3-11ee-9e74-dac502259ad0.png (・) 计算出的前景评分775505a6-2fb3-11ee-9e74-dac502259ad0.png和类别评分77660900-2fb3-11ee-9e74-dac502259ad0.png的乘积将作为作者最终的标准7774eed4-2fb3-11ee-9e74-dac502259ad0.png来确定注意力计算中涉及的细粒度特征,即:

7785bef8-2fb3-11ee-9e74-dac502259ad0.png  

其中775505a6-2fb3-11ee-9e74-dac502259ad0.png77660900-2fb3-11ee-9e74-dac502259ad0.png分别代表前景得分和类别概率。  

与两阶段 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%。

77ac6a44-2fb3-11ee-9e74-dac502259ad0.png

表 1:总体对比实验结果

模型效能分析

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

77e93e24-2fb3-11ee-9e74-dac502259ad0.png

图 6 不同模型测试精度和计算复杂度之间的关联分析

消融实验

如表 2 所示,作者针对模型设计进行消融实验,以验证作者提出的算法的有效性。

78083626-2fb3-11ee-9e74-dac502259ad0.png  

表 2 本研究提出的前景特征剪枝策略和细粒度特征自注意力增强模块对实验性能的影响

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

直接使用前景得分预测 AP 为 47.8,增加 label assignment 策略生成的标签作为监督,AP 提升 1.0。增加自上而下的调制策略,能够提升多尺度特征图之间的交互,AP 提升 0.4。这表明提出的策略对于提升精度是非常有效的。

如图 7 可视化可以发现,Focus-DETR 可以精确地选择多尺度特征上的前景 token。并且可以发现,在不同尺度的特征度之间,可以检测的物体存在重叠,这正是因为 Focus-DETR 使用了交叠的设置导致的。

7817ccbc-2fb3-11ee-9e74-dac502259ad0.png

图 7 多尺度特征保留的 token

2. 自上而下的评分调制策略的影响

78791dbe-2fb3-11ee-9e74-dac502259ad0.png

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

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

3. 前景保留比率对实验性能的影响

78917abc-2fb3-11ee-9e74-dac502259ad0.png

表 4.Focus-DETR、Sparse DETR 和 DINO+Sparse DETR 保留前景 token 的比例

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

总结

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





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 检测器
    +关注

    关注

    1

    文章

    860

    浏览量

    47651
  • FPS
    FPS
    +关注

    关注

    0

    文章

    35

    浏览量

    11963
  • DAM
    DAM
    +关注

    关注

    0

    文章

    8

    浏览量

    9511
  • MLP
    MLP
    +关注

    关注

    0

    文章

    57

    浏览量

    4228

原文标题:华为 | Focus-DETR:30%Token就能实现SOTA性能,效率倍增

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    旋变位置不变的情况下,当使能SOTA功能与关闭SOTA功能时,APP中DSADC采样得到的旋变sin和cos两者值不一样,为什么?

    旋变位置不变的情况下,当使能SOTA功能与关闭SOTA功能时,APP中DSADC采样得到的旋变sin和cos两者值不一样,用示波器采的输入到MCU端的差分电压是一样的,难道是SOTA使能后影响了MCU芯片内部的等效阻抗吗,有专家
    发表于 05-17 08:13

    NB81是否支持OneNet SOTA功能?应该如何激活SOTA

    NB81是否支持OneNet SOTA功能? 可以支持,应该如何激活SOTA
    发表于 06-04 06:14

    SOTA的定义是什么?常规的实现方式有哪些

    1.SOTA的定义SOTA即软件在线升级(Software updates Over The Air),是指在不连接烧写器的情况下,通过CAN、UART或其它通讯方式,实现应用程序的更新。在进行
    发表于 02-14 06:14

    Json Web Token是什么?有哪些应用呢

    Json Web Token (JWT),是一个非常轻巧的规范,这个规范允许在网络应用环境间客户端和服务器间较安全的传递信息。该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO
    发表于 10-18 14:34

    SOTA机制详解

    1.SOTA的定义SOTA即软件在线升级(Software updates Over The Air),是指在不连接烧写器的情况下,通过CAN、UART或其它通讯方式,实现应用程序的更新。在进行
    发表于 12-09 15:06 10次下载
    <b class='flag-5'>SOTA</b>机制详解

    RT-DETR用114FPS实现54.8AP远超YOLOv8

    最近,基于Transformer的端到端检测器(DETR)已经取得了显著的性能。然而,DETR的高计算成本问题尚未得到有效解决,这限制了它们的实际应用,并使它们无法充分利用无后处理的好处,如非最大值抑制(NMS)。
    的头像 发表于 04-20 09:59 981次阅读

    通过A2B更新软件—A2B如何给汽车应用中的SOTA带来变革

    无线软件升级(SOTA)正迅速成为汽车OEM须开发和部署的重要能力。更新模块、支持客户、和通过附加特性带来利润的能力,使得掌握SOTA成为一个有吸引力的主张。本文讨论SOTA为何出现在汽车环境中,如何部署
    的头像 发表于 06-15 16:02 1710次阅读
    通过A2B更新软件—A2B如何给汽车应用中的<b class='flag-5'>SOTA</b>带来变革

    一种新型的DETR轻量化模型Focus-DETR

    作者对多个 DETR 类检测器的 GFLOPs 和时延进行了对比分析,如图 1 所示。从图中发现,在 Deformable-DETR 和 DINO 中,encoder 的计算量分别是 decoder
    的头像 发表于 08-02 15:34 614次阅读
    一种新型的<b class='flag-5'>DETR</b>轻量化模型<b class='flag-5'>Focus-DETR</b>

    华为诺亚提出全新目标检测器Focus-DETR

    实现模型性能和计算资源消耗、显存消耗、推理时延之间的平衡,Focus-DETR 利用精细设计的前景特征选择策略,实现了目标检测高相关特征的精确筛选;继而,
    的头像 发表于 08-02 15:43 529次阅读
    华为诺亚提出全新目标检测器<b class='flag-5'>Focus-DETR</b>

    人工智能SOTA什么意思

    人工智能SOTA什么意思 人工智能SOTA是机器学习领域中的一个术语,指的是目前能够实现的最佳结果,SOTA是State of the art的缩写,意为“最新技术”的最佳状态。在人工
    的头像 发表于 08-22 16:45 1.9w次阅读

    DETR架构的内部工作方式分析

    这是一个Facebook的目标检测Transformer (DETR)的完整指南。   介绍 DEtection TRansformer (DETR)是Facebook研究团队巧妙地利
    的头像 发表于 08-30 10:53 938次阅读
    <b class='flag-5'>DETR</b>架构的内部工作方式分析

    基于OpenVINO Python API部署RT-DETR模型

    RT-DETR 是在 DETR 模型基础上进行改进的,一种基于 DETR 架构的实时端到端检测器,它通过使用一系列新的技术和算法,实现了更高效的训练和推理,我们将在 Python、C+
    的头像 发表于 10-20 11:15 908次阅读
    基于OpenVINO Python API部署RT-<b class='flag-5'>DETR</b>模型

    基于OpenVINO C++ API部署RT-DETR模型

    RT-DETR 是在 DETR 模型基础上进行改进的,一种基于 DETR 架构的实时端到端检测器,它通过使用一系列新的技术和算法,实现了更高效的训练和推理,在前文我们发表了《基于 Op
    的头像 发表于 11-03 14:30 778次阅读
    基于OpenVINO C++ API部署RT-<b class='flag-5'>DETR</b>模型

    基于OpenVINO C# API部署RT-DETR模型

    RT-DETR 是在 DETR 模型基础上进行改进的,一种基于 DETR 架构的实时端到端检测器,它通过使用一系列新的技术和算法,实现了更高效的训练和推理,在前文我们发表了《基于 Op
    的头像 发表于 11-10 16:59 711次阅读
    基于OpenVINO C# API部署RT-<b class='flag-5'>DETR</b>模型

    MS-DETR和其他SOTA方法的对比

    混合监督会产生比基线更低的一对一损失。x轴对应epoch,y轴对应一对一监督的训练损失。虚线和实线分别对应于Deformable DETR基线和MS - DETR的损失曲线。
    的头像 发表于 01-23 14:14 525次阅读
    MS-<b class='flag-5'>DETR</b>和其他<b class='flag-5'>SOTA</b>方法的对比