{"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/learning-and-aggregating-deep-local","title":"Learning and aggregating deep local descriptors for instance-level recognition","arxiv_id":"2007.13172","date":"2020-07-26","proceeding":"ECCV 2020 8","authors":["Giorgos Tolias","Tomas Jenicek","Ondřej Chum"],"abstract":"We propose an efficient method to learn deep local descriptors for instance-level recognition. The training only requires examples of positive and negative image pairs and is performed as metric learning of sum-pooled global image descriptors. At inference, the local descriptors are provided by the activations of internal components of the network. We demonstrate why such an approach learns local descriptors that work well for image similarity estimation with classical efficient match kernel methods. The experimental validation studies the trade-off between performance and memory requirements of the state-of-the-art image search approach based on match kernels. Compared to existing local descriptors, the proposed ones perform better in two instance-level recognition tasks and keep memory requirements lower. We experimentally show that global descriptors are not effective enough at large scale and that local descriptors are essential. We achieve state-of-the-art performance, in some cases even with a backbone network as small as ResNet18.","url_abs":"https://arxiv.org/abs/2007.13172v1","url_pdf":"https://arxiv.org/pdf/2007.13172v1.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":"learning-and-aggregating-deep-local","repo_url":"https://github.com/gtolias/how","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"learning-and-aggregating-deep-local","repo_url":"https://github.com/jenicek/asmk","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"image-retrieval","task_name":"Image Retrieval"},{"task_slug":"metric-learning","task_name":"Metric Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/image-retrieval-on-roxford-hard","task":"Image Retrieval","dataset":"ROxford (Hard)","model":"HOW","rank_in_archive_order":7,"of":23,"metrics":{"mAP":"56.9"},"uses_additional_data":false},{"leaderboard":"/sota/image-retrieval-on-roxford-medium","task":"Image Retrieval","dataset":"ROxford (Medium)","model":"HOW","rank_in_archive_order":6,"of":23,"metrics":{"mAP":"79.4"},"uses_additional_data":false},{"leaderboard":"/sota/image-retrieval-on-rparis-hard","task":"Image Retrieval","dataset":"RParis (Hard)","model":"HOW","rank_in_archive_order":9,"of":23,"metrics":{"mAP":"62.4"},"uses_additional_data":false},{"leaderboard":"/sota/image-retrieval-on-rparis-medium","task":"Image Retrieval","dataset":"RParis (Medium)","model":"HOW","rank_in_archive_order":8,"of":23,"metrics":{"mAP":"81.6"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2007.13172","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2007.13172"}},"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/jenicek/asmk","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/gtolias/how","reach":null}],"summary":{"ran_draft_wrong":1,"unverified":2},"by_repo_kind":{"official":{"samples":2,"ran":0,"repositories":1},"listed":{"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":0,"samples":[{"code_sha256_prefix":"e5f0920c6b5c8cdb","entry":"build_ivf","repo":"jenicek/asmk","repo_kind":"listed","path":"examples/demo_how.py","file_url":"https://github.com/jenicek/asmk/blob/HEAD/examples/demo_how.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e5f0920c6b5c8cdb"}},{"code_sha256_prefix":"32d92b9a890f1f6f","entry":"extract_vectors","repo":"gtolias/how","repo_kind":"official","path":"how/networks/how_net.py","file_url":"https://github.com/gtolias/how/blob/HEAD/how/networks/how_net.py","link_basis":"first_harvest_node","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":"32d92b9a890f1f6f"}},{"code_sha256_prefix":"02febcafd9b9ea5f","entry":"extract_vectors_local","repo":"gtolias/how","repo_kind":"official","path":"how/networks/how_net.py","file_url":"https://github.com/gtolias/how/blob/HEAD/how/networks/how_net.py","link_basis":"first_harvest_node","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":"02febcafd9b9ea5f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}