1.环境准备
1.1.下载diff-gaussian-rasterization
这里本来没啥说的,直接从github上下载就行了,但是我踩坑了,下的版本不对,后续运行报错参数个数对不上,特在此给大家避坑,注意一定要下带3dgs版本的diff-gaussian-rasterization,否则后续会报错。
或者直接用我贴的下载地址:
https://github.com/graphdeco-inria/diff-gaussian-rasterization/tree/3dgs_accel
不要直接下载main版本的!不要直接下载main版本的!不要直接下载main版本的!
否则就会跟我一样报错:
Number of points at initialisation : 107 [06/08 17:53:37]
Training progress: 0%| | 0/30000 [00:00<?, ?it/s]Traceback (most recent call last):File "/mnt/geovis/zhouy/001_project/gaussian-splatting-main/train.py", line 282, in <module>training(lp.extract(args), op.extract(args), pp.extract(args), args.test_iterations, args.save_iterations, args.checkpoint_iterations, args.start_checkpoint, args.debug_from)File "/mnt/geovis/zhouy/001_project/gaussian-splatting-main/train.py", line 111, in trainingrender_pkg = render(viewpoint_cam, gaussians, pipe, bg, use_trained_exp=dataset.train_test_exp, separate_sh=SPARSE_ADAM_AVAILABLE)File "/mnt/geovis/zhouy/001_project/gaussian-splatting-main/gaussian_renderer/__init__.py", line 36, in renderraster_settings = GaussianRasterizationSettings(
TypeError: GaussianRasterizationSettings.__new__() got an unexpected keyword argument 'antialiasing'
Traceback (most recent call last):File "/mnt/geovis/zhouy/001_project/gaussian-splatting-main/train.py", line 282, in <module>training(lp.extract(args), op.extract(args), pp.extract(args), args.test_iterations, args.save_iterations, args.checkpoint_iterations, args.start_checkpoint, args.debug_from)File "/mnt/geovis/zhouy/001_project/gaussian-splatting-main/train.py", line 111, in trainingrender_pkg = render(viewpoint_cam, gaussians, pipe, bg, use_trained_exp=dataset.train_test_exp, separate_sh=SPARSE_ADAM_AVAILABLE)File "/mnt/geovis/zhouy/001_project/gaussian-splatting-main/gaussian_renderer/__init__.py", line 102, in renderrendered_image, radii, depth_image = rasterizer(
ValueError: not enough values to unpack (expected 3, got 2)
Training progress: 0%|
1.2.下载glm
这个没啥特殊注意,直接在github上下载就行
命令下载:
git clone https://github.com/icaven/glm.git
下载完成后将其放在./gaussian-splatting-main/submodules/diff-gaussian-rasterization/third_party/目录下,文件夹名称为glm,如下图
1.3.安装diff-gaussian-rasterization
cd 到diff-gaussian-rasterization目录下,运行:
python setup.py install
正常安装的话应该会如下图所示,有一些warning,不用管它。直至出现Installed /root/anaconda3/envs/gaussian/lib/python3.10/site-packages/diff_gaussian_rasterization-0.0.0-py3.10-linux-x86_64.egg
Processing dependencies for diff-gaussian-rasterization==0.0.0
Finished processing dependencies for diff-gaussian-rasterization==0.0.0
1.4.安装simple-knn
安装没啥注意的,建议都下载下来离线包,再上传上服务器解压安装。
下载地址:
https://github.com/camenduru/simple-knn
将下载的压缩包上传至./gaussian-splatting-main/submodules/下,解压,运行以下命令即可完成安装:
git clone https://github.com/camenduru/simple-knn && cd simple-knn
pip install .
1.5.安装fused-ssim
同上,先下载离线文件,上传服务器,解压
下载地址:
https://github.com/rahul-goel/fused-ssim
cd到./gaussian-splatting-main/submodules/fused-ssim目录下,运行以下代码实现安装:
pip install . --no-build-isolation
2.训练过程
(gaussian) [root@t97 gaussian-splatting-main]# python train.py -s ./data -m ./output/mydata
Optimizing ./output/mydata
Output folder: ./output/mydata [06/08 18:21:32]
Tensorboard not available: not logging progress [06/08 18:21:32]
Reading camera 4/4 [06/08 18:21:32]
Loading Training Cameras [06/08 18:21:32]
Loading Test Cameras [06/08 18:21:32]
Number of points at initialisation : 107 [06/08 18:21:32]
Training progress: 23%|?????????????????????????? | 6990/30000 [00:34<02:03, 186.02it/s, Loss=0.0057908, Depth Loss=0.0000000]
[ITER 7000] Evaluating train: L1 0.004467152804136276 PSNR 40.17698516845704 [06/08 18:22:07][ITER 7000] Saving Gaussians [06/08 18:22:07]
Training progress: 100%|?????????????????????????????????????????????????????????????????????????????????????????????????????????????| 30000/30000 [02:59<00:00, 167.57it/s, Loss=0.0038100, Depth Loss=0.0000000][ITER 30000] Evaluating train: L1 0.002960224240086973 PSNR 44.79262390136719 [06/08 18:24:31][ITER 30000] Saving Gaussians [06/08 18:24:31]Training complete. [06/08 18:24:33]
训练完成会出现
Training complete. [xxxxxxx]
3.输出结果查看
输出的结果保存在./gaussian-splatting-main/output/mydata/point_cloud/iteration_30000/point_cloud.ply
将其下载到本地,用本地软件,如blender打开,或者在浏览器中,在线打开。
在线查看地址:
https://superspl.at/editor