{"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/momentum-gs-momentum-gaussian-self","title":"Momentum-GS: Momentum Gaussian Self-Distillation for High-Quality Large Scene Reconstruction","arxiv_id":"2412.04887","date":"2024-12-06","proceeding":null,"authors":["Jixuan Fan","Wanhua Li","Yifei Han","Yansong Tang"],"abstract":"3D Gaussian Splatting has demonstrated notable success in large-scale scene reconstruction, but challenges persist due to high training memory consumption and storage overhead. Hybrid representations that integrate implicit and explicit features offer a way to mitigate these limitations. However, when applied in parallelized block-wise training, two critical issues arise since reconstruction accuracy deteriorates due to reduced data diversity when training each block independently, and parallel training restricts the number of divided blocks to the available number of GPUs. To address these issues, we propose Momentum-GS, a novel approach that leverages momentum-based self-distillation to promote consistency and accuracy across the blocks while decoupling the number of blocks from the physical GPU count. Our method maintains a teacher Gaussian decoder updated with momentum, ensuring a stable reference during training. This teacher provides each block with global guidance in a self-distillation manner, promoting spatial consistency in reconstruction. To further ensure consistency across the blocks, we incorporate block weighting, dynamically adjusting each block's weight according to its reconstruction accuracy. Extensive experiments on large-scale scenes show that our method consistently outperforms existing techniques, achieving a 12.8% improvement in LPIPS over CityGaussian with much fewer divided blocks and establishing a new state of the art. Project page: https://jixuan-fan.github.io/Momentum-GS_Page/","url_abs":"https://arxiv.org/abs/2412.04887v1","url_pdf":"https://arxiv.org/pdf/2412.04887v1.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":"momentum-gs-momentum-gaussian-self","repo_url":"https://github.com/Jixuan-Fan/Momentum-GS","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[{"task_slug":"3d-reconstruction","task_name":"3D Reconstruction"},{"task_slug":"3d-scene-reconstruction","task_name":"3D Scene Reconstruction"},{"task_slug":null,"task_name":"GPU"},{"task_slug":"novel-view-synthesis","task_name":"Novel View Synthesis"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2412.04887","atlas_url":"https://app.syntology.ai/?focus=2412.04887","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2412.04887"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/Jixuan-Fan/Momentum-GS","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"ran_honours":1,"ran":3,"unverified":5},"by_repo_kind":{"official":{"samples":9,"ran":4,"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":9,"samples":[{"code_sha256_prefix":"c56b7ef16f309a45","entry":"gaussian","repo":"Jixuan-Fan/Momentum-GS","repo_kind":"official","path":"utils/loss_utils.py","file_url":"https://github.com/Jixuan-Fan/Momentum-GS/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":"Jixuan-Fan/Momentum-GS","repo_kind":"official","path":"utils/loss_utils.py","file_url":"https://github.com/Jixuan-Fan/Momentum-GS/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":"Jixuan-Fan/Momentum-GS","repo_kind":"official","path":"utils/loss_utils.py","file_url":"https://github.com/Jixuan-Fan/Momentum-GS/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":"Jixuan-Fan/Momentum-GS","repo_kind":"official","path":"lpipsPyTorch/modules/utils.py","file_url":"https://github.com/Jixuan-Fan/Momentum-GS/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":"c43eefbf29da02a2","entry":"get_logger","repo":"Jixuan-Fan/Momentum-GS","repo_kind":"official","path":"train_coarse.py","file_url":"https://github.com/Jixuan-Fan/Momentum-GS/blob/HEAD/train_coarse.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":"c43eefbf29da02a2"}},{"code_sha256_prefix":"07bd0da29c4dc7bb","entry":"get_network","repo":"Jixuan-Fan/Momentum-GS","repo_kind":"official","path":"lpipsPyTorch/modules/networks.py","file_url":"https://github.com/Jixuan-Fan/Momentum-GS/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":"Jixuan-Fan/Momentum-GS","repo_kind":"official","path":"lpipsPyTorch/modules/utils.py","file_url":"https://github.com/Jixuan-Fan/Momentum-GS/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"}},{"code_sha256_prefix":"74c6a993a0948239","entry":"prepare_output_and_logger","repo":"Jixuan-Fan/Momentum-GS","repo_kind":"official","path":"train_coarse.py","file_url":"https://github.com/Jixuan-Fan/Momentum-GS/blob/HEAD/train_coarse.py","link_basis":"plan_row","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":"74c6a993a0948239"}},{"code_sha256_prefix":"fd53724052256f07","entry":"readImages","repo":"Jixuan-Fan/Momentum-GS","repo_kind":"official","path":"metrics.py","file_url":"https://github.com/Jixuan-Fan/Momentum-GS/blob/HEAD/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":"fd53724052256f07"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}