3D Gaussian Splatting

3D Gaussian Splatting使用3D高斯分布去形成对应的高斯椭球,构建三维模型,通过视角变化将所有椭球以相机角度进行渲染得到二维图像。

二维高斯

高斯表达

当$n=2$时,高斯中心(均值)为$\mathbf x=\left[\matrix{x \newline y}\right]$,协方差矩阵为$\Sigma=\left[\matrix{\sigma_{xx} & \sigma_{xy} \newline \sigma_{xy} & \sigma_{yy}} \right]$

协方差矩阵对角线上的元素为$x$、$y$的方差,反对角线上的元素表示$x$、$y$的线性相关程度。

保留的区域为置信区间大于99%的高斯部分(对应一维高斯分布中的$[\mu-3\sigma,\mu+3\sigma]$部分),对于二维的高斯分布,对应的边界记为$C$,则当$(\mathbf x-\mu)^T\Sigma^{-1}(\mathbf x-\mu)$位于$C$内部时,对应得到一个椭圆区域。

协方差矩阵可以通过特征值分解得到$\Sigma=Q\Lambda Q^T$。以仿射变换的角度理解,协方差矩阵可以分解为$\Sigma=RSS^TR^T$其中,缩放矩阵为:

旋转矩阵为:

渲染时,将图像划分为多个栅格,预处理过程中,每个高斯球记录覆盖的栅格索引,构建存储区副本,之后对副本中每个栅格,对其内部的高斯球按照深度进行排序,方便后续每个栅格并行渲染。