{"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/masked-discrimination-for-self-supervised","title":"Masked Discrimination for Self-Supervised Learning on Point Clouds","arxiv_id":"2203.11183","date":"2022-03-21","proceeding":null,"authors":["Haotian Liu","Mu Cai","Yong Jae Lee"],"abstract":"Masked autoencoding has achieved great success for self-supervised learning in the image and language domains. However, mask based pretraining has yet to show benefits for point cloud understanding, likely due to standard backbones like PointNet being unable to properly handle the training versus testing distribution mismatch introduced by masking during training. In this paper, we bridge this gap by proposing a discriminative mask pretraining Transformer framework, MaskPoint}, for point clouds. Our key idea is to represent the point cloud as discrete occupancy values (1 if part of the point cloud; 0 if not), and perform simple binary classification between masked object points and sampled noise points as the proxy task. In this way, our approach is robust to the point sampling variance in point clouds, and facilitates learning rich representations. We evaluate our pretrained models across several downstream tasks, including 3D shape classification, segmentation, and real-word object detection, and demonstrate state-of-the-art results while achieving a significant pretraining speedup (e.g., 4.1x on ScanNet) compared to the prior state-of-the-art Transformer baseline. Code is available at https://github.com/haotian-liu/MaskPoint.","url_abs":"https://arxiv.org/abs/2203.11183v2","url_pdf":"https://arxiv.org/pdf/2203.11183v2.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":"masked-discrimination-for-self-supervised","repo_url":"https://github.com/haotian-liu/maskpoint","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"BSD-3-Clause"}},{"paper_slug":"masked-discrimination-for-self-supervised","repo_url":"https://github.com/wisconsinaivision/maskpoint","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"tasks":[{"task_slug":"3d-shape-retrieval","task_name":"3D Shape Classification"},{"task_slug":"binary-classification","task_name":"Binary Classification"},{"task_slug":"few-shot-3d-point-cloud-classification","task_name":"Few-Shot 3D Point Cloud Classification"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"self-supervised-learning","task_name":"Self-Supervised Learning"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[{"method_slug":"absolute-position-encodings","method_name":"Absolute Position Encodings"},{"method_slug":"adam","method_name":"Adam"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"bpe","method_name":"BPE"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"label-smoothing","method_name":"Label Smoothing"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"position-wise-feed-forward-layer","method_name":"Position-Wise Feed-Forward Layer"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"transformer","method_name":"Transformer"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/few-shot-3d-point-cloud-classification-on-3","task":"Few-Shot 3D Point Cloud Classification","dataset":"ModelNet40 10-way (10-shot)","model":"MaskPoint","rank_in_archive_order":17,"of":31,"metrics":{"Overall Accuracy":"91.4","Standard Deviation":"4.0"},"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":"MaskPoint","rank_in_archive_order":17,"of":31,"metrics":{"Overall Accuracy":"93.4","Standard Deviation":"3.5"},"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":"MaskPoint","rank_in_archive_order":16,"of":30,"metrics":{"Overall Accuracy":"95.0","Standard Deviation":"3.7"},"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":"MaskPoint","rank_in_archive_order":16,"of":30,"metrics":{"Overall Accuracy":"97.2","Standard Deviation":"1.7"},"uses_additional_data":true}],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2203.11183","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2203.11183"}},"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/haotian-liu/maskpoint","reach":{"status":"ok","spdx":"BSD-3-Clause"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/wisconsinaivision/maskpoint","reach":{"status":"ok","spdx":"BSD-3-Clause"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/haotian-liu/MaskPoint","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"summary":{"ran_honours":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":0,"samples":[{"code_sha256_prefix":"4783fbece52f500e","entry":"pc_normalize","repo":"haotian-liu/MaskPoint","repo_kind":"official","path":"datasets/ModelNetDataset.py","file_url":"https://github.com/haotian-liu/MaskPoint/blob/HEAD/datasets/ModelNetDataset.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"4783fbece52f500e"}},{"code_sha256_prefix":"f80066a00e7156a2","entry":"farthest_point_sample","repo":"haotian-liu/MaskPoint","repo_kind":"official","path":"datasets/ModelNetDataset.py","file_url":"https://github.com/haotian-liu/MaskPoint/blob/HEAD/datasets/ModelNetDataset.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"f80066a00e7156a2"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}