视觉语言模型(VLM)在近年来取得了显著进展,在图像字幕生成、视觉问答(VQA)、具身规划、动作识别等各种任务中展现出强大的能力。然而,即使是最先进的VLM在空间推理方面仍然存在不足,例如无法识别物体在三维空间中的位置关系,或无法理解物体之间的距离或大小差异。
友情链接:ACEJoy
空间推理的缺失:为什么VLM难以理解空间关系?
我们认为,VLM在空间推理方面能力有限,主要是因为其训练数据中缺乏三维空间知识。大多数VLM都是基于互联网规模的图像-字幕对数据集进行训练,这些数据集包含有限的空间信息。这主要是因为获取包含丰富空间信息的具身数据或高质量的三维空间查询标注存在困难。
SpatialVLM:让VLM“看懂”空间关系
为了解决这个问题,我们提出了一个名为SpatialVLM的系统,它可以生成大量包含空间推理信息的VQA数据,并使用这些数据来训练VLM,从而增强其空间推理能力。
SpatialVLM的核心思想是利用现有的视觉模型来自动生成丰富的三维空间标注。具体而言,通过结合开放词汇检测、度量深度估计、语义分割和以物体为中心的字幕模型,我们可以对真实世界中的数据进行大规模密集标注。SpatialVLM将这些视觉模型生成的标注转换为可用于训练VLM的格式,使其能够学习字幕生成、VQA和空间推理等多种任务。
SpatialVLM的强大能力:超越传统VLM
通过实验,我们发现SpatialVLM训练后的VLM具有许多理想的能力:
- 增强对空间关系的理解: SpatialVLM能够更好地回答关于物体空间关系的定性问题,例如“哪个物体在左边?”或“哪个物体更高?”。
- 进行定量估计: SpatialVLM能够可靠地进行定量估计,例如“物体A距离物体B有多远?”或“物体A的宽度是多少?”。这种能力不仅赋予了VLM关于物体大小的常识性知识,还可以将其用作重排任务的开放词汇奖励标注器。
- 解锁新应用: SpatialVLM可以与强大的大型语言模型(LLM)结合,进行空间链式推理,解决需要多步空间推理的复杂问题。
SpatialVLM的关键技术:
1. 从2D图像中提取空间信息:
- 语义过滤: 使用CLIP模型过滤掉不适合生成空间推理VQA数据的图像,例如单一物体图像或没有场景背景的图像。
- 以物体为中心的上下文提取: 利用现有的视觉模型,例如区域提议、区域字幕和语义分割模型,提取以物体为中心的上下文信息,包括像素簇和开放词汇字幕描述。
- 将2D上下文提升到3D上下文: 使用深度估计模型将单目2D像素提升到度量尺度的3D点云,并将其转换为大地坐标系。
- 消除歧义: 使用细粒度的物体字幕和语义导向的后处理算法来消除物体字幕的歧义。
2. 大规模空间推理VQA数据集:
- 生成定性和定量问题: 设计了38种类型的定性和定量空间推理问题,并使用模板生成大量VQA数据对。
- 从点云和3D包围盒中提取答案: 使用专门设计的函数从点云和3D包围盒中提取答案,以确保答案的准确性。
3. 学习空间推理:
- 直接空间推理: 使用PaLM-E的架构和训练流程,并使用混合数据集进行训练,其中包含5%的空间推理任务。
- 空间链式推理: 利用LLM作为协调器,将复杂问题分解成简单问题,并使用SpatialVLM进行回答,最终将推理结果整合在一起。
SpatialVLM的实验结果:
- SpatialVLM在定性和定量空间VQA任务上都取得了显著的性能提升,超越了包括GPT-4V在内的所有基线模型。
- SpatialVLM在其他任务上的性能没有下降,甚至在包含空间推理问题的VQA-v2测试集中表现更好。
- SpatialVLM可以作为机器人任务的奖励标注器,并能够进行空间链式推理,解决需要多步空间推理的复杂问题。
总结:
SpatialVLM为VLM注入了空间推理能力,并为其解锁了新的应用领域。它证明了通过生成大量包含空间推理信息的VQA数据,可以有效地增强VLM的空间推理能力。未来,我们可以进一步研究更细致的几何原语,以更好地将空间推理与三维几何联系起来。
参考文献:
- [1] Chen, B., Xu, Z., Kirmani, S., Driess, D., Florence, P., Ichter, B., … & Xia, F. (2024). SpatialVLM: Endowing Vision-Language Models with Spatial Reasoning Capabilities. arXiv preprint arXiv:2401.12168.