跳转至

StructSplat: Generalizable 3D Gaussian Splatting from Uncalibrated Sparse Views

会议: ECCV2026
论文: ECCV 原文
代码: https://github.com/J-C-Zhao/StructSplat
领域: 3D 视觉
关键词: 高斯泼溅、未标定稀疏视图、结构化表示、像素对齐特征注入、相机对齐

一句话总结

StructSplat 将几何、语义和纹理交给不同编码路径,再用不向高斯特征泄漏目标图像的相机对齐机制完成前馈重建,在 DL3DV 双源视图、无相机参数输入且无后优化的设置下达到 28.045 dB PSNR。

研究背景与动机

从几张照片生成可渲染的三维场景,不仅要知道物体在哪里,还要保住表面颜色和细小纹理。 传统 NeRF 或 3DGS 通常逐场景拟合;可泛化前馈模型省去了这种反复优化,但许多方法仍依赖预先标定的相机。 即使采用 VGGT、MASt3R 等几何基础模型,从未标定输入预测高斯也不等于高质量还原外观。 论文图 3 做了一个直接检验:给 VGGT 特征接颜色预测头,连输入视图的二维重建都出现颜色和细节损失,说明几何特征并非无损的外观容器。

另一个问题来自训练和评测的数据路径。 为了获得同一坐标系下的源相机与目标相机,模型可能把两类图像一起送入带跨视图注意力的编码器。 随后即使只取源视图的 token 预测高斯,这些 token 也已经看过目标图像,渲染监督因此不再是纯粹的未见视角检验。 单纯删去目标 token,无法撤回之前注意力交换的信息。

本文不要求一个骨干同时承担几何、语义、纹理和无泄漏评测的全部职责。 核心 idea:让几何决定空间结构、语义提供物体与场景先验、像素对齐纹理保留细节,同时只把目标图像用于独立的相机估计路径,再把目标相机对齐到纯源视图重建的坐标系。

方法详解

整体框架

输入是同一场景的若干未标定 RGB 源图像,不需要用户提供相机内参或外参;输出是可用高斯泼溅渲染的全局三维高斯集合。 结构化特征分工先提取几何、语义和纹理,像素对齐高斯解码再逐源像素预测局部高斯属性。 双流相机对齐为纯源图像重建提供一致的目标相机坐标;源相机预测则将各视图的局部高斯变换到世界坐标。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    Input["未标定源图像"] --> Features["结构化特征分工"]
    Features --> Decoder["像素对齐高斯解码"]
    Features --> Camera["双流相机对齐"]
    Target["目标图像<br/>仅相机估计路径"] --> Camera
    Decoder --> World["局部高斯转世界坐标"]
    Camera -->|源相机| World
    World --> Render["高斯泼溅与目标视图"]
    Camera -->|对齐后目标相机| Render

这里“无需相机参数”指输入不需要已知标定,并不是渲染不需要目标相机。 论文训练和评测中的目标图像仍参与混合流相机估计,但不会进入用于预测高斯的特征流。 这一边界很重要:方法隔离的是目标外观特征泄漏,不能把评测描述成完全不接触目标图像的相机定位协议。

关键设计

1. 结构化特征分工:不给几何骨干强加全部外观任务

VGGT 几何编码器通过跨视图注意力聚合场景关系,输出用于深度和相机估计的三维几何 token。 独立语义编码器逐图提取高层上下文,补充物体组织、场景布局与对应关系方面的先验。 附录明确使用独立且冻结的 DINOv3:VGGT 中为几何任务微调过的 DINOv2 特征可能损失外观信息,另一路语义特征可以避开这种任务偏置。 这里没有额外输出语义分割结果,语义被作为高斯预测的条件信息。

纹理编码器则使用轻量卷积保留高分辨率、逐像素对应的局部外观。 它不追求将颜色和纹理压缩成跨视角不变的概念,而是保留“这个像素具体是什么颜色、附近边缘如何变化”。 三条路径因而具有互补性:几何约束位置,语义缓解稀疏视图下的结构歧义,纹理补充前两者容易丢掉的高频信息。 附录还说明纹理编码器用于减少深度、不透明度、颜色、尺度和旋转等属性间的干扰,但没有给出可据以完整复现的卷积层配置。

2. 像素对齐高斯解码:先融合结构,再在输出前补回细节

解码器在 DPT 的多尺度重组与融合结构上改造,而不是简单把三路向量直接接到最终输出。 重组块先将几何和语义特征投影、调整空间尺寸并拼接,再用投影保持原 DPT 的通道规模;随后经过级联的重组和融合块。 高分辨率纹理特征在最终预测层之前注入,图 4 将其画成晚期相加路径。 这样,纹理不必先经过全部低分辨率结构处理再被恢复,细节到高斯属性之间的路径更短。

不同输出头预测深度、不透明度、颜色、尺度和旋转。 位置由相机 z 轴方向的深度参数化,旋转用局部相机坐标中的四元数表示,之后必须结合预测内外参完成到世界坐标的变换;不能把不同源相机里的局部高斯直接拼在一起。 表 7 给出这些头的输出通道分别为 1、1、3、3、4;深度和尺度采用 Softplus 类激活,不透明度采用带偏移的 Sigmoid,旋转归一化。 颜色头输出为原始值乘 0.25,没有 Sigmoid;作者希望避免梯度饱和,但线性输出本身并不构成颜色落在合法区间的数学保证。

3. 双流相机对齐:共享相机锚点,不共享目标外观特征

几何编码器分别处理“源图像加目标图像”的混合流 A 和“只有源图像”的纯源流 B。 高斯预测只使用 B;A 用于获得目标相机。 两次估计得到的相机可能处于不同参考坐标系,因此不能直接用 A 的目标相机渲染 B 的高斯。 方法利用两流都包含的源相机作为锚点,求出对齐关系后,只把目标相机参数转移过来。

旋转对齐直接在单位四元数空间求共同修正,正文使用拉格朗日乘子求解,附录给出归一化相对四元数和的闭式解。 平移对齐不是仅匹配尺度:它联合求一个尺度和一个三维偏移,使对应源相机的平移残差平方和最小。 按照原文对相机参数的记号,目标相机的转移可写为:

\[ q^B_{t,j}=\Delta q^*q^A_{t,j},\qquad \tau^B_{t,j}=\lambda^*\tau^A_{t,j}+\Delta\tau^*. \]

这里的四元数修正、尺度和偏移均从对应源相机求得,而不是用目标像素误差迭代拟合出的场景表示。 该公式转移的是论文定义的相机参数,不应不加说明地替换成另一种相机中心或外参约定。 与仅在评测时调整平移尺度的策略相比,它同时处理旋转、尺度和平移偏移,并让训练期高斯特征始终保持纯源输入。

损失函数 / 训练策略

训练把预测高斯同时渲染到源视图和目标视图,以像素、结构和感知误差联合监督。 原文式 (3) 的目标可用以下紧凑记号表达:

\[ \mathcal{L}=\sum_{i=1}^{N_{\mathrm{src}}+N_{\mathrm{tar}}} \left[w_1\operatorname{MSE}(I_i,\hat I_i) +w_2\left(1-\operatorname{SSIM}(I_i,\hat I_i)\right) +w_3\operatorname{LPIPS}(I_i,\hat I_i)\right]. \]

训练使用 BF16、DeepSpeed 和 Warmup-Stable-Decay 学习率调度;本文重建训练不使用真实深度或显式深度一致性损失。 这不代表几何编码器没有预训练先验,也不代表没有目标 RGB 监督。 缓存未报告三个损失权重的具体值、完整学习率及批大小,不能补成标准默认值。 附录报告双视图设置在单张 H100 上训练约 2.5 天,峰值显存 73 GB,模型含 1.535 B 参数,单次推理 164.657 ms;该耗时不能外推到任意视图数和分辨率。

实验关键数据

主实验

表 1 使用 DL3DV 官方基准测试划分,并用在 DL3DV 训练的模型跨数据集评估 ACID 和 RealEstate10K。 所有输出与真值统一缩放并中心裁剪到 256×256;仅目标视图用于计算测试指标,表中不做后优化。 DL3DV 双源视图数值与表 2 对应。下表摘录表 1,PSNR 单位为 dB,SSIM、LPIPS 为无量纲指标。

数据集 方法 相机输入条件 PSNR ↑ SSIM ↑ LPIPS ↓
DL3DV AnySplat 无相机参数 22.377 0.716 0.150
DL3DV StructSplat 无相机参数 28.045 0.888 0.091
DL3DV NoPoSplat 已知内参 25.592 0.838 0.104
ACID AnySplat 无相机参数 22.433 0.651 0.237
ACID StructSplat 无相机参数 24.372 0.712 0.219
ACID NoPoSplat 已知内参 25.521 0.750 0.185
RealEstate10K AnySplat 无相机参数 20.521 0.686 0.212
RealEstate10K StructSplat 无相机参数 22.240 0.729 0.201
RealEstate10K NoPoSplat 已知内参 24.724 0.818 0.145

相对 AnySplat,三个数据集的 PSNR 差值依次是 5.668、1.939、1.719 dB。 “最好”的结论限定于表 1 的无相机参数方法;跨数据集时,已知内参的 NoPoSplat 仍明显更强,不能将两个输入条件合并宣称全面领先。

消融实验

以下为 DL3DV 上的表 3 和表 6,PSNR 单位为 dB。 表 3 是依次增加特征的累积实验;表 6 是相机对齐的单独比较,不是同一条逐模块添加序列。

原文表号 配置 PSNR ↑ SSIM ↑ LPIPS ↓
表 3 仅几何特征 20.610 0.622 0.343
表 3 几何 + 语义 26.236 0.848 0.151
表 3 几何 + 语义 + 纹理 28.045 0.888 0.091
表 6 无相机对齐 27.338 0.879 0.097
表 6 完整模型 28.045 0.888 0.091

加入语义提升 5.626 dB,在此基础上加入纹理再提升 1.809 dB;去掉相机对齐损失 0.707 dB。 这支持特征分工和干净训练路径的价值,但累积消融不能直接当作各模块独立贡献的可加分解。

关键发现

  • 表 2 中,2、4、6 个源视图对应 PSNR 为 28.045、30.415、31.137 dB,增加观测可进一步改善重建。
  • 表 4 的目标外参后优化将本文提高到 29.287 dB;该设置与主表的 28.045 dB 必须分开报告。
  • 表 5 中,AnySplat 与本文的旋转 ATE 分别为 0.0866、0.0016,平移 ATE 为 0.1003、0.0093;表中未明确单位及归一化细节,不将其改写成度或米。
  • 表 8 的更低采样率、大覆盖场景是另一协议:4 个源视图仅为 20.171 dB,不能与表 2 的 30.415 dB 混为同一任务。

亮点与洞察

  • 几何基础模型的强项不等于像素保真能力。先做输入视图颜色重建的诊断,再决定增加纹理路径,是比直接扩大骨干更有针对性的设计依据。
  • 晚期纹理注入并非放弃三维一致性,而是在已有结构融合之后补回局部信息。它适合借鉴到那些几何正确、渲染却模糊的前馈重建模型。
  • 信息泄漏检查应追溯到注意力发生的位置。即使输出只保留源 token,只要之前与目标 token 交互过,就不能认定特征是干净的。

局限与展望

  • 作者承认极端稀疏输入、严重遮挡、复杂视角相关效应和光照仍有困难;动态场景与大规模环境是后续方向,不是已经解决的能力。
  • 两条几何估计流加独立语义编码器带来实际成本。单卡可训练不等于轻量,1.535 B 参数和 73 GB 峰值显存对部署有明显约束。
  • 评测目标相机仍依赖目标图像估计。只隔离目标外观特征,不足以证明在完全未知目标图像、任意用户指定相机条件下的同等表现。
  • 表 3 缺少完整的特征组合交叉消融,也未给出误差条;语义与纹理增益是否随数据规模、场景类别而变化仍需验证。
  • 对齐依赖源相机锚点质量。退化轨迹、很小基线或姿态预测失败时的稳定性,以及推理耗时是否包含双流和对齐的详细边界,缓存没有充分说明。

相关工作与启发

  • vs AnySplat:两者都面向无内外参输入的前馈高斯重建;本文突出独立语义与纹理路径,并将相机对齐扩展到旋转、尺度和偏移。
  • vs Splatt3R / Depth Anything 3:同样利用几何基础模型,但本文认为“几何骨干加高斯头”仍缺外观细节,重点改造多源特征融合和输出前的纹理注入。
  • vs NoPoSplat / FLARE:表 1 中这组方法使用已知内参,不能与完全无相机参数条件无区别比较;它们在跨数据集上的优势也提示标定信息仍有价值。
  • 一个值得跟进的实验是固定几何骨干和训练预算,比较不同语义先验与纹理注入位置,并单独报告纯源重建成本和目标相机定位成本。

评分

  • 新颖性: 4/5。结构化外观建模与无泄漏相机对齐组合明确,但主要建立在现成几何和视觉基础模型上。
  • 实验充分度: 4/5。包含跨数据集、多视图、消融与分辨率扩展,但训练细节和统计不确定性报告仍不完整。
  • 写作质量: 4/5。图 3 的诊断与图 5 的泄漏说明直观,部分相机约定、ATE 单位和运行时间口径需补充。
  • 价值: 4/5。对无标定前馈重建和评测路径设计均有实用启发,但不应忽略大模型成本及目标相机估计依赖。