论文阅读——Vision Transformer with Deformable Attention

news2025/1/19 3:19:03

Vision Transformer with Deformable Attention

多头自注意力公式化为:

第l层transformer模块公式化为:

在Transformer模型中简单地实现DCN是一个non-trivial的问题。在DCN中,特征图上的每个元素都单独学习其偏移,其中H×W×C特征图上3×3可变形卷积的空间复杂度为9HW C。如果我们在注意力模块中直接应用相同的机制,空间复杂度将急剧上升到NqNkC,其中Nq,Nk是查询和密钥的数量,通常具有与特征图大小HW相同的比例,带来近似双二次复杂度。尽管Deformable DETR已经通过在每个尺度上设置较低数量的密钥(Nk=4)来减少这种开销,并且作为检测头工作得很好,但由于信息的不可接受的丢失,在骨干网络中处理如此少的密钥是不好的(见附录中的详细比较)。同时,不同的查询在视觉注意力模型中具有相似的注意力图。因此,我们选择了一种更简单的解决方案,为每个查询共享移位的键和值,以实现有效的权衡。

我们提出了可变形注意力,以在特征图中重要区域的指导下有效地对tokens之间的关系进行建模。这些聚焦区域由偏移网络从查询中学习的多组变形采样点确定。采用双线性插值得到采用特征,然后这些采样特征映射为可变形keys and values。然后使用MHSA。可变形点也提供了相对位置偏差。

如图,给一个特征图,给一个均匀网格作为references,网格大小从输入特征图大小向下采样因子r,,然后把这个网格的位置值归一化到(-1,-1),(+1,+1)。通过offset网络得到网格每个位置的偏移量,然后,在变形点的位置对特征进行采样,作为关键点和值,再进行映射:

,s是为了训练稳定。是使用双线性插值的采样函数。

在q,k,v上使用多头注意力和相对位置偏移。

每个参考点覆盖一个局部s×s区域(s是偏移的最大值),偏移生成网络也应该具有对局部特征的感知,以学习合理的偏移。因此,我们将子网络简化为具有非线性激活的两个卷积模块,如图2(b)所示。输入特征首先通过5×5深度卷积来捕获局部特征。然后,采用GELU激活和1×1卷积来获得2D偏移。还值得注意的是,1×1卷积中的偏差被降低,以减轻所有位置的强制偏移。

为了促进变形点的多样性,我们在MHSA中遵循类似的范式,并将特征通道划分为G组。来自每组的特征使用共享子网络来分别生成相应的偏移。在实践中,注意力模块的头数M被设置为偏移组G的大小的倍数,从而确保多个注意力头被分配给一组变形的键和值。

补充资料:

DAT and Deformable DETR区别

首先,我们的可变形注意力充当视觉主干中的特征提取器,而可变形DETR中的可变形注意扮演检测头的角色,它用线性可变形注意取代了DETR中的普通注意。其次,在具有单尺度的可变形DETR中,查询q的第m个头被公式化为:

其中从输入特征中采样K个关键点,通过进行映射,然后通过注意力权重进行聚合。与我们的可变形注意力(Eq.(9)在本文中)相比,该注意力权重是通过线性投影从学习的,即,其中是预测每个头部上每个键的权重的权重矩阵,之后将softmax函数σ应用于K个键的维度以归一化注意力得分。事实上,注意力权重是通过查询直接预测的,而不是测量查询和关键字之间的相似性。如果我们将σ函数更改为sigmoid,这将是调制可变形卷积的变体[53],因此这种可变形注意力更类似于卷积,而不是注意力。

第三,可变形DETR中的可变形注意力与本文第3.2节中提到的点积注意力不兼容,因为它消耗了巨大的内存。因此,使用线性预测注意力来避免计算点积,并且还采用较小数量的密钥K=4来降低存储器成本。

为了通过实验验证我们的说法,我们用[54]中的模块替换了DAT中的可变形注意力模块,以验证初始适应对视觉主干的影响较小。比较结果如表8所示。比较第一行和最后一行,我们可以看到,在较小的内存预算下,可变形DETR模型的密钥数量设置为16,以减少内存老化,并实现1.4%的性能降低。通过比较第三行和最后一行,我们可以看到,与DAT具有相同密钥数量的D-DETR注意力消耗2.6×内存和1.3×FLOP,但性能仍低于DAT。

更多可视化结果

在图6中,采样点被描绘在对象检测框和实例分割掩码的顶部,从中我们可以看到这些点被移动到目标对象。在左列中,变形的点收缩为两个目标长颈鹿,而其他点则保持几乎均匀的网格,偏移较小。在中间列上,变形点在两个阶段都密集分布在人体和冲浪板之间。右栏显示了六个甜甜圈中每个甜甜圈的变形点,这表明我们的模型即使有多个目标,也能够更好地模拟几何形状。上述可视化结果表明,DAT学习有意义的偏移量,以采样更好的关键点,从而提高各种视觉任务的性能。

我们还提供了给定特定查询令牌的注意力图的可视化结果,并与图7中的Swin-Trans-former[26]进行了比较。我们展示具有最高关注值的关键令牌。可以观察到,我们的模型侧重于更相关的部分。作为展示,我们的模型将大部分注意力集中在前景对象上,例如,第一排的两个长颈鹿。另一方面,Swin Transformer中的兴趣区域相当局部,无法区分前景和背景,这在最后一块冲浪板中有所描述。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024年【危险化学品生产单位安全生产管理人员】复审考试及危险化学品生产单位安全生产管理人员模拟试题

题库来源:安全生产模拟考试一点通公众号小程序 危险化学品生产单位安全生产管理人员复审考试根据新危险化学品生产单位安全生产管理人员考试大纲要求,安全生产模拟考试一点通将危险化学品生产单位安全生产管理人员模拟考试试题进行汇编,组成…

Antd中s-table组件某字段进行排序

Antd中s-table组件某字段进行排序 提前说明&#xff0c;s-table组件包含分页等功能 <s-tableref"table":columns"columns":data"loadData"bordered:row-key"(record) > record.id"></s-table>而其中loadData为获取表数…

【深度学习实践】HaGRID,YOLOv5,手势识别项目,目标检测实践项目

文章目录 数据集介绍下载数据集将数据集转换为yolo绘制几张图片看看数据样子思考类别是否转换下载yolov5修改数据集样式以符合yolov5创建 dataset.yaml训练参数开始训练训练分析推理模型转换onnx重训一个yolov5s后记 数据集介绍 https://github.com/hukenovs/hagrid HaGRID&a…

ElementUI Message 消息提示,多个显示被覆盖的问题

现象截图&#xff1a; 代码&#xff1a;主要是在this.$message 方法外层加上 setTimeout 方法 <script> export default {name: "HelloWorld",props: {msg: String,},methods: {showMessage() {for (let i 0; i < 10; i) {setTimeout(() > {this.$mess…

windows ffmpeg 编译环境搭建

编译ffmpeg https://www.msys2.org/ https://www.ffmpeg.org/platform.html#Microsoft-Visual-C_002b_002b-or-Intel-C_002b_002b-Compiler-for-Windows 1.安装msys2 2.安装yasm或者nasm 打开VC 本地环境命令行 唤醒msys2界面 配置编译环境变量参数 export PATH"/d/vs…

Net Core 使用Mongodb操作文件(上传,下载)

Net Core 使用Mongodb操作文件&#xff08;上传&#xff0c;下载&#xff09; 1.Mongodb GridFS 文件操作帮助类。 GridFS 介绍 https://baike.baidu.com/item/GridFS/6342715?fraladdin DLL源码&#xff1a;https://gitee.com/chenjianhua1985/mongodb-client-encapsulati…

Vue3基础速成

Vue常用语法 {{ }} 变量、表达式渲染 {{ }} 用于输出对象属性和函数返回值 <div id"hello-vue" class"demo">{{ message }} </div><script>const HelloVueApp {data() {return {message: Hello Vue!!}}}Vue.createApp(HelloVueApp).…

码头船只出行和货柜管理系统的设计与实现

针对于码头船只货柜信息管理方面的不规范&#xff0c;容错率低&#xff0c;管理人员处理数据费工费时&#xff0c;采用新开发的码头船只货柜管理系统可以从根源上规范整个数据处理流程。 码头船只货柜管理系统能够实现货柜管理&#xff0c;路线管理&#xff0c;新闻管理&#…

使用Julia及R语言生成正态分布的随机数字并写入CSV文件

在操作之前需要先下载Julia的Distributions包&#xff0c;这个包用于进行相关概率分布的函数调用。 在输入 ] 进入Julia包管理模式后输入&#xff1a; add Distributions 这里我使用我们自己实验室的实测数据 &#xff0c;平均值0.67&#xff0c;方差0.11&#xff0c;数据分…

Devin,第一位AI软件工程师

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

LeetCode.2864. 最大二进制奇数

题目 2864. 最大二进制奇数 分析 这道题目其实我们只需要保证最后一位是1&#xff0c;其余的1都放在最前面&#xff0c;这样得到的就是最大二进制奇数。 所以&#xff0c;我们先统计给定的字符串有多少个 1&#xff0c;多少个 0&#xff0c;把其中一个 1 放在最后一位&…

【C#】【SAP2000】读取SAP2000中所有Frame对象的应力比到Grasshopper中

if (build true) {// 连接到正在运行的 SAP2000// 使用 System.Runtime.InteropServices.Marshal.GetActiveObject 方法获取正在运行的 SAP2000 实例cOAPI mySapObject (cOAPI)System.Runtime.InteropServices.Marshal.GetActiveObject("CSI.SAP2000.API.SapObject"…

趣学前端 | 平平无奇的JavaScript函数

背景 最近睡前习惯翻会书&#xff0c;重温了《JavaScript权威指南》。这本书&#xff0c;文字小&#xff0c;内容多。两年了&#xff0c;我才翻到第十章。因为书太厚&#xff0c;平时都充当电脑支架。 JavaScript函数 读这章之前&#xff0c;我感觉我三十年开发功力&#xf…

构建社区服务平台的智慧架构

社区服务平台作为连接社区居民与各类服务资源的桥梁&#xff0c;承载着提升居民生活品质、促进社区发展的重要使命。本文将深入探讨社区服务平台的架构设计理念、核心功能和发展前景&#xff0c;助力读者了解如何构建智慧化、便捷化的社区服务平台&#xff0c;为社区居民提供更…

SpringBoot+Vue项目报错(问题已解决)

1、错误日志 2、分析原因&#xff1a; JWT strings must contain exactly 2 period characters. Found: 0 JWT字符串必须包含2个句号字符。发现:0 分析&#xff1a;可以判断出大概可能是token格式出现了问题 3、参考 http://t.csdnimg.cn/hfEiY 4、检查后端代码是否出现问…

VR数字展厅在企业中应用的优势有哪些?

随着VR全景技术的成熟&#xff0c;VR数字展厅逐渐成为了企业展示形象和产品的重要手段之一。VR企业数字展厅是一种通过VR技术、3D建模技术展示企业形象和产品的创新方式&#xff0c;将企业线下的展厅搬到线上&#xff0c;为企业品牌形象带来了很多优势。 VR数字展厅在企业中应用…

数学实验_Matlab使用2_简单绘图

简单使用 x -pi * 2 : .1 : pi*2;y sin(x);plot(x, y); % 绘制普通图像plot(x, y, k-.*); % 绘制2维图像&#xff0c;线为实线&#xff0c;*为每个点&#xff08;Matlab的画图比较原始&#xff0c;就是简单的秒点画图&#xff09;grid on; % 打开网状格式% grid off; % 关闭…

php中 0 == ‘’(0等于任意字符串) 判断是否成立 返回true

php中不同类型变量之间比较大小 一、背景二、探究0是为什么&#xff1f;三、探究 0all是为什么&#xff1f;四、程序中如何判断0是否等于指定字符串 一、背景 最近在项目实际开发中&#xff0c;我需要判断前端传来的参数值是否等于一个字符串&#xff1b;然后发现当参数值是0时…

每天五分钟计算机视觉:如何构造分类定位任务的算法模型?

本文重点 本节课程我们将学习分类定位的问题,也就是说不仅要完成图片分类任务,然后还要完成定位任务。如下所示,我们不仅要用算法判断图片中是不是一辆车,还要在图片中标记出它的位置,用边框对象圈起来,这就是分类定位问题。 一般可能会有一张图片对应多个对象,本节课我…

你《时间贫困》么?

今天我要为大家分享的书叫《时间贫困》 这本书出版于2023年12月 “时间贫困”这个名字是什么意思呢&#xff1f; 它指的是一种没有自己的时间的感受 这种感受我相信大家都不陌生 现代人早晨被闹钟叫醒后就忙着洗漱、吃早饭、上班 下班后经过漫长的通勤回到家 可能还要处理各种琐…