{"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/boq-a-place-is-worth-a-bag-of-learnable","title":"BoQ: A Place is Worth a Bag of Learnable Queries","arxiv_id":"2405.07364","date":"2024-05-12","proceeding":"CVPR 2024 1","authors":["Amar Ali-bey","Brahim Chaib-Draa","Philippe Giguère"],"abstract":"In visual place recognition, accurately identifying and matching images of locations under varying environmental conditions and viewpoints remains a significant challenge. In this paper, we introduce a new technique, called Bag-of-Queries (BoQ), which learns a set of global queries designed to capture universal place-specific attributes. Unlike existing methods that employ self-attention and generate the queries directly from the input features, BoQ employs distinct learnable global queries, which probe the input features via cross-attention, ensuring consistent information aggregation. In addition, our technique provides an interpretable attention mechanism and integrates with both CNN and Vision Transformer backbones. The performance of BoQ is demonstrated through extensive experiments on 14 large-scale benchmarks. It consistently outperforms current state-of-the-art techniques including NetVLAD, MixVPR and EigenPlaces. Moreover, as a global retrieval technique (one-stage), BoQ surpasses two-stage retrieval methods, such as Patch-NetVLAD, TransVPR and R2Former, all while being orders of magnitude faster and more efficient. The code and model weights are publicly available at https://github.com/amaralibey/Bag-of-Queries.","url_abs":"https://arxiv.org/abs/2405.07364v3","url_pdf":"https://arxiv.org/pdf/2405.07364v3.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":"boq-a-place-is-worth-a-bag-of-learnable","repo_url":"https://github.com/amaralibey/bag-of-queries","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"image-similarity-search","task_name":"Image Similarity Search"},{"task_slug":"retrieval","task_name":"Retrieval"},{"task_slug":"visual-place-recognition","task_name":"Visual Place Recognition"}],"methods":[{"method_slug":"attention","method_name":"Attention"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"position-wise-feed-forward-layer","method_name":"Position-Wise Feed-Forward Layer"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"set","method_name":"SET"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"transformer","method_name":"Transformer"},{"method_slug":"vision-transformer","method_name":"Vision Transformer"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/visual-place-recognition-on-amstertime","task":"Visual Place Recognition","dataset":"AmsterTime","model":"BoQ","rank_in_archive_order":5,"of":8,"metrics":{"Recall@1":"63.0","Recall@10":"85.1","Recall@5":"81.6"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-amstertime","task":"Visual Place Recognition","dataset":"AmsterTime","model":"BoQ (ResNet-50)","rank_in_archive_order":7,"of":8,"metrics":{"Recall@1":"52.2"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-eynsham","task":"Visual Place Recognition","dataset":"Eynsham","model":"BoQ","rank_in_archive_order":3,"of":7,"metrics":{"Recall@1":"92.2","Recall@10":"96.4","Recall@5":"95.6"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-eynsham","task":"Visual Place Recognition","dataset":"Eynsham","model":"BoQ (ResNet-50)","rank_in_archive_order":5,"of":7,"metrics":{"Recall@1":"91.3"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-mapillary-test","task":"Visual Place Recognition","dataset":"Mapillary test","model":"BoQ","rank_in_archive_order":4,"of":12,"metrics":{"Recall@1":"79","Recall@10":"92","Recall@5":"90.3"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-mapillary-val","task":"Visual Place Recognition","dataset":"Mapillary val","model":"BoQ","rank_in_archive_order":3,"of":18,"metrics":{"Recall@1":"93.8","Recall@10":"97","Recall@5":"96.8"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-mapillary-val","task":"Visual Place Recognition","dataset":"Mapillary val","model":"BoQ (ResNet-50)","rank_in_archive_order":9,"of":18,"metrics":{"Recall@1":"91.2","Recall@10":"96.1","Recall@5":"95.3"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-nordland","task":"Visual Place Recognition","dataset":"Nordland","model":"BoQ","rank_in_archive_order":4,"of":13,"metrics":{"Recall@1":"90.6","Recall@10":"97.5","Recall@5":"96.0"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-nordland","task":"Visual Place Recognition","dataset":"Nordland","model":"BoQ (ResNet-50)","rank_in_archive_order":8,"of":13,"metrics":{"Recall@1":"83.1"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-nordland-2760","task":"Visual Place Recognition","dataset":"Nordland* (2760 queries)","model":"BoQ","rank_in_archive_order":3,"of":4,"metrics":{"Recall@1":"81.3","Recall@10":"94.8","Recall@5":"92.5"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-pittsburgh-250k","task":"Visual Place Recognition","dataset":"Pittsburgh-250k-test","model":"BoQ","rank_in_archive_order":2,"of":13,"metrics":{"Recall@1":"96.6","Recall@10":"99.5","Recall@5":"99.1"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-pittsburgh-250k","task":"Visual Place Recognition","dataset":"Pittsburgh-250k-test","model":"BoQ (ResNet-50)","rank_in_archive_order":7,"of":13,"metrics":{"Recall@1":"95","Recall@10":"99.1","Recall@5":"98.5"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-pittsburgh-30k","task":"Visual Place Recognition","dataset":"Pittsburgh-30k-test","model":"BoQ","rank_in_archive_order":7,"of":22,"metrics":{"Recall@1":"93.7","Recall@10":"97.9","Recall@5":"97.1"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-pittsburgh-30k","task":"Visual Place Recognition","dataset":"Pittsburgh-30k-test","model":"BoQ\n(ResNet-50)","rank_in_archive_order":12,"of":22,"metrics":{"Recall@1":"92.4"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-sped","task":"Visual Place Recognition","dataset":"SPED","model":"BoQ","rank_in_archive_order":1,"of":7,"metrics":{"Recall@1":"92.5","Recall@10":"96.7","Recall@5":"95.9"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-sped","task":"Visual Place Recognition","dataset":"SPED","model":"BoQ (ResNet-50)","rank_in_archive_order":6,"of":7,"metrics":{"Recall@1":"86.5","Recall@10":"95.7","Recall@5":"93.4"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-svox-night","task":"Visual Place Recognition","dataset":"SVOX-Night","model":"BoQ (ResNet-50)","rank_in_archive_order":4,"of":4,"metrics":{"Recall@1":"87.1"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-svox-overcast","task":"Visual Place Recognition","dataset":"SVOX-Overcast","model":"BoQ (ResNet-50)","rank_in_archive_order":4,"of":4,"metrics":{"Recall@1":"97.8"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-svox-rain","task":"Visual Place Recognition","dataset":"SVOX-Rain","model":"BoQ (ResNet-50)","rank_in_archive_order":4,"of":4,"metrics":{"Recall@1":"96.2"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-svox-snow","task":"Visual Place Recognition","dataset":"SVOX-Snow","model":"BoQ (ResNet-50)","rank_in_archive_order":4,"of":4,"metrics":{"Recall@1":"98.7"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-svox-sun","task":"Visual Place Recognition","dataset":"SVOX-Sun","model":"BoQ (ResNet-50)","rank_in_archive_order":4,"of":4,"metrics":{"Recall@1":"95.9"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-san-francisco","task":"Visual Place Recognition","dataset":"San Francisco Landmark Dataset","model":"BoQ","rank_in_archive_order":1,"of":3,"metrics":{"Recall@1":"93.6","Recall@10":"96.5","Recall@5":"95.8"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-st-lucia","task":"Visual Place Recognition","dataset":"St Lucia","model":"BoQ\n(DINOv2)","rank_in_archive_order":2,"of":14,"metrics":{"Recall@1":"100.0","Recall@5":"100"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-st-lucia","task":"Visual Place Recognition","dataset":"St Lucia","model":"BoQ","rank_in_archive_order":14,"of":14,"metrics":{"Recall@10":"100","Recall@5":"100"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-tokyo247","task":"Visual Place Recognition","dataset":"Tokyo247","model":"BoQ","rank_in_archive_order":6,"of":14,"metrics":{"Recall@1":"98.1","Recall@10":"98.7","Recall@5":"98.1"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/2405.07364","atlas_url":"https://app.syntology.ai/?focus=2405.07364","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2405.07364"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/amaralibey/bag-of-queries","reach":null}],"summary":{"ran":2},"by_repo_kind":{"official":{"samples":2,"ran":2,"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":"559bbe02d4c7c4f3","entry":"BoQ","repo":"amaralibey/bag-of-queries","repo_kind":"official","path":"src/boq.py","file_url":"https://github.com/amaralibey/bag-of-queries/blob/HEAD/src/boq.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":"559bbe02d4c7c4f3"}},{"code_sha256_prefix":"b4440ab34ed79c8d","entry":"BoQBlock","repo":"amaralibey/bag-of-queries","repo_kind":"official","path":"src/boq.py","file_url":"https://github.com/amaralibey/bag-of-queries/blob/HEAD/src/boq.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":"b4440ab34ed79c8d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}