3d gaussian splatting介绍整理

3D 高斯分布是用于实时辐射场渲染的 3D 高斯分布中描述的一种光栅化技术,它允许实时渲染从小图像样本中学习到的逼真场景。

paper
github

本文翻译整理自:
blog: Introduction to 3D Gaussian Splatting
DDPMs - Part 2

给出一些2D图片,用colmap得到稀疏 (SfM) 点,可重建出逼真的3D场景。

3DGS的核心是光栅化技术。

这类似于计算机图形学中的三角形光栅化,用于在屏幕上绘制许多三角形。

图片来自blog

但是,它不是三角形,是高斯。

这里补充一些高斯相关:

正态分布

多元正态分布

协方差

协方差矩阵

每个元素(i, j) 定义了向量的两个随机变量的协方差。

而且对角线上的元素

下面看下两个随机变量负协方差,0协方差,正协方差时的分布

这是负协方差 3维看上去的效果,从顶上看就是上面的左图,从侧面看是高斯分布。45度更加平坦。

各向同性高斯

一个例子:

回到3D高斯,既然是3D,那就是3个变量(x, y, z)

它由以下参数描述:

位置:所在的位置 (XYZ)

协方差:如何拉伸/缩放(3x3 矩阵)

颜色:它是什么颜色(RGB)

Alpha : 透明度 (α)

3个的高斯叠加在一起的效果:

那么700万高斯叠加的效果呢。

运行步骤:

1.运动结构

第一步是使用运动结构 (SfM) 方法从一组图像中估计点云。这是一种从一组 2D 图像估计 3D 点云的方法。这可以通过COLMAP库来完成。

2.转换为高斯分布

接下来,每个点都转换为高斯分布。这对于光栅化来说已经足够了。然而,只能从 SfM 数据推断位置和颜色。为了学习产生高质量结果的表示,需要对其进行训练。

3.训练

训练过程使用随机梯度下降,类似于神经网络,但没有layers。训练步骤为:

使用可微分高斯光栅化将高斯光栅化为图像(稍后详细介绍)

根据光栅化图像和groud truth图像之间的差异计算损失

根据损失调整高斯参数

应用自动致密化和修剪

步骤 1-3 从概念上讲非常简单。第 4 步涉及以下内容:

如果对于给定的高斯梯度很大(即它太错误),则分割/克隆它

如果高斯很小,则克隆它

如果高斯很大,则将其分割

如果高斯的 alpha 太低,将其删除

此过程有助于高斯更好地拟合细粒度细节,同时修剪不必要的高斯。

4.可微分高斯光栅化

如前所述,3D 高斯分布是一种光栅化方法,它将数据绘制到屏幕上。

一些重要的元素还包括:

快速

可微分

光栅化涉及:

从相机角度将每个高斯投影为 2D。

按深度对高斯进行排序。

对于每个像素,从前到后迭代每个高斯,将它们混合在一起。

paper中描述了其他优化。

相关推荐
飞哥数智坊5 分钟前
TraeCode 180积分帮我做了一套系统,全程我感觉自己有点多余
人工智能·ai编程
AI人工智能集结号6 分钟前
GEO优化公司怎么选?从检测、诊断到执行判断服务是否完整
人工智能
酒旅Agent开发实战7 分钟前
开发者如何选择API和MCP
人工智能·大模型·酒店预订·ai agent·mcp
人民广场吃泡面32 分钟前
什么是AI Agent?它又能给前端带来哪些效率提升?
前端·人工智能
沈管家AI数字员工40 分钟前
自研 AI 智能体 vs 采购数字员工平台:成本、风险与周期的真实对比
人工智能
集成电路芯片封装设备41 分钟前
除氧型真空共晶设备技术详解:从原理到应用
人工智能
武汉星际互动1 小时前
咨询量大、时段受限、口语化难识别,政务AI数字人如何承接大厅导办?
人工智能·政务
资讯综合1 小时前
500亿招聘市场悖论:AI技术能否填平行业的信任深坑
大数据·人工智能
早睡早起身体好1231 小时前
用 XGrammar 约束大模型工具调用:解决参数为空的问题
android·人工智能·神经网络·机器学习·自然语言处理·vllm
超智算科技1 小时前
2026服贸会现场直击|Net Zero Hub净零算力枢纽全球首发! 超智算受邀深度参与服贸会全球OPC共创节
网络·人工智能·科技·物联网·gpu算力