24年10月来自UCSD和Nvidia的论文“SpatialRGPT: Grounded Spatial Reasoning in Vision-Language Models”。

视觉-语言模型 (VLM) 在 2D 视觉和语言任务中表现出色。然而,它们推理空间安排的能力仍然有限。这项工作引入空间域 GPT (SpatialRGPT) 来增强 VLM 的空间感知和推理能力。SpatialRGPT 提高 VLM 的空间理解能力有两点:(i) 数据管理流水线,能够有效地从 3D 场景图中学习区域表示,(ii) 灵活的“插件”模块,用于将深度信息集成到现有 VLM 的视觉编码器中。在推理过程中,当提供用户指定的区域提议时,SpatialRGPT 可以准确感知它们的相对方向和距离。此外,提出 SpatialRGBT-Bench,这是一个基准,具有涵盖室内、室外和模拟环境的真实 3D 注释,用于评估 VLM 中的 3D 空间认知。结果表明,无论有没有局部区域提示,SpatialRGPT 都能显著提高空间推理任务的性能。该模型还表现出泛化能力,能够有效地推理复杂的空间关系,并可作为机器人任务中一个区域-觉察密集奖励的注释器。

在这里插入图片描述


理解二维 [1, 2] 和三维 [3] 空间中的空间排列对于准确解释复杂的视觉环境至关重要。尽管视觉语言模型 (VLM) 在图像分类 [4]、字幕 [5]、物体检测 [6]、视频理解 [7] 和文档解析 [8] 等各种任务中取得了令人瞩目的进步,但这些模型在空间推理方面仍然面临重大挑战。这包括难以区分简单的空间概念,例如“左”和“右”、“上”和“下”,以及更复杂的关系,例如“后”和“前”、“内”和“外”以及“近”和“远”。理解和推理这些空间关系的能力不仅对于视觉理解至关重要,而且对于机器人[12,13]和增强现实[14]等领域的实际应用也至关重要,其中精确的空间感知对于导航[15]、操纵[12]和与现实世界环境的交互[16]等任务至关重要。

大语言模型空间推理。最近,人们大力推动使用 LLM 获得空间推理能力。[20, 21] 的举措侧重于从多视图图像(例如点云或神经场)重建场景,并使用密集语义特征增强这些表示。然后将生成的 3D 表示和密集特征集成到 LLM 中。然而,多视图图像并不总是可用的,并且使用密集语义特征明确构建场景是资源-密集任务。此外,3D 表示和语言之间的模态差距,通常会导致性能下降。ConceptGraph [22] 避免将 3D 表示直接合并到 LLM 中。相反,它构建了一个场景图并将其与 LLM 集成。然而,最近的研究 [10] 表明,LLM 难以有效地利用文本中呈现的坐标信息,这可能会削弱它们理解和推理空间关系的能力。

SpatialVLM [17] 使用 2D VLM 来理解空间关系和度量距离。不过空间理解是隐编码的,VLM 直接处理空间关系问题,无需显式 3D 表示或场景图。但是,SpatialVLM 依赖于目标的语言描述作为输入,而 LLM 即使没有视觉数据也可以解决一些空间查询 [23]。可以直接从问题中推断出答案,也可以从 LLM 中嵌入的世界知识中得出答案。这种对文本线索的依赖表明,训练可能无法有效地教会 VLM 从视觉数据中学习空间推理。此外,SpatialVLM 缺乏精确指定区域的能力。这在现实世界场景中尤其成问题,因为用语言描述模糊的位置或目标可能具有挑战性。

区域-级的视觉语言模型。 KOSMOS-2 [24]、Shikra [25]、MiniGPT-2 [26]、CogVLM [27]、SPHINX [28] 和 LLaVA [29] 使 MLLM 能够实现基于区域的图像理解。然而,这些方法以文本形式提供区域信息,例如边框坐标。这种方法严重依赖语言解码器来理解位置。相比之下,VisionLLM [30]、GPT4RoI [31]、[32] 和 Ferret [33, 34],以及 GLaMM [35],使用具有 ROI 对齐特征的空间框将区域级特征映射到 LLM 词嵌入空间中。然而,边框可能包含不需要的背景特征,导致区域描述和文本之间的对齐不准确,从而使空间推理复杂化。最近,RegionGPT [19] 和 Osprey [36] 引入了可以直接提取像素-级特征的视觉空间-觉察模块。这些模型支持使用输入掩码,可以适应任何形状区域。尽管取得了这些进步,但这些方法都没有专门专注于增强 VLM 中区域-级的空间推理。


SpatialRGPT 是一种多模态语言模型,擅长理解 2D 和 3D 空间布局。它可以处理任何区域提议,例如框或掩码,并提供空间推理问题的答案。有效的训练数据集是学习空间-觉察区域表示的关键,SpatialRGPT包括(i)从单个图像构建 3D 场景图,以及(ii)从这些场景图中进行视觉表示学习。SpatialRGPT 视觉编码器架构灵活地将单目深度信息利用到现有的 2D VLM 中。

单目图像构建 3D 场景图

场景图构建流程从过滤过程开始,删除任何不合适的图像。使用开放词汇模型,识别并确定候选目标,然后使用度量深度估计和相机标定将它们提升到 3D 空间中,如图所示。然后,处理点云以构建最终的 3D 场景图。

在这里插入图片描述

开放词汇检测和分割。分割目标是构建场景图的初始阶段。模型必须满足两个标准:(i)目标描述(例如类标签)应遵循开放世界设置以实现更好的泛化;(ii)掩码提案需要高度准确,确保轮廓轮廓精确。这种精度至关重要,因为即使是很小的偏差也会导致生成的 3D 边框出现严重不准确。为此,首先采用开放词汇图像标记模型 [37] 来识别图像中存在的所有目标类。接下来,用 GroundingDino [38](一种开放词汇 2D 检测器)来确定相应的目标边框。最后,应用分割模型 [39] 将这些边框细化为精确的掩码。不使用现有的数据集注释,因为它们要么由于词汇限制而不足,要么使用多边形注释 [40] 或压缩掩码 [41] 进行分割。

度量深度估计。有几项研究探索了从单个图像恢复度量深度。主要的挑战是解决尺度模糊性,一种常见的方法 [42, 43] 是使用相对深度以及针对特定度量数据集微调的度量头。然而,这些方法可能倾向于过拟合特定数据集(例如 KITTI [44] 或 NYU [45])的深度尺度,这使得它们对于自然图像的鲁棒性较差。最近,Metric3Dv2 [46] 将焦距作为输入,并进行端到端训练以预测度量深度和表面法线。该模型在不同的室内和室外场景上联合训练,使其不太容易过拟合特定数据集的深度分布。采用 Metric3Dv2 作为度量深度估计器,Metric3Dv2 与 WildCamera [47] 的相机内参相结合,对于在真实世界环境中拍摄的图像具有鲁棒性。此外,由于 Metric3Dv2 中的联合深度法线优化训练,恢复的几何形状得到了改善,尤其是在目标边缘周围。

相机标定。相机标定包括 (i) 内参估计将深度图反向投影到 3D 点云,以及 (ii) 场景规范化以确保在共享空间中描述场景关系。为了估计相机内参,用 WildCamera 模型 [47],该模型估计四个 DoF 内参参数(二维的焦点和焦距)。由于该模型具有尺度-觉察和检测图像裁剪的能力,因此在现实世界中表现出色。为了将点云的相机坐标转换到每个场景的一个规范化大地坐标系,用 PerspectiveFields [48],它提供每个像素的向上矢量和纬度值,可以将其转换为相机外参,例如俯仰和滚动。利用这些,推导出一个旋转矩阵,将点云从相机坐标转换为大地坐标。虽然 SpatialVLM [17] 使用表面分割(例如“地板”、“桌面”)来识别水平面,然后使用该平面的法线轴将点云与水平面对齐,但这种方法受到特定类别(例如地板或桌子)的限制。此外,如果没有足够的点进行 RANSAC,平面分割可能会失败。

构建 3D 场景图。 3D 场景图是元组的一个集合,其中节点表示特定的 3D 目标实例,边表示节点之间的空间关系。每个节点由目标的类、宽度和高度(以度量为单位)定义。要创建节点,首先使用实例掩码对目标点从深度图中去投影。然后,执行规范化和去噪,并为每个目标构建 3D 轴对齐边框。使用 3D 边框,以真实世界单位计算目标的宽度和高度。边表示节点之间的空间关系,分为两种关系:相对关系和度量关系。相对关系包含左、右、上、下、后、前、宽、薄、高、矮、大和小。度量关系包括两个目标之间的方向、直接距离、水平距离和垂直距离。然后,遍历所有目标节点,并使用点云质心和边框来计算它们的空间关系。

从3D场景图中学习空间-觉察 VLM

一种简单的方法,是那种预定义手工指令的基于模板法。然而,这种方法限制了指令的多样性,阻碍了模型的推理能力。因此,用额外的复杂问答(QA)来增强模型的推理能力。

基于模板的问答。这些 QA 是学习基本空间知识的基础。从边缘属性中提取有关节点属性(例如宽度和高度)以及相对和度量关系的信息。用 Region [X] 形式的实体,创建定性和定量模板来为每种类型的属性生成问题和答案。这种方法产生的示例如图(开放空间数据集 OSD)第一行所示,第二行是基于LLM的条目。

在这里插入图片描述

基于 LLM 的复杂推理问答。采用 Llama3-70B 生成复杂的空间推理问题,以增强模型的空间推理能力。一种方法是将场景图直接输入 LLM。然而,LLM 很难有效地利用 3D 坐标信息 [10],因此本文选择了另一种方法。首先以语言格式构建空间描述。与基于模板的方法类似,从场景图中提取属性,然后根据这些属性构建基于模板的空间描述。将空间描述和区域标签组合作为 LLM 的输入。然后,LLM 的任务是创建一个基于描述并与上下文匹配的复杂推理问题和答案。上图的第二行显示 LLM 生成的 QA 示例。

用自动注释流水线注释来自 OpenImages [49] 数据集的图像,该数据集涵盖广泛的主题并且分辨率很高。由此产生的开放空间数据集 (OSD) 包含 100 万张独特图像和 500 万张开放词汇区域,每个区域都与边框和分割掩码相关联。此外,该数据集还包括 800 万个基于模板 QA 和 70 万个基于 LLM QA。

VLM 架构

如图显示了 SpatialRGPT 的 VLM 架构概述。SpatialRGPT 由一个视觉编码器组成,用于对视觉特征进行编码,一个区域特征提取器 [19],用于获得区域级嵌入,线性连接器用于将多模态嵌入投影到词嵌入空间,以及一个使用 LLaMA2-7B 进行语言处理的大语言模型。

在这里插入图片描述

相对-深度输入的插件模块。仅从 RGB 像素学习的 VLM 对于 3D 感知任务无效。直接从 3D 数据(如点云)学习会因规模和多样性问题而带来挑战。为了弥补这一差距,使用相对深度图(可通过现成的模型 [43] 获得),以在 RGB 图像之外提供额外的深度信息作为网络的输入。目标是通过深度引导来引出几何推理能力。然而,这个目标并不简单。大多数 VLM 的视觉编码器通常只使用文本和 2D 图像进行训练,而简单地连接 RGB 和深度特征可能会对性能产生负面影响。为了解决这个问题,引入一个无缝整合深度信息的附加模块。用相同的图像编码器来处理深度图并生成深度特征图。然后,用一个额外的深度-到-语言连接器将特征投射到语言域中。深度连接器的权重从 RGB 连接器初始化,并仅在与空间相关的 QA 上进行训练。这种灵活的设计,允许 2D 视觉编码器利用额外的深度表示,同时在没有深度输入时仍能正常工作,从而避免了对大量训练数据的需求。

token化和提示格式。按照 [29, 19] 为每个图像生成多轮对话数据,并将图像作为第一条指令的初始输入,提供上下文信息。具体来说,加入了一个前缀提示:“\n”。 是一个充当占位符的特殊token,它将被视觉编码器中的图像级嵌入替换。当用户输入中提到特定的掩码区域时,我们使用特殊tokens 和 作为占位符。每个区域token将替换为相应的区域 RGB 嵌入和深度嵌入。所有图像级、区域级 RGB/深度token和文本 token都交错在一起,并作为 LLM 的输入进行自回归生成。

训练和推理流程

SpatialRGPT 训练包括三个阶段 [50]:(i)连接器特征对齐,(ii)视觉语言预训练,以及(iii)视觉指令调整。在第一阶段,使用 CC3M 图像-字幕对去预训练 RGB 连接器,如 [29, 51, 52]。在第二阶段,使用来自 MMC4 [53] 和 COYO [54] 的视觉语言语料库去预训练 LLM 和 RGB 连接器。然后冻结 RGB 连接器和 LLM 参数,只有深度连接器可在 OSD 数据集上训练和预训练。最后,在第三阶段,用来自 [29] 的指令调整数据集、区域-级指令调整数据 [19] 和 OSD 数据集的组合,在视觉语言指令遵循数据集上对预训练模型进行微调。对于训练区域-级数据和OSD,为每个样本随机从不同的模态(例如,框、掩码)中采样,以确保模型能够适应输入模态。在推理时,SpatialRGPT 可以将框或掩码都作为输入。对于结果,如果分割可用,用掩码;如果没有,用提供的边框并应用 SAM 来分割相应的掩码。


目前,还没有专门关注 VLM 理解 3D 空间概念(如度量距离或物体之间的大小差异)能力的视觉语言基准测试。最近,SpatialVLM 创建了一个空间推理 VQA 基准测试,使用人工标注者在 2D 图像上标注空间信息,但该基准测试尚未公开。为了弥补这一差距,本文开发 SpatialRGPT-Bench,这是一个空间推理 VQA 基准测试,使用来自城市(nuScenes [58]、KITTI [59])和室内(SUNRGBD [60]、ARKitScenes [61])环境以及模拟场景(Hypersim [62])的数据。这些数据集涵盖了各种潜在应用,包括多种目标类型,增强了基准测试的全面性。对来自 Omni3D [63] 的每个目标使用预处理的 3D 长方体,所有长方体都位于统一的 3D 相机坐标系内,并按目标类别分类。利用这些 3D 长方体注释,用数据生成流水线开发了一个对话基准。该基准包含 657 个定性和 749 个定量 VQA 对,涵盖 88 个不同的类别。所有样本均来自原始数据集在验证或测试的分割,在 SpatialRGPT 的训练阶段不会出现。

其考虑三类模型基线:

  • 带语言推荐的盲 LLM。盲 [10] LLM 模型完全依赖于文本,仅使用问题的内容生成答案。为了增强这种方法,在每个问题前面都添加目标类。此方法可作为衡量可以从纯粹现有的世界知识中得出多少空间推理的基线。选择 GPT-4 来代表这个基线,因为它是封装全面世界知识的最先进模型。
  • 带语言推荐的 VLM。该设置类似于盲 LLM,但包括对视觉内容的访问,这可以使模型比盲 LLM 回答得更好。采用当前最先进的 VLM,即GPT-4V 和 LLaVA-v1.6-34B [56],作为此类别的基线。
  • 区域-觉察 VLM。此类基线,探索具有类似的区域级功能模型。这些模型不会收到与感兴趣区域相关的任何语言字幕或目标类信息;他们完全依赖于视觉处理能力。为 GPT-4V [55] 和 LLaVA-v1.6-34B 配备了标记集 (SoM) [57],以启用区域引用功能。此外,还包括 KOSMOS-2 [24],这是一个能够将边框输入到参考目标的 VLM,以及 RegionVILA(RegionGPT [19] 和 VILA [50] 预训练)。RegionVILA-7B 也是消融基线;它与 SpatialRGPT-7B(rgb) 变型共享相同的模型架构,但没有使用专门的空间 VQA 数据集进行训练。

用 GPT-4 来评估每个模型的响应。对于定性 QA,GPT-4 将模型响应与正确答案之间的对齐方式评分为 0 或 1。对于定量 QA,GPT-4 将跨单位的数值标准化为米;然后计算准确度和误差指标。盲目 LLM 和具有语言推荐的 VLM 在定量 QA 方面取得了令人称赞的成功率,尤其是对于与宽度和高度相关的问题。这表明 LLM 可以利用其广泛的世界知识准确地回答特定的空间问题。此外, SpatialRGPT-7B 变型比 SpatialRGPT- 7B(rgb) 变型表现出更好的性能,特别是在可以使用相对深度信息来解决模糊性的情况下,例如区分后/前、宽/薄以及估计距离。

更多推荐