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

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.rhkb.cn/news/451346.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【正点原子K210连载】第四十五章 人脸识别实验 摘自【正点原子】DNK210使用指南-CanMV版指南

第四十五章 人脸识别实验 在上一章节中,介绍了利用maix.KPU模块实现了人脸68关键点检测,本章将继续介绍利用maix.KPU模块实现的人脸识别。通过本章的学习,读者将学习到人脸识别应用在CanMV上的实现。 本章分为如下几个小节: 45.1…

vue3使用element-plus手动更改url后is-active和菜单的focus颜色不同步问题

在实习,给了个需求做个新的ui界面,遇到了一个非常烦人的问题 如下,手动修改url时,is-active和focus颜色不同步 虽然可以直接让el-menu-item:focus为白色能解决这个问题,但是我就是想要有颜色哈哈哈,有些执…

车载实操:一对一实操学习、CANoe实操学习、推荐就业机会、就业技术支持、协助面试辅导

FOTA模块中OTA的知识点:1.测试过程中发现哪几类问题? 可能就是一个单键的ecu,比如升了一个门的ecu,他的升了之后就关不上,还有就是升级组合ecu的时候,c屏上不显示进度条。 2.在做ota测试的过程中&#xff…

【鸡翅Club】项目启动

一、项目背景 这是一个 C端的社区项目,有博客、交流,面试学习,练题等模块。 项目的背景主要是我们想要通过面试题的分类,难度,打标,来评估员工的技术能力。同时在我们公司招聘季的时候,极大的…

前端SSR框架(Next、Nuxt)利用宝塔面板部署

1、部署的本质 SSR服务端渲染的框架部署区别于常规的CSR项目的部署,并不是打包之后访问某个文件就行,而是需要在服务器中运行项目之后访问某个地址,无论是基于Vue的Nuxt.js框架还是基于React的Next.js框架道理都是一样的 因此区别于CSR我们…

Django学习-静态文件

注意:配置项是个元祖,如果只有一项,别忘了在元素后面加逗号 settings: STATICFILES_DIRS (os.path.join(BASE_DIR,static),)urls: path(test_static, views.test_static)views: def test_static(request):return render(request,test_stat…

中科星图(GVE)——过火面积识别(dNBR)和CART方法进行火灾识别

目录 简介 函数 sampleRegions(collection,properties,scale,projection,tileScale,geometries) gve.Classifier.Cart(maxNodes,minLeafPopulation,maxDepth) updateMask(mask) 代码 网址推荐 知识星球 机器学习 简介 过火面积识别(dNBR)和CART…

Jlink 直接读取单片机数据

1. 驱动版本 因人而异,这里我使用的是 “J-Flash V6.96” 本人驱动链接:夸克网盘 提取码:rgzk 2. 打开软件 3. 创建jlink工程 4. 选择芯片 此处本人使用芯片 “STM32F103VCT6” 5. 连接单片机 连接成功反馈 6. 读取单片机内部数据 …

WordPress监控用户行为回放插件

在数字营销的世界里,了解用户行为是提升用户体验和转化率的关键。nicen-replay 插件,它能够让您轻松回放用户在网站上的每一步操作,从点击到滚动,再到表单填写,每一个细节都清晰可见 nicen-replay,是一款可…

目标检测——Cascade R-CNN算法解读

论文: Cascade R-CNN: Delving into High Quality Object Detection (2017.12.3) 链接:https://arxiv.org/abs/1712.00726 Cascade R-CNN: High Quality Object Detection and Instance Segmentation (2019.6.24) 链接:https://arxiv.org/abs…

Miniconda管理虚拟环境【Python环境配置】

Miniconda管理虚拟环境【Python环境配置】 1. 下载并安装Miniconda2. 管理虚拟环境3. 管理虚拟环境中的包 1. 下载并安装Miniconda 1. 下载 从清华大学开源软件镜像站 | Tsinghua Open Source Mirror 下载Miniconda:https://mirrors.tuna.tsinghua.edu.cn/anaconda…

基于YOLO11/v10/v8/v5深度学习的安检X光危险品检测与识别系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

技术分享:A-23OH型树脂在汽车涂装废溶剂回收中的应用

在当今汽车制造业竞争激烈的环境下,提高生产效率、降低成本的同时,满足环保要求已成为各制造商追求的核心目标。水性涂料因其环保、节能等多重优势,在汽车涂装领域的应用日益广泛。然而,随之而来的喷涂废溶剂处理问题也日益凸显。…

面试应该问什么?

在求职者面试的过程中,向面试官提问是一个展现自己积极态度、对职位和公司兴趣以及进一步了解工作环境和职业发展机会的重要环节。以下是一些求职者可以在面试中向面试官提问的问题,这些问题旨在帮助你更全面地了解未来的工作环境、团队文化、以及个人职…

【SSM详细教程】-04-Spring基于注解的组件扫描

精品专题: 01.《C语言从不挂科到高绩点》课程详细笔记 https://blog.csdn.net/yueyehuguang/category_12753294.html?spm1001.2014.3001.5482https://blog.csdn.net/yueyehuguang/category_12753294.html?spm1001.2014.3001.5482 02. 《SpringBoot详细教程》课…

HTML5教程(三)- 常用标签

1 文本标签-h 标题标签&#xff08;head&#xff09;&#xff1a; 自带加粗效果&#xff0c;从h1到h6字体大小逐级递减一个标题独占一行 语法 <h1>一级标题</h1><h2>二级标题</h2><h3>三级标题</h3><h4>四级标题</h4><h5…

CANoe_CDD_FaultMemory_显示<DTC is defined in the database>解决方法

1、显示<DTC is defined in the database> 2、问题原因 a、在Base Variant中的Fault Memory没有数据 b、新建数据&#xff08;参考导入或者新建方法&#xff09; c、复制数据过来 &#xff08;在Fault Memory中Diagnostic Trouble Codes的Avariable中全选复制到此处&am…

FFmpeg的简单使用【Windows】--- 指定视频的时长

目录 功能描述 效果展示 代码实现 前端代码 后端代码 routers 》users.js routers 》 index.js app.js 功能描述 此案例是在上一个案例【FFmpeg的简单使用【Windows】--- 视频混剪添加背景音乐-CSDN博客】的基础上的进一步完善&#xff0c;可以先去看上一个案例然后再…

Java基于SSM微信小程序物流仓库管理系统设计与实现(lw+数据库+讲解等)

选题背景 随着社会的发展&#xff0c;社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景&#xff0c;运用软件工程原理和开发方法&#xff0c;它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个…

mysql的各种存储引擎

文章目录 前言1. InnoDB特点 2. MyISAM特点innodb与myisam引擎之间的区别 3. MEMORY特点 4. ARCHIVE特点 5. NDBCluster特点 6. FEDERATED特点 7. CSV特点 总结 前言 MySQL 支持多种存储引擎&#xff0c;每种引擎都有其独特的功能和适用场景。存储引擎是指数据库管理系统用来存…