图1.物体的三维结构
图2.溅射渲染

原文|代码

三维高斯溅射是一种场景表达方式,基于高斯椭球小颗粒重建场景的三维结构,通过溅射的方式打到二维平面显示器实现快速的画面渲染。

从应用上讲,用户输入多幅目标场景图片给模型,模型将重建3D Gaussian场景,继而能够通过溅射场景3D模型到不同相机位置的2D平面进行渲染。

这里作个不严谨的比喻,椭球相当于组成人体结构的细胞,而当我们用眼睛看人体时,我们是看到表皮细胞反射的光线溅射到我们眼底视网膜上的形象。

而这里的每个细胞都是椭球,这个椭球由四个重要的性质来定义:位置\mu、协方差矩阵\sum、不透明度 \alpha、球谐函数(SH)系数。位置\mu决定了椭球中心在空间中的位置,协方差矩阵\sum决定了椭球的缩放旋转程度,不透明度 \alpha决定了椭球阻挡光线的程度,球谐函数(SH)系数决定了椭球表面颜色分布。

其中协方差矩阵\sum由缩放S与旋转R决定:

\sum=RSS^{T}R^{T}

在3D Gaussian实现中,初始化的缩放S参数:在莫顿码的空间中,最近邻三个点的距离均值计算而来。(cuda代码:submodules/simple-knn/simple_knn.cu)

初始化的旋转R参数:在四元数旋转表示下,每个椭球都为[1,0,0,0],即没有任何旋转。

代码参数

标表1. 代码超参数

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐