{"id":13816158,"url":"https://github.com/WangFeng18/3d-gaussian-splatting","last_synced_at":"2025-05-15T14:33:20.960Z","repository":{"id":216966367,"uuid":"653697786","full_name":"WangFeng18/3d-gaussian-splatting","owner":"WangFeng18","description":"Implementation for 3d gaussian splatting","archived":false,"fork":false,"pushed_at":"2024-01-17T03:15:21.000Z","size":13213,"stargazers_count":313,"open_issues_count":8,"forks_count":16,"subscribers_count":14,"default_branch":"main","last_synced_at":"2024-08-04T05:01:35.017Z","etag":null,"topics":["gaussian-splatting","nerf","pytorch","real-time-rendering"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WangFeng18.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-14T14:44:26.000Z","updated_at":"2024-08-04T03:59:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"ab5e7e86-bf0c-47ba-a610-c41b1b24563a","html_url":"https://github.com/WangFeng18/3d-gaussian-splatting","commit_stats":null,"previous_names":["wangfeng18/3d-gaussian-splatting"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WangFeng18%2F3d-gaussian-splatting","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WangFeng18%2F3d-gaussian-splatting/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WangFeng18%2F3d-gaussian-splatting/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WangFeng18%2F3d-gaussian-splatting/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WangFeng18","download_url":"https://codeload.github.com/WangFeng18/3d-gaussian-splatting/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225360694,"owners_count":17462196,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gaussian-splatting","nerf","pytorch","real-time-rendering"],"created_at":"2024-08-04T05:00:36.315Z","updated_at":"2024-11-19T13:30:20.747Z","avatar_url":"https://github.com/WangFeng18.png","language":"Python","funding_links":[],"categories":["Open Source Implementations","Implementations","Tools, Pipeline \u0026 Utilities"],"sub_categories":["Unofficial Implementations","Community Implementations","Photogrammetry \u0026 3D Scanning"],"readme":"# 3d-Gaussian-Splatting \nAn unofficial Implementation of 3D Gaussian Splatting for Real-Time Radiance Field Rendering [SIGGRAPH 2023].\n\nWe implement the 3d gaussian splatting methods through PyTorch with CUDA extensions, including the global culling, tile-based culling and rendering forward/backward codes.\n\nWork in progress.\n#### Update\n- 6/26/2023 Fix bugs of SSIM criterion, PSNR is improved from 24.28 to 24.85 (Garden Scene)\n- 6/26/2023 Accelerate **Training** Speed from avg 4 it/s to 13 it/s, by (1) replacing part of atomicAdd by warp reduction primitive (2) fixing bugs for SSIM functions. The training costs 9 minutes for 7k iterations on Garden scene.\n\n| Scene | PSNR from paper | PSNR from this repo | Rendering Speed (official) | Rendering Speed (Ours) |\n| --- | --- | --- | --- | --- |\n| Garden | 25.82(5k) | 24.91 (7k) | 160 FPS (avg MIPNeRF360) | 60 FPS |\n| Garden | 25.82(5k) | 25.70 (7k) | 160 FPS (avg MIPNeRF360) | 25 FPS |\n\n\n\nhttps://github.com/WangFeng18/3d-gaussian-splatting/assets/43294876/79703b5d-50ae-404b-96c9-c73690646f34\n\n\n\nQuickStart\n\n#### Install CUDA Extensions\n```\n# compile CUDA extension\npip install -e ./\n```\n#### Data Preparation\nPut the colmap output in this folder, e.g., colmap_garden/sparse/0/, as well as the images.\n\n### Traning\n```\npython train.py --exp garden --grad_thresh 0.000004 --debug 1 --ssim_weight 0.1 --lr 0.002 --use_sh_coeff 0 --grad_accum_method mean --grad_accum_iters 300 --split_thresh 0.08 # PSNR 24.75 SSIM 71.95 FPS 70 N_Gaussians 376467\npython train.py --exp garden --grad_thresh 0.000004 --debug 1 --ssim_weight 0.1 --lr 0.002 --use_sh_coeff 0 --grad_accum_method mean --grad_accum_iters 300 # PSNR 25.03 SSIM 0.7541 FPS 40 N_GAUSSIANS 933918 \npython train.py --exp garden --grad_thresh 0.000002 --debug 1 --ssim_weight 0.1 --lr 0.002 --use_sh_coeff 0 --grad_accum_method mean --grad_accum_iters 300 --split_thresh 0.08 # PSNR 24.91 SSIM 73.18 FPS 64 N_GAUSSIANS 506627 GOOD\n\npython train.py --exp garden2 --grad_thresh 0.000004 --debug 1 --ssim_weight 0.2 --lr 0.002 --use_sh_coeff 0 --grad_accum_method mean --grad_accum_iters 300 --adaptive_control_end_iter 3000 --opa_init_value 0.05 --lr_factor_for_opa 20 # PSNR 25.55 SSIM 79.83 N_GAUSSIANS 2418528 FPS 24.68\n\nCUDA_VISIBLE_DEVICES=3 python train.py --exp garden2 --grad_thresh 0.000004 --debug 1 --ssim_weight 0.2 --lr 0.002 --use_sh_coeff 0 --grad_accum_method mean --grad_accum_iters 300 --adaptive_control_end_iter 3000 --opa_init_value 0.05 --lr_factor_for_opa 20 # PSNR 25.5586 SSIM 80.10 FPS 25.30 N_GAUSSIANS 2401413\n\npython train.py --exp garden2 --grad_thresh 0.000004 --debug 1 --ssim_weight 0.2 --lr 0.002 --use_sh_coeff 0 --grad_accum_method mean --grad_accum_iters 300 --adaptive_control_end_iter 3000 --opa_init_value 0.05 --lr_factor_for_opa 20 --lr_factor_for_scale 0.2 --lr_factor_for_quat 10 --split_thresh 0.05 #PSNR 24.896 SSIM 76.55 FPS 65 N_GAUSSIANS 765932\n\npython train.py --exp garden2 --grad_thresh 0.000004 --debug 1 --ssim_weight 0.2 --lr 0.002 --use_sh_coeff 0 --grad_accum_method mean --grad_accum_iters 300 --adaptive_control_end_iter 3000 --opa_init_value 0.05 --lr_factor_for_opa 20 --lr_factor_for_quat 10 # PSNR 25.6906 SSIM 80.66 FPS 24.68\n\npython train.py --exp garden2 --grad_thresh 0.000004 --debug 1 --ssim_weight 0.2 --lr 0.002 --use_sh_coeff 0 --grad_accum_method mean --grad_accum_iters 300 --adaptive_control_end_iter 3000 --opa_init_value 0.05 --lr_factor_for_opa 20 --lr_factor_for_scale 0.5 --lr_factor_for_quat 10 --split_thresh 0.05 # PSNR 25.3769 SSIM 0.7902 FPS 41.3186\n\nCUDA_VISIBLE_DEVICES=3 python train.py --exp garden2 --grad_thresh 0.000004 --debug 1 --ssim_weight 0.2 --lr 0.002 --use_sh_coeff 0 --grad_accum_method mean --grad_accum_iters 300 --adaptive_control_end_iter 3000 --opa_init_value 0.05 --lr_factor_for_opa 20 --lr_factor_for_quat 20 # PSNR 25.7021 SSIM 0.8052 FPS 25.3567\n\n```\n\n### Rendering With a GUI\n\n```\npython train.py --ckpt ckpt.pth --gui 1 --test 1\n```\nThe GUI is based on [Viser](https://github.com/nerfstudio-project/viser) and written by [ZiLong Chen](https://github.com/heheyas).\n\n\nThe transforms folder are from [Viser](https://github.com/nerfstudio-project/viser)\n\n### Link\nAnother good implementation for 3D gaussian splatting, by [Zilong Chen](https://github.com/heheyas/gaussian_splatting_3d)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWangFeng18%2F3d-gaussian-splatting","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FWangFeng18%2F3d-gaussian-splatting","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FWangFeng18%2F3d-gaussian-splatting/lists"}