V*:Guided Visual Search as a Core Mechanism in Multimodal LLMs
- 摘要
- [1. Introduction](#1. Introduction)
- [2. Related Work](#2. Related Work)
-
- [2.1Computational Models for Visual Search](#2.1Computational Models for Visual Search)
- 2.2多模态模型
- [3. Method](#3. Method)
-
- [3.1VQA LLM with Visual Working Memory](#3.1VQA LLM with Visual Working Memory)
-
- [3.1.1 Model Structure](#3.1.1 Model Structure)
- [3.2 Data Curation for VQA LLM](#3.2 Data Curation for VQA LLM)
- [3.3 V*:LLM-guided Visual Search](#3.3 V*:LLM-guided Visual Search)
-
- [3.3.1 Problem Formulation](#3.3.1 Problem Formulation)
- [3.3.2 Model Structure](#3.3.2 Model Structure)
- [3.3.3 Search Algorithm](#3.3.3 Search Algorithm)
- [4. Benchmark](#4. Benchmark)
- [5. Experiments](#5. Experiments)
-
- [5.1. Evaluation on V* Bench](#5.1. Evaluation on V* Bench)
- [5.2. Ablation study](#5.2. Ablation study)
- [5.3. Visual Search Evaluation](#5.3. Visual Search Evaluation)
- [5.4. General Multimodal Benchmarks Evaluation](#5.4. General Multimodal Benchmarks Evaluation)
- [6. Conclusion](#6. Conclusion)
摘要
当我们环顾四周并且执行复杂任务时,我们如何看以及挑选看什么的过程是非常重要的。然而,当前的多模态大语言模型(MLLMs)缺乏这种视觉搜索机制,妨碍了它们关注重要特征的能力,尤其是处理高分辨率和视觉拥挤的图像时。为了解决这个问题,我们介绍了V*,一个LLM-guided 的视觉搜索机制,用LLMs中的世界知识有效的视觉索引(visual quering)。当和一个MLLM结合时,这个机制增强了合作推理(collaborative reasoning),上下文理解和特定视觉元素的精确定位。这个机制导致了一个新的MLLM meta-architecture,被命名为Show,sEarch,and TelL(SEAL)。我们进一步创建了V*Bench,一个专门设计用于评估MLLMs在处理高分辨率图像和关注于视觉细节的能力的benchmark。我们的研究突出了将视觉搜索能力整合到多模态系统中的必要性。
1. Introduction
人类智能的一个特点在于能够处理和整和多感知信息来处理复杂任务。涉及视觉信息的认知推理过程的一个突出方面是进行视觉搜索的能力--在错综纷杂的真实世界场景中,有效识别和定位重要目标的过程。这种机制在与环境的互动中起着基本的作用,并且无处不在,从在杂乱(cluttered)的桌面上找到钥匙到在人群中找到一个朋友。而且,是需要多步推理的复杂任务的不可或缺的一部分。这种错综复杂的视觉搜索已经在认知科学和视觉科学中被研究了很长时间。
虽然视觉搜索对人类来说似乎是直观的,但它实际上是一个由一系列复杂行为支撑(underpinned)的复杂过程。为了有效的完成这个任务,至上而下的特征指导(top-down feature guidance)和上下文场景指导(contextual scene guidance)是指导人类视觉搜索过程的两个基础因素。top-down feature guidance基于目标对象的特殊性和关于其一般类别的认识,知识将人们的注意力引导到具有特别特征和属性(如:颜色,形状和方位)的items上。
Contextual scene guidance 是基于在真实场景中objects通常在结构化场景中well-organized这一事实。因此,一旦使用基于常识的场景语义(semantics of the scene),object co-occurrence和其他物理限制来专注于特别的区域,将加速搜索过程。
作为一个实现人工通用智能的重要步骤,MLLMs尝试与模拟人类在整合多模态信息以及在通用任务上执行的能力。利用大型语言模型的强大推理能力,使得这一领域已经取得了重大进展。然而,如今MLLMs的一个关键限制在于,它们依赖于pre-trained(and often frozen) vision encoders。例如:CLIP image encoder。 这种依赖形成了视觉信息处理的主要瓶颈。The vision encoders 通常在低分辨率(low resolution)例如:224x224或336x336 pixels上训练。在部署时,图片通常被resized到一个lower resolution。导致,encoder可能会忽略在高分辨(high-resolution)上的一些重要细节。此外,目前的MLLMs很难识别它们处理的图像中哪些重要的视觉细节被忽略了或者unclear,更别说能够主动(proactively)的寻找或者request这种缺少的信息。
受人类能力的启发,我们提出了SEAL,一个通用的整合LLM-guided 视觉搜索机制到MLLMs来解决上述提到的视觉limitations的meta-architecture。SEAL框架由VQA LLM和一个视觉搜索模型(visual search model)组成。不像典型的MLLMs可能会拒绝回答或者做出毫无根据的猜测(make uninformaed guesses)(例如:假设(hallucinations))造成vision encoder的信息不足这样,SEAL中的VQA LLM能够直接指明被忽略的visual details,因此从而为焦点创建目标对象(target objects)。然后,利用语言模型中丰富的世界知识和常识,visual search model定位这些已标识的元素,将它们添加到视觉工作记忆(Visual Working Memory,VWM)中。VWM中这种额外的视觉数据能够使得VQA 语言模型能够提供更精确和有根据的(informed)回答。SEAL自适应的让VMW可以和各种MLLM base models一起工作。在我们的案例中,我们使用LLaVA作为visual search model下的VQA LLM和MLLM。 有了这种visual search 能力,MLLM能够更好地处理高分辨率图像中需要精确视觉grounding的情况,正如我们的比较中所强调的那样。
由于人类的视觉搜索过程是由至上而下的特征指导(top-down feature guidance)和上下文场景指导(contextual scene guidance)引导的,我们设计了一个有根据的视觉搜索算法,称为V *,其视觉搜索模型遵循类似的原则。对于人类来说,这样的指导很大程度上来自于他们对物理世界的知识和经验。因此我们的visual search model建立在另一个MLLM之上,该MLLM包含大量关于世界的常识,并可以根据这些知识有效地推断出目标在场景中的可能位置。
现有的MLLMbaseline主要侧重于提供跨各种任务类别的综合评估,并且没有充分挑战或暴露上述当前范例的具体限制。为了弥合这一差距并评估我们提出的框架,我们引入了V * Bench,这是一个新的专用VQA baseline,专注于高分辨率图像的详细视觉grounding。V* Bench是一个以视觉为中心的基准测试,要求多模态模型精确地获取特定的视觉信息,这些信息很容易被缺乏视觉搜索功能的标准静态视觉编码器忽略。在图像和视频等丰富而复杂的视觉内容日益占主导地位的世界中,对于MLLMs来说,能够积极关注复杂推理任务的关键视觉信息至关重要。该基准旨在突出这一基本机制的重要性,并指导其演变多模态逻辑模型反映了人类认知中固有的多模态处理和推理能力。
总之,我们的贡献有三个方面:1)我们提出了SEAL,一个MLLM元架构,旨在积极地推理和搜索所需的视觉信息,这是视觉密集型多模式任务的重要能力,特别是在处理高分辨率图像时。2)我们开发了一种视觉搜索算法V *,它利用llm固有的常识理解,在任何分辨率的图像上执行有效的有根据的搜索。3)我们引入了V * Bench来全面评估mllm在高分辨率图像中精确处理和建立详细视觉信息的能力。
2. Related Work
2.1Computational Models for Visual Search
受人类视觉搜索过程中引导因素的启发,人们提出了几种模拟人类视觉搜索过程的计算模型。
Sclar等人[41]提出了一种与显著性图相结合的贝叶斯搜索器。Torralba等[46]将局部显著性图与全局场景先验相结合,形成场景调制显著性图。IVSN[59]使用卷积网络计算搜索图像与目标模板之间的相似度映射,并贪婪地进行搜索。Yang等[55]使用逆强化学习(IRL)学习人类视觉搜索的奖励函数和策略。
然而,这些模型主要集中在模仿人类的凝视轨迹,不需要精确定位目标物体。并且它们通常采用固定大小的凝视(gazing)窗口,然而我们的视觉搜索模型,在以一个分层的过程处理任何分辨率的图像。此外,它们对目标对象的分类信息和上下文场景信息的使用仅限于简单的统计,而不能推广到一般领域。我们的视觉搜索模型利用LLM的常识知识来加快搜索过程。我们注意到我们的主动搜索策略与System II的认知过程相关联[16]------对于复杂的任务,动态的视觉搜索计算分配是必要的。我们的方法也可以被认为是LLM使用的思维链(CoT)技术的视觉对应物。
2.2多模态模型
在大型语言模型成功的推动下,视觉语言模型的研究开始探索如何装备LLM具有额外的视觉输入来解决各种多模态任务。目前,MLLMs可以分为两种类型:端到端模型和使用LLM工具的系统(LLM tool-using systems)。
- End-to-end MLLMs.端到端MLLMs通过投影(projection)或对齐模块将预训练好的LLM与视觉编码器连接起来,整个系统以端到端的方式进行联合训练。这些模型的目的是将视觉特征投射到语言输入embedding 空间上或中间特征空间 ,使LLM能够处理视觉信息并执行视觉语言任务。而视觉编码器就像CLIP通过图像-文本对齐进行预训练,可以将视觉特征翻译成llm可以理解的"language tokens"形式,这一过程引入了信息瓶颈。由于视觉编码器通常限于低分辨率图像,因此视觉特征的转换和投影通常会导致固有的信息丢失。因此,如果关键的视觉信息被捕捉得很差或不够集中,这些模型可能很难提供准确的结果,或者可能产生假设(hallucinated)的答案。
- LLM-tool-using systems.LLM-tool-using systems或基于LLM的代理将LLM视为一个黑盒子,并允许它们访问一些 视觉专家系统,通过推理来执行某些视觉语言任务。这样的系统利用不同种类的视觉专家**以文本的形式提供有关视觉输入的所需信息。**他们通常采用caption和detect模型来创建图像的一般文本信息,然后提供给LLM。根据图像的描述和特定的问题或任务指令,LLM进一步通过推理来决定需要哪些视觉信息和呼叫哪些视觉专家。当LLM认为信息足够时,决定终止流程并提供最终答案。然而,这种系统的一个主要问题是,由于整个系统仅基于文本运行,某些视觉信息在翻译成文本时不可避免地会被忽略或扭曲。此外,由于视觉专家本身并不完美,存在串联(cascaded)错误,过程复杂而漫长,使得整个系统容易出现故障。
3. Method
我们提出的SEAL是一个通用的MLLMs元结构。它由一个VQA LLM和一个视觉搜索模型组成,通过视觉工作记忆(VWM)进行协作和交互。SEAL框架的图示如图3所示。在这项工作中,我们提供了SEAL的实例来验证其有效性,并选择了LLaVA-7B模型作为实例SEAL框架中的MLLM。
3.1VQA LLM with Visual Working Memory
3.1.1 Model Structure
现代MLLMs通常有三个组成部分:视觉编码器、投影模块和LLM。投影模块的类型在不同的模型中有所不同。包括Resampler, QFormer 以及Linear layer。在不同的模型中,投影视觉标记在LLM中的位置也不同,例如在输入层或中间的交叉注意层。尽管存在这些差异,但大多数模型都采用预训练的CLIP作为视觉编码器。当处理高分辨率和视觉拥挤的图像时,CLIP提取的视觉特征可能无法捕获回答问题所需的必要信息。
视觉搜索机制并不总是参与其中。模型首先评估编码器的初始(全局)视觉特征是否足以回答问题。 如果没有,则以目标对象列表的格式显式列出所有必需但缺失的信息。然后,它初始化一个视觉工作记忆(VWM)。VWM有四个模块,块包含初始文本问题;包含初始图像;存储搜索后的目标对象集合;而存储搜索目标的坐标。 接下来,视觉搜索模型搜索图像并定位每个需要的目标。 然后从整个图像中裁剪出包含已识别目标的区域。裁剪后的目标及其坐标被添加到VWM中。之后,VQA LLM处理VWM中包含的数据以生成相应的响应。SEAL框架的工作流程在算法1中进行了说明。
在这项工作中,我们选择CLIP viti - l /14模型作为视觉特征提取器,将输入调整大小并填充为224^2。我们用它来处理初始图像和搜索目标crop。为了将视觉特征输入到LLM中,我们考虑了两种类型的投影模块,线性层和重采样器。线性层投影模块保持来自视觉编码器的视觉标记的数量,基于交叉注意的重采样器投影减少了标记的数量(即256到32)。为了管理VWM中不同内容对应的令牌长度,我们设计了一个简单的方案,可以在这两个投影模块之间灵活切换。 在输入仅包含初始图像特征而没有任何搜索目标的情况下,我们应用线性层投影来保持所有视觉标记。当VWM中存在一个或两个搜索目标时,假定模型需要关注这些目标。在这种情况下,我们对这些目标的视觉特征使用线性层投影,并使用重采样器对全局图像特征进行子采样。对于VWM包含两个以上搜索目标的情况,为了减少计算成本,对所有视觉特征都使用重采样器
3.2 Data Curation for VQA LLM
由于我们的VQA LLM现在将与已经搜索目标的VWM一起工作,我们需要执行额外的指令调优来训练VQA LLM。我们将训练数据描述如下。
Negative data for target objects reasoning(100k) : VQA LLM必须首先识别1)回答问题所需的目标对象,以及2)初始全局图像特征缺失或不够清晰的目标对象。为了方便起见,我们构建(图像,问题,答案)数据,其中问题属于图像中不存在的一个或两个对象。此外,我们构建了关于特定对象细节的问题,故意使其太小而无法被CLIP编码器捕获。可以选择边框尺寸小于20的对象。对这类问题的适当回应是直接承认这个问题无法回答,并清楚地列出所需的所有额外目标对象。我们使用GPT-3.5生成的问题在COCO2017上构建了100k数据。
VQA data(167k) :
LLaVA Instruction Tuning(120k):为了保持通用多模态问答和instruction following功能,我们还包括了LLaVA-80K指令调优数据,其中的图像源也是COCO。此外,我们在与COCO类别匹配并具有框注释的问题中识别object entities。然后将这些匹配的对象指定为搜索目标,创建一个额外的40k数据集。
3.3 V*:LLM-guided Visual Search
3.3.1 Problem Formulation
在高层次上,视觉搜索的目标与计算机视觉中的**引用表达式理解(REC)**任务有相似之处。REC旨在通过textual referering expression表达式描述图像中的特定对象。然而,与REC不同的是,它仅限于特定尺寸的图像,视觉搜索必须适应任何分辨率的图像。有时,需要在整个图像中进行彻底搜索才能找到目标对象。因此,视觉搜索效率很重要:一个有效的视觉搜索算法不仅要准确地定位目标,而且要尽可能快地定位目标。
3.3.2 Model Structure
就像人们经常放大手机以获得更清晰的视野一样,在处理高分辨率图像时,如果只将整个图像视为一个小缩略图,则可能无法准确识别和定位目标物体。为了解决这个问题,**一种简单的方法是将图像拼接成均匀大小的小块,并对每个小块进行详尽的定位。**这种蛮力策略(brute-force)常用于航空图像检测和全幻灯片图像分析。然而,对于有效管理高分辨率的图像来说,它往往效率太低------我们需要一个更智能的解决方案。
从人类如何在视觉搜索过程中利用上下文场景和自上而下的特征指导中获得灵感,我们将类似的概念融入到视觉搜索模型的设计中。这个过程使用了MLLM封装(encapsulates)了大量的常识性知识,作为启发式(heuristic)指导。为了对VWM的搜索目标进行定位和裁剪(crop),还需要增强MLLM,使其具有额外的定位能力。
我们的视觉搜索模型由一个MLLM和一个带有图像backbone和两个解码器的定位模块组成,即目标定位解码器Dtl和搜索线索定位解码器Dcl。MLLM在其词汇表中添加了定位token< LOC>使其具有额外的定位能力。给定图像和对象或区域的文本表达式,首先将文本表达式转换为固定格式的指令(即"请在图像中定位[对象]"),然后与图像一起馈送到MLLM中。MLLM输出本地化令牌<LOC>包含所查询文本表达式的上下文和位置相关信息。我们处理<LOC>使用两个独立的mlp嵌入vloc,以获得两个额外的嵌入vtl和vcl。然后将来自视觉编码器的图像标记与vtl和vcl结合,分别由解码器Dtl和Dcl处理,并分别输出目标坐标(带置信度分数)和搜索线索热图。Dcl类似于SAM中的掩码解码器[19],Dtl由两个线性头部实现,一个用于坐标预测,另一个用于置信度评分预测。这两个模块的详细结构如图4所示