跳转至

GenSplat: Bridging the Generalization Gap in 3DGS Language Comprehension

会议: CVPR 2026
论文: CVF Open Access
代码: https://github.com/fawnliu/GenSplat (作者承诺开源,截稿时尚未放出)
领域: 3D视觉
关键词: 3D高斯泼溅, 语言理解, 指代分割, MLLM推理, 跨场景泛化

一句话总结

GenSplat 把 3DGS 场景的语言理解拆成「语义→实例→自由文本」的渐进式课程,再用 MLLM 推理出的 <SEG> token 去查询 3D 高斯特征,配合几何感知的关键帧选择器,做到了一个模型跨场景、跨任务(指代分割 / VQA / 开放词表)都 SOTA,且推理时不再需要逐场景优化。

研究背景与动机

领域现状:3DGS(3D Gaussian Splatting)能高质量重建几何与渲染,但在它之上做「语言驱动的高层语义理解」还很弱。主流路线是把 CLIP 的语义特征嵌进每个高斯基元(LangSplat 一系),用文本 embedding 去查询高斯做开放词表分割。

现有痛点:这条路线有两个互斥的失败模式。一类(CLIP 嵌入式、SceneSplat)要么逐场景优化、要么绑死预定义词表——能跨场景泛化的代价是只认固定类别,处理不了自由文本查询,也做不了 VQA、captioning 这类超出分割的空间推理;另一类(ReferSplat、ReasonGrounder)能吃自由文本,但靠逐场景过拟合换来的弱视觉-语言对齐,换个没见过的场景就崩。

核心矛盾:作者诊断这种「要么过拟合词表、要么过拟合场景」的根因,是模型缺乏底层几何与多层级语言之间的层次化学习——它被要求一步到位地把复杂自由文本直接映射到高斯基元,却从没先学会「整场景描述→类别→实例」这种逐级的基础概念接地。没有地基,自然只能死记硬背。

本文目标:在 3DGS 里实现既鲁棒于自由文本、又能跨场景泛化的语言理解 + 空间推理,且推理时不做逐场景优化。

切入角度 / 核心 idea:把 3D 语言理解显式建模成一个渐进的「基元→概念」对齐过程——先把高斯基元对齐到语义级表示,再聚合成实例级概念,最后才对齐自由文本;而自由文本这一步交给 MLLM,用它的语义/空间先验生成一个推理 token 来条件化 3D 定位。

方法详解

整体框架

GenSplat 的输入是一组多视图 RGB 图像 \(I=\{I_i\}_{i=1}^N\) 和一句文本查询 \(Q\)(指代分割或 VQA),输出是标示目标物体的 3D 高斯掩码(可微渲染成多视图一致的 2D 掩码)或文本答案。整条管线由三个核心组件串起来:高斯编码器(Gaussian Encoder)实例解码器(Instance Decoder)MLLM 引导的指代解码器(Referring Decoder)

流程是:先把多视图重建成高斯场 \(G=\{G_j\}_{j=1}^M\);高斯编码器把每个高斯基元编成语义潜变量 \(L=\{l_j\}\);实例解码器进一步把语义特征聚合成实例级查询 \(O_{ins}\in\mathbb{R}^{N_q\times C}\)。与此同时,GAFS(几何感知帧选择器)根据文本 \(Q\) 自适应挑出信息量最大的几张关键帧,连同 \(Q\) 一起喂给 MLLM,让它推理并把语义+空间线索编码进一个 <SEG> 推理 token \(t_{seg}\)(VQA 任务则直接生成答案 token)。最后,指代解码器吃下实例查询 \(O_{ins}\)、投影后的 \(\hat t_{seg}\) 和语义特征,预测出指代目标的高斯掩码。上面这三大组件的训练,统一被「渐进式语言奠基课程」按语义→实例→自由文本三阶段组织起来。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400, 'subGraphTitleMargin': {'top': 8, 'bottom': 16}}}}%%
flowchart TD
    A["多视图图像 + 文本查询 Q"] --> B["3DGS 重建<br/>高斯场 {Gj}"]
    subgraph C["渐进式语言奠基课程"]
    direction TB
    C1["高斯编码器<br/>语义潜变量 L"] --> C2["实例解码器<br/>实例查询 O_ins"]
    end
    B --> C1
    B --> D["GAFS 几何感知帧选择器<br/>选信息量最大关键帧"]
    A --> D
    D --> E["MLLM 推理模块<br/>预测 SEG 推理 token"]
    C2 --> F["指代解码器<br/>生成 3D 高斯掩码"]
    E --> F
    F --> G["可微渲染<br/>多视图 2D 掩码 / 答案"]

关键设计

1. 渐进式语言奠基课程:先学会基础概念,再去拼复杂句子

针对「直接把自由文本硬映射到高斯、导致过拟合词表或场景」这个根因,GenSplat 把训练拆成三个由浅入深、互为地基的阶段。(I) 语义级对齐:用一个标准 SparseConvUNet 当高斯编码器 \(E_g\),把每个高斯 \(G_j\) 编成语义特征 \(l_j=E_g(G_j)\),再可微渲染成 2D 特征图 \(F_i\),用 LangSplat 式的 2D 语言特征(SAM+CLIP 抽的 \(\hat F_i\))做监督,损失为 \(L_1=\frac1N\sum_i\lVert F_i-\hat F_i\rVert_1\);同时按几何位置+语义做聚类平均池化,把海量高斯压成 \(\hat L=\{\hat l_k\}_{k=1}^m\) 来稳住学习。(II) 实例级对齐:实例解码器拿一组可学习的物体查询 \(O_q\)(用池化语义 \(\hat L\) 初始化以注入语义先验)和 \(\hat L\) 做交叉/自注意力,迭代 \(n\) 层后得到实例级嵌入 \(O_{ins}\),并接 mask head + 分类 head,用 2D GT 掩码以 \(L_{ins}=L_{ce}+L_{mask}\)(BCE+dice+分类)监督。(III) 自由文本对齐:到这里才引入 MLLM,让它产出 <SEG> token 去和实例特征对齐,在指代解码器里完成复杂语言→实例的匹配。这种「语义→实例→自由文本」的逐级接地,构建出一个泛化的语言特征空间,正是不再过拟合固定词表/单场景的关键——消融里 (I)→(II)→(III) 在所有任务上单调上涨印证了这点。

2. MLLM 引导的推理模块:用一个 <SEG> token 把 2D 语义先验注入 3D 定位

针对「直接拿 MLLM 处理 3D 高斯特征会因 3D 表示与 MLLM 原生 2D 视觉空间的域差而失效」这个问题,作者不把 3D 特征塞给 MLLM,而是用 2D 视图当 MLLM 的视觉接口。给定查询,MLLM 输出一个专用分割 token <SEG>,其末层隐状态 \(t_{seg}\) 线性投影成 \(\hat t_{seg}\in\mathbb{R}^{1\times C}\)——这个 token 编码了目标物体的语义身份与空间先验。指代解码器复用实例解码器的架构,但同时处理三路输入:实例查询 \(O_{ins}\)、投影后的 \(\hat t_{seg}\)、语义特征 \(\hat L\);把 \(O_{ins}\)\(\hat t_{seg}\) 拼接成查询,与 \(\hat L\) 交叉注意力后用更新的 \(\hat t_{seg}\) 去预测被指代实例,生成可渲染成 2D 的 3D 指代掩码。MLLM 用 LoRA 与指代解码器联合训练,目标是 \(L_{align}=L_{text}+\lambda_m L_{mask}\)\(\lambda_m=0.1\)),其中 \(L_{text}\) 是 next-token 生成损失,\(L_{mask}\) 含 BCE+dice。这样 MLLM 的强语义/空间先验通过一个轻量 token 注入到 3D 高斯定位中,比直接喂 3D 特征干净得多——消融 (III)→(IV)/(VIII) 的大幅跳升说明这一步是「transformative」。

3. GAFS 几何感知帧选择器:给 MLLM 喂「最值钱」且不冗余的几帧

如果把整个场景所有视图都丢给 MLLM,算力不可承受;纯 2D 视图又缺乏几何结构、难以推理相邻/朝向这类空间关系。GAFS 解决「喂哪几帧」。它把文本 \(Q\)、多视图 \(\{I_i\}\)、3D 高斯语义特征 \(L\) 一起处理:每张图经 VLM 视觉编码器抽特征 \(V_i\),再经线性投影+Transformer 得视觉嵌入 \(v_i\);文本同样路径得查询向量 \(\hat q\);接着对每个视图取其可见的 3D 高斯语义特征 \(L_i\)(CLIP 对齐 embedding + 精确 3D 位置)当几何上下文,用交叉注意力融进视觉嵌入得 \(\hat v_i\);相关性分数 \(s_i\)\(\hat v_i\)\(\hat q\) 的余弦相似度,用 BCE 监督(\(\hat s_i=1\) 表示该视图含目标物体): $\(L_{bce}=-\frac1N\sum_{i=1}^N\big[\hat s_i\log s_i+(1-\hat s_i)\log(1-s_i)\big].\)$ 推理时按分数排名后,作者发现 top 帧常因空间邻近而严重视觉重叠,于是加一步冗余抑制:从最高分视图起迭代,用平移+朝向的加权差衡量视图间距离 \(D_{ij}=\lambda_t\lVert t_i-t_j\rVert_2+\lambda_r\cdot\mathrm{ang}(R_i,R_j)\),只保留与所有已选视图距离都超过阈值 \(\tau_d\) 的视图(\(\lambda_t=\lambda_r=1.0\)\(\tau_d=0.5\)),最终选 \(N^*=32\) 帧匹配 MLLM 上下文窗口。把几何特征注入选帧,正是 GAFS 比 uniform/BLIP 检索强的根源——它选出的帧既相关、又覆盖多样的几何视角。

损失函数 / 训练策略

三阶段分别用 \(L_1\)(语义级渲染对齐)、\(L_{ins}=L_{ce}+L_{mask}\)(实例级)、\(L_{align}=L_{text}+\lambda_m L_{mask}\)(自由文本级,\(\lambda_m=0.1\));GAFS 单独用 \(L_{bce}\) 训练。高斯编码器先在 ScanNet 训 100 epoch,再与实例解码器在 ScanNet200 训 512 epoch;MLLM 基座为 LLaVA-Video,用 LoRA 在 ScanRefer/Nr3D/Sr3D/Multi3DRefer/ScanQA/SQA3D/Scan2Cap 等多数据集上联合指令微调。SQA3D 缺帧级标注,作者用 GPT-5 自动标注 ⚠️ 以原文为准。全程 8×H100。

实验关键数据

主实验

3D 指代分割(ScanRefer / Multi3DRefer 验证集),GenSplat 用 GS+I 模态,对比 2D MLLM、专家模型、3D MLLM:

方法 模态 ScanRefer mIoU↑ ScanRefer [email protected] ScanRefer [email protected] Multi3DRefer mIoU↑
LISA-7B(2D MLLM) I 21.2 35.8 8.0 -
LiftGS(专家·GS) GS - 49.7 36.4 -
3D-LLaVA(3D MLLM) PC 43.3 - - 42.7
3D-LLaVA*(适配为GS) GS 29.8 44.2 22.7 -
GenSplat GS+I 43.6 61.3 42.4 46.2

在 ReferSplat 选的 5 个场景上,对比逐场景优化方法(mIoU):Grounded-SAM 12.4 / LangSplat 11.2 / ReferSplat 16.5 / GenSplat 28.2——不做逐场景优化反而几乎翻倍。

3D 问答(ScanQA 验证 / SQA3D 测试):

方法 ScanQA C↑ ScanQA M↑ ScanQA R↑ SQA3D EM↑ SQA3D EM-R↑
SplatTalk(I) 77.5 15.6 38.5 47.6 49.4
3D-LLaVA(PC) 92.6 18.4 43.1 54.5 56.6
GenSplat(GS+I) 95.1 18.9 44.9 56.0 58.9

消融实验

逐组件累加(mIoU / C / EM-R 等,节选 Table 4):

配置 ScanRefer mIoU↑ Multi3DRefer mIoU↑ ScanQA C↑ SQA3D EM-R↑ 说明
(I) Baseline 26.6 33.8 71.7 48.6 无 MLLM 推理与指代解码器
(II) +语义级预训练 29.4 35.6 73.9 48.9 课程第一级
(III) +实例级预训练 33.1 38.2 75.6 49.6 课程第二级
(IV) MLLM 直接吃 3D 特征 33.9 40.3 93.2 53.9 验证 3D↔2D 域差
(V) 均匀采样选帧 32.3 27.3 94.9 55.2 替换 GAFS
(VI) BLIP 检索选帧 36.7 36.1 96.7 56.4 替换 GAFS
(VII) GAFS 仅用 2D 视图 41.4 42.9 96.9 57.2 去掉几何特征注入
(VIII) GenSplat 43.6 46.2 98.3 58.9 完整模型

关键发现

  • 渐进课程是地基:(I)→(II)→(III) 在所有任务上单调上涨(ScanRefer mIoU 26.6→29.4→33.1),说明语义→实例的逐级接地不可跳过。
  • MLLM 推理是质变点:(III)→(VIII) ScanQA CIDEr 从 75.6 飙到 98.3,验证 MLLM 引导推理对场景理解是「transformative」。
  • 2D 视图是跨域桥:(IV) 直接喂 3D 特征明显逊于 (VII) 用 2D 视图,证实 3D 表示与 MLLM 原生 2D 空间存在域差,得靠信息量大的 2D 视图来弥合。
  • 选帧策略很关键,且几何融合协同增益:(VII) 明显优于 (V)/(VI),说明 GAFS 选的帧更相关更多样;(VIII) 再优于 (VII),说明把 2D 外观与 3D 结构融合选帧能进一步抬高 MLLM 的空间推理。Multi3DRefer 上 (V) 均匀采样仅 27.3、远低于 GAFS 的 46.2,反差最刺眼。

亮点与洞察

  • 「过拟合」的统一诊断很漂亮:把「绑死词表」和「绑死场景」两种看似不同的失败,归因于同一件事——缺少几何到多层级语言的层次化学习,再用一个课程一并解决,立意干净。
  • <SEG> token 当「胶水」:不让 MLLM 直接碰 3D 特征,而是让它吐一个 token 去条件化 3D 解码器,巧妙绕过 3D↔2D 域差,这套「token 桥接」思路可迁移到任何「强 2D 基座 + 弱 3D 表示」的对齐场景。
  • GAFS 把几何塞进选帧:选帧时不只看 2D 相似度,还注入可见高斯的 3D 位置/语义,再加基于相机位姿的冗余抑制——这是「选对输入比堆模型更省」的典型,对长上下文/算力受限的 3D-LLM 很实用。
  • 推理零逐场景优化:除了 3DGS 重建本身,测试时不再 per-scene 训练,这是它能称「generalizable」的硬指标。

局限与展望

  • 作者承认:场景里语义相似物体很多时(如成排同款椅子)会产生模糊定位(Fig. 5 失败案例),作者建议训练时引入更细粒度几何先验缓解。
  • 依赖重资源:8×H100、512 epoch、多数据集联合微调,复现门槛高;且仍需先做 3DGS 重建,重建质量会传导到下游 ⚠️。
  • GAFS 的 GT 选帧依赖标注:训练用 GT 选中视图,SQA3D 缺帧级标注还得靠 GPT-5 补标,标注噪声对选帧器的影响未单独评估 ⚠️。
  • 可改进:把冗余抑制的硬阈值 \(\tau_d\) 换成可学习/查询自适应的多样性约束,或在 <SEG> token 之外引入多 token 表达多目标(Multi3DRefer 这种变数量指代场景)可能更稳。

相关工作与启发

  • vs LangSplat / SceneSplat:它们给高斯学语义属性、靠 CLIP 文本查询,要么逐场景优化要么绑定词表;GenSplat 用渐进课程 + MLLM 推理打开自由文本与跨场景泛化,且支持分割之外的 VQA。
  • vs ReferSplat / ReasonGrounder:同样吃自由文本,但它们逐场景优化、视觉-语言对齐弱、换场景就掉;GenSplat 单模型在 ReferSplat 选的 5 场景上把 mIoU 从 16.5 提到 28.2,且无需 per-scene 优化。
  • vs 3D-LLaVA / Reason3D 等点云 3D-MLLM:它们直接拿 MLLM 处理 3D/点云特征,受 3D↔2D 域差之苦;GenSplat 改用「信息量大的 2D 视图 + 几何感知选帧 + token 条件化」搭起 2D 感知与 3D 几何推理的连贯管线,在 Multi3DRefer 上比 3D-LLaVA 高 +8.2 mIoU。

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 首个可泛化的 3DGS 语言理解框架,渐进课程 + <SEG> token + 几何感知选帧三件套自洽且各有针对性。
  • 实验充分度: ⭐⭐⭐⭐⭐ 跨三类任务、多基准、8 组消融,对域差/选帧策略逐一拆解,结论扎实。
  • 写作质量: ⭐⭐⭐⭐ 动机诊断清晰、图文对应好;个别符号(\(N^*\)、GT 选帧细节)需翻补充材料。
  • 价值: ⭐⭐⭐⭐⭐ 推理免逐场景优化 + 一模型多任务 SOTA,对 3DGS 语言交互、具身/AR 落地有直接价值。