https://www.cnblogs.com/milton/p/18799695
1. 代码运行
1 | git clone git@github.com:graphdeco-inria/gaussian-splatting.git --recursive |
可能会出现环境问题,需要注意cuda与torch版本,我这里用的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27pip list
Package Version
--------------------------- ---------
Brotli 1.0.9
certifi 2024.8.30
charset-normalizer 3.4.0
colorama 0.4.6
diff_gaussian_rasterization 0.0.0
fused_ssim 0.0.0
idna 3.10
joblib 1.3.2
numpy 1.21.6
opencv-python 4.12.0.88
Pillow 9.2.0
pip 22.3.1
plyfile 0.8.1
PySocks 1.7.1
requests 2.32.2
setuptools 69.0.3
simple_knn 0.0.0
torch 1.12.1
torchaudio 0.12.1
torchvision 0.13.1
tqdm 4.67.1
typing_extensions 4.7.1
urllib3 2.2.1
wheel 0.42.01
2
3
4
5
6nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Thu_Feb_10_18:23:41_PST_2022
Cuda compilation tools, release 11.6, V11.6.112
Build cuda_11.6.r11.6/compiler.30978841_01
2
3nvidia-smi
+---------------------------------------------------------------------------+
| NVIDIA-SMI 535.183.01 Driver Version: 535.183.01 CUDA Version: 12.2 |1
2>> print("Torch CUDA:", torch.version.cuda)
Torch CUDA: 11.3
2. 训练
- 需要先下载数据集
1 | python train.py -s <path to COLMAP or NeRF Synthetic dataset>[~/code/gaussian-splatting/data/input/tandt_db/playroom] -m <./data/output>[~/code/gaussian-splatting/data/output/playroom] |
iteration_7000/
,iteration_30000/
每隔一段迭代保存一次的快照。里面通常会有point_cloud.ply
(或其他名字),记录该时刻的高斯点云参数(位置、颜色、协方差、SH 系数等)。你可以加载这些文件做可视化,或者后续继续训练。cameras.json
存放相机参数(内参、外参),训练时从 COLMAP / NeRF Synthetic 数据集解析出来的。后续渲染、指标计算都会用它。cfg_args
保存训练时用的命令行参数/配置,比如学习率、批大小等,方便复现实验。exposure.json
曝光相关的参数,训练过程中会对颜色/亮度做归一化或补偿。input.ply
初始点云(通常来自 SfM/稀疏点云),是优化的起点。训练过程会 densify(增密)和 refine 出越来越多的高斯。
3. 测试
1 | 对于未训练的模型: |
4. 可视化
1 | cd ~/code/tools/3dgs |
- 最后用vscode连接服务器的8000端口,输入
http://localhost:8000/index.html?url=http://localhost:8000/drjohnson.splat