理解并编码如何在 3D 高斯溅射中使用高斯
欢迎来到雲闪世界现在开始讨论高斯!这是每个人最喜欢的分布。如果您刚刚加入我们,我们已经在第1 部分中介绍了如何根据相机的位置获取 3D 点并将其转换为 2D 。在本文中,我们将讨论高斯分布的高斯部分。我们将使用GitHub中的 part_2.ipynb 。
我们在这里要做出的一点小改动是,我们将使用透视投影,它利用的内部矩阵与上一篇文章中所示的不同。然而,当将点投影到 2D 时,这两种方法是等效的,我发现第 1 部分中介绍的第一种方法更容易理解,但是我们改变了我们的方法,以便在 Python 中尽可能多地复制作者的代码。具体来说,我们的“内部”矩阵现在将由此处显示的 OpenGL 投影矩阵给出,乘法顺序现在将是 points @ external.transpose() @ internal。

对于那些想了解这个新的内部矩阵的人(否则请随意跳过本段)r 和 l 是右侧和左侧的裁剪平面,本质上是相对于照片宽度可以看到哪些点,t 和 b 是顶部和底部裁剪平面。N 是近裁剪平面(点将被投影到该平面),f 是远裁剪平面。有关更多信息,及完整代码可联系博主。这还会返回标准化设备坐标(介于 -1 和 1 之间)中的点,然后我们将其投影到像素坐标。撇开题外话,任务保持不变,即取 3D 中的点并投影到 2D 图像平面上。但是,在本教程的这一部分中,我们现在使用高斯而不是点。
<