本章目标:从一维高斯函数出发,逐步建立多维高斯分布的几何直觉,理解协方差矩阵的分解方式,最终认识到为何 3D Gaussian Splatting 选择高斯函数作为场景基元。
一维高斯函数(也称正态分布的概率密度函数)定义为:
\[f(x) = \frac{1}{\sigma\sqrt{2\pi}} \exp\!\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)\]其中:
性质一:面积等于 1(归一化)
\[\int_{-\infty}^{+\infty} f(x)\,dx = 1\]这使得高斯函数可以直接作为概率密度函数使用。推导可借助极坐标换元完成:令 $I = \int_{-\infty}^{+\infty} e^{-x^2}\,dx$,则
\[I^2 = \int\!\int e^{-(x^2+y^2)}\,dx\,dy = \int_0^{2\pi}\!\int_0^{\infty} e^{-r^2} r\,dr\,d\theta = \pi\]故 $I = \sqrt{\pi}$,代入归一化系数即得面积为 1。
性质二:均值与对称性
\[\mathbb{E}[X] = \int_{-\infty}^{+\infty} x\, f(x)\,dx = \mu\]高斯函数关于 $x = \mu$ 严格对称,因此均值、中位数、众数三者重合,均等于 $\mu$。
性质三:方差
\[\text{Var}(X) = \mathbb{E}[(X-\mu)^2] = \int_{-\infty}^{+\infty} (x-\mu)^2 f(x)\,dx = \sigma^2\]直观理解:$\sigma^2$ 衡量随机变量偏离中心的”平均平方距离”。

几个直观要点:
| 注意到高斯函数的核心是 $\exp!\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)$。这个因子在 $x = \mu$ 处取最大值 1,随着距中心距离 $ | x - \mu | $ 的增加,以超指数速度衰减到 0。这种”距离越远贡献越小”的性质,正是 3DGS 用高斯椭球表示局部场景区域的物理直觉基础。 |
对于 $d$ 维随机向量 $\mathbf{x} \in \mathbb{R}^d$,多维高斯分布的概率密度函数为:
\[f(\mathbf{x}) = \frac{1}{(2\pi)^{d/2} |\boldsymbol{\Sigma}|^{1/2}} \exp\!\left(-\frac{1}{2}(\mathbf{x}-\boldsymbol{\mu})^\top \boldsymbol{\Sigma}^{-1} (\mathbf{x}-\boldsymbol{\mu})\right)\]其中:
| $ | \boldsymbol{\Sigma} | $:$\boldsymbol{\Sigma}$ 的行列式 |
与一维情形对比:
| 一维 | 多维 |
|---|---|
| $\mu$ | $\boldsymbol{\mu}$ |
| $\sigma^2$ | $\boldsymbol{\Sigma}$ |
| $(x-\mu)^2 / \sigma^2$ | $(\mathbf{x}-\boldsymbol{\mu})^\top \boldsymbol{\Sigma}^{-1} (\mathbf{x}-\boldsymbol{\mu})$(马氏距离的平方) |
| $1/(\sigma\sqrt{2\pi})$ | $1/((2\pi)^{d/2} |\boldsymbol{\Sigma}|^{1/2})$ |
对于二维情形,设 $\mathbf{x} = (x_1, x_2)^\top$,协方差矩阵为:
\[\boldsymbol{\Sigma} = \begin{pmatrix} \sigma_1^2 & \rho\sigma_1\sigma_2 \\ \rho\sigma_1\sigma_2 & \sigma_2^2 \end{pmatrix}\]其中:
$\boldsymbol{\Sigma}$ 必须满足:
概率密度函数的等高线由 $f(\mathbf{x}) = c$(常数)确定,等价于:
\[(\mathbf{x}-\boldsymbol{\mu})^\top \boldsymbol{\Sigma}^{-1} (\mathbf{x}-\boldsymbol{\mu}) = k^2\]| 其中 $k^2 = -2\ln(c \cdot (2\pi)^{d/2} | \boldsymbol{\Sigma} | ^{1/2})$ 为正常数。 |
这正是马氏距离(Mahalanobis Distance)为常数 $k$ 的方程,几何上是一个以 $\boldsymbol{\mu}$ 为中心的椭球。
特殊情形分析:

对对称正定矩阵 $\boldsymbol{\Sigma}$ 进行特征值分解:
\[\boldsymbol{\Sigma} = \mathbf{U} \boldsymbol{\Lambda} \mathbf{U}^\top\]其中 $\mathbf{U} = [\mathbf{u}_1, \ldots, \mathbf{u}_d]$ 为正交矩阵(列向量为单位特征向量),$\boldsymbol{\Lambda} = \text{diag}(\lambda_1, \ldots, \lambda_d)$ 为特征值对角矩阵($\lambda_i > 0$)。
椭球的几何含义:
以二维情形为例,相关系数 $\rho$ 的几何效果:
| $ | \rho | \to 1$:椭圆极度扁平,趋近于一条直线(完全线性相关) |
在 3D Gaussian Splatting 中,需要对三维高斯的协方差矩阵进行参数化,使其满足正定性约束,同时便于梯度优化。核心思路是将协方差矩阵分解为旋转和缩放的组合:
\[\boldsymbol{\Sigma} = \mathbf{R} \mathbf{S} \mathbf{S}^\top \mathbf{R}^\top\]其中:
为何这个分解保证正定性?
对任意非零向量 $\mathbf{v}$:
\[\mathbf{v}^\top \boldsymbol{\Sigma} \mathbf{v} = \mathbf{v}^\top \mathbf{R} \mathbf{S} \mathbf{S}^\top \mathbf{R}^\top \mathbf{v} = \|\mathbf{S} \mathbf{R}^\top \mathbf{v}\|^2 > 0\]因为 $\mathbf{R}^\top \mathbf{v} \neq \mathbf{0}$(旋转矩阵可逆),而 $\mathbf{S}$ 的对角元素严格正,故 $\mathbf{S}\mathbf{R}^\top \mathbf{v} \neq \mathbf{0}$。这一分解天然保证了正定性,无需额外约束。
将 $\boldsymbol{\Sigma} = \mathbf{R} \mathbf{S} \mathbf{S}^\top \mathbf{R}^\top$ 理解为对单位球的变换过程:

一个 $3 \times 3$ 对称正定矩阵有 6 个独立参数(对角 3 个 + 上三角 3 个)。RS 分解给出:
总计 6 个自由度,与直接参数化等价,但避免了正定约束。
直接存储旋转矩阵需要 9 个数(或施加约束),而 3DGS 采用更紧凑的方式:
四元数表示旋转(4 个参数)
单位四元数 $\mathbf{q} = (q_w, q_x, q_y, q_z)$,$|\mathbf{q}| = 1$,可以无歧义地表示 $SO(3)$ 中的旋转($\pm\mathbf{q}$ 对应同一旋转,但不影响协方差矩阵计算)。
四元数转旋转矩阵的公式:
\[\mathbf{R} = \begin{pmatrix} 1-2(q_y^2+q_z^2) & 2(q_xq_y - q_wq_z) & 2(q_xq_z + q_wq_y) \\ 2(q_xq_y + q_wq_z) & 1-2(q_x^2+q_z^2) & 2(q_yq_z - q_wq_x) \\ 2(q_xq_z - q_wq_y) & 2(q_yq_z + q_wq_x) & 1-2(q_x^2+q_y^2) \end{pmatrix}\]对数尺度存储缩放(3 个参数)
实际存储 $\log(s_i)$(对数尺度),在优化时取 $\exp(\cdot)$ 保证 $s_i > 0$。这避免了直接优化 $s_i$ 时可能出现的负值问题,并使优化更稳定。
完整的 3DGS 高斯参数
每个 3D 高斯椭球由以下参数描述:
| 属性 | 参数 | 维度 |
|---|---|---|
| 中心位置 | $\boldsymbol{\mu}$ | 3 |
| 四元数(旋转) | $\mathbf{q}$ | 4 |
| 对数尺度 | $\log \mathbf{s}$ | 3 |
| 不透明度(logit) | $\text{logit}(\alpha)$ | 1 |
| 球谐系数(颜色) | SH coefficients | $3(l+1)^2$ |
其中球谐阶数 $l$ 通常取 3,颜色参数为 48 个。总参数量约 59 个/高斯。
在反向传播中,需要将损失 $\mathcal{L}$ 对 $\boldsymbol{\Sigma}$ 的梯度传播到 $\mathbf{q}$ 和 $\mathbf{s}$。利用链式法则:
\[\frac{\partial \mathcal{L}}{\partial \mathbf{q}} = \frac{\partial \mathcal{L}}{\partial \boldsymbol{\Sigma}} \cdot \frac{\partial \boldsymbol{\Sigma}}{\partial \mathbf{R}} \cdot \frac{\partial \mathbf{R}}{\partial \mathbf{q}}, \quad \frac{\partial \mathcal{L}}{\partial \mathbf{s}} = \frac{\partial \mathcal{L}}{\partial \boldsymbol{\Sigma}} \cdot \frac{\partial \boldsymbol{\Sigma}}{\partial \mathbf{S}} \cdot \frac{\partial \mathbf{S}}{\partial \mathbf{s}}\]每一项均可解析计算,这是 3DGS 能够端到端训练的数学基础。
3D Gaussian Splatting 将整个场景表示为数百万个 3D 高斯椭球的集合。高斯函数被选为基元,并非偶然——它在数学、计算和物理多个维度上均具有独特优势。
高斯函数 $g(\mathbf{x}) = \exp!\left(-\frac{1}{2}(\mathbf{x}-\boldsymbol{\mu})^\top \boldsymbol{\Sigma}^{-1} (\mathbf{x}-\boldsymbol{\mu})\right)$ 在 $\mathbb{R}^d$ 上无穷次可微($C^\infty$),且对所有参数(位置 $\boldsymbol{\mu}$、协方差 $\boldsymbol{\Sigma}$)均可微:
\[\frac{\partial g}{\partial \boldsymbol{\mu}} = g(\mathbf{x}) \cdot \boldsymbol{\Sigma}^{-1}(\mathbf{x} - \boldsymbol{\mu})\]这使得从渲染结果到每个高斯参数的梯度可以通过链式法则精确计算,是基于梯度优化(Adam 等)的训练过程的前提条件。
对比其他基元的可微性问题:
3DGS 的渲染流程需要将 3D 高斯投影到相机平面(2D)。对于高斯基元,这个投影存在解析闭合解,无需数值积分。
设 3D 高斯 $\mathcal{G}{3D}(\mathbf{X}) \sim \mathcal{N}(\boldsymbol{\mu}{3D}, \boldsymbol{\Sigma}_{3D})$,相机投影变换由仿射近似 $\mathbf{x} \approx \mathbf{J} \mathbf{W} \mathbf{X}$ 给出($\mathbf{W}$ 为世界到相机的变换,$\mathbf{J}$ 为投影雅可比矩阵),则投影后的 2D 高斯参数为:
\[\boldsymbol{\mu}_{2D} = \pi(\boldsymbol{\mu}_{3D}), \quad \boldsymbol{\Sigma}_{2D} = \mathbf{J} \mathbf{W} \boldsymbol{\Sigma}_{3D} \mathbf{W}^\top \mathbf{J}^\top\]这两个公式给出了精确的解析解,不依赖任何数值积分或近似采样。关键性质来自高斯分布的线性变换封闭性:
定理:若 $\mathbf{X} \sim \mathcal{N}(\boldsymbol{\mu}, \boldsymbol{\Sigma})$,$\mathbf{Y} = \mathbf{A}\mathbf{X} + \mathbf{b}$,则 $\mathbf{Y} \sim \mathcal{N}(\mathbf{A}\boldsymbol{\mu} + \mathbf{b},\; \mathbf{A}\boldsymbol{\Sigma}\mathbf{A}^\top)$。
推导:
\[\mathbb{E}[\mathbf{Y}] = \mathbf{A}\mathbb{E}[\mathbf{X}] + \mathbf{b} = \mathbf{A}\boldsymbol{\mu} + \mathbf{b}\] \[\text{Cov}(\mathbf{Y}) = \mathbb{E}[(\mathbf{A}(\mathbf{X}-\boldsymbol{\mu}))(\mathbf{A}(\mathbf{X}-\boldsymbol{\mu}))^\top] = \mathbf{A}\,\mathbb{E}[(\mathbf{X}-\boldsymbol{\mu})(\mathbf{X}-\boldsymbol{\mu})^\top]\,\mathbf{A}^\top = \mathbf{A}\boldsymbol{\Sigma}\mathbf{A}^\top\]对比 NeRF 需要沿每条光线采样 64 至 192 个点进行体积积分,高斯的解析投影将渲染的核心计算从 $O(N_\text{samples})$ 降低到 $O(1)$,这是 3DGS 实时渲染(30+ FPS)的根本原因之一。
高斯 Splatting 的渲染流程可以映射为高度并行的 GPU 操作:
流程概览:
关键在于每个高斯的计算(投影、颜色求值、覆盖区域判断)相互独立,满足 SIMD(单指令多数据)模式,可以在 GPU 的数千个 CUDA 核上并行执行。
高斯球谐求值同样高度并行:对每个高斯独立计算在观测方向 $\mathbf{d}$ 下的 RGB 值,无跨高斯的数据依赖。
从信号处理角度,高斯核是理想的局部基函数:
高斯混合模型(Gaussian Mixture Model, GMM)是多个高斯分布的加权叠加:
\[p(\mathbf{x}) = \sum_{k=1}^{K} \pi_k \,\mathcal{N}(\mathbf{x};\, \boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k)\]其中:
GMM 的核心思想:复杂分布 = 多个简单分布的叠加。
定理(GMM 的通用近似性):对于任意连续概率密度函数 $p(\mathbf{x})$,给定 $\epsilon > 0$,存在足够大的 $K$ 和适当的 ${\pi_k, \boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k}$,使得
\[\sup_{\mathbf{x}} \left| p(\mathbf{x}) - \sum_{k=1}^{K} \pi_k \mathcal{N}(\mathbf{x}; \boldsymbol{\mu}_k, \boldsymbol{\Sigma}_k) \right| < \epsilon\]这与神经网络的万能近似定理类似,给出了 GMM 可以拟合任意形状分布的理论保证。
直觉理解:
在 3DGS 框架中,整个场景的不透明度密度场可以理解为一个 GMM:
\[\sigma(\mathbf{x}) = \sum_{k=1}^{K} \alpha_k \cdot \exp\!\left(-\frac{1}{2}(\mathbf{x}-\boldsymbol{\mu}_k)^\top \boldsymbol{\Sigma}_k^{-1} (\mathbf{x}-\boldsymbol{\mu}_k)\right)\]其中 $\alpha_k \in (0, 1)$ 为第 $k$ 个高斯的不透明度(对应 GMM 的混合权重,但不严格要求归一化)。
每个高斯基元的物理对应:
| 高斯参数 | 场景物理含义 |
|---|---|
| 位置 $\boldsymbol{\mu}_k$ | 场景中某个局部区域的中心(物体表面、体积雾等) |
| 协方差 $\boldsymbol{\Sigma}_k$ | 该局部区域的形状和朝向(椭球拉伸表示平面/纤维状结构) |
| 不透明度 $\alpha_k$ | 该区域的密实程度(固体表面 $\alpha \approx 1$,半透明物体 $\alpha \ll 1$) |
| 球谐系数 | 该区域在不同观测方向下呈现的颜色(view-dependent appearance) |
给定相机光线,将沿光线从前到后排列的 $N$ 个高斯依次合成,最终像素颜色为:
\[C = \sum_{i=1}^{N} c_i \alpha_i \prod_{j=1}^{i-1}(1 - \alpha_j)\]其中:
这个公式是经典体渲染方程(Volume Rendering Equation)在离散高斯基元上的近似形式,也是 NeRF 渲染公式的离散化。

| 维度 | 经典 GMM | 3DGS |
|---|---|---|
| 应用目标 | 密度估计、聚类 | 场景外观建模与渲染 |
| 参数学习 | EM 算法 | 基于梯度的优化(Adam) |
| 权重 $\pi_k$ | 归一化($\sum \pi_k = 1$) | 不透明度 $\alpha_k$(无归一化约束) |
| 输出 | 概率密度 $p(\mathbf{x})$ | 渲染图像 $C$(颜色) |
| 评估方式 | 对数似然 | 光度损失($L_1$ + SSIM) |
| 自适应性 | 固定 $K$ | 动态 densification/pruning |
传统 GMM 的成分数 $K$ 在训练前固定。3DGS 在优化过程中动态调整高斯数量:
这使得高斯数量能够自适应地集中在需要细节的场景区域,通常从初始的十万量级增长到数百万量级。
| 概念 | 核心要点 | 3DGS 中的作用 |
|---|---|---|
| 一维高斯 | 均值控制位置,方差控制宽度,面积=1 | 基础构件,直觉理解 |
| 多维高斯 | 协方差矩阵决定椭球形状,等高线为椭圆/椭球 | 场景局部区域的形状建模 |
| 协方差分解 $\mathbf{RSS}^\top\mathbf{R}^\top$ | 旋转+缩放分解,保证正定性;四元数+对数尺度存储 | 可微参数化,梯度优化友好 |
| 高斯作为基元 | 可微、解析投影、GPU 并行高效 | 实现实时可微渲染 |
| 高斯混合(GMM) | 多高斯叠加可近似任意分布;$\alpha$-blending 合成 | 场景 = GMM,渲染 = 加权叠加 |
核心认知升级:至此,3D Gaussian Splatting 的场景表示可以被理解为:用数百万个参数化的三维高斯椭球(位置 + 形状 + 颜色 + 透明度)构成的高斯混合模型,通过对 2D 渲染结果与真实照片的误差进行梯度优化,拟合出能从任意视角逼真合成新视图的场景表示。
下一章预告:第四章将介绍 3DGS 的完整渲染流程,包括视锥剔除、深度排序、Tile-based Rasterizer 的具体实现,以及 $\alpha$-blending 的 GPU 并行化细节。
| *上一章:第二章:视觉基础——相机、投影与点云 | 下一章:第四章:球谐函数与外观建模* |