{"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/3dsflabelling-boosting-3d-scene-flow","title":"3DSFLabelling: Boosting 3D Scene Flow Estimation by Pseudo Auto-labelling","arxiv_id":"2402.18146","date":"2024-02-28","proceeding":"CVPR 2024 1","authors":["Chaokang Jiang","Guangming Wang","Jiuming Liu","Hesheng Wang","Zhuang Ma","Zhenqiang Liu","Zhujin Liang","Yi Shan","Dalong Du"],"abstract":"Learning 3D scene flow from LiDAR point clouds presents significant difficulties, including poor generalization from synthetic datasets to real scenes, scarcity of real-world 3D labels, and poor performance on real sparse LiDAR point clouds. We present a novel approach from the perspective of auto-labelling, aiming to generate a large number of 3D scene flow pseudo labels for real-world LiDAR point clouds. Specifically, we employ the assumption of rigid body motion to simulate potential object-level rigid movements in autonomous driving scenarios. By updating different motion attributes for multiple anchor boxes, the rigid motion decomposition is obtained for the whole scene. Furthermore, we developed a novel 3D scene flow data augmentation method for global and local motion. By perfectly synthesizing target point clouds based on augmented motion parameters, we easily obtain lots of 3D scene flow labels in point clouds highly consistent with real scenarios. On multiple real-world datasets including LiDAR KITTI, nuScenes, and Argoverse, our method outperforms all previous supervised and unsupervised methods without requiring manual labelling. Impressively, our method achieves a tenfold reduction in EPE3D metric on the LiDAR KITTI dataset, reducing it from $0.190m$ to a mere $0.008m$ error.","url_abs":"https://arxiv.org/abs/2402.18146v2","url_pdf":"https://arxiv.org/pdf/2402.18146v2.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":"3dsflabelling-boosting-3d-scene-flow","repo_url":"https://github.com/jiangchaokang/3dsflabelling","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"autonomous-driving","task_name":"Autonomous Driving"},{"task_slug":"data-augmentation","task_name":"Data Augmentation"},{"task_slug":"scene-flow-estimation","task_name":"Scene Flow Estimation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2402.18146","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2402.18146"}},"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/jiangchaokang/3dsflabelling","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":9,"unverified":1},"by_repo_kind":{"official":{"samples":10,"ran":9,"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":"21e4495ad40554c8","entry":"flip_point_cloud","repo":"jiangchaokang/3dsflabelling","repo_kind":"official","path":"sf_model/FLOT/flot/datasets/augmentation.py","file_url":"https://github.com/jiangchaokang/3dsflabelling/blob/HEAD/sf_model/FLOT/flot/datasets/augmentation.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":"21e4495ad40554c8"}},{"code_sha256_prefix":"c1a1a3e037cf14ba","entry":"flip_scene_flow","repo":"jiangchaokang/3dsflabelling","repo_kind":"official","path":"sf_model/FLOT/flot/datasets/augmentation.py","file_url":"https://github.com/jiangchaokang/3dsflabelling/blob/HEAD/sf_model/FLOT/flot/datasets/augmentation.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":"c1a1a3e037cf14ba"}},{"code_sha256_prefix":"5de0939d35433a36","entry":"normal_frame","repo":"jiangchaokang/3dsflabelling","repo_kind":"official","path":"Gen_SF_label/lidarkitti.py","file_url":"https://github.com/jiangchaokang/3dsflabelling/blob/HEAD/Gen_SF_label/lidarkitti.py","link_basis":"first_harvest_node","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":"5de0939d35433a36"}},{"code_sha256_prefix":"c85abdb8e140b0f7","entry":"normal_frame_nusc","repo":"jiangchaokang/3dsflabelling","repo_kind":"official","path":"Gen_SF_label/lidarkitti.py","file_url":"https://github.com/jiangchaokang/3dsflabelling/blob/HEAD/Gen_SF_label/lidarkitti.py","link_basis":"first_harvest_node","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":"c85abdb8e140b0f7"}},{"code_sha256_prefix":"a927fe2691f83c7f","entry":"random_flip_pc","repo":"jiangchaokang/3dsflabelling","repo_kind":"official","path":"sf_model/FLOT/flot/datasets/augmentation.py","file_url":"https://github.com/jiangchaokang/3dsflabelling/blob/HEAD/sf_model/FLOT/flot/datasets/augmentation.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":"a927fe2691f83c7f"}},{"code_sha256_prefix":"09e3b16c3a6b283f","entry":"rot_normal_frame","repo":"jiangchaokang/3dsflabelling","repo_kind":"official","path":"Gen_SF_label/lidarkitti.py","file_url":"https://github.com/jiangchaokang/3dsflabelling/blob/HEAD/Gen_SF_label/lidarkitti.py","link_basis":"first_harvest_node","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":"09e3b16c3a6b283f"}},{"code_sha256_prefix":"a6eb1c968553d38d","entry":"so3_relative_angle","repo":"jiangchaokang/3dsflabelling","repo_kind":"official","path":"Gen_SF_label/rsf_utils.py","file_url":"https://github.com/jiangchaokang/3dsflabelling/blob/HEAD/Gen_SF_label/rsf_utils.py","link_basis":"first_harvest_node","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":"a6eb1c968553d38d"}},{"code_sha256_prefix":"537464a70617bdd8","entry":"so3_rotation_angle","repo":"jiangchaokang/3dsflabelling","repo_kind":"official","path":"Gen_SF_label/rsf_utils.py","file_url":"https://github.com/jiangchaokang/3dsflabelling/blob/HEAD/Gen_SF_label/rsf_utils.py","link_basis":"first_harvest_node","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":"537464a70617bdd8"}},{"code_sha256_prefix":"9ea0cd6b589df9ea","entry":"symmetric_orthogonalization","repo":"jiangchaokang/3dsflabelling","repo_kind":"official","path":"Gen_SF_label/rsf_utils.py","file_url":"https://github.com/jiangchaokang/3dsflabelling/blob/HEAD/Gen_SF_label/rsf_utils.py","link_basis":"first_harvest_node","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":"9ea0cd6b589df9ea"}},{"code_sha256_prefix":"e17127edd3f23eb4","entry":"no_detection_return","repo":"jiangchaokang/3dsflabelling","repo_kind":"official","path":"Gen_SF_label/inference.py","file_url":"https://github.com/jiangchaokang/3dsflabelling/blob/HEAD/Gen_SF_label/inference.py","link_basis":"first_harvest_node","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":"e17127edd3f23eb4"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}