视觉大模型--DeformableDETR

news2024/11/22 15:37:56

原理大家可以参考这篇文章,我这边主要介绍几个公式和整体源码理解。

  1. 提出了多尺度可变形注意力(Multi-scale Deformable Attention, MSDA).基于此设计了 DETR 特有的利用多尺度特征检测的流程,对之后的很多工作有指导意义。
  2. 提出了两阶段 DETR 的思路,利用编码器输出特征来初始化解码器的 query及其对应的位置。
  3. 最早提出在解码器层之间优化 query对应位置的思路(iterative box refinement)

公式理解

 其实大家看到最多的注意力公式是第一个,第一个是针对一句话或者一个通道或者一张图片而言,即Q代表所有的query,K代表所有的键key,V代表所有的value,但是对于DeformableDETR他们的公式也是类似的,只是他针对的是一个query进行描述了注意力机制,这是从单个query的角度进行描述,通过计算输入的query和整张特征图关系进行计算注意力。把所有的query和在一起就是我们大家都熟悉的第一个公式了,这里大家需要明确的是,自注意力机制的qkv都是来源一个特征图,每个q都会和所有的可以计算然后乘上v得出结果,大家看到常见的公式其实是所有的q组成的矩阵,DeformableDETR只是拿出了一个q进行定义,下面就仔细分析DeformableDETR的针对一个query是怎么描述注意力机制的。

第二个公式的输出是MultiHeadAttn 这个是代表多头注意力机制的公式,大家可以观察蓝色的注释,可以发现z_q就是需要计算得到query特征而下标就是query的索引即第几个query,x就是特征图可以理解为key和value,当然query也在x中的,\sum_{k\varepsilon \Omega_k}^{}A_{mqk} w_m x_k中的k代表x特征的索引,x_k就是取出第k个的x特征而w_m就是代表可以训练的权重,此时w_mx_k可以看做是value即value_kA_{mqk}可以看到公式其实就是QK的计算了,uv是对应的权重,结果和value_k相乘就是注意力值了,至于m和w_m其实就多头的意思,因此整个公式代表代表了一个query特征的计算,因为根据注意力机制我么你知道每个query都会和所有的key进行点积,然后再和value计算出最后的值

 

 上面的公式在MultiHeadAttn公式的基础上怎么了p_q\Delta p _{mqk}然后得到了DeformAttn(z_q,p_q,x),而这个公式就是DeformableDETR的核心,我们仔细看看,首先大家需要理解DeformableDETR的初衷是为了解决attention的计算量大的问题,计算量大主要是因为每个query都需要和整个特征图的key进行计算,计算量和特征图的平方成正比,因此DeformableDETR的降低计算量的策略是觉得query并不需要和所有的key进行计算,query只和特征图的几个key有关,其他的相关性不大,因此DeformableDETR设计者认为模型只需要自适应的选择几个更有利学习特征的key即可,因此上面的公式也是这个从发点,p_q计算位置参考点,该值其实就是query的在特征图的位置, \Delta p _{mqk}就是相对于参考位置的偏移,因此p_q+\Delta _{mqk}就是对应的特征索引,此时的K就是选择相对于参考位置的几个特征图的key进行计算,DeformAttn(z_q,p_q,x)就是这样的过程,至于怎么选择这个参考点p_q\Delta p _{mqk},简单来说p_q参考位置是来源于query的在特征所得位置,\Delta p _{mqk} 是预测相对于参考位置的偏移量,后续在仔细解释。

从上图可以发现z_q是从input feature Map x 获取的一个特征,参考点就是 z_q的位置,大家需要仔细理解和观察。上面是单尺度的可变性注意力机制,简单来说就是通过参考位置让模型自己寻找关键的位置去聚合有用的信息,这样就可以降低大量的计算量。

 上面的公式是在DeformAttn(z_q,p_q,x)单尺度基础上增加了多尺度的特征融合,因为通过resnet50的特征图可以多尺度的,而DeformAttn(z_q,p_q,x)是在一个尺度的特征平面进行计算了,为了利用不同尺度的特征信息,DeformableDETR采用了多尺度的特征聚合方法,但是因为每个尺度的特征大小不同,对应的特征位置不同,因此模型有个对齐的操作,体现在上面的公式是\Phi _l的函数上,后续根据代码解释。

我简单看了一下代码,还挺麻烦,我自己看完了,但是还有基础无法理解,代码后续再补,

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

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

相关文章

OpenHarmony应用开发引入开源C/C++库---之Har包里的NDK

Har 包 HAR(Harmony Archive)是静态共享包,可以包含代码、C 库、资源和配置文件。通过 HAR 可以实现多个模块或多个工程共享 ArkUI 组件、资源等相关代码。HAR 不同于 HAP,不能独立安装运行在设备上,只能作为应用模块…

pandas常用的一些操作

EXCLE操作 读取Excel data1 pd.read_excel(excle_dir) 读Excel取跳过前几行: data1 pd.read_excel(excle_dir,skiprows1) 获取总行数 data1.shape[0] 获取总列数 data1.shape[1] 指定某列数据类型 data1 pd.read_excel("C:数据导入.xlsx",dtype…

设计模式——装饰器模式09

装饰器模式:是在原有基础上进行装饰(无修改原来代码),来添加新的功能。 例如下面对普通耳机进行装饰。 设计模式,一定要敲代码理解 修饰对象(抽象) /*** author ggbond* date 2024年04月07日…

Unity核心学习

目录 认识模型的制作流程模型的制作过程 2D相关图片导入设置图片导入概述纹理类型设置纹理形状设置纹理高级设置纹理平铺拉伸设置纹理平台打包相关设置 SpriteSprite Editor——Single图片编辑Sprite Editor——Multiple图片编辑Sprite Editor——Polygon图片编辑SpriteRendere…

【汇编语言实战】统计个数(创新版)

内存中有10个分布在0至100内的正整数&#xff0c; 求小于60的数的个数num1&#xff0c;大于或等于60且小于80的数的个数num2&#xff0c;大于或等于80且小于100的数的个数num3 C语言描述该程序流程&#xff1a; #include <stdio.h> int main() {int a[]{1, 20, 95, 32,…

Python | 超前滞后分析

Nino SST Indices (Nino 12, 3, 3.4, 4; ONI and TNI) 有几个指标用于监测热带太平洋&#xff0c;所有这些指标都是基于海表温度(SST)异常在一个给定的区域的平均值。通常&#xff0c;异常是相对于30年的周期来计算的。厄尔尼诺3.4指数(Nio 3.4 index)和海洋厄尔尼诺指数(Ocea…

【Ubuntu】update-alternatives 命令详解

1、查看所有候选项 ​​​​​​​sudo update-alternatives --list java 2、​​​​​​​更换候选项 sudo update-alternatives --config java 3、自动选择优先级最高的作为默认项 sudo update-alternatives --auto java 4、删除候选项 sudo update-alternatives --rem…

MATLAB技巧:箱型图绘制

箱型图/箱线图 箱型图&#xff08;Box Plot&#xff09;&#xff0c;也称为盒须图或箱线图&#xff0c;是一种用于展示数据分布情况的统计图表。它通过展示数据的中位数、上下四分位数、最大值和最小值&#xff0c;可以直观地显示出数据的离散程度、偏态和异常值等信息。 箱型…

Python实现读取dxf文件的所有字符

Python实现读取dxf文件的所有字符 import ezdxfdef read_dxf_and_print_text(filename):# 加载DXF文件doc ezdxf.readfile(filename)# 遍历所有的实体for entity in doc.entities:# 检查实体是否是TEXT、MTEXT或DIMENSIONif isinstance(entity, ezdxf.entities.Text):print(f…

从头训练、采用预训练模型这两种方法在图像分类上的实践

参考书籍《Python深度学习》Chapter 5《深度学习用于计算机视觉》 演示数据&#xff1a;Dogs vs. Cats | Kaggle 1. 从头训练模型 1.1 不使用数据增强 1.2 使用数据增强 2. 使用预训练模型 去掉已有模型的最后的分类层。 2.1 直接使用已有模型的结果&#xff0c;再输入到新建…

【快捷部署】015_Minio(latest)

&#x1f4e3;【快捷部署系列】015期信息 编号选型版本操作系统部署形式部署模式复检时间015MiniolatestCentOS 7.XDocker单机2024-04-09 一、快捷部署 #!/bin/bash ################################################################################# # 作者&#xff1a;c…

处理慢查询时使用explain一般看哪些字段

explain之后会出现这些&#xff0c;一般就只看下面这几个字段 select_type就是查询类型&#xff0c;在我司的业务里基本上用的都是简单查询&#xff0c;在内存中处理逻辑&#xff0c;复杂查询的话排查问题比较麻烦&#xff0c;引起慢查询还会拖累数据库&#xff0c;数据库里还…

Day:005 | Python爬虫:高效数据抓取的编程技术(爬虫效率)

爬虫之多线程-了解 单线程爬虫的问题 因为爬虫多为IO密集型的程序&#xff0c;而IO处理速度并不是很快&#xff0c;因此速度不会太快如果IO卡顿&#xff0c;直接影响速度 解决方案 考虑使用多线程、多进程 原理&#xff1a; 爬虫使用多线程来处理网络请求&#xff0c;使用线程…

python爬虫———激发学习兴趣的案列(第十三天)

&#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; &#x1f388;&#x1f388;所属专栏&#xff1a;python爬虫学习&#x1f388;&#x1f388; ✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天…

OpenHarmony开发技术:【国际化】实例

国际化 如今越来的越多的应用都走向了海外&#xff0c;应用走向海外需要支持不同国家的语言&#xff0c;这就意味着应用资源文件需要支持不同语言环境下的显示。本节就介绍一下设备语言环境变更后&#xff0c;如何让应用支持多语言。 应用支持多语言 ArkUI开发框架对多语言的…

【MATLAB源码-第184期】基于matlab的FNN预测人民币美元汇率 输出预测图误差图RMSE R2 MAE MBE等指标

操作环境&#xff1a; MATLAB 2022a 1、算法描述 前馈神经网络&#xff08;Feedforward Neural Network, FNN&#xff09;是最简单也是应用最广泛的人工神经网络之一。在许多领域&#xff0c;尤其是数据预测方面&#xff0c;FNN已经展现出了卓越的性能和强大的适应性。 一、…

linux之文件系统、inode和动静态库制作和发布

一、背景 1.没有被打开的文件都在磁盘上 --- 磁盘级文件 2.对磁盘级别的文件&#xff0c;我们的侧重点 单个文件角度 -- 这个文件在哪里&#xff0c;有多大&#xff0c;其他属性是什么&#xff1f; 站在系统角度 -- 一共有多少文件&#xff1f;各自属性在哪里&#xff1f…

c#获取Web.Config中的值出现的错误及解决办法

c#获取Web.Config中的值出现的错误及解决办法 1.错误提示 2.原因寻找 问题出在Web.Config文件中 <add key"mchid " value"1495103432"/>//mchid 后面不应该有空格图示如下&#xff1a; 3.改正代码如下&#xff1a; <?xml version"1.0…

spring boot —— Spring-Cloud-Zuul(网关服务getway),kafka笔记

一、 引入zuul依赖&#xff1a; org.springframework.cloud spring-cloud-starter-zuul 二、创建应用主类。使用EnableZuulProxy注解开启zuul的API网关服务功能&#xff1a; EnableZuulProxy SpringCloudApplication public class Application { public static void mai…

Python结合spy++

导入必要的库 import win32con from win32 import win32gui from win32 import win32clipboard as w import pyautogui import sys1.获取窗口全部属性 def show_window_attr(hwnd):"""显示窗口的属性:param hwnd: 窗口句柄&#xff08;十进制&#xff09;:ret…