{"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/shape-as-points-a-differentiable-poisson","title":"Shape As Points: A Differentiable Poisson Solver","arxiv_id":"2106.03452","date":"2021-06-07","proceeding":"NeurIPS 2021 12","authors":["Songyou Peng","Chiyu \"Max\" Jiang","Yiyi Liao","Michael Niemeyer","Marc Pollefeys","Andreas Geiger"],"abstract":"In recent years, neural implicit representations gained popularity in 3D reconstruction due to their expressiveness and flexibility. However, the implicit nature of neural implicit representations results in slow inference time and requires careful initialization. In this paper, we revisit the classic yet ubiquitous point cloud representation and introduce a differentiable point-to-mesh layer using a differentiable formulation of Poisson Surface Reconstruction (PSR) that allows for a GPU-accelerated fast solution of the indicator function given an oriented point cloud. The differentiable PSR layer allows us to efficiently and differentiably bridge the explicit 3D point representation with the 3D mesh via the implicit indicator field, enabling end-to-end optimization of surface reconstruction metrics such as Chamfer distance. This duality between points and meshes hence allows us to represent shapes as oriented point clouds, which are explicit, lightweight and expressive. Compared to neural implicit representations, our Shape-As-Points (SAP) model is more interpretable, lightweight, and accelerates inference time by one order of magnitude. Compared to other explicit representations such as points, patches, and meshes, SAP produces topology-agnostic, watertight manifold surfaces. We demonstrate the effectiveness of SAP on the task of surface reconstruction from unoriented point clouds and learning-based reconstruction.","url_abs":"https://arxiv.org/abs/2106.03452v2","url_pdf":"https://arxiv.org/pdf/2106.03452v2.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":"shape-as-points-a-differentiable-poisson","repo_url":"https://github.com/autonomousvision/shape_as_points","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"shape-as-points-a-differentiable-poisson","repo_url":"https://github.com/qizekun/vpp","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"3d-reconstruction","task_name":"3D Reconstruction"},{"task_slug":null,"task_name":"GPU"},{"task_slug":"surface-reconstruction","task_name":"Surface Reconstruction"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2106.03452","atlas_url":"https://app.syntology.ai/?focus=2106.03452","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2106.03452"}},"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":"deterministic:regex_extraction","url":"https://github.com/autonomousvision/shape_as_points","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/qizekun/vpp","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_fixture":5,"ran_draft_wrong":1,"unverified":1},"by_repo_kind":{"official":{"samples":7,"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":0,"samples":[{"code_sha256_prefix":"f3d59c152a2c3d9d","entry":"fftfreqs","repo":"autonomousvision/shape_as_points","repo_kind":"official","path":"src/dpsr.py","file_url":"https://github.com/autonomousvision/shape_as_points/blob/HEAD/src/dpsr.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f3d59c152a2c3d9d"}},{"code_sha256_prefix":"591a3ae32bfd5a7e","entry":"grid_interp","repo":"autonomousvision/shape_as_points","repo_kind":"official","path":"src/dpsr.py","file_url":"https://github.com/autonomousvision/shape_as_points/blob/HEAD/src/dpsr.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"591a3ae32bfd5a7e"}},{"code_sha256_prefix":"d77c3b9fe4c2a271","entry":"img","repo":"autonomousvision/shape_as_points","repo_kind":"official","path":"src/dpsr.py","file_url":"https://github.com/autonomousvision/shape_as_points/blob/HEAD/src/dpsr.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d77c3b9fe4c2a271"}},{"code_sha256_prefix":"5938f95ef3a36917","entry":"point_rasterize","repo":"autonomousvision/shape_as_points","repo_kind":"official","path":"src/dpsr.py","file_url":"https://github.com/autonomousvision/shape_as_points/blob/HEAD/src/dpsr.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5938f95ef3a36917"}},{"code_sha256_prefix":"1faee68fe4b27869","entry":"scatter_to_grid","repo":"autonomousvision/shape_as_points","repo_kind":"official","path":"src/dpsr.py","file_url":"https://github.com/autonomousvision/shape_as_points/blob/HEAD/src/dpsr.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1faee68fe4b27869"}},{"code_sha256_prefix":"02fc59bb2d9cabd8","entry":"spec_gaussian_filter","repo":"autonomousvision/shape_as_points","repo_kind":"official","path":"src/dpsr.py","file_url":"https://github.com/autonomousvision/shape_as_points/blob/HEAD/src/dpsr.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"02fc59bb2d9cabd8"}},{"code_sha256_prefix":"33eaba0ca11be07d","entry":"DPSR","repo":"autonomousvision/shape_as_points","repo_kind":"official","path":"src/dpsr.py","file_url":"https://github.com/autonomousvision/shape_as_points/blob/HEAD/src/dpsr.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":"33eaba0ca11be07d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}