本文最后更新于:2025年6月12日 晚上
3D Gaussian Splatting 是3D 重建的划时代技术,本文记录官方代码的实践过程。
简介
3D Gaussian Splatting(3D高斯泼溅/3D高斯点染)是一种用于实时高质量新视角合成的突破性3D场景表示与渲染技术。其核心特点在于将三维场景表征为一系列带有可学习属性的3D高斯函数,并通过高效的光栅化方式进行渲染。
环境准备
工具安装
-
操作系统 Ubuntu 22.04
-
Anaconda
-
Cuda 11.8
-
安装 ImageMagic
1
sudo apt install imagemagick
源码安装
-
下载源码:
1
2# SSH
git clone git@github.com:graphdeco-inria/gaussian-splatting.git --recursive或
1
2# HTTPS
git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive -
安装 Python 环境:
1
2conda env create --file environment.yml
conda activate gaussian_splatting -
安装 SIBR
仓库中包含了 SIBR 的源码,在
SIBR_viewers
文件夹中先安装相关依赖, 再编译安装
1
2
3
4
5
6# Dependencies
sudo apt install -y libglew-dev libassimp-dev libboost-all-dev libgtk-3-dev libopencv-dev libglfw3-dev libavdevice-dev libavcodec-dev libeigen3-dev libxxf86vm-dev libembree-dev
# Project setup
cd SIBR_viewers
cmake -Bbuild . -DCMAKE_BUILD_TYPE=Release # add -G Ninja to build faster
cmake --build build -j24 --target install -
执行
1
2cd gaussian-splatting/SIBR_viewers/install/bin
./SIBR_remoteGaussian_app能显示如下界面表示安装成功。
数据准备
-
测试数据
如果要测试官方模型可以下载官方的测试数据集
解压后得到如下文件夹:
1
2
3
4
5
6
7
8
9
10
11
12
13
14.
├── bicycle
├── bonsai
├── counter
├── drjohnson
├── flowers
├── garden
├── kitchen
├── playroom
├── room
├── stump
├── train
├── treehill
└── truck -
官方demo
可以载 数据集 后进行训练
-
训练数据
需要下载 MipNerf360 的数据
训练模型
这里以 MipNerf360 中 bicycle 数据为例训练 3D GS 模型
-
复制 bicycle2 中的图片到特定的文件夹
<path_to_dataset>/input
1
2
3
4
5<location>
|---input
|---<image 0>
|---<image 1>
|---... -
生成 Colmap
1
python convert.py -s <path_to_dataset>
-
进行训练:
1
python train.py -s <path_to_dataset>
模型可视化
训练过程占用显存不断增加,我的显卡显存 12G,仅能支持训练到 8000 iter,默认在 7000 iter时保存模型,这里我们展示该模型效果
重建效果对比
3D 可视化
参考资料
文章链接:
https://www.zywvvd.com/notes/3d/gs/gaussian-splating-3d-in-action/gaussian-splating-3d-in-action/
“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”

微信支付

支付宝支付