{"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/dark-side-augmentation-generating-diverse-1","title":"Dark Side Augmentation: Generating Diverse Night Examples for Metric Learning","arxiv_id":"2309.16351","date":"2023-09-28","proceeding":"ICCV 2023 1","authors":["Albert Mohwald","Tomas Jenicek","Ondřej Chum"],"abstract":"Image retrieval methods based on CNN descriptors rely on metric learning from a large number of diverse examples of positive and negative image pairs. Domains, such as night-time images, with limited availability and variability of training data suffer from poor retrieval performance even with methods performing well on standard benchmarks. We propose to train a GAN-based synthetic-image generator, translating available day-time image examples into night images. Such a generator is used in metric learning as a form of augmentation, supplying training data to the scarce domain. Various types of generators are evaluated and analyzed. We contribute with a novel light-weight GAN architecture that enforces the consistency between the original and translated image through edge consistency. The proposed architecture also allows a simultaneous training of an edge detector that operates on both night and day images. To further increase the variability in the training examples and to maximize the generalization of the trained model, we propose a novel method of diverse anchor mining. The proposed method improves over the state-of-the-art results on a standard Tokyo 24/7 day-night retrieval benchmark while preserving the performance on Oxford and Paris datasets. This is achieved without the need of training image pairs of matching day and night images. The source code is available at https://github.com/mohwald/gandtr .","url_abs":"https://arxiv.org/abs/2309.16351v2","url_pdf":"https://arxiv.org/pdf/2309.16351v2.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":"dark-side-augmentation-generating-diverse-1","repo_url":"https://github.com/mohwald/gandtr","is_official":1,"mentioned_in_paper":1,"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"},{"task_slug":"retrieval","task_name":"Retrieval"},{"task_slug":"visual-localization","task_name":"Visual Localization"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/image-retrieval-on-24-7-tokyo","task":"Image Retrieval","dataset":"24/7 Tokyo","model":"HED-N-GAN","rank_in_archive_order":1,"of":3,"metrics":{"mAP":"92.2"},"uses_additional_data":false},{"leaderboard":"/sota/image-retrieval-on-roxford-medium","task":"Image Retrieval","dataset":"ROxford (Medium)","model":"HED-N-GAN","rank_in_archive_order":12,"of":23,"metrics":{"mAP":"66.3"},"uses_additional_data":false},{"leaderboard":"/sota/image-retrieval-on-rparis-medium","task":"Image Retrieval","dataset":"RParis (Medium)","model":"HED-N-GAN","rank_in_archive_order":12,"of":23,"metrics":{"mAP":"76.6"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2309.16351","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2309.16351"}},"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":"deterministic:regex_extraction","url":"https://github.com/sniklaus/pytorch-hed","reach":{"status":"ok","spdx":"GPL-3.0"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/mohwald/gandtr","reach":null}],"summary":{"ran":1,"ran_draft_wrong":1,"unverified":1},"by_repo_kind":{"official":{"samples":3,"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":"58b8456668588ee5","entry":"UnetSkipConnectionBlock","repo":"mohwald/gandtr","repo_kind":"official","path":"mdir/components/model/network/p2p_networks.py","file_url":"https://github.com/mohwald/gandtr/blob/HEAD/mdir/components/model/network/p2p_networks.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"58b8456668588ee5"}},{"code_sha256_prefix":"a5970dd69fec8577","entry":"get_norm_layer","repo":"mohwald/gandtr","repo_kind":"official","path":"mdir/components/model/network/p2p_networks.py","file_url":"https://github.com/mohwald/gandtr/blob/HEAD/mdir/components/model/network/p2p_networks.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":"a5970dd69fec8577"}},{"code_sha256_prefix":"e5a7558718798606","entry":"UnetGenerator","repo":"mohwald/gandtr","repo_kind":"official","path":"mdir/components/model/network/p2p_networks.py","file_url":"https://github.com/mohwald/gandtr/blob/HEAD/mdir/components/model/network/p2p_networks.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":"e5a7558718798606"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}