{"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/freesplat-generalizable-3d-gaussian-splatting","title":"FreeSplat: Generalizable 3D Gaussian Splatting Towards Free-View Synthesis of Indoor Scenes","arxiv_id":"2405.17958","date":"2024-05-28","proceeding":null,"authors":["Yunsong Wang","Tianxin Huang","Hanlin Chen","Gim Hee Lee"],"abstract":"Empowering 3D Gaussian Splatting with generalization ability is appealing. However, existing generalizable 3D Gaussian Splatting methods are largely confined to narrow-range interpolation between stereo images due to their heavy backbones, thus lacking the ability to accurately localize 3D Gaussian and support free-view synthesis across wide view range. In this paper, we present a novel framework FreeSplat that is capable of reconstructing geometrically consistent 3D scenes from long sequence input towards free-view synthesis.Specifically, we firstly introduce Low-cost Cross-View Aggregation achieved by constructing adaptive cost volumes among nearby views and aggregating features using a multi-scale structure. Subsequently, we present the Pixel-wise Triplet Fusion to eliminate redundancy of 3D Gaussians in overlapping view regions and to aggregate features observed across multiple views. Additionally, we propose a simple but effective free-view training strategy that ensures robust view synthesis across broader view range regardless of the number of views. Our empirical results demonstrate state-of-the-art novel view synthesis peformances in both novel view rendered color maps quality and depth maps accuracy across different numbers of input views. We also show that FreeSplat performs inference more efficiently and can effectively reduce redundant Gaussians, offering the possibility of feed-forward large scene reconstruction without depth priors.","url_abs":"https://arxiv.org/abs/2405.17958v3","url_pdf":"https://arxiv.org/pdf/2405.17958v3.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":"freesplat-generalizable-3d-gaussian-splatting","repo_url":"https://github.com/wangys16/freesplat","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"jax","reach":{"status":"ok"}}],"tasks":[{"task_slug":"novel-view-synthesis","task_name":"Novel View Synthesis"},{"task_slug":null,"task_name":"Triplet"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2405.17958","atlas_url":"https://app.syntology.ai/?focus=2405.17958","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2405.17958"}},"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/wangys16/freesplat","reach":{"status":"ok"}}],"summary":{"ran":8,"unverified":3},"by_repo_kind":{"official":{"samples":11,"ran":8,"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":11,"samples":[{"code_sha256_prefix":"2e543c366f43eb85","entry":"calculate_distance_matrix","repo":"wangys16/freesplat","repo_kind":"official","path":"src/model/encoder/encoder_freesplat.py","file_url":"https://github.com/wangys16/freesplat/blob/HEAD/src/model/encoder/encoder_freesplat.py","link_basis":"first_harvest_node","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":"2e543c366f43eb85"}},{"code_sha256_prefix":"7bd7020b105681fb","entry":"compute_depth_metrics","repo":"wangys16/freesplat","repo_kind":"official","path":"sr_utils/metrics_utils.py","file_url":"https://github.com/wangys16/freesplat/blob/HEAD/sr_utils/metrics_utils.py","link_basis":"first_harvest_node","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":"7bd7020b105681fb"}},{"code_sha256_prefix":"8ec9da34a5673745","entry":"compute_depth_metrics_batched","repo":"wangys16/freesplat","repo_kind":"official","path":"sr_utils/metrics_utils.py","file_url":"https://github.com/wangys16/freesplat/blob/HEAD/sr_utils/metrics_utils.py","link_basis":"first_harvest_node","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":"8ec9da34a5673745"}},{"code_sha256_prefix":"1918629f6ecbec09","entry":"get_camera_rays","repo":"wangys16/freesplat","repo_kind":"official","path":"sr_utils/geometry_utils.py","file_url":"https://github.com/wangys16/freesplat/blob/HEAD/sr_utils/geometry_utils.py","link_basis":"first_harvest_node","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":"1918629f6ecbec09"}},{"code_sha256_prefix":"8815d837bbe3d707","entry":"normalize_depth","repo":"wangys16/freesplat","repo_kind":"official","path":"sr_utils/generic_utils.py","file_url":"https://github.com/wangys16/freesplat/blob/HEAD/sr_utils/generic_utils.py","link_basis":"first_harvest_node","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":"8815d837bbe3d707"}},{"code_sha256_prefix":"748f2268d1a46ec6","entry":"normalize_depth_single","repo":"wangys16/freesplat","repo_kind":"official","path":"sr_utils/generic_utils.py","file_url":"https://github.com/wangys16/freesplat/blob/HEAD/sr_utils/generic_utils.py","link_basis":"first_harvest_node","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":"748f2268d1a46ec6"}},{"code_sha256_prefix":"70593029b8676d40","entry":"positional_encoding","repo":"wangys16/freesplat","repo_kind":"official","path":"src/model/encoder/encoder_freesplat.py","file_url":"https://github.com/wangys16/freesplat/blob/HEAD/src/model/encoder/encoder_freesplat.py","link_basis":"first_harvest_node","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":"70593029b8676d40"}},{"code_sha256_prefix":"0519b1fecd093fc9","entry":"readlines","repo":"wangys16/freesplat","repo_kind":"official","path":"sr_utils/generic_utils.py","file_url":"https://github.com/wangys16/freesplat/blob/HEAD/sr_utils/generic_utils.py","link_basis":"first_harvest_node","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":"0519b1fecd093fc9"}},{"code_sha256_prefix":"adb082ec7f229e10","entry":"colormap_image","repo":"wangys16/freesplat","repo_kind":"official","path":"sr_utils/visualization_utils.py","file_url":"https://github.com/wangys16/freesplat/blob/HEAD/sr_utils/visualization_utils.py","link_basis":"first_harvest_node","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":"adb082ec7f229e10"}},{"code_sha256_prefix":"5d1da1b536d8bdff","entry":"rotation_distance","repo":"wangys16/freesplat","repo_kind":"official","path":"src/model/encoder/encoder_freesplat.py","file_url":"https://github.com/wangys16/freesplat/blob/HEAD/src/model/encoder/encoder_freesplat.py","link_basis":"first_harvest_node","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":"5d1da1b536d8bdff"}},{"code_sha256_prefix":"69a7e51abb4506ac","entry":"to_homogeneous","repo":"wangys16/freesplat","repo_kind":"official","path":"sr_utils/geometry_utils.py","file_url":"https://github.com/wangys16/freesplat/blob/HEAD/sr_utils/geometry_utils.py","link_basis":"first_harvest_node","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":"69a7e51abb4506ac"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}