{"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/data-efficient-large-scale-place-recognition","title":"Data-efficient Large Scale Place Recognition with Graded Similarity Supervision","arxiv_id":"2303.11739","date":"2023-03-21","proceeding":"CVPR 2023 1","authors":["Maria Leyva-Vallina","Nicola Strisciuglio","Nicolai Petkov"],"abstract":"Visual place recognition (VPR) is a fundamental task of computer vision for visual localization. Existing methods are trained using image pairs that either depict the same place or not. Such a binary indication does not consider continuous relations of similarity between images of the same place taken from different positions, determined by the continuous nature of camera pose. The binary similarity induces a noisy supervision signal into the training of VPR methods, which stall in local minima and require expensive hard mining algorithms to guarantee convergence. Motivated by the fact that two images of the same place only partially share visual cues due to camera pose differences, we deploy an automatic re-annotation strategy to re-label VPR datasets. We compute graded similarity labels for image pairs based on available localization metadata. Furthermore, we propose a new Generalized Contrastive Loss (GCL) that uses graded similarity labels for training contrastive networks. We demonstrate that the use of the new labels and GCL allow to dispense from hard-pair mining, and to train image descriptors that perform better in VPR by nearest neighbor search, obtaining superior or comparable results than methods that require expensive hard-pair mining and re-ranking techniques. Code and models available at: https://github.com/marialeyvallina/generalized_contrastive_loss","url_abs":"https://arxiv.org/abs/2303.11739v2","url_pdf":"https://arxiv.org/pdf/2303.11739v2.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":"data-efficient-large-scale-place-recognition","repo_url":"https://github.com/marialeyvallina/generalized_contrastive_loss","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"re-ranking","task_name":"Re-Ranking"},{"task_slug":"visual-localization","task_name":"Visual Localization"},{"task_slug":"visual-place-recognition","task_name":"Visual Place Recognition"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/visual-place-recognition-on-msls","task":"Visual Place Recognition","dataset":"MSLS","model":"ResNeXt-GeM-GCL","rank_in_archive_order":2,"of":3,"metrics":{"Recall@1":"80.9"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2303.11739","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2303.11739"}},"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/marialeyvallina/generalized_contrastive_loss","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":12},"by_repo_kind":{"official":{"samples":12,"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":"f19f103c49750b67","entry":"cholesky","repo":"marialeyvallina/generalized_contrastive_loss","repo_kind":"official","path":"apply_pca.py","file_url":"https://github.com/marialeyvallina/generalized_contrastive_loss/blob/HEAD/apply_pca.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":"f19f103c49750b67"}},{"code_sha256_prefix":"f88006d744a236e4","entry":"create_dataloader","repo":"marialeyvallina/generalized_contrastive_loss","repo_kind":"official","path":"src/factory.py","file_url":"https://github.com/marialeyvallina/generalized_contrastive_loss/blob/HEAD/src/factory.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":"f88006d744a236e4"}},{"code_sha256_prefix":"0db924181fa592d8","entry":"create_msls_dataloader","repo":"marialeyvallina/generalized_contrastive_loss","repo_kind":"official","path":"src/factory.py","file_url":"https://github.com/marialeyvallina/generalized_contrastive_loss/blob/HEAD/src/factory.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":"0db924181fa592d8"}},{"code_sha256_prefix":"9fa8fdaa4ee659f1","entry":"extract_msls_top_k","repo":"marialeyvallina/generalized_contrastive_loss","repo_kind":"official","path":"extract_predictions.py","file_url":"https://github.com/marialeyvallina/generalized_contrastive_loss/blob/HEAD/extract_predictions.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":"9fa8fdaa4ee659f1"}},{"code_sha256_prefix":"5572e0bfa73789d7","entry":"get_backbone","repo":"marialeyvallina/generalized_contrastive_loss","repo_kind":"official","path":"src/factory.py","file_url":"https://github.com/marialeyvallina/generalized_contrastive_loss/blob/HEAD/src/factory.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":"5572e0bfa73789d7"}},{"code_sha256_prefix":"30fa3d61f30e3927","entry":"load_index","repo":"marialeyvallina/generalized_contrastive_loss","repo_kind":"official","path":"extract_predictions.py","file_url":"https://github.com/marialeyvallina/generalized_contrastive_loss/blob/HEAD/extract_predictions.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":"30fa3d61f30e3927"}},{"code_sha256_prefix":"b670a3e0a24da63b","entry":"pcawhitenlearn","repo":"marialeyvallina/generalized_contrastive_loss","repo_kind":"official","path":"apply_pca.py","file_url":"https://github.com/marialeyvallina/generalized_contrastive_loss/blob/HEAD/apply_pca.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":"b670a3e0a24da63b"}},{"code_sha256_prefix":"c5aeb2054758da8f","entry":"reflection_matrix","repo":"marialeyvallina/generalized_contrastive_loss","repo_kind":"official","path":"src/labeling/transformations.py","file_url":"https://github.com/marialeyvallina/generalized_contrastive_loss/blob/HEAD/src/labeling/transformations.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":"c5aeb2054758da8f"}},{"code_sha256_prefix":"77cb383b0cd2a54e","entry":"translation_from_matrix","repo":"marialeyvallina/generalized_contrastive_loss","repo_kind":"official","path":"src/labeling/transformations.py","file_url":"https://github.com/marialeyvallina/generalized_contrastive_loss/blob/HEAD/src/labeling/transformations.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":"77cb383b0cd2a54e"}},{"code_sha256_prefix":"edeb1406911ce025","entry":"translation_matrix","repo":"marialeyvallina/generalized_contrastive_loss","repo_kind":"official","path":"src/labeling/transformations.py","file_url":"https://github.com/marialeyvallina/generalized_contrastive_loss/blob/HEAD/src/labeling/transformations.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":"edeb1406911ce025"}},{"code_sha256_prefix":"f2f12a45b4e7b8f4","entry":"whitenapply","repo":"marialeyvallina/generalized_contrastive_loss","repo_kind":"official","path":"apply_pca.py","file_url":"https://github.com/marialeyvallina/generalized_contrastive_loss/blob/HEAD/apply_pca.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":"f2f12a45b4e7b8f4"}},{"code_sha256_prefix":"b89a2ef89d4c38b5","entry":"world_to_camera","repo":"marialeyvallina/generalized_contrastive_loss","repo_kind":"official","path":"extract_predictions.py","file_url":"https://github.com/marialeyvallina/generalized_contrastive_loss/blob/HEAD/extract_predictions.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":"b89a2ef89d4c38b5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}