大模型视觉理解能力更进一步,谷歌提出全新像素级对齐模型PixelLLM

983e3112bf2e4ec8be25c7fe0c2e86c9.png

论文题目:Pixel Aligned Language Models
论文链接:https://arxiv.org/abs/2312.09237
项目主页:Pixel Aligned Language Models

近一段时间以来,大型语言模型(LLM)在计算机视觉领域中也取得了巨大的成功,并且衍生出了一系列视觉语言模型,例如LLaVA、VisualChatGPT等,这些模型也可以以对话的方式来理解和回答用户提出的一些视觉任务,或者对图像进行复杂的推理。但这些模型仍然不具备执行一些细粒度视觉任务的能力,例如对图像进行word grounding(单词定位)或 referring localization(指代定位)等

本文介绍一篇来自谷歌研究院和加利福尼亚大学圣迭戈分校合作完成的论文,本文的研究团队深入探索了LLM在视觉嵌入空间的运行机制,并提出了一种可以将位置信息(例如一组点或框)作为输入或输出的视觉语言模型,称为PixelLLM(像素大模型)。当将位置作为输入时,PixelLLM会执行位置条件字幕生成任务(location-conditioned captioning),对用户给定的感兴趣区域生成对应的文字描述。而当模型将生成的位置信息作为输出时,PixelLLM会对每个输出单词的像素坐标进行回归,以达到密集word grounding的效果。作者通过大量的实验表明,PixelLLM目前在RefCOCO 和 Visual Genome 等视觉定位数据集上达到了SOTA性能。

01. 引言

先前的视觉语言模型,大多是在额外加入视觉信息之后,对大规模的LLM进行指令微调,使其适应到各种视觉任务中,例如对图像或者视频数据生成描述或生成对话。但这种方式需要将整张图像或整段视频作为LLM的输入,并且产生的输出全部都是文本格式。从实际操作角度来看,这种方式缺乏灵活性,生成的输出结果也缺乏直观性,人们往往更想知道,大模型给出的回答到底与图中的哪些目标或哪些区域有关。因此本文作者提出:LLM能否在视觉世界中实现空间的理解和推理?即将模型推理的重心放在对特定区域和物体位置的理解上,而不是像传统LLM一样仅在语言空间中进行计算。

为此,本文提出了一种PixelLLM模型,PixelLLM通过将每个输出单词密集对齐到像素位置,实现了细粒度的视觉理解能力。模型的实现也非常简单,作者仅在LLM输出的单词特征之后加入了一个轻量级的MLP,同时冻结LLM的权重参数,随后通过低秩微调(LoRA)方式对该MLP层进行更新

43de9f736cf946d4ae2b2ea7bc173598.png

上图展示了PixelLLM可以执行多种细粒度的视觉理解和推理任务,主要分为三个任务:

(1)Pixel-aligned Image Captioning:像素级图像字幕生成仍然以单张图像作为模型输入,但PixelLLM会对输出的每一个单词在原图的位置坐标进行回归,如上图右侧蓝色框线中,每个单词都使用彩色在原图中进行了标注。

(2)Referring Localization:指代定位任务则同时将图像和文本作为模型输入,PixelLLM会直接输出当前文本所指代的图像区域。

(3)Location-conditioned Captioning:位置条件字幕生成任务将图像和一组位置信息作为输入,PixelLLM会根据该位置信息在图中的感兴趣区域进行视觉理解,来生成细粒度的文本描述。

为了实现上述惊艳的视觉推理效果,作者使用像素级对齐的数据集Localized Narrative[1]进行训练,该数据集不仅包含对图像的详细描述,同时还保留了标注员在标注过程中注意力的鼠标轨迹,这对于训练模型的像素级对齐能力至关重要。

02. 本文方法

2.1 PixelLLM的整体框架

f574d7718a2744d09e2f8b15d8b16368.png

在视觉社区中,模型的定位能力有多种形式,例如目标检测(根据预定义的类别来定位目标),指代定位(根据一段文本描述来定位目标)和实体定位(根据句子中的每个单词来定位目标)。本文提出的PixelLLM则探索了一种全新的定位方式,即对句子中的每个单词进行像素级对齐。

2.2 在LLM中加入视觉定位能力

2.3 PixelLLM如何适应到下游任务中

4104758309b94073895aaaa58011a023.png

对于条件位置字幕生成(location-conditioned captioning)和密集对象字幕生成任务(dense object captioning),作者为PixelLLM加入了一个目标检测头(Proposal Head)来获得图像中的感兴趣目标,并将得到的边界框信息作为LLM的输入条件进行生成,整体过程如下图所示。

e91632d37aa5419b819158ec683dd8f9.png

03. 实验效果

本文的实验主要在RefCOCO、Visual Genome等视觉定位基准上进行,对于指代定位和分割任务,作者采用了RefCOCO数据集的标准评价指标P@0.5和分割cIoU。下表展示了PixelLLM在RefCOCO、RefCOCO+ 和 RefCOCOg三个数据集上的性能对比效果,PixelLLM在绝大多数数据集子集上均超越了先前的方法。

5a37ee7213564ee4925ca0f5c84e6dbc.png

对于条件位置字幕生成任务,作者在RefCOCOg 和 Visual Genome 数据集上进行了评估,模型的输入是真实的边界框,输出是与指示区域相对应的文本字幕,性能评估指标是每个框的 METEOR 和 CIDEr。下表展示了详细的实验对比,本文的方法在Visual Genome的条件文本生成精度为 19.9CIDEr。

63319f23b2774584b2691c26a16ab545.png

此外,作者还对PixelLLM在Localized Narrative的测试集上进行了可视化实验,下图展示了本文方法生成的单词注意力回归轨迹,模型生成的跟踪轨迹在语义上与生成的文本字幕可以很好的对应,PixelLLM准确的描述出了图像中的一些关键目标,例如一个带着帽子的人,拿着一根棍子等等,同时对于背景的草地,模型的注意力轨迹也都定位的较为准确。

b754b05c340e488cb35f3200ad136d7f.png

04. 总结

本文引入了一种全新的视觉模型定位机制,即在大型语言模型的基础上,对视觉内容进行空间交互理解,并生成文本字幕描述,然后对文本字幕中的每个句子进行像素级对齐。这种模式可以建立在目前常见的LLM之上,因而被称为PixelLLM,PixelLLM可以将图像以及目标位置信息或文本的任意组合作为输入或输出,具有较高的灵活性。此外,作者在PixelLLM中引入了轻量化的微调模块,可以在不破坏原有LLM参数的情况下训练像素级对齐,这使得模型可以轻松的迁移到各种细粒度的下游视觉理解任务中。

参考

[1] Jordi Pont-Tuset, Jasper Uijlings, Soravit Changpinyo, RaduSoricut, and Vittorio Ferrari. Connecting vision and language with localized narratives. In ECCV, 2020. 1, 2, 4, 6, 8, 11

[2] Junnan Li, Dongxu Li, Silvio Savarese, and Steven Hoi. Blip-2: Bootstrapping language-image pre-training with frozen image encoders and large language models. In ICML, 2023.


关于TechBeat人工智能社区

TechBeat(www.techbeat.net)隶属于将门创投,是一个荟聚全球华人AI精英的成长社区。

我们希望为AI人才打造更专业的服务和体验,加速并陪伴其学习成长。

期待这里可以成为你学习AI前沿知识的高地,分享自己最新工作的沃土,在AI进阶之路上的升级打怪的根据地!

更多详细介绍>>TechBeat,一个荟聚全球华人AI精英的学习成长社区 

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

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

相关文章

Unity 观察者模式(实例详解)

文章目录 简介示例1 - 简单的文本更新通知示例2 - 多观察者监听游戏分数变化示例3 - 事件系统实现观察者模式示例4 - 泛型观察者和可序列化的事件系统示例5 - 使用C#委托简化版 简介 在Unity中实现观察者模式,我们可以创建一个Subject(目标/主题&#x…

前端面试题-js部分-数组去重-数组扁平化-伪数组转数组-面向对象的继承方式(ES5)

前端面试题-js部分-数组去重-数组扁平化-伪数组转数组-面向对象的继承方式ES5 数组去重数组扁平化伪数组转换为数组面向对象的继承方式(ES5) 数组去重 1.利用es6 set 去重 Set 类型不允许有值重复 let arr1 [1, 2, 4, 3, 5, 7, 1, 8, 2, 4, 9]console.…

WebRTC系列-自定义媒体数据加密

文章目录 1. 对外加密接口2. 对外加密实现前面的文章都有提过WebRTC使用的加密方式是SRTP这个库提供的,这个三方库这里就不做介绍,主要是对rtp包进行加密;自然的其调用也是WebRTC的rtp相关模块;同时在WebRTC里也提供一个自定义加密的接口,本文将围绕这个接口做介绍及分析;…

【郑益慧】模拟电子技术:7.Mos管的工作原理

Mos管的工作原理 Mos管的出现,几乎不怎么耗电。因此在集成电路中起了非常大的作用 在某些方面确实比晶体三极管强。 基本原理:依靠电场效应来控制。 电场效应几乎是没有电流的,没有电流几乎是没有功率的。 从控制上来说,消耗…

华为——NGFW Module安装在集群交换机上,二层双机负载分担部署,交换机重定向引流

NGFW Module安装在集群交换机上,二层双机负载分担部署,交换机重定向引流 业务需求 如图1所示,两台交换机集群组网,两块NGFW Module分别安装在两台交换机的1号槽位组成双机负载分担组网。NGFW Module工作在二层,也就是…

微信小程序canvas画布实现文字自由缩放、移动功能

目录 实现效果 一、获取画布信息并绘制背景 二、绘制文字 三、绘制文字编辑按钮

铺砖4(c++题解)

题目描述 你有一个长为N宽为2的墙壁,给你两种砖头:一个长2宽1,另一个是L型覆盖3个单元的砖头。如下图: 砖头可以旋转,两种砖头可以无限制提供。你的任务是计算用这两种来覆盖N*2的墙壁的覆盖方法。例如一个2*3的墙可…

Stable Diffusion结构解析-以图像生成图像!

手把手教你入门绘图超强的AI绘画,用户只需要输入一段图片的文字描述,即可生成精美的绘画。给大家带来了全新保姆级教程资料包 (文末可获取) AIGC专栏3——Stable Diffusion结构解析-以图像生成图像(图生图&#xff0c…

【活动回顾】CSDN 1024 程序员节城市站系列活动·成都站 - 圆满结束!

文章目录 前言一、活动介绍二、精彩分享内容及活动议程2.1、1024 活动限量周边大放送2.2、《COC 成都社区情况和活动介绍》2.3、CSDN 创始人蒋涛寄语2.4、《AI 重构世界》2.5、《新技术助力企业降本增效》2.6、现场互动情况2.7、《探索开源世界,开拓创新思路》2.8、…

用C#实现最小二乘法(用OxyPlot绘图)

最小二乘法介绍✨ 最小二乘法(Least Squares Method)是一种常见的数学优化技术,广泛应用于数据拟合、回归分析和参数估计等领域。其目标是通过最小化残差平方和来找到一组参数,使得模型预测值与观测值之间的差异最小化。 最小二…

RSTP保护机制

BPDU保护 在交换设备上通常将直接与用户终端或文件服务器等非交换机设备相连的端口配置为边缘端口。 正常情况下,边缘端口不会收到RST BPDU。如果有人伪造RST BPDU恶意攻击交换设备,当边缘端口接收到RST BPDU时,交换设备会自动将边缘端口设置…

TensorFlow2实战-系列教程8:TFRecords数据源制作2

🧡💛💚TensorFlow2实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Jupyter Notebook中进行 本篇文章配套的代码资源已经上传 5、图像数据处理实例 5.1 读数据 import os import glob from datetime import date…

【Qt】QInputDialog setGeometry: Unable to set geometry 问题

QInputDialog setGeometry: Unable to set geometry 问题 文章目录 I - 问题背景II - 解决办法III - 参考链接 I - 问题背景 创建了一个 QMainWindow 并在上边创建了布局,尝试调用 QInputDialog 的 getInt 静态方法,结果运行时出现了以下警告 QWindows…

电商API接口的应用|电商跨境电商商品采集高效解决方案

电商API接口的应用|电商跨境电商商品采集高效解决方案 面对数十万亿元的跨境电商市场,以阿里巴巴国际站为代表的跨境电商数字平台,在政策、需求以及供应链的驱动下,为中小企业提供了全产业链、全供应链一体化综合服务,让越来越多…

机器学习复习(1)——任务整理流程

目录 固定的随机数种子 定义predict功能 拆分数据集 定义trainer 超参数设置 数据集载入 固定的随机数种子 在大量的机器学习与深度学习实验中,如果不进行特殊设置,我们的结果将不可复现,固定的随机数种子将会解决这个问题 def same…

字符串相关函数和文件操作

文章目录 1. C/C 字符串概述1.1 字符串常量1.2 字符数组 2. 字符串函数2.1 拷贝赋值功能相关函数(覆盖)2.1.1 strcpy2.1.2 strncpy2.1.3 memcpy2.1.4 memmove2.1.5 memset2.1.6 注意小点2.1.7 【函数区别】 2.2 追加功能相关函数2.2.1 strcat2.2.2 strnc…

使用plotly dash 画3d圆柱(Python)

plotly3D (3d charts in Python)可以画3维图形 在做圆柱的3D装箱项目,需要装箱的可视化,但是Mesh (3d mesh plots in Python)只能画三角形,所以需要用多个三角形拼成一个圆柱(想做立…

Python qt.qpa.xcb: could not connect to display解决办法

遇到问题:qt.qpa.xcb: could not connect to display 解决办法,在命令行输入: export DISPLAY:0 然后重新跑python程序,解决! 参考博客:qt.qpa.xcb: could not connect to displayqt.qpa.plugin: Could …

Ubuntu搭建国标平台wvp-GB28181-pro

目录 简介安装和编译1.查看操作系统信息2.安装最新版的nodejs3.安装java环境4.安装mysql5.安装redis6.安装编译器7.安装cmake8.安装依赖库9.编译ZLMediaKit9.1.编译结果说明 10.编译wvp-GB28181-pro10.1.编译结果说明 配置1.WVP-PRO配置文件1.1.Mysql数据库配置1.2.REDIS数据库…

监听项目中指定属性数据,点击或模块显示时

当项目中,需要获取某个页面上、某个标签上、有指定自定义属性时,需要在点击该元素时进行公共逻辑处理,或该元素在显示的时候进行逻辑处理,这时可以定义一个公共的方法,在每个页面引用,并写入数据即可 &…