Anchor DETR

news2024/11/20 6:28:19

Anchor DETR(AAAI 2022)

改进:

  1. 提出了基于anchor的对象查询
  2. 提出Attention变体-RCDA

在以前DETR中,目标的查询是一组可学习的embedding。然而,每个可学习的embedding都没有明确的意义 (因为是随机初始化的),所以也不能解释它最终将集中在哪里。此外,由于每个对象查询将不会关注特定的区域,所以训练时优化也是比较困难的

在这里插入图片描述

DETR中对可视化的注释:( slots就是100个查询中的一个 )img

在这里插入图片描述

这里三种预测pattern可能相同也可能不同

简单的模型

与DETR没有特别大的变化

6encoder,6decoder,右下角是Anchor Points

position embedding会加入到decoder的q和k中

object query:[100,256]增加了anchor point,编码成positon embedding,替换原来的oq

img

生成anchor point有两种方式

img

(a)anchor固定,宽高均匀分布的网格,均匀采样

(b)先将一个tensor以0-1均匀分布随机初始化点位,并作为学习参数(embedding),实验效果好

在这里插入图片描述

anchor point转化为 object query

在这里插入图片描述

首先,获得learned的[100(NA),2]的anchor points

然后通过sin/cos转换成[100,256]高频位置编码(代码里函数为pos2posemb2d);

两层MLP学习(代码里为adapt_pos2d),转换为Q_P:[Np(pattern),256]。

Multiple Predictions for Each Anchor Points

假设参考点100个,每个点预测一个目标,真实的图像在同一个点附近可能会有多个目标

anchor detr设计了一个点预测多个模式(3种),每个点设置Np个模式(Np=3)

原始detr,object query是[100,256]每个是[1,256]

anchor detr增加了一个pattern embedding,如下;
Q f i = Embedding ⁡ ( N p , C ) Q_{f}^{i}=\operatorname{Embedding}\left(N_{p}, C\right) Qfi=Embedding(Np,C)
也就是每个点Np(3)个pattern,[3,256],论文里Np=300,pattern=3,也就是900个点

最终只需要将pattern embeddinganchor point的Q_p相加,就得到最终的object query, Pattern Position query可以表示为:

img

实际上代码里没用到这个上述式子

上个代码图中的代码里reference point是直接从300repeat到900的

如果我理解有误请提醒我

代码种pattern是第一个decoder的输入,原始detr的tgt全是0

在这里插入图片描述

Row-Column Decoupled Attention

减少的是内存开销!!!!

行列分解attention机制,加速收敛,q长度为900,减少内存减少内存开销。

在这里插入图片描述

原始的transformer输入token(H*W)会被拉平成一维的传入

Ax(W),先在行维度进行计算

Ay(H),在进行Ay操作

Ay和Z在高度维度进行加权求和

QK都进行行列分解,V不分解[Nq,H*W]

原始attention:Nq * H * W * M(head)

RCDA:

Ax:Nq * W * M

Ay:Nq * H * M

就只需要比较两个矩阵大小即刻,图的右侧是比例公式,两个维度比较,约掉后剩下W * M/C,W假设是32(DC5),M=8,C=256,那是一样的,看C和W * M

DC5表示在主干网络(默认resnet50)的最后一个stage加了个空洞卷积并减少了个pooling层实现分辨率增大一倍

实验

1.比对了不同线性attention的memory和ap

img

2.模式a通常是大物体,模式b是小物体,模式c比较均衡

img

参考

https://www.bilibili.com/video/BV148411M7ev/?spm_id_from=333.788&vd_source=4e2df178682eb78a7ad1cc398e6e154d

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

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

相关文章

2024年天津专升本文化课考试大纲发生了哪些变化

2024年天津专升本文化课考试语文、数学、计算机、英语最新大纲发生了哪些变化 高职升本科《计算机应用基础》大纲更改详解:新增计算机发展新技术、win7变更为 win10、word2010变为word2019、 新 增其他常用功能模块、Excel2010变 更为Excel2019、新增演示文稿制作软件PowerPoi…

iPhone15线下购买,苹果零售店前门店排长队

今年的苹果新品发布会于北京时间 9 月 13 日凌晨举行,并于 9 月 15 日(周五)开启订购,9 月 22 日(周五)起正式发售。 据多位网友反馈,首批苹果 iPhone15 系列手机、Apple Watch Ultra 2 / Seri…

VBA技术资料MF59:从二维变体数组中删除一行数据

【分享成果,随喜正能量】小小的善业,能赢来大的利益,小小的恶业,同样也能招致严重的后果。这正如古语所云:“莫以善小而不为,莫以恶小而为之。。 我给VBA的定义:VBA是个人小型自动化处理的有效…

【数据库】Sql Server 2022通过临时表和游标遍历方式逻辑处理获取目标数据

2023年,第39周。给自己一个目标,然后坚持总会有收货,不信你试试! 今天有个小伙伴咨询一个Sql Server处理数据的问题,刚好重温下SqlServer临时表和游标的知识点 目录 一、需求点描述二、临时表2.1、局部临时表&#xff…

计算机网络相关知识点

谈一谈对OSI七层模型和TCP/IP四层模型的理解? 这两种模型都是网络通信中重要的参考模型,他们的设计和功能有一些区别。 首先OSI,OSI七层模型,也被称为开放系统互联参考模型,是一种在国际标准化组织(ISO)中…

网络知识——局域网和交换机

定义: 局域网(Local Area Network,简称LAN)是指在某一区域内由多台计算机互联成的计算机组。广域网(Wide Area Network,简称WAN)是指跨越单个建筑物或大型园区,连接分布在特定地理区…

2023 Sui Builder House全球之旅圆满收官

2023年的最后一场Builder House于上周在新加坡举行,包括主题演讲、小组讨论和研讨会等聚焦Sui的现在和未来的活动。其中,zkLogin是本次活动的最大亮点。作为一种新的Sui原语,zkLogin允许用户使用Web2身份验证创建帐户,有望推动大规…

计算机网络常见问题

1.谈一谈对OSI七层模型和TCP/IP四层模型的理解? 1.1.为什么要分层? 在计算机中网络是个复杂的系统,不同的网络与网络之间由于协议,设备,软件等各种原因在协调和通讯时容易产生各种各样的问题。例如:各物流…

通过 BigQuery 中的 11 个新链增强 Google Cloud 的区块链数据服务

2018 年初,Google Cloud 与社区合作,通过BigQuery 公共数据集实现区块链数据民主化;2019 年,又扩展了六个数据集;今天,我们在 BigQuery 公共数据集中添加了 11 个最受欢迎的区块链预览版。我们也在对该程序…

windbg -I之后如何恢复原有的

直接运行了一下windbg -I,抓取了注册表行为,然后这里记录一下,方便翻阅。 抓取到的windbg的注册表 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger 将值改为 "C:\WINDOWS\system32\vsji…

Linux:进程概念的引入和理解

文章目录 进程的初步理解进程的实质理解查看进程 前面对操作系统有了一个基础的认知,从中得出的最重要的一个思想是,在认识一个新事物前要先描述,再组织,有了这样的思想也可以用于学习进程的概念 进程的初步理解 有了前面的思想…

三维模型3DTile格式轻量化在三维展示效果上的重要性分析

三维模型3DTile格式轻量化在三维展示效果上的重要性分析 三维模型3DTile格式轻量化在三维展示效果上扮演着至关重要的角色。随着计算机图形学和虚拟现实技术的不断发展,我们已经可以创建和渲染非常精细和复杂的三维模型,以实现逼真的视觉效果。然而&…

3D大模型如何轻量化?试试HOOPS Communicator,轻松读取10G超大模型!

随着计算机技术的不断发展,3D模型在各行各业中的应用越来越广泛。然而,随着模型的复杂性和规模不断增加,处理和浏览超大型3D模型变得越来越具有挑战性。本文将探讨如何轻量化3D大模型,以及如何使用HOOPS Communicator来读取和浏览…

IC芯片测试:如何对芯片静态功耗进行测试?

静态功耗也叫静态电流,是指芯片在静止状态下的电流或者是指芯片在不受外界因素影响下自身所消耗的电流。静态功耗对于芯片来说是衡量一款芯片的功耗与效率非常重要的指标。 传统手动测试静态功耗只需在芯片的输入端串上一台万用表,然后对芯片各个端口添加…

C语言 指针 模拟排序函数 指针数组笔试题上

目标&#xff1a;使用【冒泡排序】的算法&#xff0c;模拟一个排序函数&#xff0c;可以排序任意类型的数据 void print_arr(int arr[], int sz)//打印函数 只能接受整型数组 {int i 0;for (i 0; i < sz; i){printf("%d ", arr[i]);}printf("\n"); }…

5.数学公式中-符号加粗

在 LaTeX 中&#xff0c;\boldsymbol 命令用于将数学公式中的符号或字母加粗显示&#xff0c;以突出显示它们或强调它们的重要性。通常&#xff0c;这个命令用于加粗矢量、矩阵、符号等。 要使用 \boldsymbol&#xff0c;您需要在数学模式中&#xff08;例如&#xff0c;在 \[…

C#中的(++)和(--)运算符

目录 背景: 的前加 效果展示:​ 的后加 效果展示 :​ 总结: 背景: 自增和自减运算符存在于C/C/C#/Java等高级语言中&#xff0c;它的作用是在运算结束前(前置自增自减运算符 )或后(后置自增自减运算符 )将 变量的值加(或减)1。 在C#中&#xff0c;和--是自增和自减运…

Pixea Plus for Mac:极简图片浏览,高效图片管理

在处理和浏览图片时&#xff0c;我们往往需要一个得心应手的工具&#xff0c;尤其是当你的图片库包含了各种不同格式&#xff0c;例如JPEG、HEIC、psd、RAW、WEBP、PNG、GIF等等。今天&#xff0c;我们要推荐的&#xff0c;就是一款极简、高效的Mac图片浏览和管理工具——Pixea…

云计算行业人才缺口巨大,给自己一个超车涨薪的机会!

2023年了&#xff0c;云计算已经不是未来趋势&#xff0c;而是我们正处于的环境&#xff01; 你一定用过云笔记、云盘吧&#xff1f;大家其实都在跟“云”打交道&#xff01;我们如今所处的时代中&#xff0c;云计算无疑是当下最热门的技术。 各大中小企业都在纷纷是将自己的…

哈啰两轮一面凉面经

离职原因 对语言的要求 java内存空间 jdk1.7&#xff1a;运行时每个进程有自己独立的一段存储区域。在这片区域里包括了各个线程共享的堆和方法区&#xff0c;还有每个线程独立的程序计数器、本地方法栈和虚拟机栈&#xff08;虚拟机栈由栈帧组成&#xff0c;每个栈帧中包括…