{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/speedy-splat-fast-3d-gaussian-splatting-with","title":"Speedy-Splat: Fast 3D Gaussian Splatting with Sparse Pixels and Sparse Primitives","arxiv_id":"2412.00578","date":"2024-11-30","proceeding":"CVPR 2025 1","authors":["Alex Hanson","Allen Tu","Geng Lin","Vasu Singla","Matthias Zwicker","Tom Goldstein"],"abstract":"3D Gaussian Splatting (3D-GS) is a recent 3D scene reconstruction technique that enables real-time rendering of novel views by modeling scenes as parametric point clouds of differentiable 3D Gaussians. However, its rendering speed and model size still present bottlenecks, especially in resource-constrained settings. In this paper, we identify and address two key inefficiencies in 3D-GS to substantially improve rendering speed. These improvements also yield the ancillary benefits of reduced model size and training time. First, we optimize the rendering pipeline to precisely localize Gaussians in the scene, boosting rendering speed without altering visual fidelity. Second, we introduce a novel pruning technique and integrate it into the training pipeline, significantly reducing model size and training time while further raising rendering speed. Our Speedy-Splat approach combines these techniques to accelerate average rendering speed by a drastic $\\mathit{6.71\\times}$ across scenes from the Mip-NeRF 360, Tanks & Temples, and Deep Blending datasets.","url_abs":"https://arxiv.org/abs/2412.00578v2","url_pdf":"https://arxiv.org/pdf/2412.00578v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"speedy-splat-fast-3d-gaussian-splatting-with","repo_url":"https://github.com/j-alex-hanson/speedy-splat","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[{"task_slug":"3d-scene-reconstruction","task_name":"3D Scene Reconstruction"},{"task_slug":"nerf","task_name":"NeRF"}],"methods":[{"method_slug":"pruning","method_name":"Pruning"},{"method_slug":"speed","method_name":"SPEED"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2412.00578","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2412.00578"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/j-alex-hanson/speedy-splat","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"ran_honours":1,"ran":4,"unverified":3},"by_repo_kind":{"official":{"samples":8,"ran":5,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":8,"samples":[{"code_sha256_prefix":"c56b7ef16f309a45","entry":"gaussian","repo":"j-alex-hanson/speedy-splat","repo_kind":"official","path":"utils/loss_utils.py","file_url":"https://github.com/j-alex-hanson/speedy-splat/blob/HEAD/utils/loss_utils.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c56b7ef16f309a45"}},{"code_sha256_prefix":"ac0e42d6fbcfbbe6","entry":"l1_loss","repo":"j-alex-hanson/speedy-splat","repo_kind":"official","path":"utils/loss_utils.py","file_url":"https://github.com/j-alex-hanson/speedy-splat/blob/HEAD/utils/loss_utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ac0e42d6fbcfbbe6"}},{"code_sha256_prefix":"8c3b0f873ba11813","entry":"l2_loss","repo":"j-alex-hanson/speedy-splat","repo_kind":"official","path":"utils/loss_utils.py","file_url":"https://github.com/j-alex-hanson/speedy-splat/blob/HEAD/utils/loss_utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8c3b0f873ba11813"}},{"code_sha256_prefix":"1dab900b2adbe38e","entry":"normalize_activation","repo":"j-alex-hanson/speedy-splat","repo_kind":"official","path":"lpipsPyTorch/modules/utils.py","file_url":"https://github.com/j-alex-hanson/speedy-splat/blob/HEAD/lpipsPyTorch/modules/utils.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1dab900b2adbe38e"}},{"code_sha256_prefix":"cdd00787894554b5","entry":"readImages","repo":"j-alex-hanson/speedy-splat","repo_kind":"official","path":"metrics.py","file_url":"https://github.com/j-alex-hanson/speedy-splat/blob/HEAD/metrics.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cdd00787894554b5"}},{"code_sha256_prefix":"a4fa58b95aabf5ed","entry":"get_kernel_times","repo":"j-alex-hanson/speedy-splat","repo_kind":"official","path":"compute_scene_metrics.py","file_url":"https://github.com/j-alex-hanson/speedy-splat/blob/HEAD/compute_scene_metrics.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"a4fa58b95aabf5ed"}},{"code_sha256_prefix":"07bd0da29c4dc7bb","entry":"get_network","repo":"j-alex-hanson/speedy-splat","repo_kind":"official","path":"lpipsPyTorch/modules/networks.py","file_url":"https://github.com/j-alex-hanson/speedy-splat/blob/HEAD/lpipsPyTorch/modules/networks.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"07bd0da29c4dc7bb"}},{"code_sha256_prefix":"b06f27c08cf5d0ca","entry":"get_state_dict","repo":"j-alex-hanson/speedy-splat","repo_kind":"official","path":"lpipsPyTorch/modules/utils.py","file_url":"https://github.com/j-alex-hanson/speedy-splat/blob/HEAD/lpipsPyTorch/modules/utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b06f27c08cf5d0ca"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}