{"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/crosspoint-self-supervised-cross-modal","title":"CrossPoint: Self-Supervised Cross-Modal Contrastive Learning for 3D Point Cloud Understanding","arxiv_id":"2203.00680","date":"2022-03-01","proceeding":"CVPR 2022 1","authors":["Mohamed Afham","Isuru Dissanayake","Dinithi Dissanayake","Amaya Dharmasiri","Kanchana Thilakarathna","Ranga Rodrigo"],"abstract":"Manual annotation of large-scale point cloud dataset for varying tasks such as 3D object classification, segmentation and detection is often laborious owing to the irregular structure of point clouds. Self-supervised learning, which operates without any human labeling, is a promising approach to address this issue. We observe in the real world that humans are capable of mapping the visual concepts learnt from 2D images to understand the 3D world. Encouraged by this insight, we propose CrossPoint, a simple cross-modal contrastive learning approach to learn transferable 3D point cloud representations. It enables a 3D-2D correspondence of objects by maximizing agreement between point clouds and the corresponding rendered 2D image in the invariant space, while encouraging invariance to transformations in the point cloud modality. Our joint training objective combines the feature correspondences within and across modalities, thus ensembles a rich learning signal from both 3D point cloud and 2D image modalities in a self-supervised fashion. Experimental results show that our approach outperforms the previous unsupervised learning methods on a diverse range of downstream tasks including 3D object classification and segmentation. Further, the ablation studies validate the potency of our approach for a better point cloud understanding. Code and pretrained models are available at http://github.com/MohamedAfham/CrossPoint.","url_abs":"https://arxiv.org/abs/2203.00680v3","url_pdf":"https://arxiv.org/pdf/2203.00680v3.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":"crosspoint-self-supervised-cross-modal","repo_url":"https://github.com/mohamedafham/crosspoint","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"3d-object-classification","task_name":"3D Object Classification"},{"task_slug":"3d-point-cloud-linear-classification","task_name":"3D Point Cloud Linear Classification"},{"task_slug":"contrastive-learning","task_name":"Contrastive Learning"},{"task_slug":"few-shot-3d-point-cloud-classification","task_name":"Few-Shot 3D Point Cloud Classification"},{"task_slug":"self-supervised-learning","task_name":"Self-Supervised Learning"}],"methods":[{"method_slug":"contrastive-learning","method_name":"Contrastive Learning"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/3d-point-cloud-linear-classification-on","task":"3D Point Cloud Linear Classification","dataset":"ModelNet40","model":"CrossPoint","rank_in_archive_order":9,"of":20,"metrics":{"Overall Accuracy":"91.2"},"uses_additional_data":true},{"leaderboard":"/sota/3d-point-cloud-linear-classification-on-1","task":"3D Point Cloud Linear Classification","dataset":"ScanObjectNN","model":"CrossPoint","rank_in_archive_order":3,"of":4,"metrics":{"Overall Accuracy":"81.7"},"uses_additional_data":false},{"leaderboard":"/sota/few-shot-3d-point-cloud-classification-on-6","task":"Few-Shot 3D Point Cloud Classification","dataset":"ScanObjectNN 10-way (10-shot)","model":"CrossPoint","rank_in_archive_order":2,"of":3,"metrics":{"Overall Accuracy":"62.9"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2203.00680","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2203.00680"}},"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/mohamedafham/crosspoint","reach":null}],"summary":{"ran":1,"unverified":1},"by_repo_kind":{"official":{"samples":2,"ran":1,"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":2,"samples":[{"code_sha256_prefix":"ff36bebad2093a05","entry":"DGCNN","repo":"mohamedafham/crosspoint","repo_kind":"official","path":"models/dgcnn.py","file_url":"https://github.com/mohamedafham/crosspoint/blob/HEAD/models/dgcnn.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ff36bebad2093a05"}},{"code_sha256_prefix":"4869b05ab4c6b80d","entry":"get_graph_feature","repo":"mohamedafham/crosspoint","repo_kind":"official","path":"models/dgcnn.py","file_url":"https://github.com/mohamedafham/crosspoint/blob/HEAD/models/dgcnn.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4869b05ab4c6b80d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}