{"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/regtr-end-to-end-point-cloud-correspondences","title":"REGTR: End-to-end Point Cloud Correspondences with Transformers","arxiv_id":"2203.14517","date":"2022-03-28","proceeding":"CVPR 2022 1","authors":["Zi Jian Yew","Gim Hee Lee"],"abstract":"Despite recent success in incorporating learning into point cloud registration, many works focus on learning feature descriptors and continue to rely on nearest-neighbor feature matching and outlier filtering through RANSAC to obtain the final set of correspondences for pose estimation. In this work, we conjecture that attention mechanisms can replace the role of explicit feature matching and RANSAC, and thus propose an end-to-end framework to directly predict the final set of correspondences. We use a network architecture consisting primarily of transformer layers containing self and cross attentions, and train it to predict the probability each point lies in the overlapping region and its corresponding position in the other point cloud. The required rigid transformation can then be estimated directly from the predicted correspondences without further post-processing. Despite its simplicity, our approach achieves state-of-the-art performance on 3DMatch and ModelNet benchmarks. Our source code can be found at https://github.com/yewzijian/RegTR .","url_abs":"https://arxiv.org/abs/2203.14517v1","url_pdf":"https://arxiv.org/pdf/2203.14517v1.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":"regtr-end-to-end-point-cloud-correspondences","repo_url":"https://github.com/yewzijian/regtr","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"point-cloud-registration","task_name":"Point Cloud Registration"},{"task_slug":"pose-estimation","task_name":"Pose Estimation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/point-cloud-registration-on-3dlomatch-10-30","task":"Point Cloud Registration","dataset":"3DLoMatch (10-30% overlap)","model":"REGTR","rank_in_archive_order":4,"of":13,"metrics":{"Recall ( correspondence RMSE below 0.2)":"64.8"},"uses_additional_data":false},{"leaderboard":"/sota/point-cloud-registration-on-3dmatch-at-least-2","task":"Point Cloud Registration","dataset":"3DMatch (at least 30% overlapped - sample 5k interest points)","model":"REGTR","rank_in_archive_order":2,"of":11,"metrics":{"Recall ( correspondence RMSE below 0.2)":"92"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2203.14517","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2203.14517"}},"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/yewzijian/regtr","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/yewzijian/RegTR","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":16},"by_repo_kind":{"official":{"samples":16,"ran":0,"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":"b16bf332b47d6d18","entry":"all_isfinite","repo":"yewzijian/RegTR","repo_kind":"official","path":"src/cvhelpers/torch_helpers.py","file_url":"https://github.com/yewzijian/RegTR/blob/HEAD/src/cvhelpers/torch_helpers.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":"b16bf332b47d6d18"}},{"code_sha256_prefix":"e7aaf57404c17d96","entry":"all_to_device","repo":"yewzijian/RegTR","repo_kind":"official","path":"src/cvhelpers/torch_helpers.py","file_url":"https://github.com/yewzijian/RegTR/blob/HEAD/src/cvhelpers/torch_helpers.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":"e7aaf57404c17d96"}},{"code_sha256_prefix":"6c01815b97cb00fc","entry":"collate_pair","repo":"yewzijian/RegTR","repo_kind":"official","path":"src/data_loaders/collate_functions.py","file_url":"https://github.com/yewzijian/RegTR/blob/HEAD/src/data_loaders/collate_functions.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":"6c01815b97cb00fc"}},{"code_sha256_prefix":"e5d44638e7b011b6","entry":"compute_rte","repo":"yewzijian/RegTR","repo_kind":"official","path":"src/benchmark/benchmark_3dmatch.py","file_url":"https://github.com/yewzijian/RegTR/blob/HEAD/src/benchmark/benchmark_3dmatch.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":"e5d44638e7b011b6"}},{"code_sha256_prefix":"5b694f7ba87b048f","entry":"dcm2euler","repo":"yewzijian/RegTR","repo_kind":"official","path":"src/benchmark/benchmark_modelnet.py","file_url":"https://github.com/yewzijian/RegTR/blob/HEAD/src/benchmark/benchmark_modelnet.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":"5b694f7ba87b048f"}},{"code_sha256_prefix":"43be91adb1cc94fa","entry":"get_test_datasets","repo":"yewzijian/RegTR","repo_kind":"official","path":"src/data_loaders/modelnet.py","file_url":"https://github.com/yewzijian/RegTR/blob/HEAD/src/data_loaders/modelnet.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":"43be91adb1cc94fa"}},{"code_sha256_prefix":"a149b629c86cfa52","entry":"get_train_datasets","repo":"yewzijian/RegTR","repo_kind":"official","path":"src/data_loaders/modelnet.py","file_url":"https://github.com/yewzijian/RegTR/blob/HEAD/src/data_loaders/modelnet.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":"a149b629c86cfa52"}},{"code_sha256_prefix":"e659b44bcc28934a","entry":"get_transforms","repo":"yewzijian/RegTR","repo_kind":"official","path":"src/data_loaders/modelnet.py","file_url":"https://github.com/yewzijian/RegTR/blob/HEAD/src/data_loaders/modelnet.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":"e659b44bcc28934a"}},{"code_sha256_prefix":"519457a60a677d35","entry":"pretty_time_delta","repo":"yewzijian/RegTR","repo_kind":"official","path":"src/cvhelpers/misc.py","file_url":"https://github.com/yewzijian/RegTR/blob/HEAD/src/cvhelpers/misc.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":"519457a60a677d35"}},{"code_sha256_prefix":"48f96ab357b5c0e0","entry":"read_trajectory","repo":"yewzijian/RegTR","repo_kind":"official","path":"src/benchmark/benchmark_3dmatch.py","file_url":"https://github.com/yewzijian/RegTR/blob/HEAD/src/benchmark/benchmark_3dmatch.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":"48f96ab357b5c0e0"}},{"code_sha256_prefix":"59dff5c1fef3d449","entry":"read_trajectory_info","repo":"yewzijian/RegTR","repo_kind":"official","path":"src/benchmark/benchmark_3dmatch.py","file_url":"https://github.com/yewzijian/RegTR/blob/HEAD/src/benchmark/benchmark_3dmatch.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":"59dff5c1fef3d449"}},{"code_sha256_prefix":"3344db52a0beedde","entry":"rotation_error","repo":"yewzijian/RegTR","repo_kind":"official","path":"src/benchmark/benchmark_predator.py","file_url":"https://github.com/yewzijian/RegTR/blob/HEAD/src/benchmark/benchmark_predator.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":"3344db52a0beedde"}},{"code_sha256_prefix":"14b119a1f275889c","entry":"summarize_metrics","repo":"yewzijian/RegTR","repo_kind":"official","path":"src/benchmark/benchmark_modelnet.py","file_url":"https://github.com/yewzijian/RegTR/blob/HEAD/src/benchmark/benchmark_modelnet.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":"14b119a1f275889c"}},{"code_sha256_prefix":"2fa7b4714e1f9d24","entry":"to_numpy","repo":"yewzijian/RegTR","repo_kind":"official","path":"src/cvhelpers/torch_helpers.py","file_url":"https://github.com/yewzijian/RegTR/blob/HEAD/src/cvhelpers/torch_helpers.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":"2fa7b4714e1f9d24"}},{"code_sha256_prefix":"81b265a618542b54","entry":"translation_error","repo":"yewzijian/RegTR","repo_kind":"official","path":"src/benchmark/benchmark_predator.py","file_url":"https://github.com/yewzijian/RegTR/blob/HEAD/src/benchmark/benchmark_predator.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":"81b265a618542b54"}},{"code_sha256_prefix":"a020832e85dfd32f","entry":"uniform_2_sphere","repo":"yewzijian/RegTR","repo_kind":"official","path":"src/data_loaders/modelnet_transforms.py","file_url":"https://github.com/yewzijian/RegTR/blob/HEAD/src/data_loaders/modelnet_transforms.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":"a020832e85dfd32f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}