3DGaussianSplatting
3DGaussianSplatting
type
status
date
slug
summary
tags
category
icon
password

3D Gaussian Splatting

competitive training times and high-quality real-time novel-view synthesis
  1. 3D Gussians
  1. optimizing anisotropic covariance
  1. visibility-aware rendering algorithm
显示表达优点:
  1. good fit for fast GPU/CUDA-based resterization
隐式表达通常使用的加速方法:例如Instant-NGP
  1. 在voxel, hash grids, points 里采样点
  1. 在采样点之间进行插值
sampling操作开销大, noisy
new approach: 3D Gaussian representation

main components

  1. 3D Gaussians, only SfM points as input(even random initialization)
  1. optimizate 3Dposition, opacity 𝛼, anisotropic covariance, spherical harmonic coeffcients——with adaptive density control
  1. fast GPU sorting algorithms——inspired by tile-based rasterization
notion image
pipline

Differentiable 3D Gaussian splatting

选择的原因:
  1. 可微
  1. 容易投影到2D平面, 进行α − blending
函数形式:
给一个viewing transformation W 协方差矩阵转化公式为:
Σ = JWΣWTJT
其中J是投影变换的仿射近似的Jacobian矩阵
Σ必须保持半正定,直接对其优化会导致不可用 对Σ进行分解:
Σ = RSSTRT
其中S是一个尺度矩阵(Scaling matrix), T是一个旋转矩阵(rotation matrix) 矩阵特征值分解 S为3D向量,T为四元数(quaternion)可转化为3D向量
各向异性协方差(anisotropic covariance)

Optimization with adaptive density

Optimization

Stochastic Gradient Descent sigmoid for α exponential for covariance
初始化的高斯为各向同性协方差(isotropic Gaussian) 使用standard exponential decay scheduling(与Plenoxels相同)
ℒ = (1 − λ)ℒ1 + λD − SSIM

Adaptive control of Gaussians

densify every 100 iterations 移除接近透明的高斯函数—— 使用视点空间位置梯度的平均值(设置阈值
τ
pos
notion image
  • under-reconstruction:复制原来的高斯,并向positional gradient梯度方向移动
  • over-reconstruction:将原来的高斯分割成两个,使用原始3D高斯做PDF采样
每3000次迭代去除透明的小于阈值,和特别大的高斯

Fast Differentiable Rasterizer for Gausians

  • 将屏幕分割为16X16的块
  • 从视点的平截头体开始采集3D高斯
  • 使用保护带去除极端位置的高斯(near far平面)
  • 根据他重叠在块的数量进行实例化,给每个实例一个基于视角的深度和ID
  • 使用GPU基数排序
  • 为每个块创造一个列表,基于深度排序的高斯
  • 为每个块创建一个进程
  • 每个进程将自己对应的高斯加载到共享内存中
  • 每个块遍历列表累计color和α
  • 当一个pixel的α饱和,停掉相应的线程
SQNBLIP
  • GitTalk
  • WebMention