{"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/extend-your-own-correspondences-unsupervised","title":"Extend Your Own Correspondences: Unsupervised Distant Point Cloud Registration by Progressive Distance Extension","arxiv_id":"2403.03532","date":"2024-03-06","proceeding":"CVPR 2024 1","authors":["Quan Liu","Hongzi Zhu","Zhenxi Wang","Yunsong Zhou","Shan Chang","Minyi Guo"],"abstract":"Registration of point clouds collected from a pair of distant vehicles provides a comprehensive and accurate 3D view of the driving scenario, which is vital for driving safety related applications, yet existing literature suffers from the expensive pose label acquisition and the deficiency to generalize to new data distributions. In this paper, we propose EYOC, an unsupervised distant point cloud registration method that adapts to new point cloud distributions on the fly, requiring no global pose labels. The core idea of EYOC is to train a feature extractor in a progressive fashion, where in each round, the feature extractor, trained with near point cloud pairs, can label slightly farther point cloud pairs, enabling self-supervision on such far point cloud pairs. This process continues until the derived extractor can be used to register distant point clouds. Particularly, to enable high-fidelity correspondence label generation, we devise an effective spatial filtering scheme to select the most representative correspondences to register a point cloud pair, and then utilize the aligned point clouds to discover more correct correspondences. Experiments show that EYOC can achieve comparable performance with state-of-the-art supervised methods at a lower training cost. Moreover, it outwits supervised methods regarding generalization performance on new data distributions.","url_abs":"https://arxiv.org/abs/2403.03532v2","url_pdf":"https://arxiv.org/pdf/2403.03532v2.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":"extend-your-own-correspondences-unsupervised","repo_url":"https://github.com/liuquan98/eyoc","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"point-cloud-registration","task_name":"Point Cloud Registration"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2403.03532","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2403.03532"}},"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/liuquan98/eyoc","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":1,"ran":6,"ran_violates":1,"unverified":2},"by_repo_kind":{"official":{"samples":10,"ran":8,"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":"6d80592fd6d47b2d","entry":"add_argument_group","repo":"liuquan98/eyoc","repo_kind":"official","path":"config.py","file_url":"https://github.com/liuquan98/eyoc/blob/HEAD/config.py","link_basis":"plan_row","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":"6d80592fd6d47b2d"}},{"code_sha256_prefix":"3fab7fa4f99491ee","entry":"corr_dist","repo":"liuquan98/eyoc","repo_kind":"official","path":"lib/metrics.py","file_url":"https://github.com/liuquan98/eyoc/blob/HEAD/lib/metrics.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":"3fab7fa4f99491ee"}},{"code_sha256_prefix":"262f74c5ade997a1","entry":"get_file_list","repo":"liuquan98/eyoc","repo_kind":"official","path":"util/file.py","file_url":"https://github.com/liuquan98/eyoc/blob/HEAD/util/file.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":"262f74c5ade997a1"}},{"code_sha256_prefix":"4dd813cc2789294d","entry":"pdist","repo":"liuquan98/eyoc","repo_kind":"official","path":"lib/metrics.py","file_url":"https://github.com/liuquan98/eyoc/blob/HEAD/lib/metrics.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":"4dd813cc2789294d"}},{"code_sha256_prefix":"6f1f2152e78c5e6f","entry":"read_txt","repo":"liuquan98/eyoc","repo_kind":"official","path":"util/file.py","file_url":"https://github.com/liuquan98/eyoc/blob/HEAD/util/file.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":"6f1f2152e78c5e6f"}},{"code_sha256_prefix":"695bce6ba3e7d453","entry":"sample_random_trans","repo":"liuquan98/eyoc","repo_kind":"official","path":"lib/data_loaders.py","file_url":"https://github.com/liuquan98/eyoc/blob/HEAD/lib/data_loaders.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":"695bce6ba3e7d453"}},{"code_sha256_prefix":"03faf5df924907dd","entry":"sorted_alphanum","repo":"liuquan98/eyoc","repo_kind":"official","path":"util/file.py","file_url":"https://github.com/liuquan98/eyoc/blob/HEAD/util/file.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":"03faf5df924907dd"}},{"code_sha256_prefix":"248284f69adfeaad","entry":"str2bool","repo":"liuquan98/eyoc","repo_kind":"official","path":"config.py","file_url":"https://github.com/liuquan98/eyoc/blob/HEAD/config.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"248284f69adfeaad"}},{"code_sha256_prefix":"3095f89bf0fc823d","entry":"M","repo":"liuquan98/eyoc","repo_kind":"official","path":"lib/data_loaders.py","file_url":"https://github.com/liuquan98/eyoc/blob/HEAD/lib/data_loaders.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":"3095f89bf0fc823d"}},{"code_sha256_prefix":"876a2cfd6cb4e088","entry":"eval_metrics","repo":"liuquan98/eyoc","repo_kind":"official","path":"lib/metrics.py","file_url":"https://github.com/liuquan98/eyoc/blob/HEAD/lib/metrics.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":"876a2cfd6cb4e088"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}