Pixel Aligned Language Models论文阅读笔记

news/2024/9/20 7:02:06/文章来源:https://www.cnblogs.com/lipoicyclic/p/18337052

Motivation & Abs

近年来,大语言模型在视觉方面取得了极大的进步,但其如何完成定位任务(如word grounding等)仍然不清楚。本文旨在设计一种模型能够将一系列点/边界框作为输入或者输出。当模型接受定位信息作为输入时,可以进行以定位为condition的captioning。当生成位置作为输出时,模型对LLM生成的每个输出单词的像素坐标进行回归,从而进行dense grounding。

Method

方法

截屏2024-08-01 15.30.45

模型输入为图片以及prompt(可选),如果不指定prompt,默认的prompt为(0, 0, H, W)的box。在captioning的过程中,模型除了输出句子外,还需要输出与句子等长的点序列,每个点对应句子中的一个token。与之前的方法不同,本文方法不强制模型忽略非视觉token。

对于视觉端,首先将图像送入image encoder以及将prompt送入prompt encoder,得到图像特征\(\textbf{f}\)以及提示特征\(\mathcal{P}(b)\),之后使用prompt feature extractor \(\mathcal{E}\)得到prompt feature:

\[\textbf{f}_l=\mathcal{E}(\textbf{f},\mathcal{P}(b)) \]

其中prompt feature extractor采用类似Q-Former的结构,通过可学习的query提取特征,整体作用类似ROIAlign。

在拿到location-specific的特征\(\textbf{f}_l\)后,我们可以将其送入语言模型在进行captioning,使用自回归的decoding方式:\(w_i=\mathcal{L}(\textbf{f}_l,\textbf{w}_{1:i-1})\)。语言模型的最后一个linear为vocabulary mapping layer,将语言空间的特征映射为词汇表的坐标:

\[w_i={\rm argmax}(\textbf{v}\cdot\mathcal{L}^-(\textbf{f}_l,\textbf{w}_{1:i-1})) \]

因此为了得到与语言模型输出类似的定位信息,作者在vocabulary mapping layer旁添加了一个并行的mlp层,将特征映射为2维定位输出:

\[p_i={\rm MLP}(\mathcal{L}^-(\textbf{f}_l,\textbf{w}_{1:i-1})) \]

额外添加的MLP并不会将梯度反传回语言模型,从而避免损害解码文本的能力。

训练

模型的训练在人类标注的captionlocation aligned数据集Localized Narrative上面进行。损失:

截屏2024-08-01 16.41.29

下游任务适配

截屏2024-08-01 16.51.43

截屏2024-08-01 16.52.07

Referring localization and segmentation:虽然可以通过轨迹获得边界框,但这是次优的,因为轨迹边界不是严格的实例边界。因此,作者使用相同的回归 MLP 层训练模型在 <EOS> 标记处输出准确的对象边界框:截屏2024-08-01 16.57.47

同时拿到边界框后,还能通过SAM进行分割。

其它下游任务可以参考原文。

实验

截屏2024-08-01 17.09.13

截屏2024-08-01 17.10.59

截屏2024-08-01 17.11.10

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

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

相关文章

Pytorch笔记|小土堆|P1-5

Pytorch环境安装及配置 1、创建conda环境,名为pytorch conda create -n pytorch python=3.10 2、在任务管理器的性能中确认显卡,是否支持CUDA。其次,确认显卡驱动,cuda9.2支持396.26以上的驱动,可以在命令行使用 nvidia-smi 来看自己驱动是否满足要求,如果低于396.26,可…

Cortex-M3初探

关于Cortex-M3初探索目录寄存器组R0-R12:通用寄存器R13:两个堆栈指针 SPR14:连接寄存器 LRR15:程序计数寄存器 PC特殊功能寄存器xPSR寄存器PRIMASK寄存器FAULTMASK寄存器BASEPRI寄存器CONTROL寄存器操作模式与特权级别用户级切换为特权级的流程内建的嵌套向量中断控制器 NV…

OpenSSH秘钥指纹图像生成算法

使用 SSH 秘钥生成时产生疑惑,它的 fingerprint randomart image 是如何生成的?对此进行了探索和研究,意外的简单OpenSSH秘钥指纹图像生成算法使用 SSH 秘钥生成时产生疑惑,它的 randomart image 是如何生成的?下面进行了探索和研究 引入 生成位数为 4096 位的 rsa 公私钥…

检测Linux服务器CPU、内存、负载、IO读写、机房带宽和服务器类型的脚本

脚本内容: #!/usr/bin/env bash # # # #RED=\033[0;31m GREEN=\033[0;32m YELLOW=\033[0;33m SKYBLUE=\033[0;36m PLAIN=\033[0mabout() {echo ""echo " ========================================================= "echo " \ Supe…

拖拽式操作也能制作中国式报表了?

报表作为企业经营和决策的重要工具,其重要性不言而喻。中国式报表,不仅要求数据的精准呈现,还需要在格式上保持高度的灵活性,以满足不同场景下的需求。中国式报表以独特的复杂性和信息量大而著称,而这种复杂性也带来了制作和维护上的挑战,使得许多企业在处理中国式报表时…

STM32G030F6P6TR_IAP

bootloader程序 STM32FLASH读写1 /**2 ******************************************************************************3 * @file stmflash.c4 * @brief 读写STM32内部flash(STM32G030F6P6TR)5 **********************************************************…

XALM基本语法

1.同一个UI可以有不同的实现如上图所示,可以存在以下两种不通的实现: 实现一: 实现二:2.对对象属性赋值: 两种语法:使用字符串进行简单赋值;使用属性元素进行复杂赋值; 一.简单赋值: 二.使用属性元素赋值: 3.简化XAML得技巧 精简后如下: 4.对于复杂的绘图和动画制作…

8月8日在线研讨会 | 如何快速开发量产级别功能安全应用软件

本次研讨会经纬恒润将结合自身控制器产品研发及国内外功能安全开发、集成、测试、咨询的实践经验,重点基于功能的应用监控软件,从需求定义、架构设计、单元设计及测试验证等多个环节,分享功能安全量产软件实施的方案、加速实施过程的方法,以推动客户汽车量产级别软件功能安…

vue集成svg大图拖拽无限放大缩小

vue项目中根据实际CAD图为参考,以及参看项目实际现场,手动绘制了一张线体、堆垛机、库区货架svg图,集成到vue页面中,svg图中可以交互接收C#发送过来的singalR实时数据。接收singalR的实时数据并显示到vue中,这里不作展开讲,可以参看笔者另一篇文章《vue若依集成C#的singa…

积目社交app应用深度剖析:定位、功能与用户生态

一、产品概述 积目是一款主打青年文化领域的陌生人社交App,成立于2016年9月。它致力于提高用户质量,为青年群体提供基于兴趣的社交服务。积目的业务涵盖了看照滑卡牌、青年社区、共鸣匹配、线下活动等多个方面,旨在打造一个全方位的社交娱乐平台。二、用户分析 用户特征: 积…

抖音私信如何跳转微信,抖音卡片制作教程

在社交媒体平台中,抖音和微信都是非常受欢迎的应用程序。抖音是一款短视频分享平台,而微信是一款社交聊天应用。有时候,我们可能希望将抖音视频分享到微信上,但是却无法直接在抖音上找到跳转微信的功能。所以在本文中,我们将探讨如何生成抖音跳转微信链接的方法。 首先,我…

比较基因组学流程

1、OrthoFinder 教程 用于比较基因组学的系统发育直系学推断 1.1 orthofinder介绍OrthoFinder是一种快速、准确和全面的比较基因组学分析工具。它可以找到直系和正群,为所有的正群推断基因树,并为所分析的物种推断一个有根的物种树。OrthoFinder还为比较基因组分析提供全面的…