首页 > 其他分享 >【3DGS (1) 】3D Gaussian Splatting全解 (原理+代码+公式) - 笔记

【3DGS (1) 】3D Gaussian Splatting全解 (原理+代码+公式) - 笔记

时间:2025-01-17 21:57:07浏览次数:3  
标签:Splatting 椭球 缩放 3DGS 矩阵 Gaussian 高斯 3D 仿射变换


文章目录


本文为 B 站 3D GS 讲解视频 -【1】捏雪球的文字笔记,以及个人理解补充。

1-什么是 splatting?

  1. Splatting 是一种主动的**体渲染**方法,从 3D 物体渲染到 2D 平面
    1. 主动: 计算出每个发光粒子**如何影响像素点**
  2. Ray-casting 是被动的(NerF)
    1. 计算出每个像素点受到发光粒子的影响来生成图像
  • 在这个3D高斯渲染的上下文中,发光粒子指的是3D空间中的点每个点都具有一定的属性(如颜色、不透明度等),可以影响最终渲染图像上的像素。

    这些"发光粒子"可以理解为**空间中的采样点**,它们:

    • 在Splatting方法中,主动计算每个粒子如何影响2D平面上的像素
    • 而在Ray-casting(如NeRF)中,则是从像素出发,被动计算它们受到这些粒子的影响
      在这里插入图片描述

2- Splatting 的流程

  1. 选择【雪球 / 核】

    • 选 3D 高斯椭球的原因:仿射变换后的高斯核仍然**封闭**

      在3D Gaussian Splatting中,"封闭"指的是**高斯核在经过仿射变换后仍然保持其数学特性和形状的封闭性**。这是选择使用3D高斯椭球的一个重要原因。

      具体来说,这种封闭性意味着:

      • 当我们对高斯核进行仿射变换(如旋转、缩放等)时,结果仍然是一个高斯核
      • 当从3D投影到2D平面时,结果依然保持高斯分布的特性

      这种数学上的封闭性质使得高斯核在图形渲染过程中具**有良好的可控性和可预测性**。

  2. 抛掷雪球:从3D投影到2D,得到足迹

  3. 将足迹加以合成,形成最后的图像

3-为什么3d gaussian: 是椭球?

  1. 2D 时是椭圆,3D 时是实心的椭球(一层层的椭球面套娃)
    在这里插入图片描述
    在这里插入图片描述

4-各向异性和各向同性是什么意思?

  1. 各向同性:在所有方向具有相同的扩散程度(梯度), 球
  2. 各向异性:在不同方向具有不同的扩散程度(梯度),椭球

5-协方差矩阵怎么就能控制椭球形状呢?

  • 任意高斯可以看作是标准高斯通过仿射变换得到
    • 任意椭球可以看作是通过仿射变换得到
      在这里插入图片描述

6-协方差矩阵怎么就能用旋转和缩放矩阵表达?

在这里插入图片描述

# mod 是一个缩放(另外的缩放

def computeConv3D(scale, mod, rot):
	# create scaling matrix
	S = np.array([[scale[0] * mod, 0, 0],
							 [0, scale[0] * mod, 0],
							 [0, 0, scale[0] * mod])
							 
	R = rot
	M = np.dot(R, S)
	conv3D = np.dot(M, M.T) # R S S^T R^T
	
	return conv3D

仿射变换是一种**线性变换加上平移**的组合,它可以:

  • w = A x + b (线性变化 + 平移)
  • A = RS (旋转 * 缩放)

转置的分配律:对于任意两个矩阵

( A ⋅ B ) ⊤ = B ⊤ ⋅ A ⊤ (A \cdot B)^\top = B^\top \cdot A^\top (A⋅B)⊤=B⊤⋅A⊤

  • 旋转和缩放 可以通过 协方差矩阵 通过 特征值分解得到

7-仿射变换

仿射变换是一个更大的概念,它包含两个部分:

  1. 线性变换:包括旋转、缩放、切变等
    • 旋转:改变方向,但不改变形状大小
    • 缩放:改变大小,但不改变方向
    • 切变:使形状倾斜变形
  2. 平移:单纯的位置移动,不改变形状、大小或方向

这就是为什么仿射变换可以将球体转换成椭球体,因为它结合了这些基本变换来实现更复杂的形状变化,同时还能保持某些重要的几何特性,比如点的共线性和线段的比例。

  • 保持点的共线性(直线上的点变换后仍在一条直线上)
  • 保持线段的比例
  • 可以实现旋转、缩放、平移、切变等几何变换

在3D高斯椭球的上下文中,仿射变换的一个重要特性是它可以将球体变换为椭球体,同时保持**高斯分布的数学性质。这种变换后的结果仍然具有可预测性和可控性。

标签:Splatting,椭球,缩放,3DGS,矩阵,Gaussian,高斯,3D,仿射变换
From: https://blog.csdn.net/weixin_44212848/article/details/145133264

相关文章

  • 图扑 HT 引擎 × 3DGS 高斯泼溅
    3D高斯泼溅(3DGaussianSplatting,又称3D高斯溅射或3D高斯飞溅)作为三维场景表示和渲染领域的重要突破,正在重新定义三维重建的可能性。它利用辐射场渲染技术,使用 3D高斯点而不是传统的三角面来表达场景,不仅实现了高效的三维转换,更带来极致逼真的照片级渲染效果。与传统方法......
  • 大模型,多模态大模型面试问题【代码题,DDPM,损失函数,激活函数,3DGS,Nerf,SH】
    大模型,多模态大模型面试问题【代码题,DDPM,损失函数,激活函数,3DGS,Nerf,SH】代码题:1.区间最小数乘区间最大和的最大值算法:2.二叉树中的最大路径和问题一:DDPM加噪公式为什么是根号形式,时间步T为啥这么大,通常是1000。加噪公式的根号形式时间步......
  • 三维重建之NeRF和3DGS
    资料:【较真系列】讲人话-NeRF全解(原理+代码+公式)_哔哩哔哩_bilibili (强烈推荐)【较真系列】讲人话-3dgaussiansplatting全解(原理+代码+公式)【4】高性能渲染与机器学习_哔哩哔哩_bilibili (强烈推荐)1.NeRF  2.3DGS ......
  • Scaffold-GS: Structured 3D Gaussians for View-Adaptive Rendering (Related work)
    MLP-basedNeuralFieldsandRenderingEarlyneuralfieldstypicallyadoptamulti-layerperceptron(MLP)astheglobalapproximatorof3Dscenegeometryandappearance.Theydirectlyusespatialcoordinatesandviewingdirection asinputtotheMLPandpr......
  • DreamMesh4D: Video-to-4D Generation with Sparse-Controlled Gaussian-Mesh HybridR
    目录一、概述二、前置知识1、分数蒸馏采样 2、LBS 3、DQS4、EucDist和GeoDist算法三、相关工作1、三维生成2、4D表示3、4D生成四、DreamMesh4D1、静态阶段 2、动态阶段-可变形图建立 3、动态阶段--自适应可变蒙皮算法 一、概述    该论文提出了......
  • Splatt3R: Zero-shot Gaussian Splatting from Uncalibrated Image Pairs 论文解读
    目录一、概述二、相关工作1、近期工作2、DUSt3R3、MASt3R三、Splatt3R1、MASt3R的Backbone 2、高斯预测头3、点云与3D高斯参数结合4、3D高斯渲染5、损失函数四、实验 1、对比实验2、消融实验一、概述    该论文首次提出了一种无需任何相机参数和深......
  • GS-LRM: Large Reconstruction Modelfor 3D Gaussian Splatting 论文解读
    目录一、概述二、相关工作1、多视图的三维重建2、前馈重建三、LRM1、编码器2、解码器3、NeRF渲染四、GS-LRM 1、输入处理2、Transformer3、损失函数五、实验六、局限一、概述    该论文提出了一种利用稀疏输入图像高效预测3D高斯原语的方法,也是第一......
  • python 实现gaussian高斯算法
    gaussian高斯算法介绍高斯算法(Gaussianalgorithm)是一个广泛的概念,因为“高斯”这个名字与许多不同的数学和算法技术相关联。但是,在大多数情况下,当人们提到“高斯算法”时,他们可能是在指高斯消元法(Gaussianelimination),这是一种在数学中用于求解线性方程组、计算矩阵的行列......
  • InstantStyleGaussian:利用3D Gaussian Splatting实现高效艺术风格迁移
    前言 本文介绍了InstantStyleGaussian,这是一种基于三维高斯飞溅(3DGS)场景表示的创新三维风格迁移方法。通过输入目标风格图像,它能够快速生成新的三维GS场景。方法作用于预先重建的GS场景,结合了扩散模型与改进的迭代数据集更新策略。它利用扩散模型生成目标风格图像,将这些新图像添......
  • 【3DGS】从新视角合成到3D_Gaussian_Splatting
    @目录引言:什么是新视角合成任务定义一般步骤NeRF的做法NeRF的三维重建NeRF的渲染3DGS的三维重建从一组图片估计点云高斯点云模型球谐函数参数优化损失函数和参数优化高斯点的数量控制(AdaptiveDensityControl)新的问题3DGS的渲染:快速可微光栅化3DGS的限制引言:什么是新视角合成......