{"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/mega-nerf-scalable-construction-of-large","title":"Mega-NeRF: Scalable Construction of Large-Scale NeRFs for Virtual Fly-Throughs","arxiv_id":"2112.10703","date":"2021-12-20","proceeding":"CVPR 2022 1","authors":["Haithem Turki","Deva Ramanan","Mahadev Satyanarayanan"],"abstract":"We use neural radiance fields (NeRFs) to build interactive 3D environments from large-scale visual captures spanning buildings or even multiple city blocks collected primarily from drones. In contrast to single object scenes (on which NeRFs are traditionally evaluated), our scale poses multiple challenges including (1) the need to model thousands of images with varying lighting conditions, each of which capture only a small subset of the scene, (2) prohibitively large model capacities that make it infeasible to train on a single GPU, and (3) significant challenges for fast rendering that would enable interactive fly-throughs. To address these challenges, we begin by analyzing visibility statistics for large-scale scenes, motivating a sparse network structure where parameters are specialized to different regions of the scene. We introduce a simple geometric clustering algorithm for data parallelism that partitions training images (or rather pixels) into different NeRF submodules that can be trained in parallel. We evaluate our approach on existing datasets (Quad 6k and UrbanScene3D) as well as against our own drone footage, improving training speed by 3x and PSNR by 12%. We also evaluate recent NeRF fast renderers on top of Mega-NeRF and introduce a novel method that exploits temporal coherence. Our technique achieves a 40x speedup over conventional NeRF rendering while remaining within 0.8 db in PSNR quality, exceeding the fidelity of existing fast renderers.","url_abs":"https://arxiv.org/abs/2112.10703v2","url_pdf":"https://arxiv.org/pdf/2112.10703v2.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":"mega-nerf-scalable-construction-of-large","repo_url":"https://github.com/cmusatyalab/mega-nerf","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"mega-nerf-scalable-construction-of-large","repo_url":"https://github.com/pwc-1/Paper-5/tree/main/megatron_bert","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null}],"tasks":[{"task_slug":null,"task_name":"GPU"},{"task_slug":"nerf","task_name":"NeRF"}],"methods":[{"method_slug":"speed","method_name":"SPEED"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2112.10703","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2112.10703"}},"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/cmusatyalab/mega-nerf","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/pwc-1/Paper-5/tree/main/megatron_bert","reach":null}],"summary":{"unverified":7},"by_repo_kind":{"official":{"samples":7,"ran":0,"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":0,"samples":[{"code_sha256_prefix":"84756d2240f13bad","entry":"get_ray_directions","repo":"cmusatyalab/mega-nerf","repo_kind":"official","path":"mega_nerf/ray_utils.py","file_url":"https://github.com/cmusatyalab/mega-nerf/blob/HEAD/mega_nerf/ray_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"84756d2240f13bad"}},{"code_sha256_prefix":"1b116bab88f79f31","entry":"get_rays","repo":"cmusatyalab/mega-nerf","repo_kind":"official","path":"mega_nerf/ray_utils.py","file_url":"https://github.com/cmusatyalab/mega-nerf/blob/HEAD/mega_nerf/ray_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1b116bab88f79f31"}},{"code_sha256_prefix":"b790eb12bdae0333","entry":"get_rays_batch","repo":"cmusatyalab/mega-nerf","repo_kind":"official","path":"mega_nerf/ray_utils.py","file_url":"https://github.com/cmusatyalab/mega-nerf/blob/HEAD/mega_nerf/ray_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b790eb12bdae0333"}},{"code_sha256_prefix":"319aa49a91d20d8d","entry":"lpips","repo":"cmusatyalab/mega-nerf","repo_kind":"official","path":"mega_nerf/metrics.py","file_url":"https://github.com/cmusatyalab/mega-nerf/blob/HEAD/mega_nerf/metrics.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"319aa49a91d20d8d"}},{"code_sha256_prefix":"ee2c2c67ae516aa5","entry":"main_tqdm","repo":"cmusatyalab/mega-nerf","repo_kind":"official","path":"mega_nerf/misc_utils.py","file_url":"https://github.com/cmusatyalab/mega-nerf/blob/HEAD/mega_nerf/misc_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ee2c2c67ae516aa5"}},{"code_sha256_prefix":"03c2d8f719caf048","entry":"psnr","repo":"cmusatyalab/mega-nerf","repo_kind":"official","path":"mega_nerf/metrics.py","file_url":"https://github.com/cmusatyalab/mega-nerf/blob/HEAD/mega_nerf/metrics.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"03c2d8f719caf048"}},{"code_sha256_prefix":"5941c095fac71457","entry":"ssim","repo":"cmusatyalab/mega-nerf","repo_kind":"official","path":"mega_nerf/metrics.py","file_url":"https://github.com/cmusatyalab/mega-nerf/blob/HEAD/mega_nerf/metrics.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5941c095fac71457"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}