现有的大型视觉-语言多模态模型主要关注整体图像理解,但在实现区域特定的理解方面仍存在显著差距。目前,使用文本坐标或空间编码的方法通常无法为视觉提示提供用户友好的接口。为了解决这个问题,我们提出了一种新颖的多模态模型,能够解码任意(自由形式)视觉提示。这使得用户可以通过自然提示(如“红色边框”或“指向箭头”)直观地标记图像并与模型互动。我们的简单设计直接将视觉标记叠加在RGB图像上,避免了复杂的区域编码,同时在区域理解任务上,如Visual7W、PointQA和视觉常识推理基准测试中,达到了最先进的性能。此外,我们还提出了ViP-Bench,一个全面的基准测试,评估模型在多个维度上理解视觉提示的能力,为未来在该领域的研究提供了基础。代码、数据和模型均已公开。
近年来,像ChatGPT [32]、GPT-4 [33] 和Bard [12] 等大型语言模型(LLM)因其强大的推理和泛化能力,以及类似人类的对话能力而引起了广泛关注。特别是像GPT-4V(ision) [31] 这样的模型,通过整合视觉信息,展示了人类级别的感知和推理能力 [50]。这推动了类似的开源模型的开发,这些模型旨在复制甚至超越专有模型的性能。
尽管现有模型具备强大的能力,包括像LLaVA [23, 24] 和MiniGPT-4 [56] 等开创性的模型,但它们主要集中于整体图像理解;换句话说,它们缺乏处理复杂场景中区域特定信息的能力。这个局限性在尝试仅通过语言提示描述图像中特定物体时尤为明显,尤其是当图像中存在歧义时(例如,当图像中有多个人,而问题涉及到特定的人物时),如图1所示。
为了解决这一问题,最近的研究探索了在多模态模型中使用空间参考。现有的工作主要集中在使用坐标的文本表示 [4, 5, 9, 53]、学习的位置信息嵌入 [34, 52, 55] 或 ROI 特征 [37, 52] 上。然而,这些方法往往缺乏用户友好性,因为它们仅限于固定格式的视觉参考,如边界框和掩膜轮廓的空间坐标。这些方法中的大多数,包括 Zhang 等人 [52] 和 Chen 等人 [5] 的工作,仅使用边界框输入进行视觉引用。尽管在结构化场景中有效,但这种方法在自然的、由用户驱动的交互中表现较差,在这种交互中,视觉提示可能不符合干净的几何形状。
在本文中,我们提出了一种简单而有效的解决方案:一个可以处理任意视觉提示的大型多模态模型。这使得用户可以直观地标注图像,并使用自然提示如“红色边界框”或“指向箭头”与模型进行交互。我们的模型能够识别这些视觉提示,为将视觉引用集成到语言对话中提供了一种用户友好的方式。基于我们自己的观察和之前的工作 [38],该工作表明 CLIP 可以理解视觉标记,我们将这些视觉提示直接注入到原始图像空间中,而无需额外的区域特定模型设计。尽管我们的方法看似简单,但却带来了意想不到的好处:我们的模型在需要精确区域感知和复杂推理的任务上,取得了全新的最先进性能。它超越了现有的、使用专门区域编码技术的相关模型,正如我们在 Visual7W [57] 和 PointQA [29] 上的区域推理任务中的优越表现所证明的那样。
为了进一步支持该领域的研究,我们介绍了 ViP-Bench,一个用于评估多模态模型处理任意视觉提示的区域理解能力的基准。通过收集 303 张多样化的图像和问题,我们提供了对视觉理解能力的全面评估,涵盖了六个方面的区域级别:识别、OCR、知识、数学、物体关系推理和语言生成。我们相信,ViP-Bench 将为未来关于多模态模型与任意视觉提示的研究提供坚实的基础。
总之,我们的主要贡献包括:
大型多模态模型的进展
大型语言模型(LLMs),如 ChatGPT [32]、GPT-4 [33] 和 LLaMA [41],展示了令人印象深刻的推理和泛化能力。随着 GPT-4V(ision) [31] 等模型的出现,集成视觉信息的 LLMs 在最近的研究中引起了极大关注。在开源 LLM [41, 43] 的基础上,许多多模态视觉-语言模型取得了显著进展,LLaVA [23, 24] 和 MiniGPT-4 [56] 等模型将 LLaMA [41] 的语言能力与基于 CLIP [36] 的图像编码器结合起来。
虽然这些模型在整图理解方面表现优异,但一个关键挑战是在复杂视觉场景中实现区域特定的理解。这导致了在多模态背景下探索空间引用的工作。现有模型使用文本坐标表示 [4, 5, 9, 53]、学习的位置信息嵌入 [34, 52, 55] 或感兴趣区域(ROI)特征 [52] 将语言与特定的图像区域对接。然而,这些方法通常采用刚性的视觉引用格式,用户在使用时并不直观。
作为用户友好解决方案的视觉提示
我们的研究聚焦于使与多模态模型的交互变得更加自然和直观。传统的模型通常采用规则形状来进行视觉提示,但我们的研究受到需要一个能够解释更广泛视觉提示的系统的启发。例如,在视觉感知中,已经提出了可以接收点或涂鸦的交互式分割方法 [17, 58]。受近期研究成果的启发,GPT-4V 展示了理解多种标记的能力 [46],我们提倡开发能够处理任意视觉提示的模型,如涂鸦和箭头。在我们的模型 ViP-LLaVA 中,我们将这些视觉提示直接覆盖到图像画布上。这是通过在专门为任意视觉提示指令设计的数据集上进行微调来实现的。
评估大型多模态模型的区域理解能力
现有工作 [5, 34, 47, 52] 评估了模型在区域多项选择 [29, 51, 57] 或字幕生成 [18, 49] 任务中的区域理解能力,使用的评价指标包括准确率、召回率和 CIDer [42]。然而,这些指标在评估大型多模态模型在开放世界设置中的视觉对话时存在局限。为了评估大型多模态模型在图像级理解任务中的能力,提出了两类评估方法:多项选择题 [25] 或使用 GPT-4 作为裁判来判断自由形式答案 [24, 50]。然而,评估大型多模态模型理解任意视觉提示的能力仍然存在空白。为了解决这一问题,我们提出了 ViP-Bench,一个全面的基准,旨在评估大型多模态模型在多个维度上对各种视觉提示的理解能力,包括识别、OCR、知识、数学、关系推理和语言生成。
我们的研究基于这样一个前提:一个大型多模态模型不仅应该能够感知图像的视觉内容,还应能够将任意视觉标记解读为用户交互的一部分。在本节中,我们将描述实现这一目标的方法,重点介绍 CLIP 在理解视觉标记中的关键作用,以及为训练 ViP-LLaVA 理解任意视觉提示而构建的新指令调优数据集。
与先前在区域理解方面的工作 [34, 52] 通过构建新的模块来处理视觉提示不同,我们利用 CLIP [36] 的现有能力来编码图像和叠加的视觉标记。具体来说,CLIP 在对齐视觉和文本数据方面的高效性使其成为此任务的理想候选者,因为最近的研究 [38] 表明,它本身能够关注标记的区域,包括圆形、矩形等。正如我们的实验所示,我们进一步证明了 CLIP 能够将模型的注意力集中在更广泛的视觉提示上,如箭头和任意涂鸦。为了利用这一功能,我们通过 alpha 混合将视觉提示 P v P_v Pv 与原始图像 X v X_v Xv 组合,创建一个合并的表示,突出显示兴趣区域:
X ^ v = α ⋅ P v + ( 1 − α ) ⋅ X v ( 1 ) \hat { \mathbf { X } } _ { \mathrm { v } } = \alpha \cdot \mathbf { P } _ { \mathrm { v } } + ( 1 - \alpha ) \cdot \mathbf { X } _ { \mathrm { v } }\quad(1) X^v=α⋅Pv+(1−α)⋅Xv(1)
其中,α ∈ [0, 1] 表示视觉提示的透明度, X v X_v Xv 是图像, P v P_v Pv 是带有视觉提示的图像。注意,我们仅对位于视觉提示下方的像素进行 alpha 混合。然后,合成图像 X ^ v \hat { \mathbf { X } } _ { \mathrm { v } } X^v 被输入到多模态模型中。
为了有效地识别视觉提示,我们在 ViP-LLaVA 中平衡低级和高级视觉特征。为了应对 CLIP 的深层特征往往忽视低级细节的趋势 [54],我们选择性地从多个 CLIP 层提取特征。具体来说,我们使用一个较早的层(第6层)来编码详细的几何形状,以及四个较深的层(第15、18、21、24层)来捕捉更广泛的语义信息。然后,这些多级特征被拼接,使用 LayerNorm [2] 进行归一化以保证训练的稳定性,最后通过一个 MLP 层处理。这一过程确保了 ViP-LLaVA 有效地整合了多样的视觉线索,这一策略通过我们在第 5.4 节中的消融实验得到了验证。
我们设计的直接覆盖视觉提示的简便性带来了多个优势。它通过跳过额外的处理模块减少了模型复杂度,并且与自然的人类交互紧密对接,因为用户通常会使用多样且自发的视觉标记。这种灵活性使 ViP-LLaVA 能够解读广泛的用户生成视觉线索,增强了它在现实场景中的适用性。
为了训练 ViP-LLaVA,我们执行自回归语言建模;即,我们最大化生成地面真值答案 Xa 的tokens的可能性:
P ( X a ∣ X ^ v , X i n s t r u c t ) = ∏ i = 1 L P θ ( x i ∣ X ^ v , X i n s t r u c t , X a , < i ) ( 2 ) P ( \mathbf { X } _ { \mathrm { a } } \mid \hat { \mathbf { X } } _ { \mathrm { v } } , \mathbf { X } _ { \mathrm { i n s t r u c t } } ) = \prod _ { i = 1 } ^ { L } P _ { \theta } ( x _ { i } \mid \hat { \mathbf { X } } _ { \mathrm { v } } , \mathbf { X } _ { \mathrm { i n s t r u c t } } , \mathbf { X } _ { \mathrm { a } , < i } )\quad(2) P(Xa∣X^v,Xinstruct)=i=1∏LPθ(xi∣X^v,Xinstruct,Xa,<i)(2)
其中, θ θ θ 表示可训练参数,Xinstruct 是文本指令,L 是答案 Xa 的序列长度, X a , < i { \mathbf { X } } _ { \mathrm { a } , < i } Xa,<i表示当前预测 token $x_i $之前的所有答案 token,其中 i 表示文本 token 生成过程中的步数。为了简洁起见,我们在公式中省略了系统消息,尽管它们实际上也是条件的一部分。图2展示了我们的模型架构。
该训练目标使模型能够在理解视觉内容、语言指令和叠加提示的基础上,生成具有上下文关联性的准确回应。它促使模型在图像与视觉标记的统一理解下进行推理,从而提升其处理复杂、区域特定语言问题的能力。这一能力对于需要对视觉元素和用户通过任意视觉提示所表达意图进行细致理解的任务至关重要。
为了训练模型识别和理解任意视觉提示,我们构建了一个全新的视觉提示指令微调数据集,因为目前尚无包含任意视觉提示及其配套指令-输出文本对的数据集可供使用。
我们的数据集由多样化的 52 万对图文样本组成,所有样本均带有视觉提示,来源于多个公开数据集,包括:
我们为每张图像自动添加了多种视觉提示注释。对于仅提供边界框注释的数据,我们从三类视觉提示中采样:矩形、椭圆和箭头。在这种情况下,我们确保箭头的箭头端位于 [ ( − W 2 , − H 2 ) , ( W 2 , H 2 ) ] [ ( - \textstyle { \frac { W } { 2 } } , - \textstyle { \frac { H } { 2 } } ) , ( \textstyle { \frac { W } { 2 } } , \textstyle { \frac { H } { 2 } } ) ] [(−2W,−2H),(2W,2H)]的区域内,其中 W、H 分别是图像的宽度和高度。对于椭圆,其长轴和短轴的长度继承自边界框尺寸,我们将椭圆按照比例 [1,1.5][1, 1.5] 进行放大。
另一方面,对于具有像素级掩码真值标注的区域,我们从以下 8 类视觉提示中采样用于注释:矩形、椭圆、点、三角形、掩码、掩码轮廓、箭头以及使用贝塞尔曲线(Bezier curves)绘制的涂鸦(scribble);见图 3。我们确保箭头的箭头端、整个点、三角形和涂鸦都完全位于提供的掩码区域内。这些注释方式模拟了人类与图像自然交互的方式,即用户通常通过自发标记来高亮感兴趣区域。
对于涂鸦,我们使用贝塞尔曲线 [8] 来模拟人类风格的绘制过程。该过程首先在目标掩码内随机选取三个点,作为二次贝塞尔曲线的锚点。生成的贝塞尔曲线随后通过前文提到的 alpha blending 技术叠加到图像上,从而得到包含涂鸦视觉提示的合成图像。
人类在现实生活中经常使用各种标记来突出感兴趣的对象。例如,在教育场景中,教师常用箭头或下划线引导学生注意图像或文本中的特定部分;在日常交流中,人们可能会圈出照片中的某个物体以指示重点,或用涂鸦遮盖敏感信息后再分享。通过这样的设计,我们构建了一个符合人类视觉交互方式的视觉指令遵循数据集,从而使模型交互更加直观自然。
我们的训练数据来自两个来源:(i) 第 3.2 节中描述的区域级视觉提示数据,以及 (ii) 不含视觉提示的图像级数据,这部分数据来源于 LLaVA-1.5 [23]。这种策略使 ViP-LLaVA 能够进行类人对话,主要得益于来自 Liu 等人 [24] 提供的图像级 LLaVA 指令数据。为了进一步增强 ViP-LLaVA 在区域级多模态对话方面的能力,我们借助 GPT-4V 设计了区域特定的指令数据。
以往的方法如 Shikra [5] 尝试使用仅基于文本的模型(如 GPT-4)来生成区域级指令数据。然而,这种方法在处理物体级任务时存在天然限制,因为模型缺乏视觉上下文,无法在同一图像中准确地区分和引用多个同类物体。为了解决这一问题,我们采用了基于 GPT-4V 的指令数据构建方法。与纯文本模型不同,GPT-4V 能够识别图像中显示的视觉提示 [46]。
我们的方法是将两张图像输入给 GPT-4V:一张是原始图像,另一张是标注了视觉提示的修改图像。与此同时,我们还提供原始数据集中对应图像的文本注释(ground-truth)以及系统消息。通过这一过程,我们为第 3.2 节所述数据集构建了大量
三元组。
我们引入了一些特定的文本表述方式,如
和 (
,以便 GPT-4V 在单区域或多区域设置中准确识别视觉提示。在训练阶段,我们将这些短语替换为第 3.2 节中介绍的八种可能的视觉提示,从而显著提升了数据集的多样性和泛化能力。最终,我们构建了 13k 条高质量的区域级指令数据,其中包括 7k 条单区域样本和 6k 条多区域样本。在附录中,我们提供了系统消息、输入文本提示和生成文本输出的具体示例。
虽然即使没有这些增强数据,ViP-LLaVA 在标准视觉推理基准上的表现也很出色,但实验表明这些数据有助于进一步提升模型在开放世界场景中进行类人对话的能力。
温馨提示:
阅读全文请访问"AI深语解构" ViP-LLaVA: 使大型多模态模型理解任意视觉提示