【论文解读】Deformable DETR | Deformable Transformers for End-to-End Object Detection

article/2025/8/7 7:56:46

图片
论文地址:https://arxiv.org/pdf/2010.04159
代码地址:https://github.com/fundamentalvision/Deformable-DETR

摘要

DETR最近被提出,旨在消除物体检测中许多手工设计的组件的需求,同时展示出良好的性能。然而,由于Transformer注意力模块在处理图像特征图方面的限制,它存在收敛速度慢特征空间分辨率有限的问题。为了缓解这些问题,本研究提出了Deformable DETR,其注意力模块仅关注参考点周围的一小部分关键采样点。Deformable DETR能够以比DETR少10倍的训练周期实现更好的性能(尤其是在小物体上)。在COCO基准上的大量实验证明了本研究方法的有效性。

图片

引言

现代目标检测器通常依赖于手工设计的组件,如anchor生成基于规则的训练目标分配非极大值抑制(NMS)后处理,这使得它们并非完全端到端。为了解决这个问题,DETR被提出,它通过结合卷积神经网络(CNN)Transformer编码器-解码器,构建了第一个完全端到端的目标检测器,并在性能上具有竞争力。DETR利用Transformer强大的关系建模能力来替代手工设计的规则,并在精心设计的训练信号下工作。

尽管DETR的设计和性能引人关注,但它也存在一些问题。首先,DETR需要比现有目标检测器更长的训练周期才能收敛。例如,在COCO基准测试中,DETR需要500个epoch才能收敛,这比Faster R-CNN慢10到20倍。其次,DETR在检测小目标时的性能相对较低。现代目标检测器通常利用多尺度特征,在高分辨率特征图上检测小目标。然而,高分辨率特征图会导致DETR无法接受的复杂度。这些问题主要归因于Transformer组件在处理图像特征图方面的不足。在初始化时,注意力模块几乎对特征图中的所有像素赋予均匀的注意力权重,因此需要长时间的训练才能使注意力权重学习到聚焦于稀疏且有意义的位置。此外,Transformer编码器中注意力权重的计算相对于像素数量是二次方的,因此处理高分辨率特征图的计算和内存复杂度非常高。

为了解决上述问题,本研究提出了Deformable DETR。该方法结合了可变形卷积的稀疏空间采样Transformer的关系建模能力。本研究提出了可变形注意力模块,该模块只关注参考点周围的一小部分关键采样点,作为从所有特征图像素中筛选出显著关键元素的一种预处理方式。该模块可以自然地扩展到聚合多尺度特征,而无需FPN的帮助。在Deformable DETR中,本研究利用多尺度可变形注意力模块来替代Transformer注意力模块,以处理特征图。

Deformable DETR的快速收敛以及计算和内存效率为本研究探索各种端到端目标检测器变体提供了可能。本研究探索了一种简单有效的迭代边界框细化机制,以提高检测性能。此外,本研究还尝试了一种两阶段Deformable DETR,其中区域提议也由Deformable DETR的变体生成,并进一步馈送到解码器以进行迭代边界框细化。

论文创新点

本研究提出了一种名为Deformable DETR的新型端到端目标检测器,旨在解决DETR在收敛速度慢和特征空间分辨率受限方面的问题。DETR在目标检测领域取得了显著进展,但其Transformer注意力模块在处理图像特征图时存在局限性,导致训练缓慢且对小目标检测性能不佳。为了克服这些限制,本研究做出了以下创新:

  1. 💡 可变形注意力模块(Deformable Attention Module): 💡

    • 本研究设计了一种新的注意力机制,即Deformable Attention Module。
    • 与传统Transformer的注意力机制不同,该模块仅关注参考点周围的一小部分关键采样点,从而显著减少了计算量和内存需求。
    • 这种稀疏空间采样的方式借鉴了可变形卷积的思想,使得模型能够更有效地处理图像特征图,加速收敛过程,并提升对小目标的检测能力
  2. 🔍 多尺度可变形注意力模块(Multi-scale Deformable Attention Module): 🔍

    • 为了更好地适应不同尺度上的目标检测,本研究将Deformable Attention Module扩展到多尺度特征图。
    • 该模块能够自然地聚合来自不同尺度特征图的信息,无需借助传统的特征金字塔网络(FPN)。
    • 通过在多个尺度上进行可变形采样,模型能够更全面地捕捉目标的上下文信息,进一步提升检测性能
  3. ⚙️ 可变形Transformer编码器(Deformable Transformer Encoder): ⚙️

    • 本研究将DETR中的Transformer注意力模块替换为本研究提出的多尺度可变形注意力模块。
    • 编码器的输入和输出均为多尺度特征图,且分辨率相同。
    • 这种设计使得编码器能够有效地处理多尺度特征,并提取出更具代表性的特征表示
  4. 📈 迭代边界框优化(Iterative Bounding Box Refinement): 📈

    • 本研究探索了一种简单有效的迭代边界框优化机制,以进一步提高检测性能。
    • 通过在解码器的每一层逐步优化边界框的预测结果,模型能够更准确地定位目标,并获得更精确的检测结果
  5. 🚀 双阶段Deformable DETR(Two-Stage Deformable DETR): 🚀

    • 为了进一步提升性能,本研究尝试了一种双阶段的Deformable DETR。
    • 第一阶段生成区域提议,第二阶段利用解码器对提议进行迭代优化。
    • 这种双阶段方法借鉴了传统目标检测器的思想,并将其与Deformable DETR相结合,从而进一步提高了检测精度

论文实验

图片
图片


http://www.hkcw.cn/article/OiWfqtYacO.shtml

相关文章

大语言模型的推理能力

2025年,各种会推理的AI模型如雨后春笋般涌现,比如ChatGPT o1/o3/o4、DeepSeek r1、Gemini 2 Flash Thinking、Claude 3.7 Sonnet (Extended Thinking)。 对于工程上一些问题比如复杂的自然语言转sql,我们可能忍受模型的得到正确答案需要更多…

PINN for PDE(偏微分方程)1 - 正向问题

PINN for PDE(偏微分方程)1 - 正向问题 目录 PINN for PDE(偏微分方程)1 - 正向问题一、什么是PINN的正问题二、求解的实际例子三、基于Pytorch实现的代码 - 分解3.1 引入库函数3.2 设置超参数3.3 设计随机种子,确保复现结果的一致性3.4 对于条件等式生成对应的训练…

Adobe LiveCycle ES、LiveCycle DS 与 BlazeDS 关系解析与比较

Adobe LiveCycle 系列产品是企业级解决方案的重要组成部分,但在命名和功能上常常造成混淆。 产品定义 Adobe LiveCycle ES (Enterprise Suite) LiveCycle ES是一个基于SOA的平台,部署在J2EE应用服务器上。它提供开发、部署、配置和执行服务的功能。基…

Redis最佳实践——性能优化技巧之监控与告警详解

Redis 在电商应用的性能优化技巧之监控与告警全面详解 一、监控体系构建 1. 核心监控指标矩阵 指标类别关键指标计算方式/说明健康阈值(参考值)内存相关used_memoryINFO Memory 获取不超过 maxmemory 的 80%mem_fragmentation_ratio内存碎片率 used_m…

使用 DeepSeek API 搭建智能体《无间》- 卓伊凡的完整指南 -优雅草卓伊凡

使用 DeepSeek API 搭建智能体《无间》- 卓伊凡的完整指南 -优雅草卓伊凡 作者:卓伊凡 前言:为什么选择 DeepSeek API,而非私有化部署? 在开始搭建智能体之前,我想先说明 为什么推荐使用 DeepSeek API,而…

lidar和imu的标定(三)平面约束的方法

看了一篇:基于平面特征的地面机器人雷达-惯性里程计外参标定方法; 它和GRIL-Calib不同之处,就是采用了平面优化和栅格优化。 栅格优化就不介绍了,感觉工程上不。 平面优化则很容易懂,就是标定出来了激光雷达到IMU之…

CppCon 2014 学习: C++ on Mars

主要介绍了如何在火星探测器的飞行软件中使用 C。: 介绍了火星探测器(如 Sojourner, Spirit, Opportunity, Curiosity, Perseverance)。强调其复杂性和自主性。 延迟的现实:地球与火星之间的通信时延 单程信号延迟为 4 到 22 分…

【MFC】初识MFC

目录 01 模态和非模态对话框 02 静态文本 static text 01 模态和非模态对话框 首先我们需要知道模态对话框和非模态对话框的区别: 模态对话框是一种阻塞时对话框,它会阻止用户与应用程序的其他部分进行交互,直到用户与该对话框进行交互并关…

C#数字图像处理(二)

文章目录 1.灰度直方图1.1 灰度直方图定义1.2 灰度直方图编程实例 2.线性点运算2.1线性点运算定义2.2 线性点运算编程实例 3.全等级直方图灰度拉伸3.1 灰度拉伸定义3.2 灰度拉伸编程实例 4.直方图均衡化4.1 直方图均衡化定义4.2 直方图均衡化编程实例 5.直方图匹配5.1 直方图匹…

SOC-ESP32S3部分:24-WiFi配网

飞书文档https://x509p6c8to.feishu.cn/wiki/OD4pwTE8Jift2IkYKdNcSckOnfd 对于WiFi类设备,最重要的功能之一就是联网,WiFi需要联网,就需要知道我们家里路由的账号和密码,像手机类型的高端设备没什么问题,我们可以直接…

使用langchain实现五种分块策略:语义分块、父文档分块、递归分块、特殊格式、固定长度分块

文章目录 分块策略详解1. 固定长度拆分(简单粗暴)2. 递归字符拆分(智能切割)3. 特殊格式拆分(定向打击)Markdown分块 4. 语义分割(更智能切割)基于Embedding的语义分块基于模型的端到…

(七)【Linux进程的创建、终止和等待】

1 进程创建 1.1 在谈fork函数 #include <unistd.h> // 需要的头文件// 返回值&#xff1a;子进程中返回0&#xff0c;父进程返回子进程id&#xff0c;出错返回-1调用fork函数后&#xff0c;内核做了下面的工作&#xff1a; 创建了一个子进程的PCB结构体、并拷贝一份相…

EMO2:基于末端执行器引导的音频驱动虚拟形象视频生成

今天带来EMO2&#xff08;全称End-Effector Guided Audio-Driven Avatar Video Generation&#xff09;是阿里巴巴智能计算研究院研发的创新型音频驱动视频生成技术。该技术通过结合音频输入和静态人像照片&#xff0c;生成高度逼真且富有表现力的动态视频内容&#xff0c;值得…

Baklib知识中台加速企业服务智能化实践

知识中台架构体系构建 Baklib 通过构建多层级架构体系实现知识中台的底层支撑&#xff0c;其核心包含数据采集层、知识加工层、服务输出层及智能应用层。在数据采集端&#xff0c;系统支持对接CRM、ERP等业务系统&#xff0c;结合NLP技术实现非结构化数据的自动抽取&#xff1…

GpuGeek 618大促引爆AI开发新体验

随着生成式AI技术迅猛发展&#xff0c;高效可靠的算力资源已成为企业和开发者突破创新瓶颈的战略支点。根据赛迪顾问最新发布的《2025中国AI Infra平台市场发展研究报告》显示&#xff0c;2025年中国生成式人工智能企业应用市场规模将达到629.0亿元&#xff0c;作为AI企业级应用…

Linux线程同步实战:多线程程序的同步与调度

个人主页&#xff1a;chian-ocean 文章专栏-Linux Linux线程同步实战&#xff1a;多线程程序的同步与调度 个人主页&#xff1a;chian-ocean文章专栏-Linux 前言&#xff1a;为什么要实现线程同步线程饥饿&#xff08;Thread Starvation&#xff09;示例&#xff1a;抢票问题 …

任务22:创建示例Django项目,展示ECharts图形示例

任务描述 知识点&#xff1a; DjangoECharts 重 点&#xff1a; DjangoECharts 内 容&#xff1a; 创建Django项目掌握ECharts绘制图形通过官网ECharts示例&#xff0c;完成Django项目&#xff0c;并通过配置项进行修改图形 任务指导 1、创建web_test的Django项目 2…

深度学习入门Day1--Python基础

一、基础语法 1.变量 python是“动态类型语言”的编程语言。用户无需明确指出x的类型是int。 x10 #初始化 print(x) #输出x x100 #赋值 print(x) print(type(x))#输出x的类型<class int>2.算术计算 >>>4*5 >20 >>>3**3#**表示乘方&#xff08;3…

九坤:熵最小化加速LLM收敛

&#x1f4d6;标题&#xff1a;One-shot Entropy Minimization &#x1f310;来源&#xff1a;arXiv, 2505.20282 &#x1f31f;摘要 我们训练了 13,440 个大型语言模型&#xff0c;发现熵最小化只需要一个未标记的数据和 10 步优化&#xff0c;以实现比使用数千个数据获得的…

微服务面试(分布式事务、注册中心、远程调用、服务保护)

1.分布式事务 分布式事务&#xff0c;就是指不是在单个服务或单个数据库架构下&#xff0c;产生的事务&#xff0c;例如&#xff1a; 跨数据源的分布式事务跨服务的分布式事务综合情况 我们之前解决分布式事务问题是直接使用Seata框架的AT模式&#xff0c;但是解决分布式事务…