{"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/working-hard-to-know-your-neighbors-margins","title":"Working hard to know your neighbor's margins: Local descriptor learning loss","arxiv_id":"1705.10872","date":"2017-05-30","proceeding":"NeurIPS 2017 12","authors":["Anastasiya Mishchuk","Dmytro Mishkin","Filip Radenovic","Jiri Matas"],"abstract":"We introduce a novel loss for learning local feature descriptors which is\ninspired by the Lowe's matching criterion for SIFT. We show that the proposed\nloss that maximizes the distance between the closest positive and closest\nnegative patch in the batch is better than complex regularization methods; it\nworks well for both shallow and deep convolution network architectures.\nApplying the novel loss to the L2Net CNN architecture results in a compact\ndescriptor -- it has the same dimensionality as SIFT (128) that shows\nstate-of-art performance in wide baseline stereo, patch verification and\ninstance retrieval benchmarks. It is fast, computing a descriptor takes about 1\nmillisecond on a low-end GPU.","url_abs":"http://arxiv.org/abs/1705.10872v4","url_pdf":"http://arxiv.org/pdf/1705.10872v4.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":"working-hard-to-know-your-neighbors-margins","repo_url":"https://github.com/DagnyT/hardnet","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"working-hard-to-know-your-neighbors-margins","repo_url":"https://github.com/empty16/hardnet.pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"working-hard-to-know-your-neighbors-margins","repo_url":"https://github.com/oskyhn/CNNs-Without-Borders","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"working-hard-to-know-your-neighbors-margins","repo_url":"https://github.com/kornia/kornia","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":null,"task_name":"GPU"},{"task_slug":"image-retrieval","task_name":"Image Retrieval"},{"task_slug":"patch-matching","task_name":"Patch Matching"},{"task_slug":"retrieval","task_name":"Retrieval"}],"methods":[{"method_slug":"convolution","method_name":"Convolution"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=1705.10872","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1705.10872"}},"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/kornia/kornia","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/oskyhn/CNNs-Without-Borders","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/empty16/hardnet.pytorch","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/DagnyT/hardnet","reach":null}],"summary":{"unverified":1},"by_repo_kind":{"official":{"samples":1,"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":"f19f616c671f2a2b","entry":"create_optimizer","repo":"DagnyT/hardnet","repo_kind":"official","path":"code/HardNet.py","file_url":"https://github.com/DagnyT/hardnet/blob/HEAD/code/HardNet.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":"f19f616c671f2a2b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}