{"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/psa-ssl-pose-and-size-aware-self-supervised","title":"PSA-SSL: Pose and Size-aware Self-Supervised Learning on LiDAR Point Clouds","arxiv_id":"2503.13914","date":"2025-03-18","proceeding":"CVPR 2025 1","authors":["Barza Nisar","Steven L. Waslander"],"abstract":"Self-supervised learning (SSL) on 3D point clouds has the potential to learn feature representations that can transfer to diverse sensors and multiple downstream perception tasks. However, recent SSL approaches fail to define pretext tasks that retain geometric information such as object pose and scale, which can be detrimental to the performance of downstream localization and geometry-sensitive 3D scene understanding tasks, such as 3D semantic segmentation and 3D object detection. We propose PSA-SSL, a novel extension to point cloud SSL that learns object pose and size-aware (PSA) features. Our approach defines a self-supervised bounding box regression pretext task, which retains object pose and size information. Furthermore, we incorporate LiDAR beam pattern augmentation on input point clouds, which encourages learning sensor-agnostic features. Our experiments demonstrate that with a single pretrained model, our light-weight yet effective extensions achieve significant improvements on 3D semantic segmentation with limited labels across popular autonomous driving datasets (Waymo, nuScenes, SemanticKITTI). Moreover, our approach outperforms other state-of-the-art SSL methods on 3D semantic segmentation (using up to 10 times less labels), as well as on 3D object detection. Our code will be released on https://github.com/TRAILab/PSA-SSL.","url_abs":"https://arxiv.org/abs/2503.13914v1","url_pdf":"https://arxiv.org/pdf/2503.13914v1.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":[],"tasks":[{"task_slug":"3d-object-detection","task_name":"3D Object Detection"},{"task_slug":"3d-semantic-segmentation","task_name":"3D Semantic Segmentation"},{"task_slug":"autonomous-driving","task_name":"Autonomous Driving"},{"task_slug":"object","task_name":"Object"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"scene-understanding","task_name":"Scene Understanding"},{"task_slug":"segmentation","task_name":"Segmentation"},{"task_slug":"self-supervised-learning","task_name":"Self-Supervised Learning"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2503.13914","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2503.13914"}},"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":"deterministic:regex_extraction","url":"https://github.com/TRAILab/PSA-SSL","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":2,"ran_violates":2,"ran_fixture":1,"ran_draft_wrong":1,"unverified":4},"by_repo_kind":{"found_in_text":{"samples":10,"ran":6,"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":"22d980a38e8940b0","entry":"array_to_sequence","repo":"TRAILab/PSA-SSL","repo_kind":"found_in_text","path":"datasets/collators.py","file_url":"https://github.com/TRAILab/PSA-SSL/blob/HEAD/datasets/collators.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":"22d980a38e8940b0"}},{"code_sha256_prefix":"f28d2c14a238ce4b","entry":"array_to_torch_sequence","repo":"TRAILab/PSA-SSL","repo_kind":"found_in_text","path":"datasets/collators.py","file_url":"https://github.com/TRAILab/PSA-SSL/blob/HEAD/datasets/collators.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f28d2c14a238ce4b"}},{"code_sha256_prefix":"5f4f4355be28c01e","entry":"isnan","repo":"TRAILab/PSA-SSL","repo_kind":"found_in_text","path":"criterions/lovasz_softmax.py","file_url":"https://github.com/TRAILab/PSA-SSL/blob/HEAD/criterions/lovasz_softmax.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5f4f4355be28c01e"}},{"code_sha256_prefix":"e85b5d21dc5b8382","entry":"lovasz_grad","repo":"TRAILab/PSA-SSL","repo_kind":"found_in_text","path":"criterions/lovasz_softmax.py","file_url":"https://github.com/TRAILab/PSA-SSL/blob/HEAD/criterions/lovasz_softmax.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e85b5d21dc5b8382"}},{"code_sha256_prefix":"80b5a150c6e092f7","entry":"mean","repo":"TRAILab/PSA-SSL","repo_kind":"found_in_text","path":"criterions/lovasz_softmax.py","file_url":"https://github.com/TRAILab/PSA-SSL/blob/HEAD/criterions/lovasz_softmax.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"80b5a150c6e092f7"}},{"code_sha256_prefix":"babcf1f1821b20fe","entry":"parameter_description","repo":"TRAILab/PSA-SSL","repo_kind":"found_in_text","path":"models/ssl3d_model.py","file_url":"https://github.com/TRAILab/PSA-SSL/blob/HEAD/models/ssl3d_model.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"babcf1f1821b20fe"}},{"code_sha256_prefix":"73cecca9f3575f09","entry":"concat_all_gather","repo":"TRAILab/PSA-SSL","repo_kind":"found_in_text","path":"models/ssl3d_model.py","file_url":"https://github.com/TRAILab/PSA-SSL/blob/HEAD/models/ssl3d_model.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":"73cecca9f3575f09"}},{"code_sha256_prefix":"d33e0b71f140ea63","entry":"concat_all_gather","repo":"TRAILab/PSA-SSL","repo_kind":"found_in_text","path":"criterions/nce_loss_moco.py","file_url":"https://github.com/TRAILab/PSA-SSL/blob/HEAD/criterions/nce_loss_moco.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":"d33e0b71f140ea63"}},{"code_sha256_prefix":"fbdc77111bc3edde","entry":"remove_ego_points","repo":"TRAILab/PSA-SSL","repo_kind":"found_in_text","path":"datasets/NuscenesDataset.py","file_url":"https://github.com/TRAILab/PSA-SSL/blob/HEAD/datasets/NuscenesDataset.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":"fbdc77111bc3edde"}},{"code_sha256_prefix":"921c49ec8f601bf3","entry":"sort_matrix","repo":"TRAILab/PSA-SSL","repo_kind":"found_in_text","path":"datasets/dataset.py","file_url":"https://github.com/TRAILab/PSA-SSL/blob/HEAD/datasets/dataset.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":"921c49ec8f601bf3"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}