跳转至

Matryoshka Gaussian Splatting

日期: 2026-03-19
arXiv: 2603.19234
代码: 项目页面
领域: 3D视觉
关键词: 3D Gaussian Splatting, Level of Detail, 连续 LoD, 嵌套表示, 随机预算训练

一句话总结

将 Matryoshka 嵌套表示思想应用于 3D Gaussian Splatting,通过按重要性排序高斯基元并用随机预算训练,使单个模型的任意前缀子集都能产生连贯渲染,实现连续 LoD 控制且不牺牲全容量质量。

研究背景与动机

  1. 领域现状: 3D Gaussian Splatting (3DGS) 通过光栅化大量各向异性高斯基元实现实时真实感渲染,计算成本与基元数量成正比。Level of Detail (LoD) 技术对于适配不同硬件和动态负载至关重要。

  2. 现有痛点: 离散 LoD 方法(如 Octree-GS、H3DGS)只提供有限的几个质量级别,切换时产生明显的 pop-in/pop-out 伪影;连续 LoD 方法(如 CLoD-3DGS、CLoD-GS)虽然更平滑,但在全容量时质量明显下降——使得 LoD 成为一个"代价昂贵"的设计选择。

  3. 核心矛盾: 常规训练的 3DGS 模型中基元无序排列,随机移除部分基元会导致质量急剧崩塌。如何让子集也能产生好的渲染,同时不损害全集质量?

  4. 切入角度: 受 Matryoshka Representation Learning(嵌套表示学习)启发——大模型包含小模型,每个前缀都有用。将这个原理从 embedding 维度迁移到 3D 场景基元层面。

  5. 核心 idea: 学习一个按重要性排序的高斯基元有序集合,使得任意前缀(前 k 个 splat)都能产生连贯的场景重建,质量随 k 增大平滑提升。

方法详解

整体框架

MGS 修改的是训练过程,不改模型架构。核心两步: 1. 排序:每步训练后按重要性(opacity)对所有高斯基元降序排列 2. 双渲染训练:每步随机采样一个预算比例 r,渲染前 k = ⌈rN⌉ 个基元(前缀)+ 渲染全部 N 个基元,联合优化

部署时,调整 k 即可在速度-质量之间连续权衡,无需重新训练或额外数据结构。

关键设计

  1. 基于 Opacity 的重要性排序:

    • 做什么:为每个高斯基元分配重要性分数,按降序排列构成嵌套序列
    • 核心思路:用 opacity \(\sigma_i\) 作为重要性分数 \(s(g_i) = \sigma_i\),高 opacity 的基元出现在序列前面
    • 设计动机:opacity 直接反映基元对最终渲染的可见性和辐射贡献,高 opacity 基元携带场景的主要结构信息。实验对比了 7 种排序策略(opacity↓、opacity↑、color variance、SH energy、volume 等),opacity 降序在所有预算级别都最优——10% 预算时达 22.2dB,而次优的 SH energy 降序只有 17.6dB
  2. 随机预算训练(Stochastic Budget Training):

    • 做什么:高效覆盖所有可能的预算级别
    • 核心思路:每步从均匀分布采样 \(r \sim \text{Unif}(r_{\min}, 1)\),计算 \(k = \lceil rN \rceil\),同时渲染前缀 \(\mathcal{G}_{\leq k}\) 和全集 \(\mathcal{G}_{\leq N}\),优化联合损失 \(\ell_{\text{MGS}} = \ell(\mathcal{G}_{\leq k}; \mathbf{I}, \mathbf{c}) + \gamma \ell(\mathcal{G}_{\leq N}; \mathbf{I}, \mathbf{c})\)
    • 设计动机:逐预算优化计算上不可行(N 可达数百万)。随机采样保证所有预算被均匀覆盖,双渲染(仅 2 次前向传播/步)中全集项锚定全质量,前缀项迫使有意义的子集也能重建——两者缺一不可
    • \(\gamma = 1\)(等权)效果最好;\(r_{\min} = 0.001\) 是默认最小前缀比例
  3. 动态重排序:

    • 做什么:保持排序随训练参数更新
    • 核心思路:每步训练后,对所有基元按当前 opacity 重新 argsort,确保排列反映最新参数状态
    • 设计动机:梯度更新会改变基元的 opacity,固定初始排序会逐渐失效

容量控制

采用 3DGS-MCMC 的 Langevin 动力学策略在固定预算 N 下训练(默认 5M 基元),确保基元数量可控。

实验关键数据

主实验(4 个基准,全容量+LoD 质量)

基准 指标 MGS 3DGS-MCMC (backbone) 最佳 LoD baseline
MipNeRF 360 PSNR 28.20 28.40 Octree-GS: 27.62
MipNeRF 360 AUC_fps 54.46 - CLoD-3DGS: 28.94
Tanks&Temples PSNR 24.56 24.76 Octree-GS: 24.59
Deep Blending PSNR 28.41 27.63 Octree-GS: 30.35
BungeeNeRF PSNR 27.13 27.04 Octree-GS: 28.23

关键:MGS 的全容量质量仅比无 LoD 的 backbone (3DGS-MCMC) 低 0.20dB,但获得了完整的连续 LoD 能力。在 Deep Blending 和 BungeeNeRF 上甚至超过 backbone——随机预算训练起到了正则化作用。

低预算场景

预算比例 MGS (PSNR/FPS) CLoD-3DGS CLoD-GS
5% 21-28 dB 11-17 dB 11-17 dB
10% 22.2 dB / 493 FPS 严重伪影 严重伪影

MGS 在极端低预算(5-10%)下仍保持连贯重建,竞品则完全崩塌。

消融实验

配置 PSNR AUC_fps 说明
Opacity ↓ (默认) 25.47 68.62 最佳排序策略
Opacity ↑ 24.91 30.53 反向排序效果差
SH energy ↓ 25.17 59.39 次优
Fixed append - - 10% 时仅 10.5dB
\(\gamma=0\) (无全集项) 24.8 59.1 全容量质量明显下降
\(\gamma=1\) (等权) 25.47 68.62 最优权衡

关键发现

  • Opacity 降序排列压倒性地优于其他排序策略
  • 全集损失项对保持全容量质量至关重要(\(\gamma\) 不能为 0)
  • MGS 在某些场景上超过 backbone,说明随机预算训练可作为有效正则器
  • 极端压缩(5-10%)下 MGS 仍可用,竞品直接崩塌

亮点与洞察

  • 极致简洁:整个方法只修改训练目标(加一个随机前缀渲染),不改架构、不加辅助结构、不加参数——每步仅多一次前向传播。这种"为什么之前没人做"的简洁是最大亮点。
  • Matryoshka 思想的漂亮迁移:从 embedding 维度嵌套到 3D 场景基元嵌套,保持了核心直觉(前缀有意义)的同时适配了 3DGS 的特殊性(基元排序、动态重排)。
  • 正则化效应:随机预算训练意外地在某些场景上提升了全容量质量,说明强制子集也有意义可以防止模型过拟合到冗余基元分配。
  • 实用部署:单一模型、单一数组截断即可适配所有设备——从 GPU 工作站到 VR 头显,无需维护多个模型版本。

局限性 / 可改进方向

  • 全容量 PSNR 仍低于专用 LoD 方法的峰值:如 Deep Blending 上 Octree-GS (30.35) >> MGS (28.41)——MGS 的优势在连续 LoD 曲线而非单点最优
  • 排序基于全局统计量:opacity 排序不考虑视角依赖性,对不同视角最重要的基元可能不同——视角自适应的排序可能进一步提升
  • 训练开销翻倍:每步两次渲染使训练时间约为 baseline 的 2 倍
  • 固定 \(r_{\min}\):课程式逐步降低 \(r_{\min}\) 可能比固定值训练更稳定

相关工作与启发

  • vs CLoD-3DGS / CLoD-GS: 同为连续 LoD 方法,但 MGS 在全容量时不掉质量(-0.20dB vs 竞品的 -0.8~1.0dB),低预算时不崩塌(22dB vs 11-17dB),全面碾压
  • vs Octree-GS: 离散 LoD 的代表,单个级别质量可能更高,但只有 3-6 个操作点,切换 abrupt。MGS 提供连续操作点
  • vs Matryoshka Representation Learning (MRL): MRL 在 embedding 纬度上嵌套,MGS 在场景基元数量上嵌套,二者在动机和技术路线上有类比但细节差异大

评分

  • 新颖性: ⭐⭐⭐⭐ Matryoshka 思想迁移到 3DGS 新颖,但随机子集训练在其他领域已有先例
  • 实验充分度: ⭐⭐⭐⭐⭐ 4 个基准、6 个 baseline、7 种排序策略消融,非常充分
  • 写作质量: ⭐⭐⭐⭐⭐ 定义清晰,实验严谨,图表精美
  • 价值: ⭐⭐⭐⭐ 实用价值高,方法简单易复现,对 3DGS 部署有直接帮助