Hi my new friend!

Gaussian Splating

  • Home
  • GaussianSplating
Scroll down

Gaussian Splatting

开山论文:3D Gaussian Splatting for Real-Time Radiance Field Rendering

入门

  • 3D GS的输入是SFM(Structure-from-Motion)和图像,SFM点可以是随机初始化的; NeRF的输入是相机位姿和图像和SFM和初始点云

公式

3D GS的核心是一堆高斯点云,需要对点云的一些参数进行拟合

点云颜色CC

  • NeRF和α\alpha混合的体积渲染:
    颜色CC是通过沿着射线的体积渲染得到的
    C=i=1NTi(1exp(σiδi))ciC=\sum\limits_{i=1}^{N}{T_i(1-\exp(-\sigma_i\delta_i))c_i}
    Ti=exp(j=1i1σiδi)T_i=\exp(-\sum\limits_{j=1}^{i-1}\sigma_i\delta_i)
    沿着间隔为δ\delta,采集射线上密度σ\sigma,透射率TT和颜色cc的样本,可以重写为:
    C=i=1NTiαiciC=\sum\limits_{i=1}^{N}T_i\alpha_ic_i
    αi=(1exp(σiδi))\alpha_i=(1-\exp(-\sigma_i\delta_i))Ti=j=1i1(1αi)T_i=\prod\limits_{j=1}^{i-1}(1-\alpha_i)
  • 基于神经点的学习方法:
    C=iNciαij=1i1(1αj)C=\sum\limits_{i\in\mathcal{N}}c_i\alpha_i\prod\limits_{j=1}^{i-1}(1-\alpha_j)
    其中N\mathcal{N}是N个与像素重叠的有序点,用以计算一个像素的颜色CCcic_i是每个点的颜色,αi\alpha_i是通过计算协方差Σ\Sigma的二维高斯分布乘以学习的每点不透明度给出的
  • 区别:图像生成模型相同,但是渲染算法不同
    • NeRF是一种隐式表示,是连续表示,随机抽样代价较大
    • 点是一种结构化、离散的表示方式
      3D高斯是可微的,能够很容易投影到2D平米,允许快速α\alpha混合渲染。

3D Gaussian

  • 高斯函数(一维):
    Nμ,σ(x)=12πσexp((xμ)22σ2)N_{\mu,\sigma}(x)=\frac{1}{\sqrt{2\pi}\sigma}\exp(-\frac{(x-\mu)^2}{2\sigma^2})
  • 三维高斯函数:
    Gs(x)=(12π3det())e12(xμ)T1(xμ)G_s(x)=(\frac{1}{\sqrt{2\pi}^3}\det{(\sum)})e^{-\frac{1}{2}(x-\mu)^T\sum^{-1}(x-\mu)}
    其中,x=[a,b,c]Tx=[a,b,c]^Tμ\mu是椭球中心,协方差矩阵表示椭球在三轴上的伸缩和旋转,
    $$\sum=\begin{bmatrix}\sigma_a^2&Cov(a,b)&Cov(a,c)\\Cov(b,a)&\sigma_b^2&Cov(b,c)\\Cov(c,a)&Cov(c,b)&\sigma_c^2\end{bmatrix}$$
    协方差的特征向量就是椭球对称轴。

输入

  • 一组静态图片
  • 由SFM生成的校准图像和稀疏点云

处理流程

Word Flow

  • 由输入,创建一组三维高斯分布,由位置(meanmean)、协方差矩阵和不透明度(α\alpha)定义。
  • 辐射场的各个方向的颜色由球谐波(Sphere Harmonics) 表示。
  • 高斯函数:
    G(x)=e12(x)T1(x)G(x)=e^{\frac{1}{2}(x)^T\sum^{-1}(x)}
    α\alpha混合中,这个高斯将与α\alpha相乘,其中心点均值为μ\mu
  • 3D向2D投影渲染,,给定观察变换WW,相机坐标中的协方差矩阵为:
    =JWWTJT\sum^{'}=JW\sum W^TJ^T
    JJ是射影变换的仿射近似的雅可比矩阵。可以直接优化\sum来获得三维高斯分布,但协方差矩阵只有在正半定的时候才具有物理意义。使用梯度下降不能轻易约束地产生有效的矩阵,并且更新步骤和梯度可以很容易地创建无效的矩阵。
  • 因此,使用更加直观的方法来进行处理。三维高斯分布的协方差\sum类似于描述椭球体的构型,给定一个比例矩阵SS和旋转矩阵RR,可以得到相应的\sum
    =RSSTRT\sum=RSS^TR^T
    为了独立优化,分别存储用于缩放的三维向量ss和表示旋转的四元素qq
  • 交叉优化的参数包括:
    1. 点的三维位置pp
    2. 协方差矩阵\sum
    3. 不透明度α\alpha
    4. 球谐函数
  • 自适应控制:通过复制高斯点解决重建不足问题,通过分裂高斯点解决重建过度问题
    Adaptive Control

3D Gaussian Splatting in SLAM

  • 参考CVPR的GS-SLAM
  • 参考SplaTAM

我是学生,给我钱

其他文章
问题记录
  • 24/05/23
  • 15:00
  • 205
  • 1
laserscan转gridmap
  • 24/04/19
  • 16:04
  • 523
  • 1
目录导航 置顶
  1. 1. Gaussian Splatting
    1. 1.1. 入门
    2. 1.2. 公式
      1. 1.2.1. 点云颜色CCC
      2. 1.2.2. 3D Gaussian
      3. 1.2.3. 输入
      4. 1.2.4. 处理流程
      5. 1.2.5. 3D Gaussian Splatting in SLAM
请输入关键词进行搜索