跳转至

10 — 二维高斯泼溅

示例文件: examples/10_gaussian2d.py

3D Gaussian Splatting(3DGS)席卷了神经渲染领域。但它的核心思想 出奇地简单:撒一堆彩色的椭圆斑点,alpha 混合到一起,和目标图比较, 然后反向传播。

这个例子把 3DGS 蒸馏到二维本质。没有相机投影,没有球谐函数, 没有分块光栅化。就是 N 个可学习的二维高斯——每个有位置、尺度、 旋转、颜色、不透明度——通过可微分 alpha 合成渲染,用普通的 PyTorch autograd 优化。

看着高斯们在画布上游走、缩放、旋转、变色,最终重新组装出目标图像。 这就是那个能以 100+ fps 渲染照片级真实场景的算法。

新朋友

新东西 它做什么 为什么重要
高斯的 nn.Parameter 位置、对数尺度、旋转、原始颜色、原始不透明度 每个高斯属性都可学习——autograd 搞定剩下的
逆协方差 从尺度 + 旋转得到 $\Sigma^{-1}$ 让每个高斯有自己的椭圆形状的数学
Alpha 合成 $C = \sum_i \alpha_i T_i c_i$,其中 $T_i = \prod_{j