{"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/poco-point-convolution-for-surface","title":"POCO: Point Convolution for Surface Reconstruction","arxiv_id":"2201.01831","date":"2022-01-05","proceeding":"CVPR 2022 1","authors":["Alexandre Boulch","Renaud Marlet"],"abstract":"Implicit neural networks have been successfully used for surface reconstruction from point clouds. However, many of them face scalability issues as they encode the isosurface function of a whole object or scene into a single latent vector. To overcome this limitation, a few approaches infer latent vectors on a coarse regular 3D grid or on 3D patches, and interpolate them to answer occupancy queries. In doing so, they loose the direct connection with the input points sampled on the surface of objects, and they attach information uniformly in space rather than where it matters the most, i.e., near the surface. Besides, relying on fixed patch sizes may require discretization tuning. To address these issues, we propose to use point cloud convolutions and compute latent vectors at each input point. We then perform a learning-based interpolation on nearest neighbors using inferred weights. Experiments on both object and scene datasets show that our approach significantly outperforms other methods on most classical metrics, producing finer details and better reconstructing thinner volumes. The code is available at https://github.com/valeoai/POCO.","url_abs":"https://arxiv.org/abs/2201.01831v2","url_pdf":"https://arxiv.org/pdf/2201.01831v2.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":"poco-point-convolution-for-surface","repo_url":"https://github.com/valeoai/poco","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"3d-reconstruction","task_name":"3D Reconstruction"},{"task_slug":"surface-reconstruction","task_name":"Surface Reconstruction"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/3d-reconstruction-on-shapenet","task":"3D Reconstruction","dataset":"ShapeNet","model":"POCO","rank_in_archive_order":2,"of":8,"metrics":{"Chamfer Distance":"0.3","IoU":"92.6"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2201.01831","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2201.01831"}},"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/valeoai/poco","reach":null}],"summary":{"ran":1,"ran_fixture":2,"ran_violates":1,"unverified":2},"by_repo_kind":{"official":{"samples":6,"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":6,"samples":[{"code_sha256_prefix":"32a81631b5c34c11","entry":"ResidualBlock","repo":"valeoai/poco","repo_kind":"official","path":"networks/backbone/fkaconv_network.py","file_url":"https://github.com/valeoai/poco/blob/HEAD/networks/backbone/fkaconv_network.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"32a81631b5c34c11"}},{"code_sha256_prefix":"f508a6f1a1f7e71d","entry":"batch_gather","repo":"valeoai/poco","repo_kind":"official","path":"networks/backbone/fkaconv_network.py","file_url":"https://github.com/valeoai/poco/blob/HEAD/networks/backbone/fkaconv_network.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"f508a6f1a1f7e71d"}},{"code_sha256_prefix":"8ad43813422547b3","entry":"interpolate","repo":"valeoai/poco","repo_kind":"official","path":"networks/backbone/fkaconv_network.py","file_url":"https://github.com/valeoai/poco/blob/HEAD/networks/backbone/fkaconv_network.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"8ad43813422547b3"}},{"code_sha256_prefix":"edf6351fa6f2af76","entry":"knn","repo":"valeoai/poco","repo_kind":"official","path":"networks/backbone/fkaconv_network.py","file_url":"https://github.com/valeoai/poco/blob/HEAD/networks/backbone/fkaconv_network.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"edf6351fa6f2af76"}},{"code_sha256_prefix":"1a6a7c635e42dd2c","entry":"FKAConvNetwork","repo":"valeoai/poco","repo_kind":"official","path":"networks/backbone/fkaconv_network.py","file_url":"https://github.com/valeoai/poco/blob/HEAD/networks/backbone/fkaconv_network.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"1a6a7c635e42dd2c"}},{"code_sha256_prefix":"ecb657ef940d7aeb","entry":"max_pool","repo":"valeoai/poco","repo_kind":"official","path":"networks/backbone/fkaconv_network.py","file_url":"https://github.com/valeoai/poco/blob/HEAD/networks/backbone/fkaconv_network.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"ecb657ef940d7aeb"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}