SpatialVLM-探析(视觉语言模型 & 空间推理)
介绍
SpatialVLM
是由Google DeepMind
开发的一种视觉语言模型(Vision-Language Model, VLM
),其主要目标是增强VLMs
的空间推理能力(Spatial Reasoning Capabilities
),使其能够理解和推理三维空间中的物体关系。
主要特点:
- 增强的空间推理能力:
SpatialVLM
通过训练在大规模的空间推理数据集上,显著提升了模型在定性和定量空间推理任务中的表现。这些任务包括回答关于物体位置、距离和尺寸的问题。 - 数据生成和训练:为了训练
SpatialVLM
,研究团队开发了一种自动生成3D
空间问答(VQA
)数据的框架。该框架能够将二维图像提升为三维点云,并生成包含空间注释的大规模数据集。这些数据集包含了多达20
亿个VQA
示例,覆盖了1000
万张真实世界的图像。 - 多模态学习:
SpatialVLM
结合了视觉和语言数据,通过多模态学习方法,将图像和文本数据映射到一个联合的嵌入空间中。这种方法使模型能够同时处理和理解图像和文本信息,从而在生成和理解内容时利用这两种信息源。
关键技术:
- 对比学习:
SpatialVLM
使用对比学习的方法,通过最大化匹配图像-文本对的相似性和最小化不匹配对的相似性来训练模型。这种方法提高了模型在多模态任务中的表现。 - 嵌入投影:
SpatialVLM
模型使用嵌入投影模块对齐图像和文本的嵌入表示,确保两者在同一个语义空间中具有可比性,从而能够进行有效的空间推理。 - 链式推理:
SpatialVLM
能够执行复杂的链式推理任务,意味着它可以通过与强大的大语言模型(LLM
)结合,解决多步骤的空间推理问题。这种能力使其在机器人学和其他需要复杂空间分析的领域中具有广泛的应用前景。
SpatialVLM
通过结合视觉和语言处理能力,显著提升了模型的空间推理能力。它利用大规模的空间推理数据集和多模态学习方法,能够在多种任务中表现出色,如视觉问答和机器人学。
传统AI
通常擅长图像识别或文本分析等任务,专注于图像或文档中的“内容”,而AI
中的空间智能则不仅限于识别对象。它使AI
能够了解对象的“位置”和“方式”——它们的位置、大小、距离以及它们在3D
空间中如何相互作用。
SpatialVLM
SpatialVLM
是采用数据生成与预训练机制实现的模型,目的是为了增强VLM
的空间推理能力。事实证明在合成数据上训练的VLM
表现出强大的空间推理能力,并且可以从2D
输入图像生成度量距离估值,从而解决当前VLM
(如GPT-4V
)遗留的缺陷。理解和推理空间关系是视觉问答(VQA
)和机器人技术的基本能力。虽然视觉语言模型(VLM
)在某些VQA
基准测试中表现出色,但它们仍然缺乏3D
空间的推理能力,例如识别物理对象的定量关系,如距离或大小差异。我们假设VLM
有限的空间推理能力是由于训练数据中缺乏3D
空间的知识,目标是通过使用互联网规模的空间推理数据训练VLM
解决此问题。为此,这里提出了一个解决方法。首先开发了一个自动3D
空间VQA
数据生成框架,该框架可在1000
万张真实世界图像上扩展20
亿个VQA
示例。并研究了训练方法中的各种参数,包括数据质量、训练管道和VLM
架构。通过在互联网规模3D
空间推理数据集上训练VLM
,从而显著增强了其在定性和定量空间VQA
方面的能力。最后,由于其定量估计的能力,从而使其解锁了思维链空间推理和机器人技术中的下游应用。
近年来,视觉语言模型(VLM
)在各种任务中取得了重大进展,包括图像字幕、视觉问答(VQA
)、具身规划、动作识别等。虽然VLM
是适用于各种任务的强大通用模型,但大多数最先进的VLM
仍然难以进行空间推理,即需要理解物体在3D
空间中的位置或空间关系的任务。空间推理能力本身很有用,但也适用于机器人或AR
等下游应用。例如,具有空间推理能力的VLM
可以用作更好的通用奖励注释器和成功检测器。对VLM
基础模型的探索往往受到人类能力的启发。人类通过具体体验和进化发展,拥有天生的空间推理能力。我们毫不费力地确定空间关系,例如物体相对于彼此的定位或估算距离和大小,而无需复杂的思路或心理计算。这种直接空间推理任务的自然能力与VLM
当前的局限性形成了鲜明对比,从而阻止了它们完成需要多步空间推理的现实世界任务。因此,我们假设,当前VLM
的空间推理能力有限并不是由于其架构的根本限制,而是由于训练此类模型的规模上可用的通用数据集的限制。例如,许多VLM
是在互联网规模的数据集上进行训练的,这些数据集以”图像-标题对” 为特征,其中只包含有限的空间信息(难以获得丰富的空间信息数据或用于3D
感知查询的高质量人工标注)。
自动数据生成和增强技术是解决数据限制问题的方法之一。然而,大多数以前的数据生成工作都侧重于渲染具有地面真实语义注释的照片级图像,但忽略了对象和3D
关系的丰富性。相比之下,直接从现实世界数据中提取空间信息,以捕捉真实3D
世界的多样性和复杂性。现成的视觉模型的最新进展可以从2D
图像自动生成丰富的3D
空间注释。为此,这里提出了一个名为SpatialVLM
的系统,该系统能够生成和训练VLM
,以增强其空间推理能力。具体来说,通过结合1.开放词汇检测、2.度量深度估计、3.语义分割、4.以对象为中心图像描述模型,我们可以大规模地对现实世界数据进行密集注释。SpatialVLM
将视觉模型生成的数据转换为一种格式,可用于在图像描述、VQA
和空间推理数据混合训练VLM
。通过实验,发现经过训练的VLM
展现出理想的能力。首先,它回答定性空间问题的能力大大增强。其次,尽管训练的数据嘈杂,它仍能可靠地进行定量估算。这种能力不仅让它掌握了关于物体大小的常识性知识,而且使它成为重新排列任务的开放词汇奖励注释器。最后,发现这种空间视觉语言模型得益于其自然语言方面的能力,当与强大的大语言模型相结合时,可以执行空间思维链来解决复杂的空间推理任务。
- 学习空间推理(
Learning Spatial Reasoning
):空间距离估计是比较常见的任务之一,例如SLAM
或深度估计。在将这些空间概念应用于推理时,先前的研究通常侧重于显式空间场景记忆或空间场景图。场景图允许基于编码的空间结构进行可解释、结构化、统计关系学习。要回答VQA
格式的空间问题,它们必须将其作为场景图上的寻路问题来处理。另一方面,VLM
是在来自视觉语言数据集的大量松散结构信息上进行预训练的。与场景图不同,空间理解是隐式编码的。我们可以通过辅助任务将深度和3D
结构注入进权重中,从而捕获关系信息。 - 基于视觉语言模型:大型语言模型(
LLM
)在互联网规模的数据上进行训练,使其成为有效的常识推理器。然而,LLM
(以及扩展的VLM
)可能缺乏在社交推理、物理推理、具身任务和空间推理任务中表现良好的必要基础。虽然具有交互式的语言模型基础,但引入大型视觉模型(如Flamingo
、PaLI
或PaLM-E
)已使性能飞跃。这些基于视觉的模型已用于多个下游任务,例如机器人成功检测、动作预测和奖励预测。在这项工作中,通过在生成的VQA
数据集上微调VLM
来解决空间推理问题。 - 视觉语言数据集中的空间信息:许多先前的研究都集中在对
VLM
进行基准测试。其他人则专注于细粒度场景理解,例如语义分割、对象检测或对象识别。该领域的真实数据可能受到人类标记者生成的数量限制,而合成数据的表达能力本质上是有边界的。在这项工作中,我们考虑如何自动生成真实数据,并关注空间关系、度量空间距离的问题。
语义过滤:虽然互联网规模的图像描述数据集已广泛应用于VLM
训练,但这些数据集中的许多图像不适合合成空间推理,因为它们要么由单个对象组成,要么没有场景背景(例如购物网站上的产品图片或计算机屏幕的屏幕截图)。因此,作为数据合成流程的第一步,基于CLIP
的开放词汇分类模型对所有图像进行分类,并排除那些不适合的图像。
从2D图像中提取以对象为中心的上下文:为了从2D
图像中提取以对象为中心的空间上下文,这里使用现成的专家模型,包括区域提议、区域描述和语义分割模块来提取以对象为中心的信息。通过这一步,我们获得了由像素簇组成的以对象为中心的实体以及开放词汇图像描述。
将2D上下文提升到3D上下文:使用对象检测和边界框定位生成的传统空间VQA
数据集仅限于2D
图像平面(缺乏深度或高度上下文)和像素级推理(缺乏公制尺度大小和距离上下文)。执行深度估计以将2D
像素提升到公制尺度3D
点云。进一步将点云的相机坐标转化为地理坐标系,这是通过水平面(例如“地板”、“桌面”)分割和帧传输完成的。
歧义解决:有时,一幅图像中会出现多个属于相似类别的物体,从而导致其标题标签出现歧义。例如,同一个标题标签“蛋糕”可能指代同一幅图像中的多个不同蛋糕。因此,在询问这些物体之前,我们需要确保参考表达没有歧义。这里做出了两个关键的设计选择,这些选择已通过实证验证,可有效应对这一挑战:
- 我们特意选择避免使用常见的物体检测器,因为它们往往会产生固定且粗略的类别,例如“蛋糕”,并采用
FlexCap
,这是一种用户可配置的以对象为中心的字幕方法。实际上,对于每个对象,我们可以抽取一个长度在1~6
个字之间的可变随机字幕。因此,我们的对象注释是细粒度的,例如“形状像房子的蛋糕”和“塑料容器中的纸杯蛋糕”。 - 我们设计了一种面向语义的后处理算法,通过增强或拒绝对象字幕来进一步消除歧义。
大规模空间推理VQA
数据集:研究的重点是通过使用合成数据进行预训练,将“直接”的空间推理能力注入VLM
。因此,合成了图像中最多涉及两个对象(表示为“A
”和“B
”)的空间推理QA
对,并考虑以下两类问题。
- 定性问题:要求判断某些空间关系的问题。例如“给定两个物体
A
和B
,哪个更靠左?”,“物体A
比物体B
更高吗?”和“A
和B
中,哪个宽度更大?”。 - 定量问题:要求更细粒度的答案,包括数字和单位。例如“物体
A
比物体B
靠左多少?”,“物体A
距离B
有多远?”,“找出A
相对于相机位于B
后面的距离”。与上述示例类似,可以使用主问题模板合成此类问题,并且在消除歧义后可以使用对象标题填充对象名称条目。此类属性允许我们进行基于模板的生成,这是指令调整工作中常用的方法。
结论
通过构建基于互联网规模真实世界图像的3D
空间推理VQA
数据自动生成框架来解决这一问题。在训练VLM
的方法中消除了不同的设计选择,例如使用大量噪声数据进行训练和解冻ViT
。SpatialVLM
可以处理需要空间推理组件的更复杂的思维链推理。SpatialVLM
也被证明可用于机器人任务,3D
空间感知VLM
可以用作机器人任务的奖励注释器。