3D高斯泼溅(3D Gaussian splatting)自2023年提出以后,相关研究paper井喷式增长,尽管出现了许多改进版本,但依旧面临着诸多挑战,例如实现照片级真实感、应对高存储需求,而 “悬浮的高斯核” 问题就是其中之一。浮动高斯核通常由输入图像中的曝光或颜色不一致引发,也可能源于运动恢复结构(SfM)过程中产生的离群值。此外,严格意义上的高斯泼溅更偏向于 3D 重建而非新视图合成,它仅能为输入图像序列覆盖良好的场景部分生成新视角。
本文将聚焦于 3D 高斯泼溅的一个实际应用 ——高斯泼溅中的物体插入,并详细解读论文《3D Gaussian Splatting as Monte Carlo Markov Chain》,详见 3dgs-mcmc/,进一步展示MCMC与3dgs结合在gsplat第三方工具中的应用。
0. 3DGS MCMC 简介
3DGS 作为 MCMC 论文的前提如下:
- ADC 的概率概念:尽管自适应密度控制 (ADC) 是一种有效的致密化和修剪策略,但它缺乏坚实的数学基础。MCMC 引入了一个概率框架来解决这一缺陷。
- 收敛与探索: MCMC 论文并不单纯依赖基于优化的方法,而是将优化与探索相结合,从而能够找到问题的多个最优解决方案。
- 将死高斯变为活高斯: ADC 启发式方法被通过重新定位死高斯来实现的状态转换所取代。
- 引入正则化:论文还向损失函数引入了两种正则化:尺度正则化和不透明度正则化。
图 1:3DGS 与 3DGS + MCMC 的比较
本文从回顾 MCMC 开始,逐步引入到3DGS中。
1. MCMC概念回顾
MCMC 抽样是一种众所周知的近似算法,在机器学习中,广泛应用于概率建模。MCMC 的全称是蒙特卡洛马尔可夫链。蒙特卡洛和马尔可夫链是两种不同的算法。
有时,由于诸如空间复杂性、高维性等原因,一些积分和很难直接计算。在这些情况下,我们会对其进行近似——要么采用采样方法,比如MCMC,要么使用参数化分布,就像在变分推断中所做的那样。
例如,在贝叶斯统计中,计算后验分布需要对模型参数的所有可能值进行积分,并由先验和观测数据的似然性加权。随着参数数量的增加或似然函数变得复杂,这种积分很快就会变得难以处理。
图 2:先验、似然和后验
从上图可以看出,先验、后验和似然在数学上的含义。
2. 3DGS中先验/似然与后验的引入
在3D 高斯泼溅 (3DGS) 的贝叶斯视图中,可以将模型参数(所有高斯泼溅的位置、大小、颜色、不透明度等)解释为随机变量。
图 3:3DGS 中的先验、似然和后验
- 这些参数的先验分布p(θ)编码了在看到实际图像数据之前的任何假设或偏好。例如,可能希望高斯函数的大小不受限制,或者它们的颜色位于合理范围内,或者总的 splats 数量不会激增,等等。
- 可能性p(Data|θ) 衡量了特定的splats 配置参数θ对实际观察到的图像(训练视图)的解释程度。
- 后验分布为:
换句话说,后验分布就是基于数据的初始假设,然后如何通过观察到的图像数据进行更新。
3. 单纯融合 VS 融合+探索参数空间
自适应密度控制 (ADC) 是一种解决问题的启发式方法,但并未完全优化,并且缺乏坚实的数学基础。MCMC 通过为致密化和修剪策略提供更强大的数学基础来解决相同的核心问题。
具体来说,它通过将这些策略概念化为采样过程,为这些策略引入了一个概率框架。
3DGS 的一般方法是:
- 寻找单一最佳解决方案: 3DGS 遵循一种简单的优化方法。它初始化高斯函数,然后通过计算渲染图像和真实图像之间的 L1 损失来优化其配置。此损失用于更新高斯函数。然而,这种方法往往会产生单一最佳解决方案,并且可能会陷入局部最小值的问题。
MCMC 提出了一种不同的视角,它不是专注于寻找单一的最佳解决方案,而是旨在通过从后验分布中抽样来确定一系列能够同样好地解释数据的配置。
4. 用于概率 3DGS 建模的 MCMC
MCMC 引入了一个后验分布 G(θ),它表示在给定训练数据的情况下,高斯参数配置 g (位置、颜色、形状等)正确的概率。换句话说:
这里,和
对应相同的配置。
这种分布G(θ) 的设计使得能够很好表示场景的配置将具有较高的值 G(θ),而不能很好表示场景的配置将具有较低的G(θ)值。
通过将问题转化为从分布中进行抽样,可以使用马尔可夫链蒙特卡罗 (MCMC) 方法(如随