{"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/neat-learning-neural-implicit-surfaces-with","title":"NeAT: Learning Neural Implicit Surfaces with Arbitrary Topologies from Multi-view Images","arxiv_id":"2303.12012","date":"2023-03-21","proceeding":"CVPR 2023 1","authors":["Xiaoxu Meng","Weikai Chen","Bo Yang"],"abstract":"Recent progress in neural implicit functions has set new state-of-the-art in reconstructing high-fidelity 3D shapes from a collection of images. However, these approaches are limited to closed surfaces as they require the surface to be represented by a signed distance field. In this paper, we propose NeAT, a new neural rendering framework that can learn implicit surfaces with arbitrary topologies from multi-view images. In particular, NeAT represents the 3D surface as a level set of a signed distance function (SDF) with a validity branch for estimating the surface existence probability at the query positions. We also develop a novel neural volume rendering method, which uses SDF and validity to calculate the volume opacity and avoids rendering points with low validity. NeAT supports easy field-to-mesh conversion using the classic Marching Cubes algorithm. Extensive experiments on DTU, MGN, and Deep Fashion 3D datasets indicate that our approach is able to faithfully reconstruct both watertight and non-watertight surfaces. In particular, NeAT significantly outperforms the state-of-the-art methods in the task of open surface reconstruction both quantitatively and qualitatively.","url_abs":"https://arxiv.org/abs/2303.12012v1","url_pdf":"https://arxiv.org/pdf/2303.12012v1.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":"neat-learning-neural-implicit-surfaces-with","repo_url":"https://github.com/xmeng525/NeAT","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"neural-rendering","task_name":"Neural Rendering"},{"task_slug":"surface-reconstruction","task_name":"Surface Reconstruction"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2303.12012","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2303.12012"}},"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/xmeng525/NeAT","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":1,"unverified":9},"by_repo_kind":{"official":{"samples":10,"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":"bb0e12df9c0d2a05","entry":"get_embedder","repo":"xmeng525/NeAT","repo_kind":"official","path":"models/embedder.py","file_url":"https://github.com/xmeng525/NeAT/blob/HEAD/models/embedder.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bb0e12df9c0d2a05"}},{"code_sha256_prefix":"c3422de397b2766c","entry":"extract_fields","repo":"xmeng525/NeAT","repo_kind":"official","path":"models/renderer.py","file_url":"https://github.com/xmeng525/NeAT/blob/HEAD/models/renderer.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":"c3422de397b2766c"}},{"code_sha256_prefix":"e1ca3ad555a6a160","entry":"generate_cam_positions","repo":"xmeng525/NeAT","repo_kind":"official","path":"data_generation/render_pc.py","file_url":"https://github.com/xmeng525/NeAT/blob/HEAD/data_generation/render_pc.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":"e1ca3ad555a6a160"}},{"code_sha256_prefix":"860258054d757c13","entry":"generate_scale_mat","repo":"xmeng525/NeAT","repo_kind":"official","path":"data_generation/render_pc.py","file_url":"https://github.com/xmeng525/NeAT/blob/HEAD/data_generation/render_pc.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":"860258054d757c13"}},{"code_sha256_prefix":"00797100cfd918f4","entry":"getModelViewMatrix","repo":"xmeng525/NeAT","repo_kind":"official","path":"data_generation/cam_utils.py","file_url":"https://github.com/xmeng525/NeAT/blob/HEAD/data_generation/cam_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":"00797100cfd918f4"}},{"code_sha256_prefix":"ded05e783b37fc4d","entry":"getPinHoleMatrix","repo":"xmeng525/NeAT","repo_kind":"official","path":"data_generation/cam_utils.py","file_url":"https://github.com/xmeng525/NeAT/blob/HEAD/data_generation/cam_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":"ded05e783b37fc4d"}},{"code_sha256_prefix":"69986a1a9ebdac78","entry":"load_K_Rt_from_P","repo":"xmeng525/NeAT","repo_kind":"official","path":"models/dataset.py","file_url":"https://github.com/xmeng525/NeAT/blob/HEAD/models/dataset.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":"69986a1a9ebdac78"}},{"code_sha256_prefix":"a3ba2d7efec77ee5","entry":"normalize","repo":"xmeng525/NeAT","repo_kind":"official","path":"data_generation/cam_utils.py","file_url":"https://github.com/xmeng525/NeAT/blob/HEAD/data_generation/cam_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":"a3ba2d7efec77ee5"}},{"code_sha256_prefix":"418e1658c345c43a","entry":"read_ply_xyzrgb","repo":"xmeng525/NeAT","repo_kind":"official","path":"data_generation/render_pc.py","file_url":"https://github.com/xmeng525/NeAT/blob/HEAD/data_generation/render_pc.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":"418e1658c345c43a"}},{"code_sha256_prefix":"ffb7dd9ebf9adab7","entry":"remove_nan_from_mesh","repo":"xmeng525/NeAT","repo_kind":"official","path":"models/mesh_utils.py","file_url":"https://github.com/xmeng525/NeAT/blob/HEAD/models/mesh_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":"ffb7dd9ebf9adab7"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}