{"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/ri-mae-rotation-invariant-masked-autoencoders","title":"RI-MAE: Rotation-Invariant Masked AutoEncoders for Self-Supervised Point Cloud Representation Learning","arxiv_id":"2409.00353","date":"2024-08-31","proceeding":null,"authors":["Kunming Su","Qiuxia Wu","Panpan Cai","Xiaogang Zhu","Xuequan Lu","Zhiyong Wang","Kun Hu"],"abstract":"Masked point modeling methods have recently achieved great success in self-supervised learning for point cloud data. However, these methods are sensitive to rotations and often exhibit sharp performance drops when encountering rotational variations. In this paper, we propose a novel Rotation-Invariant Masked AutoEncoders (RI-MAE) to address two major challenges: 1) achieving rotation-invariant latent representations, and 2) facilitating self-supervised reconstruction in a rotation-invariant manner. For the first challenge, we introduce RI-Transformer, which features disentangled geometry content, rotation-invariant relative orientation and position embedding mechanisms for constructing rotation-invariant point cloud latent space. For the second challenge, a novel dual-branch student-teacher architecture is devised. It enables the self-supervised learning via the reconstruction of masked patches within the learned rotation-invariant latent space. Each branch is based on an RI-Transformer, and they are connected with an additional RI-Transformer predictor. The teacher encodes all point patches, while the student solely encodes unmasked ones. Finally, the predictor predicts the latent features of the masked patches using the output latent embeddings from the student, supervised by the outputs from the teacher. Extensive experiments demonstrate that our method is robust to rotations, achieving the state-of-the-art performance on various downstream tasks. Our code is available at https://github.com/kunmingsu07/RI-MAE.","url_abs":"https://arxiv.org/abs/2409.00353v2","url_pdf":"https://arxiv.org/pdf/2409.00353v2.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":"ri-mae-rotation-invariant-masked-autoencoders","repo_url":"https://github.com/kunmingsu07/ri-mae","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"representation-learning","task_name":"Representation Learning"},{"task_slug":"self-supervised-learning","task_name":"Self-Supervised Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2409.00353","atlas_url":"https://app.syntology.ai/?focus=2409.00353","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2409.00353"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/kunmingsu07/ri-mae","reach":{"status":"ok"}}],"summary":{"ran":2,"ran_honours":2,"ran_fixture":1,"unverified":2},"by_repo_kind":{"official":{"samples":7,"ran":5,"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":7,"samples":[{"code_sha256_prefix":"f80066a00e7156a2","entry":"farthest_point_sample","repo":"kunmingsu07/ri-mae","repo_kind":"official","path":"datasets/ModelNetDataset.py","file_url":"https://github.com/kunmingsu07/ri-mae/blob/HEAD/datasets/ModelNetDataset.py","link_basis":"harvester_set","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":"f80066a00e7156a2"}},{"code_sha256_prefix":"4783fbece52f500e","entry":"pc_normalize","repo":"kunmingsu07/ri-mae","repo_kind":"official","path":"datasets/ModelNetDataset.py","file_url":"https://github.com/kunmingsu07/ri-mae/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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4783fbece52f500e"}},{"code_sha256_prefix":"ec413739d406e611","entry":"pc_normalize","repo":"kunmingsu07/ri-mae","repo_kind":"official","path":"models/util_models.py","file_url":"https://github.com/kunmingsu07/ri-mae/blob/HEAD/models/util_models.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ec413739d406e611"}},{"code_sha256_prefix":"7a257fa377eda3ae","entry":"rotmat","repo":"kunmingsu07/ri-mae","repo_kind":"official","path":"datasets/ModelNetDataset.py","file_url":"https://github.com/kunmingsu07/ri-mae/blob/HEAD/datasets/ModelNetDataset.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7a257fa377eda3ae"}},{"code_sha256_prefix":"bba5dc7caf857cd2","entry":"square_distance","repo":"kunmingsu07/ri-mae","repo_kind":"official","path":"models/util_models.py","file_url":"https://github.com/kunmingsu07/ri-mae/blob/HEAD/models/util_models.py","link_basis":"plan_row","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bba5dc7caf857cd2"}},{"code_sha256_prefix":"b1227ddb721e2999","entry":"timeit","repo":"kunmingsu07/ri-mae","repo_kind":"official","path":"models/util_models.py","file_url":"https://github.com/kunmingsu07/ri-mae/blob/HEAD/models/util_models.py","link_basis":"harvester_set","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":"b1227ddb721e2999"}},{"code_sha256_prefix":"791051c3e72b67d2","entry":"translate_pointcloud","repo":"kunmingsu07/ri-mae","repo_kind":"official","path":"datasets/ShapeNetPart.py","file_url":"https://github.com/kunmingsu07/ri-mae/blob/HEAD/datasets/ShapeNetPart.py","link_basis":"harvester_set","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":"791051c3e72b67d2"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}