{"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/3d-gaussian-splatting-for-real-time-radiance","title":"3D Gaussian Splatting for Real-Time Radiance Field Rendering","arxiv_id":"2308.04079","date":"2023-08-08","proceeding":null,"authors":["Bernhard Kerbl","Georgios Kopanas","Thomas Leimkühler","George Drettakis"],"abstract":"Radiance Field methods have recently revolutionized novel-view synthesis of scenes captured with multiple photos or videos. However, achieving high visual quality still requires neural networks that are costly to train and render, while recent faster methods inevitably trade off speed for quality. For unbounded and complete scenes (rather than isolated objects) and 1080p resolution rendering, no current method can achieve real-time display rates. We introduce three key elements that allow us to achieve state-of-the-art visual quality while maintaining competitive training times and importantly allow high-quality real-time (>= 30 fps) novel-view synthesis at 1080p resolution. First, starting from sparse points produced during camera calibration, we represent the scene with 3D Gaussians that preserve desirable properties of continuous volumetric radiance fields for scene optimization while avoiding unnecessary computation in empty space; Second, we perform interleaved optimization/density control of the 3D Gaussians, notably optimizing anisotropic covariance to achieve an accurate representation of the scene; Third, we develop a fast visibility-aware rendering algorithm that supports anisotropic splatting and both accelerates training and allows realtime rendering. We demonstrate state-of-the-art visual quality and real-time rendering on several established datasets.","url_abs":"https://arxiv.org/abs/2308.04079v1","url_pdf":"https://arxiv.org/pdf/2308.04079v1.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":"3d-gaussian-splatting-for-real-time-radiance","repo_url":"https://github.com/graphdeco-inria/gaussian-splatting","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"3d-gaussian-splatting-for-real-time-radiance","repo_url":"https://github.com/smbonilla/gaussianpancakes","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[{"task_slug":"camera-calibration","task_name":"Camera Calibration"},{"task_slug":"novel-view-synthesis","task_name":"Novel View Synthesis"}],"methods":[{"method_slug":"speed","method_name":"SPEED"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/novel-view-synthesis-on-mip-nerf-360","task":"Novel View Synthesis","dataset":"Mip-NeRF 360","model":"3D Gaussian Splatting","rank_in_archive_order":5,"of":14,"metrics":{"LPIPS":"0.214","PSNR":"27.21","SSIM":"0.815"},"uses_additional_data":false},{"leaderboard":"/sota/novel-view-synthesis-on-tanks-and-temples","task":"Novel View Synthesis","dataset":"Tanks and Temples","model":"3D Gaussian Splatting","rank_in_archive_order":7,"of":10,"metrics":{"LPIPS":"0.183","PSNR":"23.14","SSIM":"0.841"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/2308.04079","atlas_url":"https://app.syntology.ai/?focus=2308.04079","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2308.04079"}},"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/graphdeco-inria/gaussian-splatting","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/smbonilla/gaussianpancakes","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"ran_honours":2,"ran":4,"unverified":4},"by_repo_kind":{"official":{"samples":10,"ran":6,"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":10,"samples":[{"code_sha256_prefix":"c56b7ef16f309a45","entry":"gaussian","repo":"graphdeco-inria/gaussian-splatting","repo_kind":"official","path":"utils/loss_utils.py","file_url":"https://github.com/graphdeco-inria/gaussian-splatting/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":"graphdeco-inria/gaussian-splatting","repo_kind":"official","path":"utils/loss_utils.py","file_url":"https://github.com/graphdeco-inria/gaussian-splatting/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":"graphdeco-inria/gaussian-splatting","repo_kind":"official","path":"utils/loss_utils.py","file_url":"https://github.com/graphdeco-inria/gaussian-splatting/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":"graphdeco-inria/gaussian-splatting","repo_kind":"official","path":"lpipsPyTorch/modules/utils.py","file_url":"https://github.com/graphdeco-inria/gaussian-splatting/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":"graphdeco-inria/gaussian-splatting","repo_kind":"official","path":"metrics.py","file_url":"https://github.com/graphdeco-inria/gaussian-splatting/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":"56858e04e6fdb2ff","entry":"read_next_bytes","repo":"graphdeco-inria/gaussian-splatting","repo_kind":"official","path":"utils/read_write_model.py","file_url":"https://github.com/graphdeco-inria/gaussian-splatting/blob/HEAD/utils/read_write_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":"07bd0da29c4dc7bb","entry":"get_network","repo":"graphdeco-inria/gaussian-splatting","repo_kind":"official","path":"lpipsPyTorch/modules/networks.py","file_url":"https://github.com/graphdeco-inria/gaussian-splatting/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":"graphdeco-inria/gaussian-splatting","repo_kind":"official","path":"lpipsPyTorch/modules/utils.py","file_url":"https://github.com/graphdeco-inria/gaussian-splatting/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":"a10bf79d34938dbd","entry":"read_cameras_binary","repo":"graphdeco-inria/gaussian-splatting","repo_kind":"official","path":"utils/read_write_model.py","file_url":"https://github.com/graphdeco-inria/gaussian-splatting/blob/HEAD/utils/read_write_model.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":"a10bf79d34938dbd"}},{"code_sha256_prefix":"c424ebf4a6c32cbd","entry":"read_cameras_text","repo":"graphdeco-inria/gaussian-splatting","repo_kind":"official","path":"utils/read_write_model.py","file_url":"https://github.com/graphdeco-inria/gaussian-splatting/blob/HEAD/utils/read_write_model.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":"c424ebf4a6c32cbd"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}