{"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/point2vec-for-self-supervised-representation","title":"Point2Vec for Self-Supervised Representation Learning on Point Clouds","arxiv_id":"2303.16570","date":"2023-03-29","proceeding":null,"authors":["Karim Abou Zeid","Jonas Schult","Alexander Hermans","Bastian Leibe"],"abstract":"Recently, the self-supervised learning framework data2vec has shown inspiring performance for various modalities using a masked student-teacher approach. However, it remains open whether such a framework generalizes to the unique challenges of 3D point clouds. To answer this question, we extend data2vec to the point cloud domain and report encouraging results on several downstream tasks. In an in-depth analysis, we discover that the leakage of positional information reveals the overall object shape to the student even under heavy masking and thus hampers data2vec to learn strong representations for point clouds. We address this 3D-specific shortcoming by proposing point2vec, which unleashes the full potential of data2vec-like pre-training on point clouds. Our experiments show that point2vec outperforms other self-supervised methods on shape classification and few-shot learning on ModelNet40 and ScanObjectNN, while achieving competitive results on part segmentation on ShapeNetParts. These results suggest that the learned representations are strong and transferable, highlighting point2vec as a promising direction for self-supervised learning of point cloud representations.","url_abs":"https://arxiv.org/abs/2303.16570v2","url_pdf":"https://arxiv.org/pdf/2303.16570v2.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":"point2vec-for-self-supervised-representation","repo_url":"https://github.com/kabouzeid/point2vec","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"3d-part-segmentation","task_name":"3D Part Segmentation"},{"task_slug":"3d-point-cloud-classification","task_name":"3D Point Cloud Classification"},{"task_slug":"few-shot-3d-point-cloud-classification","task_name":"Few-Shot 3D Point Cloud Classification"},{"task_slug":"few-shot-learning","task_name":"Few-Shot Learning"},{"task_slug":"representation-learning","task_name":"Representation Learning"},{"task_slug":"self-supervised-learning","task_name":"Self-Supervised Learning"}],"methods":[{"method_slug":"adam","method_name":"Adam"},{"method_slug":"label-smoothing","method_name":"Label Smoothing"},{"method_slug":"transformer","method_name":"Transformer"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/3d-part-segmentation-on-shapenet-part","task":"3D Part Segmentation","dataset":"ShapeNet-Part","model":"point2vec","rank_in_archive_order":30,"of":67,"metrics":{"Class Average IoU":"84.6","Instance Average IoU":"86.3"},"uses_additional_data":true},{"leaderboard":"/sota/3d-point-cloud-classification-on-modelnet40","task":"3D Point Cloud Classification","dataset":"ModelNet40","model":"point2vec","rank_in_archive_order":5,"of":111,"metrics":{"Mean Accuracy":"92.0","Overall Accuracy":"94.8"},"uses_additional_data":true},{"leaderboard":"/sota/3d-point-cloud-classification-on-scanobjectnn","task":"3D Point Cloud Classification","dataset":"ScanObjectNN","model":"point2vec","rank_in_archive_order":43,"of":77,"metrics":{"Mean Accuracy":"86.0","OBJ-BG (OA)":"91.2","OBJ-ONLY (OA)":"90.4","Overall Accuracy":"87.5"},"uses_additional_data":true},{"leaderboard":"/sota/few-shot-3d-point-cloud-classification-on-3","task":"Few-Shot 3D Point Cloud Classification","dataset":"ModelNet40 10-way (10-shot)","model":"point2vec","rank_in_archive_order":6,"of":31,"metrics":{"Overall Accuracy":"93.9","Standard Deviation":"4.1"},"uses_additional_data":true},{"leaderboard":"/sota/few-shot-3d-point-cloud-classification-on-4","task":"Few-Shot 3D Point Cloud Classification","dataset":"ModelNet40 10-way (20-shot)","model":"point2vec","rank_in_archive_order":8,"of":31,"metrics":{"Overall Accuracy":"95.8","Standard Deviation":"3.1"},"uses_additional_data":true},{"leaderboard":"/sota/few-shot-3d-point-cloud-classification-on-1","task":"Few-Shot 3D Point Cloud Classification","dataset":"ModelNet40 5-way (10-shot)","model":"point2vec","rank_in_archive_order":12,"of":30,"metrics":{"Overall Accuracy":"97.0","Standard Deviation":"2.8"},"uses_additional_data":true},{"leaderboard":"/sota/few-shot-3d-point-cloud-classification-on-2","task":"Few-Shot 3D Point Cloud Classification","dataset":"ModelNet40 5-way (20-shot)","model":"point2vec","rank_in_archive_order":7,"of":30,"metrics":{"Overall Accuracy":"98.7","Standard Deviation":"1.2"},"uses_additional_data":true}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2303.16570","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2303.16570"}},"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/kabouzeid/point2vec","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_fixture":1,"ran":1,"ran_violates":2,"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":0,"samples":[{"code_sha256_prefix":"449a0265144f6530","entry":"index_points","repo":"kabouzeid/point2vec","repo_kind":"official","path":"point2vec/modules/feature_upsampling.py","file_url":"https://github.com/kabouzeid/point2vec/blob/HEAD/point2vec/modules/feature_upsampling.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":2,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"449a0265144f6530"}},{"code_sha256_prefix":"e907f76525778206","entry":"clamp","repo":"kabouzeid/point2vec","repo_kind":"official","path":"point2vec/modules/EMA.py","file_url":"https://github.com/kabouzeid/point2vec/blob/HEAD/point2vec/modules/EMA.py","link_basis":"harvester_set","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":"e907f76525778206"}},{"code_sha256_prefix":"aa5486a3650902d8","entry":"exists","repo":"kabouzeid/point2vec","repo_kind":"official","path":"point2vec/modules/EMA.py","file_url":"https://github.com/kabouzeid/point2vec/blob/HEAD/point2vec/modules/EMA.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"aa5486a3650902d8"}},{"code_sha256_prefix":"1ed19b773b317db5","entry":"is_float_dtype","repo":"kabouzeid/point2vec","repo_kind":"official","path":"point2vec/modules/EMA.py","file_url":"https://github.com/kabouzeid/point2vec/blob/HEAD/point2vec/modules/EMA.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1ed19b773b317db5"}},{"code_sha256_prefix":"7c65eabf6aaf709d","entry":"fill_empty_indices","repo":"kabouzeid/point2vec","repo_kind":"official","path":"point2vec/modules/pointnet.py","file_url":"https://github.com/kabouzeid/point2vec/blob/HEAD/point2vec/modules/pointnet.py","link_basis":"harvester_set","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":"7c65eabf6aaf709d"}},{"code_sha256_prefix":"6ddec81b1d23c787","entry":"square_distance","repo":"kabouzeid/point2vec","repo_kind":"official","path":"point2vec/modules/feature_upsampling.py","file_url":"https://github.com/kabouzeid/point2vec/blob/HEAD/point2vec/modules/feature_upsampling.py","link_basis":"harvester_set","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":"6ddec81b1d23c787"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}