{"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/universal-differentiable-renderer-for","title":"Multiview Neural Surface Reconstruction by Disentangling Geometry and Appearance","arxiv_id":"2003.09852","date":"2020-03-22","proceeding":"NeurIPS 2020 12","authors":["Lior Yariv","Yoni Kasten","Dror Moran","Meirav Galun","Matan Atzmon","Ronen Basri","Yaron Lipman"],"abstract":"In this work we address the challenging problem of multiview 3D surface reconstruction. We introduce a neural network architecture that simultaneously learns the unknown geometry, camera parameters, and a neural renderer that approximates the light reflected from the surface towards the camera. The geometry is represented as a zero level-set of a neural network, while the neural renderer, derived from the rendering equation, is capable of (implicitly) modeling a wide set of lighting conditions and materials. We trained our network on real world 2D images of objects with different material properties, lighting conditions, and noisy camera initializations from the DTU MVS dataset. We found our model to produce state of the art 3D surface reconstructions with high fidelity, resolution and detail.","url_abs":"https://arxiv.org/abs/2003.09852v3","url_pdf":"https://arxiv.org/pdf/2003.09852v3.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":"universal-differentiable-renderer-for","repo_url":"https://github.com/lioryariv/idr","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"universal-differentiable-renderer-for","repo_url":"https://github.com/mli0603/blenderneuralangelo","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"universal-differentiable-renderer-for","repo_url":"https://github.com/vita-group/ins","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"3d-reconstruction","task_name":"3D Reconstruction"},{"task_slug":"3d-shape-representation","task_name":"3D Shape Representation"},{"task_slug":"surface-reconstruction","task_name":"Surface Reconstruction"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2003.09852","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2003.09852"}},"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/vita-group/ins","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lioryariv/idr","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mli0603/blenderneuralangelo","reach":{"status":"ok"}}],"summary":{"ran":1,"unverified":6},"by_repo_kind":{"official":{"samples":7,"ran":1,"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":"34bcb89c25dc2364","entry":"get_class","repo":"lioryariv/idr","repo_kind":"official","path":"code/utils/general.py","file_url":"https://github.com/lioryariv/idr/blob/HEAD/code/utils/general.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"34bcb89c25dc2364"}},{"code_sha256_prefix":"fd0d56ae41a495f5","entry":"get_Ps","repo":"lioryariv/idr","repo_kind":"official","path":"code/preprocess/preprocess_cameras.py","file_url":"https://github.com/lioryariv/idr/blob/HEAD/code/preprocess/preprocess_cameras.py","link_basis":"first_harvest_node","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":"fd0d56ae41a495f5"}},{"code_sha256_prefix":"40caf9fbfe050a14","entry":"get_embedder","repo":"lioryariv/idr","repo_kind":"official","path":"code/model/embedder.py","file_url":"https://github.com/lioryariv/idr/blob/HEAD/code/model/embedder.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":"40caf9fbfe050a14"}},{"code_sha256_prefix":"b683956a0e8e7bad","entry":"get_fundamental_matrix","repo":"lioryariv/idr","repo_kind":"official","path":"code/preprocess/preprocess_cameras.py","file_url":"https://github.com/lioryariv/idr/blob/HEAD/code/preprocess/preprocess_cameras.py","link_basis":"first_harvest_node","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":"b683956a0e8e7bad"}},{"code_sha256_prefix":"e06a4d503fdbfc20","entry":"get_min_max_d","repo":"lioryariv/idr","repo_kind":"official","path":"code/preprocess/preprocess_cameras.py","file_url":"https://github.com/lioryariv/idr/blob/HEAD/code/preprocess/preprocess_cameras.py","link_basis":"first_harvest_node","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":"e06a4d503fdbfc20"}},{"code_sha256_prefix":"7bfc82ae7b496ddd","entry":"glob_imgs","repo":"lioryariv/idr","repo_kind":"official","path":"code/utils/general.py","file_url":"https://github.com/lioryariv/idr/blob/HEAD/code/utils/general.py","link_basis":"first_harvest_node","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":"7bfc82ae7b496ddd"}},{"code_sha256_prefix":"2e01a20764c160f8","entry":"split_input","repo":"lioryariv/idr","repo_kind":"official","path":"code/utils/general.py","file_url":"https://github.com/lioryariv/idr/blob/HEAD/code/utils/general.py","link_basis":"first_harvest_node","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":"2e01a20764c160f8"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}