{"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/close-but-not-there-boosting-geographic","title":"Close, But Not There: Boosting Geographic Distance Sensitivity in Visual Place Recognition","arxiv_id":"2407.02422","date":"2024-07-02","proceeding":null,"authors":["Sergio Izquierdo","Javier Civera"],"abstract":"Visual Place Recognition (VPR) plays a critical role in many localization and mapping pipelines. It consists of retrieving the closest sample to a query image, in a certain embedding space, from a database of geotagged references. The image embedding is learned to effectively describe a place despite variations in visual appearance, viewpoint, and geometric changes. In this work, we formulate how limitations in the Geographic Distance Sensitivity of current VPR embeddings result in a high probability of incorrectly sorting the top-k retrievals, negatively impacting the recall. In order to address this issue in single-stage VPR, we propose a novel mining strategy, CliqueMining, that selects positive and negative examples by sampling cliques from a graph of visually similar images. Our approach boosts the sensitivity of VPR embeddings at small distance ranges, significantly improving the state of the art on relevant benchmarks. In particular, we raise recall@1 from 75% to 82% in MSLS Challenge, and from 76% to 90% in Nordland. Models and code are available at https://github.com/serizba/cliquemining.","url_abs":"https://arxiv.org/abs/2407.02422v1","url_pdf":"https://arxiv.org/pdf/2407.02422v1.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":"close-but-not-there-boosting-geographic","repo_url":"https://github.com/serizba/cliquemining","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"GPL-3.0"}}],"tasks":[{"task_slug":"sensitivity","task_name":"Sensitivity"},{"task_slug":"visual-place-recognition","task_name":"Visual Place Recognition"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2407.02422","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2407.02422"}},"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/serizba/cliquemining","reach":{"status":"ok","spdx":"GPL-3.0"}}],"summary":{"ran":1,"unverified":5},"by_repo_kind":{"official":{"samples":6,"ran":1,"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":6,"samples":[{"code_sha256_prefix":"0bfa87e7ee328290","entry":"input_transform","repo":"serizba/cliquemining","repo_kind":"official","path":"dataloaders/PittsburgDataset.py","file_url":"https://github.com/serizba/cliquemining/blob/HEAD/dataloaders/PittsburgDataset.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"0bfa87e7ee328290"}},{"code_sha256_prefix":"1e3e72ebd1461155","entry":"compute_cluster_descriptors","repo":"serizba/cliquemining","repo_kind":"official","path":"dataloaders/CliqueMapillaryDataset.py","file_url":"https://github.com/serizba/cliquemining/blob/HEAD/dataloaders/CliqueMapillaryDataset.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"1e3e72ebd1461155"}},{"code_sha256_prefix":"265b4776b7af4478","entry":"create_dataset_part","repo":"serizba/cliquemining","repo_kind":"official","path":"dataloaders/CliqueMapillaryDataset.py","file_url":"https://github.com/serizba/cliquemining/blob/HEAD/dataloaders/CliqueMapillaryDataset.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"265b4776b7af4478"}},{"code_sha256_prefix":"822eb8660b831cf3","entry":"get_250k_val_set","repo":"serizba/cliquemining","repo_kind":"official","path":"dataloaders/PittsburgDataset.py","file_url":"https://github.com/serizba/cliquemining/blob/HEAD/dataloaders/PittsburgDataset.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"822eb8660b831cf3"}},{"code_sha256_prefix":"c9c5d63f9d8b8966","entry":"get_whole_val_set","repo":"serizba/cliquemining","repo_kind":"official","path":"dataloaders/PittsburgDataset.py","file_url":"https://github.com/serizba/cliquemining/blob/HEAD/dataloaders/PittsburgDataset.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"c9c5d63f9d8b8966"}},{"code_sha256_prefix":"d451f74d06aff96a","entry":"load_city_df","repo":"serizba/cliquemining","repo_kind":"official","path":"dataloaders/CliqueMapillaryDataset.py","file_url":"https://github.com/serizba/cliquemining/blob/HEAD/dataloaders/CliqueMapillaryDataset.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"GPL-3.0","inline_ok":false,"mcp_get_code":{"code_sha256":"d451f74d06aff96a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}