{"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/unsupervised-learning-of-fine-structure","title":"Unsupervised Learning of Fine Structure Generation for 3D Point Clouds by 2D Projection Matching","arxiv_id":"2108.03746","date":"2021-08-08","proceeding":null,"authors":["Chen Chao","Zhizhong Han","Yu-Shen Liu","Matthias Zwicker"],"abstract":"Learning to generate 3D point clouds without 3D supervision is an important but challenging problem. Current solutions leverage various differentiable renderers to project the generated 3D point clouds onto a 2D image plane, and train deep neural networks using the per-pixel difference with 2D ground truth images. However, these solutions are still struggling to fully recover fine structures of 3D shapes, such as thin tubes or planes. To resolve this issue, we propose an unsupervised approach for 3D point cloud generation with fine structures. Specifically, we cast 3D point cloud learning as a 2D projection matching problem. Rather than using entire 2D silhouette images as a regular pixel supervision, we introduce structure adaptive sampling to randomly sample 2D points within the silhouettes as an irregular point supervision, which alleviates the consistency issue of sampling from different view angles. Our method pushes the neural network to generate a 3D point cloud whose 2D projections match the irregular point supervision from different view angles. Our 2D projection matching approach enables the neural network to learn more accurate structure information than using the per-pixel difference, especially for fine and thin 3D structures. Our method can recover fine 3D structures from 2D silhouette images at different resolutions, and is robust to different sampling methods and point number in irregular point supervision. Our method outperforms others under widely used benchmarks. Our code, data and models are available at https://github.com/chenchao15/2D\\_projection\\_matching.","url_abs":"https://arxiv.org/abs/2108.03746v1","url_pdf":"https://arxiv.org/pdf/2108.03746v1.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":"unsupervised-learning-of-fine-structure","repo_url":"https://github.com/chenchao15/2d_projection_matching","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"point-cloud-generation","task_name":"Point Cloud Generation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2108.03746","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2108.03746"}},"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/chenchao15/2d_projection_matching","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":11},"by_repo_kind":{"official":{"samples":11,"ran":0,"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":"60ee93b1c66fab31","entry":"drc_loss","repo":"chenchao15/2d_projection_matching","repo_kind":"official","path":"2Dpm/util/losses.py","file_url":"https://github.com/chenchao15/2d_projection_matching/blob/HEAD/2Dpm/util/losses.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":"60ee93b1c66fab31"}},{"code_sha256_prefix":"c8f563881aa98dd4","entry":"drc_rgb_loss","repo":"chenchao15/2d_projection_matching","repo_kind":"official","path":"2Dpm/util/losses.py","file_url":"https://github.com/chenchao15/2d_projection_matching/blob/HEAD/2Dpm/util/losses.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":"c8f563881aa98dd4"}},{"code_sha256_prefix":"a69a6eb516926e21","entry":"edgeLength","repo":"chenchao15/2d_projection_matching","repo_kind":"official","path":"2Dpm/densify/utils.py","file_url":"https://github.com/chenchao15/2d_projection_matching/blob/HEAD/2Dpm/densify/utils.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":"a69a6eb516926e21"}},{"code_sha256_prefix":"8df602630b1c437a","entry":"get_dropout_prob","repo":"chenchao15/2d_projection_matching","repo_kind":"official","path":"2Dpm/models/models.py","file_url":"https://github.com/chenchao15/2d_projection_matching/blob/HEAD/2Dpm/models/models.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":"8df602630b1c437a"}},{"code_sha256_prefix":"6e6dd4087fa03641","entry":"get_smooth_sigma","repo":"chenchao15/2d_projection_matching","repo_kind":"official","path":"2Dpm/models/models.py","file_url":"https://github.com/chenchao15/2d_projection_matching/blob/HEAD/2Dpm/models/models.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":"6e6dd4087fa03641"}},{"code_sha256_prefix":"dade09e8e44b9b60","entry":"normalise_depthmap","repo":"chenchao15/2d_projection_matching","repo_kind":"official","path":"2Dpm/main/predict.py","file_url":"https://github.com/chenchao15/2d_projection_matching/blob/HEAD/2Dpm/main/predict.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":"dade09e8e44b9b60"}},{"code_sha256_prefix":"5db33295fea6d2a3","entry":"parseObj","repo":"chenchao15/2d_projection_matching","repo_kind":"official","path":"2Dpm/densify/utils.py","file_url":"https://github.com/chenchao15/2d_projection_matching/blob/HEAD/2Dpm/densify/utils.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":"5db33295fea6d2a3"}},{"code_sha256_prefix":"dd16754ef3053ae3","entry":"pool_single_view","repo":"chenchao15/2d_projection_matching","repo_kind":"official","path":"2Dpm/data_preprocessor/data_preprocessor.py","file_url":"https://github.com/chenchao15/2d_projection_matching/blob/HEAD/2Dpm/data_preprocessor/data_preprocessor.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":"dd16754ef3053ae3"}},{"code_sha256_prefix":"eecdb72ca340d002","entry":"regularization_loss","repo":"chenchao15/2d_projection_matching","repo_kind":"official","path":"2Dpm/util/losses.py","file_url":"https://github.com/chenchao15/2d_projection_matching/blob/HEAD/2Dpm/util/losses.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":"eecdb72ca340d002"}},{"code_sha256_prefix":"d9800bc5370d0352","entry":"removeWeirdDuplicate","repo":"chenchao15/2d_projection_matching","repo_kind":"official","path":"2Dpm/densify/utils.py","file_url":"https://github.com/chenchao15/2d_projection_matching/blob/HEAD/2Dpm/densify/utils.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":"d9800bc5370d0352"}},{"code_sha256_prefix":"5614bddbbf44e931","entry":"tf_repeat_0","repo":"chenchao15/2d_projection_matching","repo_kind":"official","path":"2Dpm/models/models.py","file_url":"https://github.com/chenchao15/2d_projection_matching/blob/HEAD/2Dpm/models/models.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":"5614bddbbf44e931"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}