3dgs通俗讲解

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、加以合成,形成最后的图像;

如何进行参数估计

相关推荐
90后小陈老师6 小时前
3D个人简历网站 5.天空、鸟、飞机
前端·javascript·3d
前端小崔13 小时前
从零开始学习three.js(18):一文详解three.js中的着色器Shader
前端·javascript·学习·3d·webgl·数据可视化·着色器
广州智造1 天前
OptiStruct实例:3D实体转子分析
数据库·人工智能·算法·机器学习·数学建模·3d·性能优化
码农黛兮_461 天前
4. 文字效果/2D-3D转换 - 3D翻转卡片
3d·html·css3
爱学习的大牛1233 天前
u3d 定义列表详细过程
3d
QUST-Learn3D3 天前
3D曲面上的TSP问题(一):曲面上点集距离求解
3d
龙湾开发3 天前
计算机图形学编程(使用OpenGL和C++)(第2版)学习笔记 10.增强表面细节(一)过程式凹凸贴图
c++·笔记·学习·3d·图形渲染
未来之窗软件服务3 天前
人体肢体工作识别-一步几个脚印从头设计数字生命——仙盟创梦IDE
3d·pygame·政务·仙盟创梦ide·人体识别
zhongqu_3dnest3 天前
3DVR制作的工具或平台
3d·vr·数字孪生技术·vr制作·沉浸式体验
WenGyyyL4 天前
研读论文——《用于3D工业异常检测的自监督特征自适应》
人工智能·python·深度学习·机器学习·计算机视觉·3d