{"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/stress-testing-lidar-registration","title":"Stress-Testing Point Cloud Registration on Automotive LiDAR","arxiv_id":"2204.07719","date":"2022-04-16","proceeding":null,"authors":["Amnon Drory","Shai Avidan","Raja Giryes"],"abstract":"Rigid Point Cloud Registration (PCR) algorithms aim to estimate the 6-DOF relative motion between two point clouds, which is important in various fields, including autonomous driving. Recent years have seen a significant improvement in global PCR algorithms, i.e. algorithms that can handle a large relative motion. This has been demonstrated in various scenarios, including indoor scenes, but has only been minimally tested in the Automotive setting, where point clouds are produced by vehicle-mounted LiDAR sensors. In this work, we aim to answer questions that are important for automotive applications, including: which of the new algorithms is the most accurate, and which is fastest? How transferable are deep-learning approaches, e.g. what happens when you train a network with data from Boston, and run it in a vehicle in Singapore? How small can the overlap between point clouds be before the algorithms start to deteriorate? To what extent are the algorithms rotation invariant? Our results are at times surprising. When comparing robust parameter estimation methods for registration, we find that the fastest and most accurate is not one of the newest approaches. Instead, it is a modern variant of the well known RANSAC technique. We also suggest a new outlier filtering method, Grid-Prioritized Filtering (GPF), to further improve it. An additional contribution of this work is an algorithm for selecting challenging sets of frame-pairs from automotive LiDAR datasets. This enables meaningful benchmarking in the Automotive LiDAR setting, and can also improve training for learning algorithms.","url_abs":"https://arxiv.org/abs/2204.07719v2","url_pdf":"https://arxiv.org/pdf/2204.07719v2.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":"stress-testing-lidar-registration","repo_url":"https://github.com/amnondrory/lidarregistration","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"autonomous-driving","task_name":"Autonomous Driving"},{"task_slug":"benchmarking","task_name":"Benchmarking"},{"task_slug":"point-cloud-registration","task_name":"Point Cloud Registration"},{"task_slug":"parameter-estimation","task_name":"parameter estimation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2204.07719","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2204.07719"}},"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/amnondrory/lidarregistration","reach":null}],"summary":{"ran_fixture":2,"ran_draft_wrong":3,"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":"08729d4a63d16576","entry":"calc_distance_ratio_in_feature_space","repo":"amnondrory/lidarregistration","repo_kind":"official","path":"Experiments/algorithms/matching.py","file_url":"https://github.com/amnondrory/lidarregistration/blob/HEAD/Experiments/algorithms/matching.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"08729d4a63d16576"}},{"code_sha256_prefix":"183e207b109c4c2a","entry":"ensure_path","repo":"amnondrory/lidarregistration","repo_kind":"official","path":"BalancedDatasetGenerator/GenerateBalancedSet.py","file_url":"https://github.com/amnondrory/lidarregistration/blob/HEAD/BalancedDatasetGenerator/GenerateBalancedSet.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"183e207b109c4c2a"}},{"code_sha256_prefix":"3a6d177280724642","entry":"find_nn","repo":"amnondrory/lidarregistration","repo_kind":"official","path":"Experiments/algorithms/matching.py","file_url":"https://github.com/amnondrory/lidarregistration/blob/HEAD/Experiments/algorithms/matching.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"3a6d177280724642"}},{"code_sha256_prefix":"5a094b2c50bbb472","entry":"nn_to_mutual","repo":"amnondrory/lidarregistration","repo_kind":"official","path":"Experiments/algorithms/matching.py","file_url":"https://github.com/amnondrory/lidarregistration/blob/HEAD/Experiments/algorithms/matching.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"5a094b2c50bbb472"}},{"code_sha256_prefix":"f6995a807be5559d","entry":"torch_intersect","repo":"amnondrory/lidarregistration","repo_kind":"official","path":"Experiments/algorithms/matching.py","file_url":"https://github.com/amnondrory/lidarregistration/blob/HEAD/Experiments/algorithms/matching.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"f6995a807be5559d"}},{"code_sha256_prefix":"5cbc17d7272e5a51","entry":"Grid_Prioritized_Filter","repo":"amnondrory/lidarregistration","repo_kind":"official","path":"Experiments/algorithms/matching.py","file_url":"https://github.com/amnondrory/lidarregistration/blob/HEAD/Experiments/algorithms/matching.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"5cbc17d7272e5a51"}},{"code_sha256_prefix":"de5c9c7bb31c60ce","entry":"mark_best_buddies","repo":"amnondrory/lidarregistration","repo_kind":"official","path":"Experiments/algorithms/matching.py","file_url":"https://github.com/amnondrory/lidarregistration/blob/HEAD/Experiments/algorithms/matching.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"de5c9c7bb31c60ce"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}