{"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/sample4geo-hard-negative-sampling-for-cross","title":"Sample4Geo: Hard Negative Sampling For Cross-View Geo-Localisation","arxiv_id":"2303.11851","date":"2023-03-21","proceeding":"ICCV 2023 1","authors":["Fabian Deuser","Konrad Habel","Norbert Oswald"],"abstract":"Cross-View Geo-Localisation is still a challenging task where additional modules, specific pre-processing or zooming strategies are necessary to determine accurate positions of images. Since different views have different geometries, pre-processing like polar transformation helps to merge them. However, this results in distorted images which then have to be rectified. Adding hard negatives to the training batch could improve the overall performance but with the default loss functions in geo-localisation it is difficult to include them. In this article, we present a simplified but effective architecture based on contrastive learning with symmetric InfoNCE loss that outperforms current state-of-the-art results. Our framework consists of a narrow training pipeline that eliminates the need of using aggregation modules, avoids further pre-processing steps and even increases the generalisation capability of the model to unknown regions. We introduce two types of sampling strategies for hard negatives. The first explicitly exploits geographically neighboring locations to provide a good starting point. The second leverages the visual similarity between the image embeddings in order to mine hard negative samples. Our work shows excellent performance on common cross-view datasets like CVUSA, CVACT, University-1652 and VIGOR. A comparison between cross-area and same-area settings demonstrate the good generalisation capability of our model.","url_abs":"https://arxiv.org/abs/2303.11851v2","url_pdf":"https://arxiv.org/pdf/2303.11851v2.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":"sample4geo-hard-negative-sampling-for-cross","repo_url":"https://github.com/Skyy93/Sample4Geo","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"contrastive-learning","task_name":"Contrastive Learning"},{"task_slug":"cross-view-geo-localisation","task_name":"Cross-View Geo-Localisation"},{"task_slug":"drone-view-target-localization","task_name":"Drone-view target localization"},{"task_slug":"image-based-localization","task_name":"Image-Based Localization"},{"task_slug":"visual-place-recognition","task_name":"Visual Place Recognition"}],"methods":[{"method_slug":"contrastive-learning","method_name":"Contrastive Learning"},{"method_slug":"infonce","method_name":"InfoNCE"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/cross-view-geo-localisation-on-spagbol","task":"Cross-View Geo-Localisation","dataset":"SpaGBOL","model":"Sample4Geo","rank_in_archive_order":3,"of":9,"metrics":{"Top-1":"50.80 "},"uses_additional_data":false},{"leaderboard":"/sota/drone-view-target-localization-on-university-1","task":"Drone-view target localization","dataset":"University-1652","model":"Sample4Geo","rank_in_archive_order":3,"of":11,"metrics":{"AP":"93.81","Recall@1":"92.65"},"uses_additional_data":false},{"leaderboard":"/sota/image-based-localization-on-vigor-cross-area","task":"Image-Based Localization","dataset":"VIGOR Cross Area","model":"Sample4Geo","rank_in_archive_order":2,"of":5,"metrics":{"Hit Rate":"69.87","Recall@1":"61.70","Recall@1%":"98.17","Recall@10":"88.00","Recall@5":"83.50"},"uses_additional_data":false},{"leaderboard":"/sota/image-based-localization-on-vigor-same-area","task":"Image-Based Localization","dataset":"VIGOR Same Area","model":"Sample4Geo","rank_in_archive_order":2,"of":5,"metrics":{"Hit Rate":"89.82","Recall@1":"77.86","Recall@1%":"99.61","Recall@10":"97.21","Recall@5":"95.66"},"uses_additional_data":false},{"leaderboard":"/sota/image-based-localization-on-cvact","task":"Image-Based Localization","dataset":"cvact","model":"Sample4Geo","rank_in_archive_order":2,"of":8,"metrics":{"Recall@1":"90.81","Recall@1 (%)":"98.77","Recall@10":"97.48","Recall@5":"96.74"},"uses_additional_data":false},{"leaderboard":"/sota/image-based-localization-on-cvusa-1","task":"Image-Based Localization","dataset":"cvusa","model":"Sample4Geo","rank_in_archive_order":2,"of":8,"metrics":{"Recall@1":"98.68","Recall@10":"99.78","Recall@5":"99.68","Recall@top1%":"99.87"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-cv-cities","task":"Visual Place Recognition","dataset":"CV-Cities","model":"Sample4Geo","rank_in_archive_order":2,"of":3,"metrics":{"Recall@1":"74.49","Recall@5":"84.07"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2303.11851","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2303.11851"}},"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/Skyy93/Sample4Geo","reach":null}],"summary":{"ran":1},"by_repo_kind":{"official":{"samples":1,"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":1,"samples":[{"code_sha256_prefix":"1857d4c1872ebe57","entry":"InfoNCE","repo":"Skyy93/Sample4Geo","repo_kind":"official","path":"sample4geo/loss.py","file_url":"https://github.com/Skyy93/Sample4Geo/blob/HEAD/sample4geo/loss.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1857d4c1872ebe57"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}