{"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/snowflakenet-point-cloud-completion-by","title":"SnowflakeNet: Point Cloud Completion by Snowflake Point Deconvolution with Skip-Transformer","arxiv_id":"2108.04444","date":"2021-08-10","proceeding":"ICCV 2021 10","authors":["Peng Xiang","Xin Wen","Yu-Shen Liu","Yan-Pei Cao","Pengfei Wan","Wen Zheng","Zhizhong Han"],"abstract":"Point cloud completion aims to predict a complete shape in high accuracy from its partial observation. However, previous methods usually suffered from discrete nature of point cloud and unstructured prediction of points in local regions, which makes it hard to reveal fine local geometric details on the complete shape. To resolve this issue, we propose SnowflakeNet with Snowflake Point Deconvolution (SPD) to generate the complete point clouds. The SnowflakeNet models the generation of complete point clouds as the snowflake-like growth of points in 3D space, where the child points are progressively generated by splitting their parent points after each SPD. Our insight of revealing detailed geometry is to introduce skip-transformer in SPD to learn point splitting patterns which can fit local regions the best. Skip-transformer leverages attention mechanism to summarize the splitting patterns used in the previous SPD layer to produce the splitting in the current SPD layer. The locally compact and structured point cloud generated by SPD is able to precisely capture the structure characteristic of 3D shape in local patches, which enables the network to predict highly detailed geometries, such as smooth regions, sharp edges and corners. Our experimental results outperform the state-of-the-art point cloud completion methods under widely used benchmarks. Code will be available at https://github.com/AllenXiangX/SnowflakeNet.","url_abs":"https://arxiv.org/abs/2108.04444v2","url_pdf":"https://arxiv.org/pdf/2108.04444v2.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":"snowflakenet-point-cloud-completion-by","repo_url":"https://github.com/allenxiangx/snowflakenet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"snowflakenet-point-cloud-completion-by","repo_url":"https://github.com/yuxumin/PoinTr","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"point-cloud-completion","task_name":"Point Cloud Completion"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2108.04444","atlas_url":"https://app.syntology.ai/?focus=2108.04444","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2108.04444"}},"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":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yuxumin/PoinTr","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/allenxiangx/snowflakenet","reach":null}],"summary":{"ran":6,"ran_fixture":2,"unverified":8},"by_repo_kind":{"official":{"samples":16,"ran":8,"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":"2f63e227a64d6745","entry":"Conv2d","repo":"allenxiangx/snowflakenet","repo_kind":"official","path":"models/model_completion.py","file_url":"https://github.com/allenxiangx/snowflakenet/blob/HEAD/models/model_completion.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2f63e227a64d6745"}},{"code_sha256_prefix":"f70e6d503b13d807","entry":"GroupingOperation","repo":"allenxiangx/snowflakenet","repo_kind":"official","path":"models/model_completion.py","file_url":"https://github.com/allenxiangx/snowflakenet/blob/HEAD/models/model_completion.py","link_basis":"first_harvest_node","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":"f70e6d503b13d807"}},{"code_sha256_prefix":"fc0f3868f0f5e2dc","entry":"MLP_CONV","repo":"allenxiangx/snowflakenet","repo_kind":"official","path":"models/model_completion.py","file_url":"https://github.com/allenxiangx/snowflakenet/blob/HEAD/models/model_completion.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fc0f3868f0f5e2dc"}},{"code_sha256_prefix":"7e63e6b3d37f1fc5","entry":"MLP_Res","repo":"allenxiangx/snowflakenet","repo_kind":"official","path":"models/model_completion.py","file_url":"https://github.com/allenxiangx/snowflakenet/blob/HEAD/models/model_completion.py","link_basis":"first_harvest_node","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":"7e63e6b3d37f1fc5"}},{"code_sha256_prefix":"8c6b827a90bafd04","entry":"SeedGenerator","repo":"allenxiangx/snowflakenet","repo_kind":"official","path":"models/model_completion.py","file_url":"https://github.com/allenxiangx/snowflakenet/blob/HEAD/models/model_completion.py","link_basis":"first_harvest_node","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":"8c6b827a90bafd04"}},{"code_sha256_prefix":"fd5f8b21108ac85d","entry":"Transformer","repo":"allenxiangx/snowflakenet","repo_kind":"official","path":"models/model_completion.py","file_url":"https://github.com/allenxiangx/snowflakenet/blob/HEAD/models/model_completion.py","link_basis":"first_harvest_node","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":"fd5f8b21108ac85d"}},{"code_sha256_prefix":"1825be6622bab350","entry":"query_knn","repo":"allenxiangx/snowflakenet","repo_kind":"official","path":"models/model_completion.py","file_url":"https://github.com/allenxiangx/snowflakenet/blob/HEAD/models/model_completion.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":"1825be6622bab350"}},{"code_sha256_prefix":"225a2727f042aed0","entry":"sample_and_group_all","repo":"allenxiangx/snowflakenet","repo_kind":"official","path":"models/model_completion.py","file_url":"https://github.com/allenxiangx/snowflakenet/blob/HEAD/models/model_completion.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":"225a2727f042aed0"}},{"code_sha256_prefix":"0a99aea4e840a926","entry":"Decoder","repo":"allenxiangx/snowflakenet","repo_kind":"official","path":"models/model_completion.py","file_url":"https://github.com/allenxiangx/snowflakenet/blob/HEAD/models/model_completion.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":"0a99aea4e840a926"}},{"code_sha256_prefix":"82dceaabbaab2c0a","entry":"FeatureExtractor","repo":"allenxiangx/snowflakenet","repo_kind":"official","path":"models/model_completion.py","file_url":"https://github.com/allenxiangx/snowflakenet/blob/HEAD/models/model_completion.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":"82dceaabbaab2c0a"}},{"code_sha256_prefix":"abb99d2a4bd1907b","entry":"PointNet_SA_Module_KNN","repo":"allenxiangx/snowflakenet","repo_kind":"official","path":"models/model_completion.py","file_url":"https://github.com/allenxiangx/snowflakenet/blob/HEAD/models/model_completion.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":"abb99d2a4bd1907b"}},{"code_sha256_prefix":"f3ee8ff6841550bf","entry":"SPD","repo":"allenxiangx/snowflakenet","repo_kind":"official","path":"models/model_completion.py","file_url":"https://github.com/allenxiangx/snowflakenet/blob/HEAD/models/model_completion.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":"f3ee8ff6841550bf"}},{"code_sha256_prefix":"bb507e17130cae13","entry":"SkipTransformer","repo":"allenxiangx/snowflakenet","repo_kind":"official","path":"models/model_completion.py","file_url":"https://github.com/allenxiangx/snowflakenet/blob/HEAD/models/model_completion.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":"bb507e17130cae13"}},{"code_sha256_prefix":"5d0a9b936733a9c1","entry":"SnowflakeNet","repo":"allenxiangx/snowflakenet","repo_kind":"official","path":"models/model_completion.py","file_url":"https://github.com/allenxiangx/snowflakenet/blob/HEAD/models/model_completion.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":"5d0a9b936733a9c1"}},{"code_sha256_prefix":"d3d80aea07d1820a","entry":"fps_subsample","repo":"allenxiangx/snowflakenet","repo_kind":"official","path":"models/model_completion.py","file_url":"https://github.com/allenxiangx/snowflakenet/blob/HEAD/models/model_completion.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":"d3d80aea07d1820a"}},{"code_sha256_prefix":"9eddf08ec6587edd","entry":"sample_and_group_knn","repo":"allenxiangx/snowflakenet","repo_kind":"official","path":"models/model_completion.py","file_url":"https://github.com/allenxiangx/snowflakenet/blob/HEAD/models/model_completion.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":"9eddf08ec6587edd"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}