3dgs通俗讲解

发布于:2025-04-04 ⋅ 阅读:(38) ⋅ 点赞:(0)

3d gaussian splatting:基于splatting和机器学习的三维重建方法。

特点:

  1. 无深度学习
  2. 简单的机器学习
  3. 大量的CG知识
  4. 复杂的线性代数
  5. 对GPU的高性能编程

一、什么是splatting

1、选择“雪球”;

为什么使用核(雪球)

各向同性:在所有方向具有相同的扩散梯度(球);

各向异性:在不同方向具有不同的扩散程度(椭球);

通过协方差矩阵可以确定椭球,协方差矩阵可以用旋转和缩放矩阵表达。

2、抛掷“雪球”:

作用:从3D投影到2D,得到足迹footprint;

相机模型理论:

世界坐标系:作用:相当于现实世界的“地图坐标”,用于描述物体在三维空间中的绝对位置;

相机坐标系:作用:以相机镜头为原点的“私人视角”,描述物体相对于相机的位置。原点在镜头光心,Z轴指向拍摄方向。

归一化坐标系:作用:对相机坐标系下的坐标进行“标准化”,消除实际焦距的影响。特点是 将物体投影到虚拟的z=1平面上(想象成一张距离镜头1米的透明纸),坐标值由相机坐标除以Z值得到,单位是米但无量纲。

像素坐标系:作用:计算机存储照片的“格子坐标”,直接对应图像中的像素位置。特点:原点通常在图像左上角,单位是像素,最终用于显示或算法处理。

内参(相机身份证):包括焦距fx/fy(像素单位)、中心点cx/cy(图像中心偏移),存储在3x3矩阵中,用于描述相机硬件特性。

外参(相机位置与角度):包括旋转矩阵R(角度)和平移向量T(位置),描述相机在世界中的摆放姿态。

假设拍摄一张桌子:

  1. 桌子的世界坐标(X,Y,Z)通过外参(R,T)转换到相机坐标;
  2. 相机坐标除以Z值得到归一化坐标(X/Z, Y/Z, 1);
  3. 归一化坐标通过内参矩阵映射到像素坐标(u,v),最终生成照片中的像素点。

通过这一套坐标系转换,相机完成了从三维世界到二维图像的“翻译”过程。

计算机图形学4个概念:

视图变换:

  • 含义:确定相机的位置、角度和方向,建立物体与相机的相对坐标系。
  • 作用:将物体从世界坐标系(真实3D空间)转换到相机坐标系(以相机为原点的空间)。
  • 通俗解释:就像你拿着手机绕场景走动,直到找到最佳拍摄角度。
  • 关键操作:平移相机到原点,旋转使其朝向标准方向(如看向-Z轴)

投影变换:

  • 含义:将3D物体投影到2D平面上,分两种类型:
    • 透视投影:模拟人眼近大远小的效果(如广角镜头)。
    • 正交投影:忽略距离,保持物体尺寸不变(如工程图纸)。
  • 作用:将相机坐标系下的3D坐标转换为裁剪空间(一个标准立方体范围),方便后续裁剪和计算。
  • 通俗解释:就像决定用鱼眼镜头还是普通镜头拍摄,影响画面是否变形。

视口变换:

  • 含义:将裁剪后的标准立方体坐标映射到屏幕的实际像素范围。
  • 作用:将[-1,1]的规范化坐标拉伸到屏幕分辨率(如1920×1080),并确定显示区域的位置和大小。
  • 通俗解释:调整照片尺寸,使其恰好铺满手机屏幕或某个窗口。

光栅化:

  • 含义:将几何图形(如三角形)分解为像素,并确定每个像素的颜色和位置。
  • 作用:生成最终显示在屏幕上的图像,处理锯齿、抗锯齿等视觉效果。
  • 通俗解释:把照片放大到像素级别,决定每个小格子(像素)的颜色是否填充。
  • 关键技术
    • 三角形采样:判断像素中心是否在三角形内(如叉乘法)。
    • 抗锯齿:通过多重采样(如MSAA)减轻边缘锯齿

    流程示例

    1. 物体位置(世界坐标)→ 调整相机视角(视图变换)。
    2. 投影到2D平面(投影变换)→ 裁剪不可见部分。
    3. 映射到屏幕分辨率(视口变换)。
    4. 将几何图形转为像素(光栅化)。

    3dgs:

    不能直接使用投影变换,因为从透射投影到正交投影,是非线性变换,不是仿射变换,所以要引入雅可比近似矩阵。

    雅可比矩阵:泰勒展开,线性逼近

    3、加以合成,形成最后的图像;

    如何进行参数估计