3D高斯Splatting

本文详细介绍了使用SfM算法初始化稀疏点云,通过3D高斯椭球集合表示位置、形状、颜色和不透明度信息的优化过程。利用球谐函数处理颜色,通过Adam优化算法调整模型参数,以实现实时建模。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、简介

在这里插入图片描述

2、算法流程

2.1、sfm初始化稀疏点云

优化从稀疏SfM点云开始,创建一组三维高斯分布。 这里通过colmap先创建出一个初始化点云。通过一组照片就能进行估算。保持连续体积辐射场的理想特性,用于场景优化,同时避免了空白空间中不必要的计算
在这里插入图片描述

2.2、3D高斯椭球集的创建——位置与形状

位置信息:点云位置信息优化(x,y,z),即高斯椭球的中心点(即均值,类比于一维高斯分布(正态分布)中的均值μ)
形状信息:高斯椭球的协方差矩阵 Σ \Sigma Σ—-包含高斯椭球的旋转矩阵R和在各个轴缩放矩阵S。
其中 Σ = R S S T R T \Sigma=RSS^TR^T Σ=RSSTRT,保证半正定的性质,几何意义是先将椭球旋转到与椭球世界平齐,然后沿着轴缩放,再旋转还原回去。这样处理的好处是:由于 Σ \Sigma Σ不能进行随机初始化,能保证 Σ \Sigma Σ仍保持半正定的性质,并且在一定程度也减少运算量。

2.3、3D高斯椭球集的创建——颜色与不透明度

颜色信息:点云颜色(r,g,b)—-使用球谐函数来表示,使得点云在不同角度呈现不同颜色,并有利于提高迭代效率(代码中采用4阶)。
不透明度信息:点云不透明度,密度优化 α \alpha α

3、球谐函数请添加图片描述

请添加图片描述
请添加图片描述
在这里插入图片描述
请添加图片描述
在这里插入图片描述
请添加图片描述

4、伪代码分析

在这里插入图片描述
M M M是通过SFM得到的初始化稀疏点云,也就是位置(x,y,z)。
S S S是协方差,决定形状; C C C是颜色; A A A是不透明度。
当没有收敛时进入迭代循环:
从数据集中抽取相机位姿 V V V和图片 I ^ \hat{I} I^, I ^ \hat{I} I^是ground true。
通过光栅化的操作,输入 M 、 S 、 C 、 A 、 V M、S、C、A、V MSCAV得到预测的图片 I I I
将预测的图片与原始图片计算loss值 L L L
使用Adam优化 M 、 S 、 C 、 A M、S、C、A MSCA
IsRefinementIteration(𝑖)判断是否要对点的位置进行优化,避免点的数量过多,显存吃不下。
如果某个高斯的不透明度𝛼 < 𝜖,小于某个阈值,则通过pruning将这个高斯去掉。
如果梯度大于某个阈值,则对协方差进行判断,如果大于某个阈值则进行分割高斯,小于则克隆高斯,即Densification操作。
进入下一次迭代。

5、一些补充特征

(1)nerf是隐式模型,3D高斯Splatting则是显示模型,可以实时建模。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值