{"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/ibrnet-learning-multi-view-image-based","title":"IBRNet: Learning Multi-View Image-Based Rendering","arxiv_id":"2102.13090","date":"2021-02-25","proceeding":"CVPR 2021 1","authors":["Qianqian Wang","Zhicheng Wang","Kyle Genova","Pratul Srinivasan","Howard Zhou","Jonathan T. Barron","Ricardo Martin-Brualla","Noah Snavely","Thomas Funkhouser"],"abstract":"We present a method that synthesizes novel views of complex scenes by interpolating a sparse set of nearby views. The core of our method is a network architecture that includes a multilayer perceptron and a ray transformer that estimates radiance and volume density at continuous 5D locations (3D spatial locations and 2D viewing directions), drawing appearance information on the fly from multiple source views. By drawing on source views at render time, our method hearkens back to classic work on image-based rendering (IBR), and allows us to render high-resolution imagery. Unlike neural scene representation work that optimizes per-scene functions for rendering, we learn a generic view interpolation function that generalizes to novel scenes. We render images using classic volume rendering, which is fully differentiable and allows us to train using only multi-view posed images as supervision. Experiments show that our method outperforms recent novel view synthesis methods that also seek to generalize to novel scenes. Further, if fine-tuned on each scene, our method is competitive with state-of-the-art single-scene neural rendering methods. Project page: https://ibrnet.github.io/","url_abs":"https://arxiv.org/abs/2102.13090v2","url_pdf":"https://arxiv.org/pdf/2102.13090v2.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":"ibrnet-learning-multi-view-image-based","repo_url":"https://github.com/googleinterns/ibrnet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"neural-rendering","task_name":"Neural Rendering"},{"task_slug":"novel-view-synthesis","task_name":"Novel View Synthesis"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2102.13090","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2102.13090"}},"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/googleinterns/ibrnet","reach":null}],"summary":{"ran":3,"ran_fixture":1,"unverified":1},"by_repo_kind":{"listed":{"samples":5,"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":0,"samples":[{"code_sha256_prefix":"b2deeaf748dd7b50","entry":"IBRNet","repo":"googleinterns/ibrnet","repo_kind":"listed","path":"ibrnet/mlp_network.py","file_url":"https://github.com/googleinterns/ibrnet/blob/HEAD/ibrnet/mlp_network.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b2deeaf748dd7b50"}},{"code_sha256_prefix":"e415eac8d6b1e84c","entry":"MultiHeadAttention","repo":"googleinterns/ibrnet","repo_kind":"listed","path":"ibrnet/mlp_network.py","file_url":"https://github.com/googleinterns/ibrnet/blob/HEAD/ibrnet/mlp_network.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e415eac8d6b1e84c"}},{"code_sha256_prefix":"4f0dc5fabdb8568d","entry":"ScaledDotProductAttention","repo":"googleinterns/ibrnet","repo_kind":"listed","path":"ibrnet/mlp_network.py","file_url":"https://github.com/googleinterns/ibrnet/blob/HEAD/ibrnet/mlp_network.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4f0dc5fabdb8568d"}},{"code_sha256_prefix":"34ea5f2db980a0f7","entry":"fused_mean_variance","repo":"googleinterns/ibrnet","repo_kind":"listed","path":"ibrnet/mlp_network.py","file_url":"https://github.com/googleinterns/ibrnet/blob/HEAD/ibrnet/mlp_network.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"34ea5f2db980a0f7"}},{"code_sha256_prefix":"80f5f942bcddc067","entry":"weights_init","repo":"googleinterns/ibrnet","repo_kind":"listed","path":"ibrnet/mlp_network.py","file_url":"https://github.com/googleinterns/ibrnet/blob/HEAD/ibrnet/mlp_network.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"80f5f942bcddc067"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}