Deformable DETR

news/2025/3/10 18:16:20/文章来源:https://www.cnblogs.com/xiaxuexiaoab/p/18599334

PDF:https://arxiv.org/pdf/2010.04159
Code:https://github.com/fundamentalvision/Deformable-DETR

一、大体内容

前面介绍DETR时,说明了其还存在对小物体检测效果不佳和训练慢的问题,Deformable DETR引入了DCN(Deformable Convolutional Networks)并将其和DETR相结合,借助可变形卷积的思想设计Deformable Attention让网络自己学习一些位置来进行交互,而不是像Transformer模块一样和其他所有位置进行交互,这一定程度上减少了计算量,进而可以加速训练。另外对于小物体检测,Deformable DETR引入多尺度特征和不同层级的编码来提升小物体检测精度。

整体结构和流程


输入图片经过骨架网络ResNet提取特征后保留C3至C5多个尺度的特征,C5经过步长为2的3x3卷积后得到特征C6,所有层次特征通道数都为256,并在Encoder中进行多尺度的可变行自注意力,Ojbect Queries输入到Decoder中与Encoder输出进行自注意力,像DETR一样直接输出框,但注意这里预测的是框的偏移量,而BETR里预测的是框坐标(主要是Deformable DETR里面引入了参考点)。

二、贡献点

  • 结合了可变形卷积的稀疏空间采样和Transformer的关系建模能力,解决了DETR训练慢和对小物体检测效果不佳的问题
  • 还提出了两阶段Deformable DETR方法进一步提高检测性能

三、细节

3.1 DCN

Deformable DETR可以看成DCN(Deformable Convolutional Networks) + DETR,所以先简单了解下DCN。

上图中a表示标准卷积,b表示DCN,cd是DCN的特例。可以看到DCN相比于标准卷积来看就相当于其卷积核里面对应的特征点不是固定位置的,而是可变位置的,这样看标准卷积其实是DCN的一种特例


可以看到可变形卷积的结构可以分为上下两个部分,上面那部分是基于输入的特征图生成offset,而下面那部分是基于特征图和offset通过可变形卷积获得输出特征图。


图中以两个3*3卷积为例,可以看到对于普通卷积来说,标准卷积操作的位置都是固定的。而DCN因为引入了offset,所以卷积操作的位置会在监督信息的指导下进行选择,可以较好的适应目标的各种尺寸,形状,因此提取的特征更加丰富并更能集中到目标本身

3.2 可变形注意力模块


模块示意图如上(3个注意力头),输入特征图中参考点的Query特征经过一个线性层后预测多卷积的偏移量,分别输入到不同的注意力头进行可变形卷积得到对应输出,再与Query特征经过注意力机制得到的归一化权重相乘得到每个头的输出,再经过一个线性层得到模块的输出。

论文中用公式表示如下:

这之前需要看下标准的多头Transformer,用公式表示如下:

其中\(z_q\)表示query特征,由\(x\)经过线性变换生成,\(q\)是对应的索引,\(k\)是key的索引,\(\Omega_k\)表示所有\(k\)的集合,\(m\)表示多头注意力个数,\(W'_k\)用于将\(x_k\)变为value,\(A_{mqk}\)表示归一化后的注意力权重。也就是中括号里面其实可以表示为单头注意力机制,外部\(W_m\)用于将多个注意力输出加权输出。

再回过头来看就清楚了,可变形注意力模块相对而言多了一个\(p_q + \Delta p_{mqk}\),其中\(p_q\)论文中称为参考点表示\(z_q\)的位置,其实可以理解成\(z_q\)的坐标,后面的\(\Delta p_{mqk}\)表示采样点相对于参考点的位置偏移,这里了解了DCN后就好理解了,后续就是通过偏移来确定做自注意力的采样点,偏移量开始进行随机初始化,后续通过网络进行学习

但有一点要注意,可变形注意力模块中的注意力权重直接通过query经过线性层预测得到,而Transformer中是需要query和key进行交互得到的。这一点可以参考CW头脑风暴2的解释
大体是因为Deformable DETR中参考点和query之间存在联系,query由object query + query embedding组成,在Encoder中,参考点表示特征点本身位置,其中object query来自特征图,而query embedding由位置编码(position embedding)和多尺度编码(scal-level embedding)组成。在Decoder中,如果是1阶段模型,参考点由query embedding经过全连接生成,在2阶段模型中由参考点经过位置编码生成query embedding和object query(参考点是由Encoder预测出来的proposals,本身一定程度上代表着物体的位置信息)。

3.2 多尺度特征


骨架网络ResNet提取特征后保留C3至C5多个尺度的特征,C5经过步长为2的3x3卷积后得到特征C6。在多尺度特征中,不同特征层的特征点可能具有相同的位置信息,因此为了区分出不同尺度的位置编码,作者对每一个尺度特征都引入了scale-level embedding,其是随机初始化,并利用网络进行学习。

再看下公式表示:

式中\(l\)表示的是不同尺度特征,\(x^l\)表示第\(l\)层特征,\(\hat{p} _q\)表示归一化后的位置信息,值的范围为[0, 1], \(\phi _l\)用于将位置信息映射回原来的尺度上去。其他和之前的一致。

3.3 为什么没有用FPN

作者给出的解释是多尺度的Deformable注意力已经可以提取多尺度特征,并进行了消融实验,FPN并没有带来精度提升。这估计和参考点坐标采用归一化也有点关系,归一化后同一个参考点在不同尺度特征图上的位置相差不会太大。

3.4 预测偏移量而不是直接回归坐标值

由于多尺度可变形注意力模块提取参考点周围的图像特征,检测头预测边界框也是相对于参考点的相对偏移,这样相比于直接回归可以进一步降低优化难度。详见附录A.3,参考点作为框中心的初始位置,检测头预测相对于参考点的相对偏移,学习到的解码器注意力将与预测的边界框具有很强的相关性。

四、效果

  • 精度和训练时间

  • 方法对比

  • 可视化

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

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

相关文章

【蓝队】HW中盛行的Java内存马,如何全面检测?

一、背景 1.1 Java内存马是什么? 内存马是一种仅在内存中运行、没有文件落地的恶意程序,因此具有较强的隐蔽性,能够避开常规的基于文件系统的检测。Java内存马是针对Java语言的内存马,它利用Java语言的动态特性,如类加载机制、动态代理和反射技术等,在Java应用的内存中注…

Express的使用笔记9 使用bcrypt算法给用户密码加密

先了解一下bcrypt算法,一种基于Blowfish密码学算法的密码散列函数,用于在密码存储时抵抗暴力破解攻击,通过在散列过程中加salt来提高安全性,salt是个随机生成的数据串,与密码一起被散列,使得即使两个相同的密码也会产生不同的散列值。bcrypt算法允许开发者指定工作因子(…

4.mysql中的存储过程

创建存储过程和函数 CREATE[DEFINER = {USER | CURRENT_USER}] # 定义者是谁PROCEDURE sp_name ([proc_parameter[,...]])[characteristic ...] routine_bodyCREATE [DEFINER = {USER | CURRENT_USER}]FUNCTION sp_name ([function_name[,...]])[characteristic ...] routine_…

印象笔记使用

vscode安装插件登录印象笔记,开通token点击插件页面的设置填写url和tokenctrl + shift + pever new - 新建笔记 ever open - 打开笔记 ever search - 搜索笔记 ever publish - 发布笔记 ever sync - 同步笔记新建笔记下载安装windows客户端,功能比网页端更全面客户端才能导出…

(BIBM-2024) 用于药物相互作用预测的可解释多视图注意网络

用于药物相互作用预测的可解释多视图注意网络 论文标题: Interpretable multi-view attention network for drug-drug interaction prediction 论文地址: https://ieeexplore.ieee.org/document/10385757 论文期刊: BIBM 2024 摘要 药物间相互作用(DDI)在药物发现中发挥着越来…

Volatility取证工具安装教程

linux安装vol2.6 1.准备工作 准备一台虚拟机,拥有python2版本(虚拟机以kali为例) 准备Volatility2.6安装包 volatilityfoundation/volatility: An advanced memory forensics framework 准备反编译库安装包 vext01/distorm3: distorm3 2.安装步骤详解(全程在root用户下操作…

[React]AntDesign 4.x 汉化

antd汉化,适用于4.x转载自:https://blog.csdn.net/weixin_43013802/article/details/132870349全局汉化,在main.ts中引入下面代码:import{ ConfigProvider }fromantd import locale from antd/locale/zh_CN; import dayjs/locale/zh-cn;ReactDOM.createRoot(document.getEl…

线性回归(linear regression)

其实线性回归不过就是在做两件事,画一条线并判断这条线到各个点的距离。 如下图:其中这条线便是距离各个点距离总和最小的直线。也就是e+u+w+b+a总和在直线为这个情况下最小。但是什么时候这条线是我们需要的线呢?-- 线到各个点最短的时候便是。 我们先理解一下什么是凹函数…

数据库安全性与权限管理

title: 数据库安全性与权限管理 date: 2024/12/16 updated: 2024/12/16 author: cmdragon excerpt: 数据库安全性与权限管理是保护数据不被未授权访问和操控的关键所在。通过实施有效的安全措施和细粒度的权限控制,可以确保数据库的完整性、机密性和可用性。 categories:前端…

数据整合+团队协作,电商选品效率提升100%!

选品快准狠!在线协同助力电商团队做出更聪明的决策 在电商行业,“选品”决定成败。无论是发现爆款、避开雷区,还是追踪最新趋势,每一个决策都离不开团队协作与信息整合。然而,大量的电商团队仍旧面临以下常见问题: - 决策过程拉长,错失销售机会。 - 数据不统一,选品思路…

xshell类似的工具,还有哪些Xshell类似的工具呢

Xshell是一款功能强大的远程连接工具,广泛用于SSH、Telnet和Rlogin协议,帮助用户轻松连接和管理远程服务器。然而,Xshell并不是唯一的远程连接工具,市面上还有其他一些类似的工具,能够提供类似甚至更丰富的功能。那么,除了Xshell,还有哪些类似的远程连接工具呢?以下将为…

SOA整车电子电气仿真测试解决方案

经纬恒润TESTBASE 硬件在环(HIL)仿真测试平台可以为SOA电子电气系统提供高效自动化测试的一站式解决方案,为SOA车型电子电气系统的测试验证提供有力保障。概述软件定义汽车时代,汽车电子软件的功能数量和复杂度与传统汽车相比有了爆炸式增长,并且还在不断提升。以中央+区域…