【详细版】DETR系列之Deformable DETR(2021 ICLR)

论文标题 Deformable DETR: Deformable Transformers for End-to-End Object Detection
论文作者 Xizhou Zhu, Weijie Su, Lewei Lu, Bin Li, Xiaogang Wang, Jifeng Dai
发表日期 2021年03月01日
GB引用 > Xizhou Zhu, Weijie Su, Lewei Lu, et al. Deformable DETR: Deformable Transformers for End-to-End Object Detection.[J]. CoRR, 2020, abs/2010.04159.
>
DOI https://arxiv.org/abs/2010.04159

摘要

Deformable DETR是一种端到端的目标检测器,通过引入可变形注意力机制解决DETR在处理图像特征图时收敛慢和特征空间分辨率低的问题。该模型仅关注参考点周围的少量关键采样点,从而实现比DETR更好的性能(尤其是在小目标检测上),并且只需其十分之一的训练周期。实验表明,Deformable DETR在COCO数据集上的表现优于DETR,并且具有更快的收敛速度和更高的运行效率。

这篇论文的主要内容可以总结如下:

  1. 问题背景:DETR作为一种端到端的目标检测方法,虽然在消除手工设计组件方面取得了进展,但存在收敛速度慢小目标检测性能有限的问题。
  2. Deformable DETR提出:为了解决这些问题,论文提出了Deformable DETR,这是一种改进的Transformer模型,它通过引入可变形注意力模块来增强模型对关键特征点的聚焦能力。
  3. 核心创新
    • 可变形注意力模块:只关注参考点周围的一小部分关键采样点,减少计算量,加快收敛速度。
    • 多尺度可变形注意力:自然扩展到多尺度特征图,无需依赖FPN等结构。
  4. 方法细节
    • 编码器和解码器:使用多尺度可变形注意力模块替换DETR中的Transformer注意力模块。
    • 迭代边界框细化:在解码器中引入迭代机制,逐层细化预测的边界框。
    • 两阶段Deformable DETR:第一阶段生成区域提议,第二阶段进行细化。
  5. 实验验证
    • 在COCO数据集上进行了广泛的实验,证明了Deformable DETR在检测性能、特别是小目标检测上的优势。
    • 收敛速度显著提升,训练周期大大减少。
  6. 消融实验:对可变形注意力模块的不同设计选择进行了消融实验,展示了多尺度输入和采样点数量对性能的影响。
  7. 与最先进方法的比较:使用不同骨干网络的Deformable DETR与其他最先进目标检测方法进行了比较,展示了其竞争力。
  8. 可视化分析:通过可视化分析,展示了Deformable DETR在最终检测结果中关注图像的哪些部分,以及多尺度可变形注意力模块的学习情况。
  9. 结论:Deformable DETR作为一种高效且快速收敛的端到端目标检测方法,为探索更多有趣的端到端目标检测变体提供了新的可能性。
  10. 未来工作:论文最后提出了一些可能的研究方向,包括注意力机制的改进、多尺度特征融合策略、模型泛化能力等。 整体而言,这篇论文通过引入可变形注意力机制,有效地提升了目标检测的性能和效率,特别是在小目标和快速收敛方面取得了显著的进展。

研究问题

如何设计一种高效的注意力机制来解决基于Transformer的端到端目标检测器在处理图像特征图时遇到的收敛慢和特征空间分辨率低的问题?

研究方法

实验研究: 该研究通过提出Deformable DETR模型,并在COCO 2017数据集上进行了广泛的实验,验证了其有效性。研究中使用了预训练的ResNet-50作为主干网络,并且没有使用FPN。模型在不同的训练策略和参数设置下进行了测试,以评估其性能。

比较研究: 研究对比了Deformable DETR与DETR、Faster R-CNN + FPN等其他检测模型的性能。结果显示,Deformable DETR在检测小物体方面表现更优,且所需的训练轮数仅为DETR的十分之一。

混合方法研究: 研究结合了迭代边界框细化机制和两阶段检测框架,进一步提高了检测精度。通过引入这两种改进措施,Deformable DETR在COCO 2017验证集上的性能得到了显著提升。

研究思路与解决方案

解决方案: 通过引入变形注意力模块,Deformable DETR解决了传统DETR在处理图像特征图时遇到的收敛慢和高复杂度的问题。该模块只关注参考点周围的少量关键采样点,而不是整个空间位置,从而提高了处理效率和性能。

研究思路:

  1. 设计并实现变形注意力模块,用于替代DETR中处理特征图的传统Transformer注意力模块。
    • Deformable Attention Module(可变形注意力模块): - 受到可变形卷积的启发,Deformable DETR引入了可变形注意力模块,该模块只关注参考点周围的一小部分关键采样点,而不是像传统Transformer那样关注所有可能的空间位置。这减少了计算量,并加快了收敛速度。
  2. 探索多尺度变形注意力模块,允许不同尺度特征之间的信息交换。
    • Multi-scale Deformable Attention Module(多尺度可变形注意力模块): - 为了利用多尺度特征图,Deformable DETR扩展了可变形注意力模块,使其能够在不同尺度的特征图上进行采样,从而更有效地表示不同尺寸的物体。
    • Deformable Transformer Encoder and Decoder(可变形Transformer编码器和解码器): - 用提出的多尺度可变形注意力模块替换DETR中的Transformer注意力模块,以处理多尺度特征图。编码器和解码器的输入和输出都是具有相同分辨率的多尺度特征图。
    • Efficient and Fast Converging Detection System(高效且快速收敛的检测系统): - 通过替代DETR中的注意力模块,Deformable DETR建立了一个高效且快速收敛的检测系统,减少了训练周期,提高了小目标的检测性能。
  3. 引入迭代边界框细化机制以进一步提高检测性能。
    • Iterative Bounding Box Refinement(迭代边界框细化): - 受到光流估计中迭代细化的启发,Deformable DETR实现了一种简单的迭代边界框细化机制,每个解码器层都基于前一层的预测来细化边界框。
  4. 探索两阶段变形DETR模型,生成区域建议作为第一阶段,然后将这些区域建议送入解码器进行进一步细化。
    • Two-Stage Deformable DETR(两阶段Deformable DETR): - 借鉴两阶段目标检测器的思想,Deformable DETR的一个变体在第一阶段生成区域提议,然后在第二阶段对这些提议进行细化,形成一个两阶段的检测流程。
    • Implementation Details(实现细节): - 论文还提供了实现细节,包括网络结构、训练策略、损失函数选择等,确保了Deformable DETR的有效实现和性能提升。

可变形Transformer用于端到端目标检测

可变形注意力模块。应用 Transformer 注意力在图像特征图上的核心问题在于它会查看所有可能的空间位置。为了解决这个问题,我们提出了一种可变形注意力模块。受到可变形卷积(Dai等人,2017;Zhu等人,2019年b)的启发,可变形注意模块只关注参考点周围的一组关键采样点,而不考虑特征图的空间大小,如图2所示。通过为每个查询分配一小部分固定的键,可以缓解收敛性和特征空间分辨率的问题。

给定输入特征图 x ∈ R C × H × W x\in\mathbb{R}^{C\times H\times W} xRC×H×W,令 q q q索引具有内容特征 z q z_q zq和二维参考点 p q p_q pq的查询元素,则可变形注意力特征由计算得出:

DeformAttn ( z q , p q , x ) = ∑ m = 1 M W m [ ∑ k = 1 K A m q k ⋅ W m ′ x ( p q + Δ p m q k ) ] ,          ( 2 ) \text{DeformAttn}(\boldsymbol{z}_q,\boldsymbol{p}_q,\boldsymbol{x})=\sum_{m=1}^M\boldsymbol{W}_m\left[\sum_{k=1}^KA_{mqk}\cdot\boldsymbol{W}_m^{\prime}\boldsymbol{x}(\boldsymbol{p}_q+\Delta\boldsymbol{p}_{mqk})\right],\ \ \ \ \ \ \ \ \mathrm{(2)} DeformAttn(zq,pq,x)=m=1MWm[k=1KAmqkWmx(pq+Δpmqk)],        (2)

其中, m m m索引注意头, k k k索引采样键, K K K是总采样键数( K ≪ H W K\ll HW KHW)。 Δ p m q k \Delta\boldsymbol{p}_{mqk} Δpmqk A m q k A_{mqk} Amqk分别表示在第 m m m个注意头上第 k k k个采样点的采样偏移量和注意力权重。 A m q k A_{mqk} Amqk的标量注意力权重位于 [ 0 , 1 ] [0,1] [0,1]范围内,并通过归一化 ∑ k = 1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/967762.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

从云原生到 AI 原生,谈谈我经历的网关发展历程和趋势

作者:谢吉宝(唐三) 编者按: 云原生 API 网关系列教程即将推出,欢迎文末查看教程内容。本文整理自阿里云智能集团资深技术专家,云原生产品线中间件负责人谢吉宝(唐三) 在云栖大会的精…

基于机器学习时序库pmdarima实现时序预测

目录 一、Pmdarima实现单变量序列预测1.1 核心功能与特性1.2 技术优势对比1.3 python案例1.3.1 时间序列交叉验证1.3.1.1 滚动交叉验证1.3.1.2 滑窗交叉验证 时间序列相关参考文章: 时间序列预测算法—ARIMA 基于VARMAX模型的多变量时序数据预测 基于机器学习时序库…

【文本处理】如何在批量WORD和txt文本提取手机号码,固话号码,提取邮箱,删除中文,删除英文,提取车牌号等等一些文本提取固定格式的操作,基于WPF的解决方案

企业的应用场景 数据清洗:在进行数据导入或分析之前,往往需要对大量文本数据进行预处理,比如去除文本中的无关字符(中文、英文),只保留需要的联系信息(手机号码、固话号码、邮箱)。…

小游戏源码开发之可跨app软件对接是如何设计和开发的

专业小游戏开发的团队往往会面临跨领域和不同平台客户需要追加同一款游戏的需求,所以就要设计和开发一款可任意对接不同 App 软件的小游戏,那么针对这类需求小游戏开发团队早已有了成熟的解决方案,针对设计和开发可跨平台游戏对接大概流程简单…

C# Winform 使用委托实现C++中回调函数的功能

C# Winform 使用委托实现C中回调函数的功能 在项目中遇到了使用C#调用C封装的接口,其中C接口有一个回调函数的参数。参考对比后,在C#中是使用委托(delegate)来实现类似的功能。 下面使用一个示例来介绍具体的使用方式: 第一步:…

从基础到人脸识别与目标检测

前言 从本文开始,我们将开始学习ROS机器视觉处理,刚开始先学习一部分外围的知识,为后续的人脸识别、目标跟踪和YOLOV5目标检测做准备工作。我采用的笔记本是联想拯救者游戏本,系统采用Ubuntu20.04,ROS采用noetic。 颜…

未来替代手机的产品,而非手机的本身

替代手机的产品包括以下几种: 可穿戴设备:智能手表、智能眼镜等可穿戴设备可以提供类似手机的功能,如通话、信息推送、浏览网页等。 虚拟现实(VR)技术:通过佩戴VR头显,用户可以进行语音通话、发…

QTreeView和QTableView单元格添加超链接

QTreeView和QTableView单元格添加超链接的方法类似,本文仅以QTreeView为例。 在QTableView仿Excel表头排序和筛选中已经实现了超链接的添加,但是需要借助delegate,这里介绍一种更简单的方式,无需借助delegate。 一.效果 二.实现 QHTreeView.h #ifndef QHTREEVIEW_H #def…

正则引入store中的modules文件

正则引入store中的modules文件 // index.js import { createStore } from vuex;const modulesFiles require.context(./modules, true, /\.ts|js$/); const modules modulesFiles.keys().reduce((modules1, modulePath) > {const moduleName modulePath.replace(/^\.\/(.…

如何保证Redis和MySQL数据的一致性刨析

1、常见的缓存更新策略: 定义:主要用来进行redis和mysql的数据同步更新的一些策略 内存淘汰:等触发淘汰机制后,刚好淘汰到了用户查询的数据,此时是null,会进行查询数据库并写入到缓存中,此时…

产品详情页中 品牌官网详情 对应后端的字段是 detail

文章目录 1、在这个Vue代码中,品牌官网详情 对应后端的字段是 detail2、品牌官网详情 功能相关的代码片段3、export const productSave (data: any) >4、ProductController5、ProductDto 类6、ProductApiService 1、在这个Vue代码中,品牌官网详情 对…

使用C语言实现MySQL数据库的增删改查操作指南

使用C语言与MySQL数据库进行交互,通常涉及使用MySQL提供的C API库。这套API允许开发者在C/C++程序中执行SQL查询,从而实现数据库的增删改查操作。下面,我将详细介绍如何在C语言中实现这些基本操作。 准备工作 安装MySQL开发库:确保你的系统上安装了MySQL服务器以及MySQL开发…

【蓝桥杯嵌入式】2_LED

全部代码网盘自取 链接:https://pan.baidu.com/s/1PX2NCQxnADxYBQx5CsOgPA?pwd3ii2 提取码:3ii2 1、电路图 74HC573是八位锁存器,当控制端LE脚为高电平时,芯片“导通”,LE为低电平时芯片“截止”即将输出状态“锁存”…

计算机视觉常用数据集Cityscapes的介绍、下载、转为YOLO格式进行训练

我在寻找Cityscapes数据集的时候花了一番功夫,因为官网下载需要用公司或学校邮箱邮箱注册账号,等待审核通过后才能进行下载数据集。并且一开始我也并不了解Cityscapes的格式和内容是什么样的,现在我弄明白后写下这篇文章,用于记录…

MariaDB MaxScale实现mysql8主从同步读写分离

一、MaxScale基本介绍 MaxScale是maridb开发的一个mysql数据中间件,其配置简单,能够实现读写分离,并且可以根据主从状态实现写库的自动切换,对多个从服务器能实现负载均衡。 二、MaxScale实验环境 中间件192.168.121.51MaxScale…

Python设计模式 - 原型模式

定义 原型模式是一种创建型设计模式,它可以通过复制现有对象来创建新对象,而不是直接实例化新的对象。 结构 抽象原型(Prototype):声明 clone() 方法,以便派生类实现克隆自身的能力。具体原型&#xff08…

GWO优化决策树回归预测matlab

灰狼优化算法(Grey Wolf Optimizer,简称 GWO)是一种群智能优化算法,由澳大利亚格里菲斯大学的 Mirjalii 等人于 2014 年提出。该算法的设计灵感源自灰狼群体的捕食行为,核心思想是模仿灰狼社会的结构与行为模式。 在本…

Oracle的学习心得和知识总结(三十三)|Oracle数据库数据库的SQL ID的底层计算原理分析

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、参考书籍:《Oracle Database SQL Language Reference》 2、参考书籍:《PostgreSQL中文手册》 3、EDB Postgres Advanced Server User Gui…

Git(分布式版本控制系统)系统学习笔记【并利用腾讯云的CODING和Windows上的Git工具来实操】

Git的概要介绍 1️⃣ Git 是什么? Git 是一个 分布式版本控制系统(DVCS),用于跟踪代码的变更、协作开发和管理项目历史。 由 Linus Torvalds(Linux 之父)在 2005 年开发,主要用于 代码管理。…

yum报错 Could not resolve host: mirrorlist.centos.org

检查dns 使用ping www.baidu.com ,如果ping不通,检查/etc/resolv.conf文件中是否有: nameserver 8.8.8.8 nameserver 8.8.4.4 替换yum源 1.备份原始的 YUM 源配置文件: sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.r…