{"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/self-ensembling-gaussian-splatting-for-few","title":"Self-Ensembling Gaussian Splatting for Few-Shot Novel View Synthesis","arxiv_id":"2411.00144","date":"2024-10-31","proceeding":null,"authors":["Chen Zhao","Xuan Wang","Tong Zhang","Saqib Javed","Mathieu Salzmann"],"abstract":"3D Gaussian Splatting (3DGS) has demonstrated remarkable effectiveness in novel view synthesis (NVS). However, 3DGS tends to overfit when trained with sparse views, limiting its generalization to novel viewpoints. In this paper, we address this overfitting issue by introducing Self-Ensembling Gaussian Splatting (SE-GS). We achieve self-ensembling by incorporating an uncertainty-aware perturbation strategy during training. A $\\mathbf{\\Delta}$-model and a $\\mathbf{\\Sigma}$-model are jointly trained on the available images. The $\\mathbf{\\Delta}$-model is dynamically perturbed based on rendering uncertainty across training steps, generating diverse perturbed models with negligible computational overhead. Discrepancies between the $\\mathbf{\\Sigma}$-model and these perturbed models are minimized throughout training, forming a robust ensemble of 3DGS models. This ensemble, represented by the $\\mathbf{\\Sigma}$-model, is then used to generate novel-view images during inference. Experimental results on the LLFF, Mip-NeRF360, DTU, and MVImgNet datasets demonstrate that our approach enhances NVS quality under few-shot training conditions, outperforming existing state-of-the-art methods. The code is released at: https://sailor-z.github.io/projects/SEGS.html.","url_abs":"https://arxiv.org/abs/2411.00144v3","url_pdf":"https://arxiv.org/pdf/2411.00144v3.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":"self-ensembling-gaussian-splatting-for-few","repo_url":"https://github.com/sailor-z/se-gs","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[{"task_slug":"3dgs","task_name":"3DGS"},{"task_slug":"novel-view-synthesis","task_name":"Novel View Synthesis"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2411.00144","atlas_url":"https://app.syntology.ai/?focus=2411.00144","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2411.00144"}},"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/sailor-z/se-gs","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"ran_draft_wrong":1,"ran_honours":1,"ran_fixture":2,"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":"8a38e306ff4c5b42","entry":"read_cameras_text","repo":"sailor-z/se-gs","repo_kind":"official","path":"utils/colmap_read_model.py","file_url":"https://github.com/sailor-z/se-gs/blob/HEAD/utils/colmap_read_model.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8a38e306ff4c5b42"}},{"code_sha256_prefix":"56858e04e6fdb2ff","entry":"read_next_bytes","repo":"sailor-z/se-gs","repo_kind":"official","path":"utils/colmap_read_model.py","file_url":"https://github.com/sailor-z/se-gs/blob/HEAD/utils/colmap_read_model.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"56858e04e6fdb2ff"}},{"code_sha256_prefix":"46959ddc3b4a8888","entry":"visualize_cmap","repo":"sailor-z/se-gs","repo_kind":"official","path":"spiral.py","file_url":"https://github.com/sailor-z/se-gs/blob/HEAD/spiral.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"46959ddc3b4a8888"}},{"code_sha256_prefix":"9a7dd063ea98b616","entry":"weighted_percentile","repo":"sailor-z/se-gs","repo_kind":"official","path":"spiral.py","file_url":"https://github.com/sailor-z/se-gs/blob/HEAD/spiral.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9a7dd063ea98b616"}},{"code_sha256_prefix":"f8a568a9009f4ade","entry":"custom_sort","repo":"sailor-z/se-gs","repo_kind":"official","path":"metrics_dtu.py","file_url":"https://github.com/sailor-z/se-gs/blob/HEAD/metrics_dtu.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":"f8a568a9009f4ade"}},{"code_sha256_prefix":"25e8eb8ff1dffb08","entry":"get_cam_dis","repo":"sailor-z/se-gs","repo_kind":"official","path":"train_mvimgnet.py","file_url":"https://github.com/sailor-z/se-gs/blob/HEAD/train_mvimgnet.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":"25e8eb8ff1dffb08"}},{"code_sha256_prefix":"2a05973a17f517e6","entry":"readImages","repo":"sailor-z/se-gs","repo_kind":"official","path":"metrics.py","file_url":"https://github.com/sailor-z/se-gs/blob/HEAD/metrics.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":"2a05973a17f517e6"}},{"code_sha256_prefix":"f0a7e7830ac7d9d7","entry":"readImages","repo":"sailor-z/se-gs","repo_kind":"official","path":"metrics_dtu.py","file_url":"https://github.com/sailor-z/se-gs/blob/HEAD/metrics_dtu.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":"f0a7e7830ac7d9d7"}},{"code_sha256_prefix":"3d7e294ff8567d46","entry":"read_cameras_binary","repo":"sailor-z/se-gs","repo_kind":"official","path":"utils/colmap_read_model.py","file_url":"https://github.com/sailor-z/se-gs/blob/HEAD/utils/colmap_read_model.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":"3d7e294ff8567d46"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}