3D Gaussian Splatting 渲染过程

本文介绍了如何通过将三维高斯分布转化为二维形式,实现从相机空间到射线空间的转换,采用正投影避免光线求交,使用分块和深度排序优化渲染效率,并利用α-blending处理高斯的透明度。非仿射变换和雅可比矩阵在此过程中起到了关键作用。
摘要由CSDN通过智能技术生成

给定一组三维高斯点,渲染步骤大致为:1.camera space转成ray space 2.对像平面进行分块,然后对高斯排序 3.正投影发出射线进行α-blending

1. camera space->ray space,3D Gaussian->2D Gaussian

这个步骤将NeRF中的投影过程变为了正投影,引入了ray space的概念,让3D Gaussian 变为2D Gaussian.

  • 透视投影和正投影                   

一般的渲染过程都是透视投影,所有发出的ray都从camera发出,故而有个交点。splatting的方法则是用正投影,发射的ray全部平行于像平面。

3D Gaussian splatting的前期步骤就是将camera space转成ray space,本质就是将透视投影转变为正投影,让3D Gaussian转变为2D Gaussian,这样就免去了一大堆光线求交的计算。

  • ray space

给定一个ray space的坐标点(x0,x1,x2),其中(x0,x1)代表该点透视投影到图像上的坐标点,x2代表视点即camera到该点的距离。

假如给定其对应的camera space坐标点为(u0,u1,u2),则两者转换为:

  • 3D Gaussian->2D Gaussian

 camera space->ray space 的变换有一个特点:非仿射变换。仿射变换是可以用一个统一的线性变换矩阵将所有点的坐标进行转换,而根据上面的两个式子可以发现,每个点的ray space坐标都是以自身的camera space坐标为自变量的非线性函数,故并没有一个统一的变换矩阵。

 为了解决这个问题,作者采用了一个近似的方法,即用每个三维高斯的中心点的变换矩阵近似为各自的变换矩阵,这样对于每个高斯来讲,都是仿射的变换。而这个矩阵被称为雅可比矩阵J。

当然这样也使得每个高斯的大小不能太大,否则就会产生精度问题。

结合上述,则对于每个给定的三维高斯的协方差矩阵V'',以及其world space下的中心点坐标(u0,u1,u2),我们可以求得ray space下的高斯协方差。由于给的是world space下的坐标,所以得先乘以旋转平移矩阵W转化为camera space坐标,然后通过中心点坐标求出雅可比矩阵J,ray space下的高斯协方差就如下:

由于是正投影,故直接取最后的三维高斯协方差的前两行两列就是投影到像平面上的二维高斯协方差矩阵。 

二维高斯的中心点坐标就是camera space下的u0,u1除以第三维u2,即(u0/u2,u1/u2)

这样就将空间中的三维高斯转化为像平面上的二维高斯。

2. 分块排序  

为了渲染时能正确考虑到高斯之间的遮挡关系,需要对高斯进行基于深度的升序排序。

算法中还采用了分块的策略,将像平面分为16*16,每一块选取投影到这一块的二维高斯,对于覆盖多个块的高斯,每个覆盖块都会选取到它。然后每一块将选取好的高斯基于深度进行基数排序,得到距离像平面从近到远的16*16个各自排序好的高斯列表 。

对于为什么要分块,笔者猜测应该是为了渲染时能够减少计算量,否则每个像素颜色值可能根据所有高斯继续计算。

3. α-blending 

3D Gaussian splatting 也是对每个像素发出一条射线。

首先根据高斯的sh参数,得到高斯的颜色c

接着,计算高斯的不透明度alpha,即f(p),alpha要根据高斯的不透明度参数α以及像素点坐标和二维高斯中心的距离得到。

Gaussian Mixture是一种常用的概率模型,用于对数据进行聚类和密度估计。其基本思想是将数据集看作是由多个高斯分布组成的混合物。 在Gaussian Mixture模型中,每个高斯分布都对应着一个聚类簇,它们的参数包括均值、方差和权重。其中,权重表示每个高斯分布在整个混合模型中的重要性,方差则衡量了每个高斯分布内部数据的分散程度。 Gaussian Mixture的训练过程主要是通过最大似然估计来求解模型的参数。具体而言,通过不断迭代的EM算法(Expectation-Maximization Algorithm)来优化模型参数,使得模型能够最大化解释观测数据的概率。 在使用Gaussian Mixture进行聚类时,我们可以根据每个样本的后验概率来确定其所属的聚类簇。当然,为了保证聚类的有效性,我们需要合理选择高斯分布的数量,并通过模型选择方法来衡量模型的性能。 除了聚类外,Gaussian Mixture还可以用于密度估计。它可以通过拟合观测数据的分布来刻画数据的特征。通过Gaussian Mixture模型,我们可以评估在给定数据下某个样本的概率密度值,从而可以用于异常检测、概率预测等应用场景。 总结来说,Gaussian Mixture是一种强大的概率模型,可以同时用于聚类和密度估计。它通过将数据集表示为多个高斯分布的混合物,能够处理复杂的数据形态,并提供了灵活的建模方式。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值