{"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/netvlad-cnn-architecture-for-weakly","title":"NetVLAD: CNN architecture for weakly supervised place recognition","arxiv_id":"1511.07247","date":"2015-11-23","proceeding":"CVPR 2016 6","authors":["Relja Arandjelović","Petr Gronat","Akihiko Torii","Tomas Pajdla","Josef Sivic"],"abstract":"We tackle the problem of large scale visual place recognition, where the task\nis to quickly and accurately recognize the location of a given query\nphotograph. We present the following three principal contributions. First, we\ndevelop a convolutional neural network (CNN) architecture that is trainable in\nan end-to-end manner directly for the place recognition task. The main\ncomponent of this architecture, NetVLAD, is a new generalized VLAD layer,\ninspired by the \"Vector of Locally Aggregated Descriptors\" image representation\ncommonly used in image retrieval. The layer is readily pluggable into any CNN\narchitecture and amenable to training via backpropagation. Second, we develop a\ntraining procedure, based on a new weakly supervised ranking loss, to learn\nparameters of the architecture in an end-to-end manner from images depicting\nthe same places over time downloaded from Google Street View Time Machine.\nFinally, we show that the proposed architecture significantly outperforms\nnon-learnt image representations and off-the-shelf CNN descriptors on two\nchallenging place recognition benchmarks, and improves over current\nstate-of-the-art compact image representations on standard image retrieval\nbenchmarks.","url_abs":"http://arxiv.org/abs/1511.07247v3","url_pdf":"http://arxiv.org/pdf/1511.07247v3.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":"netvlad-cnn-architecture-for-weakly","repo_url":"https://github.com/Relja/netvlad","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"netvlad-cnn-architecture-for-weakly","repo_url":"https://github.com/ChienYiChi/kaggle-panda-challenge","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"netvlad-cnn-architecture-for-weakly","repo_url":"https://github.com/MubarizZaffar/VPR-Bench","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"netvlad-cnn-architecture-for-weakly","repo_url":"https://github.com/Nanne/pytorch-NetVlad","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"netvlad-cnn-architecture-for-weakly","repo_url":"https://github.com/YanLiqi/HAF","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"netvlad-cnn-architecture-for-weakly","repo_url":"https://github.com/chengricky/PanoramicScenePlaceRecognition","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"netvlad-cnn-architecture-for-weakly","repo_url":"https://github.com/gmberton/geo_warp","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"netvlad-cnn-architecture-for-weakly","repo_url":"https://github.com/goodproj13/DenserNet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"netvlad-cnn-architecture-for-weakly","repo_url":"https://github.com/keetsky/Net_ghostVLAD-pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"netvlad-cnn-architecture-for-weakly","repo_url":"https://github.com/lyakaap/NetVLAD-pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"netvlad-cnn-architecture-for-weakly","repo_url":"https://github.com/vinnik-dmitry07/PlaceRecognition","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"netvlad-cnn-architecture-for-weakly","repo_url":"https://github.com/yxgeee/SFRS","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"netvlad-cnn-architecture-for-weakly","repo_url":"https://github.com/yxgeee/openibl","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"netvlad-cnn-architecture-for-weakly","repo_url":"https://github.com/uzh-rpg/netvlad_tf_open","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"image-retrieval","task_name":"Image Retrieval"},{"task_slug":"retrieval","task_name":"Retrieval"},{"task_slug":"visual-place-recognition","task_name":"Visual Place Recognition"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/visual-place-recognition-on-17-places","task":"Visual Place Recognition","dataset":"17 Places","model":"NetVLAD","rank_in_archive_order":6,"of":8,"metrics":{"Recall@1":"61.58"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-baidu-mall","task":"Visual Place Recognition","dataset":"Baidu Mall","model":"NetVLAD","rank_in_archive_order":5,"of":8,"metrics":{"Recall@1":"53.10"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-berlin-kudamm","task":"Visual Place Recognition","dataset":"Berlin Kudamm","model":"NetVLAD","rank_in_archive_order":4,"of":4,"metrics":{"Recall@1":"38.21"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-gardens-point","task":"Visual Place Recognition","dataset":"Gardens Point","model":"NetVLAD","rank_in_archive_order":6,"of":7,"metrics":{"Recall@1":"58.50"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-hawkins","task":"Visual Place Recognition","dataset":"Hawkins","model":"NetVLAD","rank_in_archive_order":3,"of":7,"metrics":{"Recall@1":"34.75"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-laurel-caverns","task":"Visual Place Recognition","dataset":"Laurel Caverns","model":"NetVLAD","rank_in_archive_order":4,"of":7,"metrics":{"Recall@1":"39.29"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-mid-atlantic","task":"Visual Place Recognition","dataset":"Mid-Atlantic Ridge","model":"NetVLAD","rank_in_archive_order":3,"of":7,"metrics":{"Recall@1":"25.74"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-nardo-air","task":"Visual Place Recognition","dataset":"Nardo-Air","model":"NetVLAD","rank_in_archive_order":6,"of":7,"metrics":{"Recall@1":"19.72"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-nardo-air-r","task":"Visual Place Recognition","dataset":"Nardo-Air R","model":"NetVLAD","rank_in_archive_order":8,"of":8,"metrics":{"Recall@1":"60.56"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-oxford-robotcar-4","task":"Visual Place Recognition","dataset":"Oxford RobotCar Dataset","model":"NetVLAD","rank_in_archive_order":4,"of":7,"metrics":{"Recall@1":"52.88"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-pittsburgh-30k","task":"Visual Place Recognition","dataset":"Pittsburgh-30k-test","model":"NetVLAD","rank_in_archive_order":18,"of":22,"metrics":{"Recall@1":"86.08"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-st-lucia","task":"Visual Place Recognition","dataset":"St Lucia","model":"NetVLAD","rank_in_archive_order":12,"of":14,"metrics":{"Recall@1":"57.92"},"uses_additional_data":false},{"leaderboard":"/sota/visual-place-recognition-on-vp-air","task":"Visual Place Recognition","dataset":"VP-Air","model":"NetVLAD","rank_in_archive_order":7,"of":7,"metrics":{"Recall@1":"6.39"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/1511.07247","atlas_url":"https://app.syntology.ai/?focus=1511.07247","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1511.07247"}},"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/vinnik-dmitry07/PlaceRecognition","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/goodproj13/DenserNet","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/uzh-rpg/netvlad_tf_open","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/MubarizZaffar/VPR-Bench","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/gmberton/geo_warp","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/chengricky/PanoramicScenePlaceRecognition","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Relja/netvlad","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yxgeee/openibl","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ChienYiChi/kaggle-panda-challenge","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Nanne/pytorch-NetVlad","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/YanLiqi/HAF","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lyakaap/NetVLAD-pytorch","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yxgeee/SFRS","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/keetsky/Net_ghostVLAD-pytorch","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":12},"by_repo_kind":{"listed":{"samples":12,"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":"e193c34cf5c21621","entry":"accuracy","repo":"ChienYiChi/kaggle-panda-challenge","repo_kind":"listed","path":"src/utils.py","file_url":"https://github.com/ChienYiChi/kaggle-panda-challenge/blob/HEAD/src/utils.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":"e193c34cf5c21621"}},{"code_sha256_prefix":"dc26c333e39e8ca9","entry":"blue_ratio_selection","repo":"ChienYiChi/kaggle-panda-challenge","repo_kind":"listed","path":"src/dataset.py","file_url":"https://github.com/ChienYiChi/kaggle-panda-challenge/blob/HEAD/src/dataset.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":"dc26c333e39e8ca9"}},{"code_sha256_prefix":"d40e6d73305e43d0","entry":"compute_weights","repo":"ChienYiChi/kaggle-panda-challenge","repo_kind":"listed","path":"src/generate_weights.py","file_url":"https://github.com/ChienYiChi/kaggle-panda-challenge/blob/HEAD/src/generate_weights.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":"d40e6d73305e43d0"}},{"code_sha256_prefix":"d9a827e75b532949","entry":"crop_white","repo":"ChienYiChi/kaggle-panda-challenge","repo_kind":"listed","path":"src/preprocess.py","file_url":"https://github.com/ChienYiChi/kaggle-panda-challenge/blob/HEAD/src/preprocess.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":"d9a827e75b532949"}},{"code_sha256_prefix":"3e2532b6c170f972","entry":"evaluate","repo":"uzh-rpg/netvlad_tf_open","repo_kind":"listed","path":"python/netvlad_tf/precision_recall.py","file_url":"https://github.com/uzh-rpg/netvlad_tf_open/blob/HEAD/python/netvlad_tf/precision_recall.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":"3e2532b6c170f972"}},{"code_sha256_prefix":"aa3e63d35834e2eb","entry":"get_tiles","repo":"ChienYiChi/kaggle-panda-challenge","repo_kind":"listed","path":"src/dataset.py","file_url":"https://github.com/ChienYiChi/kaggle-panda-challenge/blob/HEAD/src/dataset.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":"aa3e63d35834e2eb"}},{"code_sha256_prefix":"4f6eccb6a67664d3","entry":"get_tiles_brs","repo":"ChienYiChi/kaggle-panda-challenge","repo_kind":"listed","path":"src/dataset.py","file_url":"https://github.com/ChienYiChi/kaggle-panda-challenge/blob/HEAD/src/dataset.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":"4f6eccb6a67664d3"}},{"code_sha256_prefix":"0fe927e3be8d314c","entry":"matconvnetNormalize","repo":"uzh-rpg/netvlad_tf_open","repo_kind":"listed","path":"python/netvlad_tf/layers.py","file_url":"https://github.com/uzh-rpg/netvlad_tf_open/blob/HEAD/python/netvlad_tf/layers.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":"0fe927e3be8d314c"}},{"code_sha256_prefix":"135081edae587c1d","entry":"name_to_tile","repo":"ChienYiChi/kaggle-panda-challenge","repo_kind":"listed","path":"src/generate_weights.py","file_url":"https://github.com/ChienYiChi/kaggle-panda-challenge/blob/HEAD/src/generate_weights.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":"135081edae587c1d"}},{"code_sha256_prefix":"1bfe629b56c533b1","entry":"netVLAD","repo":"uzh-rpg/netvlad_tf_open","repo_kind":"listed","path":"python/netvlad_tf/layers.py","file_url":"https://github.com/uzh-rpg/netvlad_tf_open/blob/HEAD/python/netvlad_tf/layers.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":"1bfe629b56c533b1"}},{"code_sha256_prefix":"374f0d897ab43c7e","entry":"quadratic_weighted_kappa","repo":"ChienYiChi/kaggle-panda-challenge","repo_kind":"listed","path":"src/engine.py","file_url":"https://github.com/ChienYiChi/kaggle-panda-challenge/blob/HEAD/src/engine.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":"374f0d897ab43c7e"}},{"code_sha256_prefix":"f7ee730a2131702b","entry":"setup_logger","repo":"ChienYiChi/kaggle-panda-challenge","repo_kind":"listed","path":"src/utils.py","file_url":"https://github.com/ChienYiChi/kaggle-panda-challenge/blob/HEAD/src/utils.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":"f7ee730a2131702b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}