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