Lay3rss / nerfstudio_SuGaR

SuGaR implementation to NeRFStudio
https://docs.nerf.studio
Apache License 2.0
0 stars 1 forks source link

NerfStudio + Gaussian Splatting - Initial Tests #1

Open rebecca-lay3rs opened 9 months ago

rebecca-lay3rs commented 9 months ago

Installation check

Lego

ns-train nerfacto --data data/lego/ blender-data

image

Cloitre_Gal2_E2_Statues_proche_21_images

image

ns-process-data images --data data/Cloitre_Gal2_E2_Statues_proche_21_images/images --output-dir data/Cloitre_Gal2_E2_Statues_proche_21_images_nerfstudio_format --num-downscales 0

Bureau

nerfacto

ns-train nerfacto --data data/Bureau_lightroom_nerfstudio_format_hloc/ nerfstudio-data

image

image

image

image

splatfacto

rebecca-lay3rs commented 9 months ago

image

image

image

image

rebecca-lay3rs commented 9 months ago

Official GS

image

image

image

rebecca-lay3rs commented 9 months ago

Angel - Splatfacto Tests

data: Cloitre_Gal1_C1_angel alignment: COLMAP of gaussian splatting

1. copying the data from GS to Nerfstudio

2. making a colmap folder

3. converting the COLMAP data of GS to .json of Nerfstudio using:

ns-process-data images --data data/Cloitre_Gal1_C1_angel/images --output-dir data/Cloitre_Gal1_C1_angel --num-downscales 0 --skip-colmap

4. Running Splatfacto

ns-train splatfacto --experiment-name Cloitre_Gal1_C1_angel nerfstudio-data --center-method none --data data/Cloitre_Gal1_C1_angel/

- from checkpoint: (2024-02-27_161104)

ns-train splatfacto --load-checkpoint outputs/Cloitre_Gal1_C1_angel/splatfacto/2024-02-27_144622/nerfstudio_models/step-000018000.ckpt --output-dir outputs/ --experiment-name Cloitre_Gal1_C1_angel nerfstudio-data --center-method none --data data/Cloitre_Gal1_C1_angel/

- exporting .ply file ns-export gaussian-splat --load-config outputs/Cloitre_Gal1_C1_angel/splatfacto/2024-02-27_161104/config.yml --output-dir outputs/Cloitre_Gal1_C1_angel/splatfacto/2024-02-27_161104/

5. organizing the Splatfacto Angel output folder

├── 2024-XX-XX_XXXXXX
│   ├── nerfstudio_models (for NerfStudio)
│   ├── point_cloud (coming from ns-export gaussian-splatting)
│   │   ├── iteration_7000
│   │   │   ├── point_cloud.ply
│   ├── cfg_args (for Sugar)
│   ├── cameras.json (for Sugar)
│   ├── input.ply (for Sugar)

6. convert the .ply output file of Splatfacto to Sugar/GS convention using Cloud Compare

[17:58:04] 0.997457563877 -0.008917156607 -0.070703245699 0.342103064060 -0.071006946266 -0.040277168155 -0.996662318707 0.069106496871 0.006039667875 0.999148726463 -0.040807943791 -0.280390352011 0.000000000000 0.000000000000 0.000000000000 1.000000000000

image

7. convert the transform.json of Splatfacto to Sugar/GS convention

9. Run train.py of Sugar

python train.py -s /root/nerfstudio_SuGaR/data/Cloitre_Gal1_C1_angel/ -c /root/nerfstudio_SuGaR/outputs/Cloitre_Gal1_C1_angel/splatfacto/2024-02-27_161104/ -r "sdf" --low_poly True --poisson_depth 8 --experiment_name Cloitre_Gal1_C1_angel/

rebecca-lay3rs commented 9 months ago

Other Montmajour datasets

Cloitre_Gal1_2_A1_broken_head

image

Cloitre_Gal1-2_A2_sheep

image