Conference

Dynamic Gaussian Marbles for Novel View Synthesis of Casual Monocular Videos

Colton Stearns, Adam W. Harley, Mikaela Angelina Uy, Florian Dubost, Federico Tombari, Gordon Wetzstein, Leonidas J. Guibas

Stanford University; Google

一句话总结

面向”随手拍”的单目视频,本文用各向同性的高斯”弹珠”、自底向上的分治式学习策略以及一组来自现成 2D 模型的先验,把动态高斯从多相机受控采集扩展到欠约束的单目场景,既能做高质量新视角合成,又能精确捕捉场景的 3D 运动轨迹。

研究背景

高斯泼溅(3DGS)凭借高效渲染、高质量重建以及可编辑的组合性,已经成为静态场景新视角合成的主流表示。很多工作把它扩展到 4D 动态场景,用一组随时间运动的高斯轨迹来追踪几何,效果不错——但这些方法几乎都假设多相机同步视频作为监督,只能用在专门搭建的采集环境里。

问题在于,日常最常见的素材是单目视频:一个人拿着相机在动态场景里平滑移动。作者发现,现有的动态/4D 高斯方法在这种单目设定下会严重失败,因为缺少多视角信息使得优化高度欠约束:

  • Dynamic 3D Gaussians 会立刻偏离场景几何,过拟合训练视角,换个视角就崩。
  • 4D Gaussians 则陷入局部最优,把所有帧的静态信息平均掉,学不到正确的运动。

本文的核心判断是:单目设定本身信息不足,但可以通过精心设计的优化策略、现成的深度与运动估计、以及基于几何的正则来补上缺失的约束。由此提出 Dynamic Gaussian Marbles(Gaussian Marbles),从表示、学习策略、目标函数三个层面做改造,把优化引向能泛化到新视角的解。

方法

整体框架是:把输入视频的每一帧初始化成一组高斯弹珠(轨迹长度为 1),然后用自底向上的分治合并策略,不断把时间相邻的两组弹珠合并成轨迹长度翻倍的一组,逐步把”短轨迹”拼成”长轨迹”。每次合并由一段短优化驱动,用渲染损失、跟踪损失和几何正则把两组弹珠拉到对应位置。推理时用覆盖该时刻的高斯轨迹渲染出对应帧。

flowchart TD
    A[单目视频每帧初始化<br/>深度反投影点云 + SAM分割] --> B[每帧一组高斯弹珠<br/>轨迹长度=1]
    B --> C[运动估计阶段<br/>常速外推轨迹, 渲染进相邻帧<br/>只更新对应子集轨迹]
    C --> D[合并阶段<br/>两组覆盖同区间→取并集<br/>丢低透明度/小尺度+随机下采样]
    D --> E[全局调整阶段<br/>随机采样帧, 联合优化<br/>颜色/尺度/透明度/轨迹]
    E --> F{轨迹长度翻倍<br/>是否达到目标长度?}
    F -->|否| C
    F -->|是| G[输出多帧高斯轨迹<br/>渲染 / 跟踪 / 编辑]

1. 各向同性的高斯弹珠 不同于原版可各向异性的高斯,弹珠的朝向固定为单位矩阵、尺度退化为一个标量 \(s\in\mathbb{R}^1\),形状是纯球形。动机是:各向异性高斯表达力更强,但在欠约束的单目设定里,多出来的自由度反而有害——在单张单目图上训练 100K 次迭代,各向异性高斯能完美拟合训练视角却在新视角出现明显伪影,而弹珠能泛化。此外每个弹珠还带一个语义实例标签 \(y\in\mathbb{N}\),以及一条把初始位置映射到各时刻的平移序列 \(\Delta X\in\mathbb{R}^{T\times 3}\),让它”动”起来。

2. 分治式运动估计 不去一次性优化整段视频,而是把长视频切成短子序列,迭代地把子序列拼起来。每次迭代分三步:

  • 运动估计:对相邻的一对弹珠集 \((\mathcal{G}^a, \mathcal{G}^b)\),用常速假设把轨迹外推一帧,把 \(\mathcal{G}^a\) 渲染进 \(\mathcal{G}^b\) 覆盖的帧,只对 \(\mathcal{G}^a\) 的轨迹平移施加梯度(反之亦然),每帧优化 \(\eta\) 步,直到轨迹覆盖对方全部帧。
  • 合并:两组已覆盖同一区间后直接取并集 \(\mathcal{G}_{ij}=\mathcal{G}^a_{ij}\cup\mathcal{G}^b_{ij}\),再丢掉低透明度/小尺度高斯并随机下采样,保持集合规模恒定。
  • 全局调整:对合并后的集合随机采样区间内某帧、渲染全部高斯,联合更新颜色、尺度、透明度、轨迹,做 \(\beta\) 步。

作者的直觉是:运动估计受益于”一次只加一帧”的局部性与平滑性(类似 Dynamic 3D Gaussians),全局调整贡献全局一致性(类似 4D Gaussians),交替两者取两家之长。

3. 跟踪损失(利用现成点跟踪) 用 CoTracker 在 \([j-w, j+w]\)(实践中 \(w=12\))估计一组 2D 点轨迹 \(P\),随机取源帧 \(i\),对每个跟踪点找 2D 上最近的 \(K=32\) 个高斯,惩罚它们与该点距离的变化:

\[L_{\text{track}}=\sum_{p\in P}\sum_{g\in \mathcal{N}(p_i)}\alpha'_i\left| D_i\lVert\mu'_i-p_i\rVert_2 - D_j\lVert\mu'_j-p_j\rVert_2\right|\]

其中 \(\mu'_i, D_i\) 是高斯投影后的位置与深度,\(\alpha'_i\) 是它对像素 \(p_i\) 的不透明度贡献。

4. 几何正则(等距 + 3D 对齐) 局部等距损失约束局部邻域近似刚性运动,实例等距损失让同一语义实例整体近似刚性移动:

\[L_{\text{iso-local}}=\sum_{g_a\in\mathcal{G}}\sum_{g_b\in\mathcal{N}(g_a)}\left|\lVert\mu^a_i-\mu^b_i\rVert-\lVert\mu^a_j-\mu^b_j\rVert\right|\]

合并两组弹珠时还需在 3D 空间对齐(否则训练视角清晰、新视角却”云雾状”)。由于两组可能观察到场景不同部分,不能直接算 Chamfer;作者把每组按”来自单帧”拆成子集、随机洗牌后各取前 25% 组成 \(\mathcal{G}_1\) 与 \(\mathcal{G}_2\),再算双向 Chamfer 距离:

\[L_{\text{chamfer}}=\sum_{g_1\in\mathcal{G}_1}\min_{g_2\in\mathcal{G}_2}\lVert\mu_1-\mu_2\rVert^2+\sum_{g_2\in\mathcal{G}_2}\min_{g_1\in\mathcal{G}_1}\lVert\mu_1-\mu_2\rVert^2\]

引入的随机性让高斯彼此靠拢,又不会过拟合到两组观测内容的差异。此外还有对图像、视差图、分割图的 L1 渲染损失与 LPIPS 损失。

实验结果

在 Nvidia Dynamic Scenes、DyCheck iPhone、Total-Recon 上评测。其中 Nvidia 数据集特意用单相机(camera 4)视频流训练,避免以往”传送式单目相机”带来的虚假多视角信息。下面是与高斯类基线的新视角合成对比(mPSNR↑ / LPIPS↓,均值,数字忠于原文):

方法 iPhone(无位姿) iPhone(有位姿) Nvidia Dynamic Scenes
Dynamic 3D Gaussians 7.60 / 0.704 7.29 / 0.692 12.07 / 0.517
4D Gaussians 13.11 / 0.726 13.64 / 0.428 17.59 / 0.292
Gaussian Marbles(本文) 15.79 / 0.428 16.72 / 0.418 22.32 / 0.129

Gaussian Marbles 在两个数据集上都大幅超过高斯类基线,尤其在多视角信息更少的场景(iPhone 无位姿、Nvidia)优势明显。与 NeRF 类方法(Nerfies、HyperNeRF、T-NeRF)相比总体持平(三数据集均值 18.28 / 0.325),但保留了高斯的快渲染(推理 >200Hz)、更好的跟踪(iPhone PCK-T@5% 达 0.806,略超 CoTracker 的 0.803,远超其它高斯/NeRF 方法)以及可编辑性。消融显示每个组件都有贡献,其中运动估计全局调整两个阶段最关键:去掉后 LPIPS 从 0.110 恶化到 0.136 / 0.223。

亮点与局限

亮点:

  • 直面”随手拍单目视频”这个最贴近真实素材、却被主流动态高斯方法回避的设定,明确指出现有方法在此欠约束下会崩,并给出可行方案。
  • “少即是多”的表示选择:用自由度更低的各向同性弹珠反而换来更好的新视角泛化,配合分治学习把”长序列跟踪”转化为”拼接相邻子序列”的可控问题。
  • 充分复用现成 2D 基础模型(SAM/TrackAnything、CoTracker、DepthAnything)把 2D 先验注入 3D 优化,同时保留高斯在跟踪、渲染速度、组合式编辑上的固有优势(例如给老虎上色并沿视频一致传播)。

局限:

  • 强依赖 2D 图像先验,深度、分割或跟踪一旦出错就会把优化带偏(如 “Space Out”、”Wheel” 深度不准时跟踪反而落后于 CoTracker)。
  • 几何先验在快速、非刚性运动的场景可能给出错误引导。
  • 训练开销随视频长度增长(iPhone 上 5~9 小时、峰值显存 13~22GB),并未彻底解决开放世界动态单目新视角合成这一难题。

延伸思考

这篇工作的价值不只在于”又一个动态高斯方法”,而在于系统地论证了”约束”本身就是单目重建的核心资源:当监督信号不足时,与其堆更强的表示,不如主动削减自由度(各向同性弹珠)、切分优化难度(分治合并)、并从外部模型借来先验(深度/跟踪/分割)。这与近来一批 casual monocular 4D 重建工作(如 MoSca、RoDyGS)殊途同归,都在”如何把 2D 基础模型的知识可靠地蒸馏进 3D/4D 优化”上下功夫。一个自然的追问是:当 2D 先验本身不可靠时,能否让 3D 一致性反过来校正 2D 预测,形成闭环?本文在深度可靠时”跟踪略超 CoTracker”已经露出这种双向增益的苗头,值得沿着”3D 表示与 2D 基础模型互相监督”的方向继续挖。