25年5月来自清华大学的论文“Spatial-MLLM: Boosting MLLM Capabilities in Visual-based Spatial Intelligence”。

多模态大语言模型(MLLM)的最新进展显著提升其在二维视觉任务上的性能。然而,提升其空间智能仍然是一个挑战。现有的三维MLLM通常依赖于额外的三维或2.5维数据来构建空间感知能力,这限制了它们在仅包含二维输入(例如图像或视频)的场景中的应用。本文提出一种名为Spatial-MLLM框架,用于从纯二维观测数据中进行基于视觉的空间推理。与依赖于基于CLIP、优化语义理解的视觉编码器的传统视频MLLM不同,本文核心思想是释放前馈视觉几何基础模型中强大的结构先验信息。具体而言,提出一种双编码器架构:一个预训练的二维视觉编码器用于提取语义特征,以及一个从视觉几何模型主干初始化的空间编码器用于提取三维结构特征。然后,一个连接器将这两个特征整合为统一的视觉token,以增强空间理解能力。此外,提出一种推理时的空间-觉察帧采样策略,该策略选择视频序列中具有空间信息量的帧,确保即使在token长度有限的情况下,模型也能专注于对空间推理至关重要的帧。除了架构改进之外,还构建 Spatial-MLLM-120k 数据集,并使用监督式微调和 GRPO 算法在该数据集上训练模型。如图所示:
请添加图片描述

多模态大语言模型(MLLM)[1, 2, 3] 在处理多模态输入以生成上下文感知且语义连贯的响应方面取得了显著进展。虽然诸如 Gemini [4] 和 GPT-4o [5] 等专有模型展现了最先进的性能,但开源社区仍在不断推进该领域的发展,提升这些模型对包括图像 [6, 7, 8]、视频 [9, 10, 11, 12, 13, 14] 和音频 [15, 16, 17] 在内的各种内容模态的解读能力。尽管这些模型在各种二维任务中表现出色,但它们感知、理解和推理三维场景的能力,即空间智能,仍然有限 [18, 19]。

空间理解和推理的需求通常出现在以下两种场景中。在第一种场景中,模型除了二维视觉输入(例如图像或视频)外,还可以访问额外的三维或二维半数据(例如点云、相机参数或深度图)。这些补充模态增强了模型的空间感知能力,使其能够进行更精确的空间推理。然而,这种设置限制了模型在许多实际场景中的应用,因为在这些场景中,只有单目视频可用,这便是第二种场景。模型在这种情况下进行空间理解和推理的能力,被称为基于视觉的空间智能[18, 20]。这种设置面临的主要挑战是,每个视频帧仅提供场景的部分信息,并且没有全局表示(例如点云[21, 22, 23]或姿态深度图[24, 25])可作为输入。这要求模型能够从不完整的线索中推断全局空间布局,并将这些局部观测结果整合为一个连贯且隐式的全局表征,这需要模型具备强大的空间感知能力。然而,大多数现有的视频MLLM都遵循CLIP[27]范式,在图像-文本对(主要是图像-描述数据[13, 14, 26])上预训练其视觉编码器。这使得视觉编码器在捕捉高层语义内容方面表现出色,但在仅有二维视频输入时,则缺乏结构和空间信息[28, 29, 30]。因此,当前的视频MLLM在空间推理任务上的表现通常不如其他任务(例如时间理解)出色。此外,它们的性能仍然显著落后于​​人类的能力[18]。

基于视觉的空间智能致力于使MLLM能够直接从视频输入中感知和推理三维空间关系。虽然传统的MLLM在二维视觉文本对齐方面表现出色,但由于几何监督的局限性,它们在三维任务(例如三维问答[6, 51]和机器人操作[52])中的应用往往缺乏精细的空间对齐能力。为了弥补这一不足,一些专门用于视频空间推理的基准测试应运而生。例如,VSI-Bench[18]引入一个视觉空间智能基准测试,用于评估MLLM的综合空间理解能力。STI-Bench[53]引入速度估计等物理感知挑战,以量化空间和运动学推理能力,而Ego-ST Bench[54]则评估第一人称视频中的自我中心导航逻辑。同时,VLM4D[55]强调运动动力学(例如轨迹预测),以探究四维时空交互。这些基准共同凸显对基于视觉的空间智能进行整体评估的趋势。


给定一段包含 N 帧的视频,描绘一个场景,表示为V = {f_i},Spatial-MLLM 旨在理解空间关系,进行空间推理,并生成适当的响应。

空间多模态大语言模型(Spatial-MLLM)架构

空间多模态大语言模型(Spatial-MLLM)的架构,如图所示。采用Qwen2.5-VL-3B [14] 作为基础模型,并探索增强其空间理解和推理能力的策略。
请添加图片描述

现有视频多模态大语言模型(MLLM)中基于视觉的空间智能受哪些因素阻碍?现有的视频多语言学习模型[14, 13, 12]通常使用预训练的二维视觉编码器E2D来提取二维图像块特征e_2D。然后,这些特征通过一个轻量级的连接模块投影到视觉token上。一个大语言模型主干网络f_θ随后通过对视觉token和文本token进行条件化来生成最终响应。此过程中的一个关键瓶颈在于所提取的视觉特征的性质。不同任务所需的信息类型各不相同:高层语义表征对于二维识别和理解至关重要,而细粒度的结构线索对于空间推理则至关重要。然而,当前视频多模态语言模型(MLLM)中使用的视觉编码器主要基于图像-文本数据集(主要是图像-描述对)[14, 26]进行预训练,遵循CLIP[27]范式。因此,这些模型主要捕获语义内容,并且在没有额外的3D或2.5D数据可用时,往往缺乏空间感知能力[28, 29, 30]。为了解决这个问题,关键思路是利用前馈视觉几何基础模型[32],这些模型在像素-点对上进行训练,可以从2D输入中恢复丰富的3D结构信息,从而补充2D视觉编码器提取的语义特征。设计一个简单的双编码器架构,该架构利用两个模型的优势,并通过连接器将语义和结构信息融合到统一的视觉token中。

双编码器。所提出的双编码器由一个二维编码器 E_2D 和一个空间编码器 E_Spatial 组成。对于二维编码器分支,采用与 Qwen2.5-VL [14] 视觉编码器相同的设计,将输入帧编码为语义丰富的特征。

对于空间编码器分支,利用 VGGT [32] 的特征主干。具体来说,给定场景视频的 K 帧,首先对输入进行分割,然后交替使用逐帧自注意机制和全局自注意机制提取 3D 特征 [56]。此过程使得 E_spatial 能够聚合不同帧的空间信息,从而获得最终的 3D 特征,其中,e_3D、e_c 和 e_register 分别代表密集 3D 特征、每帧的相机特征和配准token[57]。仅在特征融合阶段使用 e_3D,因为它捕捉了输入帧的密集结构信息。

连接器。在获得 2D 和 3D 特征后,用一个简单的连接器来整合来自两个分支的语义和结构信息。具体来说,首先在空间和时间维度上将 e_3D 与 e_2D 对齐。

在此,将 e_3D 中空间和时间上相邻的信息聚合到特征通道维度中,从而实现与 e_2D 的对齐。接下来,采用两个轻量级 MLP 来融合这些信息,以获得统一的视觉token。

尽管可以应用更复杂的特征融合方法,例如交叉注意机制[56, 58],不过实验表明,这种简单轻量级的方法足以增强模型的空间理解和推理能力。

空间-觉察帧采样

由于GPU内存的限制,视频MLLM只能处理场景视频序列中有限的帧子集。例如,在VSI-Bench设置[18]中,视频MLLM仅采样8到32帧作为输入,而VSI-Bench中的典型场景视频包含超过2000帧。一种广泛采用的解决方案是均匀帧采样[14, 18, 13],它对通用视频理解有效。然而,由于空间视频表示的是3D场景,空间理解任务的采样策略应该侧重于捕获底层场景的大部分信息,而均匀采样无法实现这一点。

得益于前馈视觉几何基础模型,设计一种简洁的推理-时空间-觉察帧采样策略。具体来说,给定一个场景视频 V = {f_i},目标是选择 N_k 帧 {fk_i},使其对底层场景的覆盖范围最大。为了实现这一目标,首先对 N_m 帧 {fm_i} 进行均匀下采样,其中 N_m 满足 N_k < N_m < N,并且由可用的 GPU 内存决定。通常,选择 N_m = 128 和 N_k = 16。然后,利用 E_3D 提取它们对应的 3D 特征 em_3D 和相机特征 em_c。随后,使用 VGGT 模型 [32] 的预训练相机头 f_c 和深度头 f_d 来解码一组相机参数和深度图。

这能够计算每个帧 fm_i 覆盖的体素 V(fm_i),并将帧选择问题表述为最大覆盖问题 [59],即选择 N_k 个帧 {fk_i} ⊆ {fm_i},使得唯一覆盖的体素总数 U V(fk_i) 最大化。在实践中,应用贪婪算法来加速计算 [60, 25]。实际上,一旦选择了 N_k 个帧,就不需要重新计算它们的 3D 特征 ek_3D,可以直接重用预计算的特征集 em_3D 中的对应特征。

训练

训练数据构建。首先构建一个基于视觉的空间问答数据集,即 Spatial-MLLM-120k。该数据集来源于三个方面:ScanQA [37] 和 SQA3D [38] 的训练集,以及自行创建的空间问答数据。Spatial-MLLM-120k 中的所有条目均源自 ScanNet 训练集 [61] 中的场景,每个条目都用四元组 I_i = ⟨Q_i, A_i, V_i, M_i⟩ 表示,分别代表问题、答案、视频(场景)ID 和元信息(例如,任务类型)。对于自行整理的问答数据,遵循 VSI-Bench [18] 中提出的数据处理流程。具体来说,首先将 ScanNet 场景转换为 24 FPS、640 × 480 分辨率的连续视频片段。然后,利用 ScanNet 提供的元标注生成空间推理问答对。生成的问答对涵盖各种空间理解和推理任务,包括物体计数、物体大小、房间大小、绝对距离、外观顺序、相对距离和相对方向。由于问答对的构建过程与 VSI-Bench [18] 类似,为了防止数据泄露,如果问答对 I_i 的场景视频 V_i 已用于 VSI-Bench 的评估集(共 312 个场景视频),则会排除该问答对。最终,生成约 7 万个问答对。如图展示 Spatial-MLLM-120k 的关键统计数据汇总。
请添加图片描述

监督式微调。利用构建的 Spatial-MLLM-120k 数据集,首先对模型进行监督式微调 (SFT)。由于 E_2D 和 E_spatial 分别在大规模图像-文本对和像素-点对上进行预训练,冻结它们以保留其提取丰富语义和结构信息的能力。联合训练连接模块和 LLM 主干,使模型能够自适应地融合 2D 和 3D 特征,并增强其空间理解和推理能力。在此阶段,采用标准的交叉熵损失 L_ce (θ)来衡量模型生成的答案和真实标注之间的差异。

强化学习训练。在SFT阶段之后,首先执行一个简单的冷启动[34],以帮助模型适应正确的推理格式。然后,使用组相对策略优化(GRPO)[35]训练模型,以增强其长CoT[36]空间推理能力。在训练过程中,首先从策略模型π_θ_old中为每个问题q采样一组输出{o_1, o_2, …, o_G}。然后,通过最大化目标函数J_GRPO(θ)来优化策略模型,其中A_i = (r_1−mean(r_1,r_2,…,r_G))/std(r_1,r_2,…,r_G) 是使用组奖励计算的优势函数。

在GRPO中,奖励函数的设计至关重要。除了对所有任务类型都应用格式奖励外,还引入任务相关的奖励模型,以确保其能够准确反映预测答案与真实答案之间的接近程度。具体而言,根据答案格式将数据分为三类:数值型答案题、多项选择题和文字型答案题。对于数值型答案题,计算平均相对准确率[18]。对于多项选择题,采用精确匹配奖励。对于文字型答案题,使用基于Levenstein距离的模糊匹配。


实现细节

训练细节。Spatial-MLLM 基于 Qwen2.5-VL [8] 和 VGGT [32] 构建,总共约有 40 亿个参数。用 Qwen2.5-VL [14] 的视觉编码器初始化 E_2D,并使用其 LLM 骨干网络初始化 f_θ。然后,用 VGGT [32] 的特征主干网络初始化 E_Spatial。训练过程中,用 640 × 480 的分辨率,并将视频帧数限制为 16 帧。在 SFT 阶段,用 Adam 优化器 [62] 训练模型一个 epoch。将全局批大小设置为 16,并使用线性学习率调度,峰值为 10⁻⁵。在冷启动阶段,首先构建一个小型 CoT 数据集。具体来说,让 Qwen2.5-VL-72B [14] 根据场景视频和问题生成多个思维过程和答案。然后,用 GT 的答案来筛选出正确的思考-答案对。用与 SFT 阶段类似的设置来训练模型 200 步。在 RL 阶段,对每个问题执行 8 次 rollout,并将默认采样温度设置为 1。KL 散度系数 β 设置为 0.04。由于计算资源的限制,用 1e-6 的学习率训练模型 1000 步。

推理细节。在推理过程中,设置 N_m = 128 和 N_k = 16 来进行空间-觉察帧采样。由于空间推理需要一定程度的确定性,将温度设置为 0.1,top-p 设置为 0.001。在推理过程中,除非另有说明,否则使用场景视频中 16 帧 640 × 480 分辨率的图像作为输入。

VSI- Bench

设置。VSI-Bench [18] 包含超过 5000 个问答对,这些问答对源自 ScanNet [61]、ScanNet++ [66] 和 ARKitScenes [67] 的以自我为中心的视频。任务类型分为多项选择题 (MCA) 和数值题 (NA)。对于 MCA 任务,计算平均准确率;对于 NA 任务,计算置信度阈值 C = {0.5, 0.55, …, 0.95} 下的相对准确率。报告 VSI-Bench 八种任务类型的最终平均得分和各项指标,包括:(1) 配置推理(物体计数、相对方向、绝对方向和路径规划),(2) 测量估计(物体大小、房间大小和绝对距离),以及 (3) 时空推理(物体出现顺序)。

基线。将模型与多种视频MLLM进行比较。对于专有模型,纳入 GPT-4o [5] 和 Gemini-1.5 Pro [4]。对于开源MLLM,将模型与 InternVL2-40B [7]、LLaVA-NeXT-Video-72B [12]、LLaVA-OneVision-72B [6] 以及 Qwen2.5-VL [14] 系列进行比较。为了验证模型的有效性,还使用与 Spatial-MLLM SFT 训练相同的训练设置训练 Qwen2.5-VL [14] 作为额外的基线。

ScanQA & SQA3D

设置。ScanQA [37] 和 SQA3D [38] 是两个基于 ScanNet [61] 构建的 3D 问答基准测试模型。由于作者没有提供 ScanQA 的测试集,用其验证集进行评估。验证集包含 4,675 个问答对,旨在考察模型对空间关系(例如物体对齐和方向)的理解能力,以及基于文本问题准确识别 3D 场景中物体的能力。遵循标准做法,使用以下指标评估答案质量:CiDEr、BLEU-1、BLEU-4、METEOR 和 ROUGE-L。对于 SQA3D,使用其测试集评估模型,该测试集包含 3,519 个问答对。该任务要求模型首先理解文本描述的自身在 3D 场景中的位置和方向,然后推断其环境并在此条件下回答问题。由于 SQA3D 包含明确的答案,用精确匹配准确率 (EM) 及其改进版本 (EM-R) 作为评估指标。

基线。由于 ScanQA [37] 和 SQA3D [38] 基准测试都提供额外的 3D 注释(例如,场景的点云和深度图),除了视频输入 MLLM 之外,还将 Spatial-MLLM 与几种其他模型类型进行比较。这些模型包括专为 3D 问答任务设计的特定任务模型,例如 ScanQA [37]、SQA3D [38] 和 3D-VisTA [69],以及需要点云或深度图作为输入的 LLM,例如 Chat-Scene [22]、Video-3D LLM [25] 和 3D-LLaVA [21]。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐