目标检测最新SOTA模型D-FINE

ops/2024/10/19 9:20:24/

2024年10月18号,中科大推出了 D-FINE,这是一款功能强大的实时物体检测器,通过重新定义 DETR 模型中的边界框回归任务实现了出色的定位精度。

摘要

D-FINE 包含两个关键组件:细粒度分布细化 (FDR) 和全局最优定位自蒸馏 (GO-LSD)。

  • FDR 将回归过程从预测固定坐标转变为迭代细化概率分布,从而提供细粒度的中间表示,显著提高定位精度。
  • GO-LSD是一种双向优化策略,它通过自蒸馏将定位知识从细化分布转移到较浅的层,同时还简化了较深层的残差预测任务。

此外,D-FINE 在计算密集型模块和操作中采用了轻量级优化,在速度和准确性之间实现了更好的平衡。具体来说,D-FINE-L / X 在 NVIDIA T4 GPU 上以 124 / 78 FPS 的速度在 COCO 数据集上实现了 54.0% / 55.8% 的 AP。在 Objects365 上进行预训练时,D-FINE-L / X 的 AP 达到 57.1% / 59.3%,超越了所有现有的实时检测器。此外,此文的方法显著提高了各种 DETR 模型的性能,AP 高达 5.3%,而额外参数和训练成本几乎可以忽略不计。

代码和预训练模型:https://github.com/Peterande/D-FINE
paper地址:D-FINE: Redefine Regression Task in DETRs as Fine-grained Distribution Refinement
在这里插入图片描述

方法

D-FINE重新定义了基于 DETR 的对象检测器中的回归任务,具有两种核心方法 FDRGO-LSD

FDR(细粒度分布细化)将边界框生成过程解耦:

1. 初始框预测:
与传统 DETR 方法类似,D-FINE首先将查询转换为解码器第一层中的几个初始边界框。这些框不需要高度准确,仅作为初始化。
2. 细粒度分布细化:
D-FINE解码器不是像传统方法那样直接解码新的边界框,而是根据这些初始边界框生成四个概率分布,并逐层迭代细化它们。这些分布本质上充当了检测框的“细粒度中间表示”。结合精心设计的加权函数,D-FINE通过微调这些表示来调整初始边界框,从而允许对边缘(顶部、底部、左侧和右侧)进行细微修改或显著移动。在这里插入图片描述

FDR 的主要优势:

  • 简化监督:在使用传统 L1 损失和 IOU损失优化检测框的同时,可以使用基本事实和预测之间的“残差”来约束中间概率分布。这使得每个解码层能够更有效地关注和解决其当前面临的定位误差。随着层数的增加,它们的优化目标变得越来越简单,从而简化了整体优化过程。
  • 复杂场景中的稳健性:概率分布本质上代表了对每个边缘进行不同“微调”调整的置信度。这使得检测器能够在每个阶段独立地模拟每个边缘的不确定性,使其能够以比直接回归四个固定值更高的稳健性处理复杂的现实场景,如遮挡、运动模糊和低光条件。
  • 灵活的细化机制:通过加权和将概率分布转化为最终的框偏移量。精心设计的加权函数确保在初始框准确时进行细粒度调整,并在必要时进行大幅度偏移。
  • 研究潜力与可扩展性:通过将回归任务转化为与分类任务一致的概率分布预测问题,FDR不仅增强了与其他任务的兼容性,而且还使对象检测模型能够从知识提炼、多任务学习和分布建模等领域的创新中受益。这为未来的研究开辟了新的途径。

GO-LSD(全局最优定位自蒸馏):将知识蒸馏集成到基于 FDR 的检测器中。
基于上述情况,配备FDR的探测器满足以下两点:

  • 实现知识迁移:网络的输出变成概率分布,这些分布携带局部化知识,通过计算 KLD损失可以从较深的层迁移到较浅的层。这是传统固定框表示(Dirac δ 函数)无法实现的。
  • 一致的优化目标:由于每一层都有一个共同的目标,即减少初始边界框和地面真实边界框之间的残差,因此最后一层生成的精确概率分布可以指导前面的层进行蒸馏。
    在这里插入图片描述

因此,在FDR的基础上提出了GO-LSD,通过实现网络层间局部化知识提炼,进一步扩展了D-FINE的功能。

这产生了双赢的协同效应:随着训练的进行,最后一层的预测变得越来越准确,其生成的软标签可以更好地帮助前面的层提高定位精度。相反,前面的层可以更快地学会准确定位,从而简化更深层的优化任务并进一步提高整体准确性。

结果

在 COCO (Lin et al., 2014a) 和 Objects365 (Shao et al., 2019) 数据集上进行了实验。使用标准 COCO 指标评估D-FINE,包括在 0.50 到 0.95 的 IoU 阈值上平均的平均精度(AP),以及特定阈值(AP 和 AP)下的 AP 以及不同对象尺度上的 AP:小(AP)、中型 (AP) 和大型 (AP)。此外,通过报告参数数量 (#Params.)、计算成本 (GFLOP) 和端到端延迟来提供模型效率指标。延迟是在 NVIDIA T4 GPU 上使用 TensorRT FP16 测量的。
在这里插入图片描述

跨检测场景的 FDR 可视化,具有初始和细化的边界框,以及未加权和加权分布,突出显示了定位精度的提高。在这里插入图片描述

结论及展望

D-FINE是一种强大的实时目标检测器,它通过细粒度分布细化(FDR)和全局最优定位自蒸馏(GO-LSD)重新定义了 DETR 模型中的边界框回归任务。 COCO 数据集上的实验结果表明,D-FINE 实现了最先进的精度和效率,超越了所有现有的实时检测器。
不足和未来的工作:
较轻的 D-FINE 模型和其他紧凑模型之间的性能差距仍然很小。一个可能的原因是浅解码器层可能会产生不太准确的最终层预测,从而限制了将定位知识提取到早期层的有效性。解决这一挑战需要在不增加推理延迟的情况下增强较轻模型的定位能力。
未来的研究可以研究先进的架构设计或新颖的训练范例,允许在训练期间包含额外的复杂解码器层,同时通过在测试时简单地丢弃它们来保持轻量级推理。


http://www.ppmy.cn/ops/126676.html

相关文章

eggjs sequelize egg-sequelize-auto自动从零生成一个数据表 自动创建model

sequelize egg-sequelize-auto整个过程还是有一些坑 包括兼容性问题 依赖安装问题 需要注意 缺少一个条件 包跑不起来 或使用体验很差 1. 全局安装插件 pnpm install -g sequelize-cli sequelize mysql2 egg-sequelize-auto 2. 执行命令创建 migrate迁移文件 以及 mod…

HDU RSA

翻译成中文后&#xff1a; 思路&#xff1a;由题易得&#xff0c;d * e y * f ( n ) 1 ,且gcd ( e , f ( n ) ) 1,所以用扩展欧几里得求出 d &#xff0c;但要保证 d 是非负的&#xff0c;最有用快速幂求出每个字符即可。 #include<bits/stdc.h> using namespace std;…

【计算机网络 - 基础问题】每日 3 题(四十二)

✍个人博客&#xff1a;https://blog.csdn.net/Newin2020?typeblog &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞…

Java生死簿管理小系统(简单实现)

学习总结 1、掌握 JAVA入门到进阶知识(持续写作中……&#xff09; 2、学会Oracle数据库入门到入土用法(创作中……&#xff09; 3、手把手教你开发炫酷的vbs脚本制作(完善中……&#xff09; 4、牛逼哄哄的 IDEA编程利器技巧(编写中……&#xff09; 5、面经吐血整理的 面试技…

几种HTTP请求参数的简单介绍

目录 一、概述 二、查询参数 三、JSON格式参数 四、x-www-form-urlencoded 五、multipart/form-data 一、概述 在 Web 开发中&#xff0c;前端需要与后端服务器进行数据交互&#xff0c;常见的方式是通过 HTTP 请求发送数据给后端。 本文章将介绍以下几种常用的请求参数…

cocos Creator + fairyGUI 快速入门

版本 Creator 3.8.x&#xff0c;FairyGUI 2022 大部分内容来自 https://en.fairygui.com/docs/sdk/creator 1.新建cocos项目&#xff0c;根目录运行 npm install --save fairygui-cc 引入 fairyGUI库 2.assets目录之外新建fairyGUI项目 3.fairyGUI中编辑UI 完成后发布到Creato…

上门按摩系统开发方案源码搭建

上门按摩系统开发方案 一、项目概述 上门按摩系统是一个连接按摩技师和客户的平台&#xff0c;旨在提供便捷、高效的上门按摩服务。通过该系统&#xff0c;客户可以轻松预约合适的按摩技师&#xff0c;并享受个性化的按摩服务。 二、系统功能模块 用户管理模块&#xff1a;…

一起搭WPF架构之livechart的MVVM使用介绍

一起搭WPF架构之livechart使用介绍 前言ModelViewModelView界面设计界面后端 效果总结 前言 简单的架构搭建已经快接近尾声了&#xff0c;考虑设计使用图表的形式将SQLite数据库中的数据展示出来。前期已经介绍了livechart的安装&#xff0c;今天就详细介绍一下livechart的使用…