{"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/crossloc3d-aerial-ground-cross-source-3d","title":"CrossLoc3D: Aerial-Ground Cross-Source 3D Place Recognition","arxiv_id":"2303.17778","date":"2023-03-31","proceeding":"ICCV 2023 1","authors":["Tianrui Guan","Aswath Muthuselvam","Montana Hoover","Xijun Wang","Jing Liang","Adarsh Jagan Sathyamoorthy","Damon Conover","Dinesh Manocha"],"abstract":"We present CrossLoc3D, a novel 3D place recognition method that solves a large-scale point matching problem in a cross-source setting. Cross-source point cloud data corresponds to point sets captured by depth sensors with different accuracies or from different distances and perspectives. We address the challenges in terms of developing 3D place recognition methods that account for the representation gap between points captured by different sources. Our method handles cross-source data by utilizing multi-grained features and selecting convolution kernel sizes that correspond to most prominent features. Inspired by the diffusion models, our method uses a novel iterative refinement process that gradually shifts the embedding spaces from different sources to a single canonical space for better metric learning. In addition, we present CS-Campus3D, the first 3D aerial-ground cross-source dataset consisting of point cloud data from both aerial and ground LiDAR scans. The point clouds in CS-Campus3D have representation gaps and other features like different views, point densities, and noise patterns. We show that our CrossLoc3D algorithm can achieve an improvement of 4.74% - 15.37% in terms of the top 1 average recall on our CS-Campus3D benchmark and achieves performance comparable to state-of-the-art 3D place recognition method on the Oxford RobotCar. The code and CS-CAMPUS3D benchmark will be available at github.com/rayguan97/crossloc3d.","url_abs":"https://arxiv.org/abs/2303.17778v2","url_pdf":"https://arxiv.org/pdf/2303.17778v2.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":"crossloc3d-aerial-ground-cross-source-3d","repo_url":"https://github.com/rayguan97/crossloc3d","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"3d-place-recognition","task_name":"3D Place Recognition"},{"task_slug":"metric-learning","task_name":"Metric Learning"}],"methods":[{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[{"slug":"cs-campus3d","name":"CS-Campus3D","full_name":"CrossSource-Campus3D"}],"methods_introduced":[],"results":[{"leaderboard":"/sota/3d-place-recognition-on-cs-campus3d","task":"3D Place Recognition","dataset":"CS-Campus3D","model":"CrossLoc3D","rank_in_archive_order":1,"of":7,"metrics":{"AR@1":"74.12","AR@1 cross-source":"70.73","AR@1%":"83.04","AR@1% cross-source":"85.74"},"uses_additional_data":false},{"leaderboard":"/sota/3d-place-recognition-on-oxford-robotcar","task":"3D Place Recognition","dataset":"Oxford RobotCar Dataset","model":"CrossLoc3D","rank_in_archive_order":1,"of":10,"metrics":{"AR@1":"94.36","AR@1%":"98.59"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2303.17778","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2303.17778"}},"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/rayguan97/crossloc3d","reach":null}],"summary":{"ran":10,"ran_draft_wrong":1,"unverified":4},"by_repo_kind":{"official":{"samples":15,"ran":11,"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":"49a28a91da28cd6a","entry":"DiffTransformerBlock","repo":"rayguan97/crossloc3d","repo_kind":"official","path":"models/ours/model.py","file_url":"https://github.com/rayguan97/crossloc3d/blob/HEAD/models/ours/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"49a28a91da28cd6a"}},{"code_sha256_prefix":"25dfda388912d104","entry":"GatingContext","repo":"rayguan97/crossloc3d","repo_kind":"official","path":"models/ours/model.py","file_url":"https://github.com/rayguan97/crossloc3d/blob/HEAD/models/ours/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"25dfda388912d104"}},{"code_sha256_prefix":"039a0681e332e8c7","entry":"GeM","repo":"rayguan97/crossloc3d","repo_kind":"official","path":"models/ours/model.py","file_url":"https://github.com/rayguan97/crossloc3d/blob/HEAD/models/ours/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"039a0681e332e8c7"}},{"code_sha256_prefix":"a137e6ae7a2306dc","entry":"MAC","repo":"rayguan97/crossloc3d","repo_kind":"official","path":"models/ours/model.py","file_url":"https://github.com/rayguan97/crossloc3d/blob/HEAD/models/ours/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a137e6ae7a2306dc"}},{"code_sha256_prefix":"d9300c949a291ace","entry":"NetVLADLoupe","repo":"rayguan97/crossloc3d","repo_kind":"official","path":"models/ours/model.py","file_url":"https://github.com/rayguan97/crossloc3d/blob/HEAD/models/ours/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d9300c949a291ace"}},{"code_sha256_prefix":"44a4c9c114054f04","entry":"NetVladWrapper","repo":"rayguan97/crossloc3d","repo_kind":"official","path":"models/ours/model.py","file_url":"https://github.com/rayguan97/crossloc3d/blob/HEAD/models/ours/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"44a4c9c114054f04"}},{"code_sha256_prefix":"4611d53e8f11052e","entry":"RandomOrLearnedSinusoidalPosEmb","repo":"rayguan97/crossloc3d","repo_kind":"official","path":"models/ours/model.py","file_url":"https://github.com/rayguan97/crossloc3d/blob/HEAD/models/ours/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4611d53e8f11052e"}},{"code_sha256_prefix":"004ffb97f34d150e","entry":"SPoC","repo":"rayguan97/crossloc3d","repo_kind":"official","path":"models/ours/model.py","file_url":"https://github.com/rayguan97/crossloc3d/blob/HEAD/models/ours/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"004ffb97f34d150e"}},{"code_sha256_prefix":"f97842720e968c4b","entry":"SinusoidalPosEmb","repo":"rayguan97/crossloc3d","repo_kind":"official","path":"models/ours/model.py","file_url":"https://github.com/rayguan97/crossloc3d/blob/HEAD/models/ours/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f97842720e968c4b"}},{"code_sha256_prefix":"7b1d62857496e935","entry":"TCenterAttentionLayer","repo":"rayguan97/crossloc3d","repo_kind":"official","path":"models/ours/model.py","file_url":"https://github.com/rayguan97/crossloc3d/blob/HEAD/models/ours/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7b1d62857496e935"}},{"code_sha256_prefix":"8deabf7913c20741","entry":"l2norm","repo":"rayguan97/crossloc3d","repo_kind":"official","path":"models/ours/model.py","file_url":"https://github.com/rayguan97/crossloc3d/blob/HEAD/models/ours/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8deabf7913c20741"}},{"code_sha256_prefix":"5a185e87c545019a","entry":"ECALayer","repo":"rayguan97/crossloc3d","repo_kind":"official","path":"models/ours/model.py","file_url":"https://github.com/rayguan97/crossloc3d/blob/HEAD/models/ours/model.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":"5a185e87c545019a"}},{"code_sha256_prefix":"de332b4043605765","entry":"GatedInceptionBlock","repo":"rayguan97/crossloc3d","repo_kind":"official","path":"models/ours/model.py","file_url":"https://github.com/rayguan97/crossloc3d/blob/HEAD/models/ours/model.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":"de332b4043605765"}},{"code_sha256_prefix":"05dd8633cd267827","entry":"Ours","repo":"rayguan97/crossloc3d","repo_kind":"official","path":"models/ours/model.py","file_url":"https://github.com/rayguan97/crossloc3d/blob/HEAD/models/ours/model.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":"05dd8633cd267827"}},{"code_sha256_prefix":"2a6a78f87852fb30","entry":"Ours3DFPN","repo":"rayguan97/crossloc3d","repo_kind":"official","path":"models/ours/model.py","file_url":"https://github.com/rayguan97/crossloc3d/blob/HEAD/models/ours/model.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":"2a6a78f87852fb30"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}