{"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/robust-image-retrieval-based-visual","title":"Robust Image Retrieval-based Visual Localization using Kapture","arxiv_id":"2007.13867","date":"2020-07-27","proceeding":null,"authors":["Martin Humenberger","Yohann Cabon","Nicolas Guerin","Julien Morat","Vincent Leroy","Jérôme Revaud","Philippe Rerole","Noé Pion","Cesar De Souza","Gabriela Csurka"],"abstract":"Visual localization tackles the challenge of estimating the camera pose from images by using correspondence analysis between query images and a map. This task is computation and data intensive which poses challenges on thorough evaluation of methods on various datasets. However, in order to further advance in the field, we claim that robust visual localization algorithms should be evaluated on multiple datasets covering a broad domain variety. To facilitate this, we introduce kapture, a new, flexible, unified data format and toolbox for visual localization and structure-from-motion (SFM). It enables easy usage of different datasets as well as efficient and reusable data processing. To demonstrate this, we present a versatile pipeline for visual localization that facilitates the use of different local and global features, 3D data (e.g. depth maps), non-vision sensor data (e.g. IMU, GPS, WiFi), and various processing algorithms. Using multiple configurations of the pipeline, we show the great versatility of kapture in our experiments. Furthermore, we evaluate our methods on eight public datasets where they rank top on all and first on many of them. To foster future research, we release code, models, and all datasets used in this paper in the kapture format open source under a permissive BSD license. github.com/naver/kapture, github.com/naver/kapture-localization","url_abs":"https://arxiv.org/abs/2007.13867v3","url_pdf":"https://arxiv.org/pdf/2007.13867v3.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":"robust-image-retrieval-based-visual","repo_url":"https://github.com/naver/kapture","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":null},{"paper_slug":"robust-image-retrieval-based-visual","repo_url":"https://github.com/naver/kapture-localization","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"tasks":[{"task_slug":"image-retrieval","task_name":"Image Retrieval"},{"task_slug":"pose-estimation","task_name":"Pose Estimation"},{"task_slug":"retrieval","task_name":"Retrieval"},{"task_slug":"visual-localization","task_name":"Visual Localization"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2007.13867","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2007.13867"}},"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/naver/kapture","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/naver/kapture-localization","reach":{"status":"ok","spdx":"BSD-3-Clause"}}],"summary":{"unverified":5},"by_repo_kind":{"official":{"samples":5,"ran":0,"repositories":2}},"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":"17a28c4e8fd74928","entry":"ask_confirmation","repo":"naver/kapture","repo_kind":"official","path":"tools/kapture_download_dataset.py","file_url":"https://github.com/naver/kapture/blob/HEAD/tools/kapture_download_dataset.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"17a28c4e8fd74928"}},{"code_sha256_prefix":"7efada4e4a38d8b9","entry":"get_position_diff","repo":"naver/kapture-localization","repo_kind":"official","path":"kapture_localization/pairing/distance.py","file_url":"https://github.com/naver/kapture-localization/blob/HEAD/kapture_localization/pairing/distance.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"7efada4e4a38d8b9"}},{"code_sha256_prefix":"8991644fb922c76b","entry":"get_similarity","repo":"naver/kapture-localization","repo_kind":"official","path":"kapture_localization/image_retrieval/pairing.py","file_url":"https://github.com/naver/kapture-localization/blob/HEAD/kapture_localization/image_retrieval/pairing.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"8991644fb922c76b"}},{"code_sha256_prefix":"fc768ea8fb5f195d","entry":"get_similarity_matrix","repo":"naver/kapture-localization","repo_kind":"official","path":"kapture_localization/image_retrieval/pairing.py","file_url":"https://github.com/naver/kapture-localization/blob/HEAD/kapture_localization/image_retrieval/pairing.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"fc768ea8fb5f195d"}},{"code_sha256_prefix":"ce50f292cc2c610a","entry":"round_robin_from_similarity_dicts","repo":"naver/kapture-localization","repo_kind":"official","path":"kapture_localization/image_retrieval/fusion.py","file_url":"https://github.com/naver/kapture-localization/blob/HEAD/kapture_localization/image_retrieval/fusion.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"ce50f292cc2c610a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}