{"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/point-set-distances-for-learning","title":"Point-set Distances for Learning Representations of 3D Point Clouds","arxiv_id":"2102.04014","date":"2021-02-08","proceeding":"ICCV 2021 10","authors":["Trung Nguyen","Quang-Hieu Pham","Tam Le","Tung Pham","Nhat Ho","Binh-Son Hua"],"abstract":"Learning an effective representation of 3D point clouds requires a good metric to measure the discrepancy between two 3D point sets, which is non-trivial due to their irregularity. Most of the previous works resort to using the Chamfer discrepancy or Earth Mover's distance, but those metrics are either ineffective in measuring the differences between point clouds or computationally expensive. In this paper, we conduct a systematic study with extensive experiments on distance metrics for 3D point clouds. From this study, we propose to use sliced Wasserstein distance and its variants for learning representations of 3D point clouds. In addition, we introduce a new algorithm to estimate sliced Wasserstein distance that guarantees that the estimated value is close enough to the true one. Experiments show that the sliced Wasserstein distance and its variants allow the neural network to learn a more efficient representation compared to the Chamfer discrepancy. We demonstrate the efficiency of the sliced Wasserstein metric and its variants on several tasks in 3D computer vision including training a point cloud autoencoder, generative modeling, transfer learning, and point cloud registration.","url_abs":"https://arxiv.org/abs/2102.04014v2","url_pdf":"https://arxiv.org/pdf/2102.04014v2.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":"point-set-distances-for-learning","repo_url":"https://github.com/VinAIResearch/PointSWD","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"point-cloud-registration","task_name":"Point Cloud Registration"},{"task_slug":"transfer-learning","task_name":"Transfer Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2102.04014","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2102.04014"}},"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/VinAIResearch/PointSWD","reach":null}],"summary":{"ran":1,"ran_draft_wrong":1,"ran_honours":1},"by_repo_kind":{"official":{"samples":3,"ran":3,"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":"b7e0064ee454cc89","entry":"SWD","repo":"VinAIResearch/PointSWD","repo_kind":"official","path":"loss/sw_variants.py","file_url":"https://github.com/VinAIResearch/PointSWD/blob/HEAD/loss/sw_variants.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"b7e0064ee454cc89"}},{"code_sha256_prefix":"f8dd0adb5a8aaec8","entry":"compute_practical_moments_sw","repo":"VinAIResearch/PointSWD","repo_kind":"official","path":"loss/sw_variants.py","file_url":"https://github.com/VinAIResearch/PointSWD/blob/HEAD/loss/sw_variants.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":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"f8dd0adb5a8aaec8"}},{"code_sha256_prefix":"fef8eba76ffc019d","entry":"minibatch_rand_projections","repo":"VinAIResearch/PointSWD","repo_kind":"official","path":"loss/sw_variants.py","file_url":"https://github.com/VinAIResearch/PointSWD/blob/HEAD/loss/sw_variants.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"fef8eba76ffc019d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}