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

如何进行参数估计

相关推荐
CV实验室1 天前
TIP 2025 | 哈工大&哈佛等提出 TripleMixer:攻克雨雪雾干扰的3D点云去噪网络!
人工智能·计算机视觉·3d·论文
小Tomkk1 天前
Rokid 开发空间小程序 实战
3d·小程序·rokid·jsar
向宇it1 天前
【unity实战】MapMagic 2实战例子
游戏·3d·unity·c#·游戏引擎
郝学胜-神的一滴2 天前
Three.js光照技术详解:为3D场景注入灵魂
开发语言·前端·javascript·3d·web3·webgl
列兵阿甘2 天前
知微传感Dkam系列3D相机SDK例程篇:Python获取内外参
python·数码相机·3d
xingxing_F2 天前
Rhino 8 for Mac 犀牛3D建模软件
macos·3d
奔袭的算法工程师2 天前
论文解读--RCBEVDet++:Toward High-accuracy Radar-Camera Fusion 3D Perception Network
3d
鼓掌MVP4 天前
图生3D技术解析:从二维平面到立体世界的智能飞跃
平面·3d
Pu_Nine_94 天前
教程: 在网页中利用原生CSS实现3D旋转动画
css·3d·css3
程序猿阿伟6 天前
《3D山地场景渲染进阶:GPU驱动架构下细节与性能平衡的6大技术实践》
3d·架构