{"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/unsupervised-domain-adaptation-in-the","title":"Unsupervised Domain Adaptation in the Dissimilarity Space for Person Re-identification","arxiv_id":"2007.13890","date":"2020-07-27","proceeding":"ECCV 2020 8","authors":["Djebril Mekhazni","Amran Bhuiyan","George Ekladious","Eric Granger"],"abstract":"Person re-identification (ReID) remains a challenging task in many real-word video analytics and surveillance applications, even though state-of-the-art accuracy has improved considerably with the advent of deep learning (DL) models trained on large image datasets. Given the shift in distributions that typically occurs between video data captured from the source and target domains, and absence of labeled data from the target domain, it is difficult to adapt a DL model for accurate recognition of target data. We argue that for pair-wise matchers that rely on metric learning, e.g., Siamese networks for person ReID, the unsupervised domain adaptation (UDA) objective should consist in aligning pair-wise dissimilarity between domains, rather than aligning feature representations. Moreover, dissimilarity representations are more suitable for designing open-set ReID systems, where identities differ in the source and target domains. In this paper, we propose a novel Dissimilarity-based Maximum Mean Discrepancy (D-MMD) loss for aligning pair-wise distances that can be optimized via gradient descent. From a person ReID perspective, the evaluation of D-MMD loss is straightforward since the tracklet information allows to label a distance vector as being either within-class or between-class. This allows approximating the underlying distribution of target pair-wise distances for D-MMD loss optimization, and accordingly align source and target distance distributions. Empirical results with three challenging benchmark datasets show that the proposed D-MMD loss decreases as source and domain distributions become more similar. Extensive experimental evaluation also indicates that UDA methods that rely on the D-MMD loss can significantly outperform baseline and state-of-the-art UDA methods for person ReID without the common requirement for data augmentation and/or complex networks.","url_abs":"https://arxiv.org/abs/2007.13890v1","url_pdf":"https://arxiv.org/pdf/2007.13890v1.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":"unsupervised-domain-adaptation-in-the","repo_url":"https://github.com/djidje/D-MMD","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"unsupervised-domain-adaptation-in-the","repo_url":"https://github.com/fremigereau/mtda_kd_reid","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"data-augmentation","task_name":"Data Augmentation"},{"task_slug":"domain-adaptation","task_name":"Domain Adaptation"},{"task_slug":"metric-learning","task_name":"Metric Learning"},{"task_slug":"person-re-identification","task_name":"Person Re-Identification"},{"task_slug":"unsupervised-domain-adaptation","task_name":"Unsupervised Domain Adaptation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2007.13890","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2007.13890"}},"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/fremigereau/mtda_kd_reid","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/djidje/D-MMD","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":2,"unverified":17},"by_repo_kind":{"official":{"samples":10,"ran":2,"repositories":1},"listed":{"samples":9,"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":"158bf4c3a5f11f04","entry":"conv1x1","repo":"djidje/D-MMD","repo_kind":"official","path":"torchreid/models/resnet.py","file_url":"https://github.com/djidje/D-MMD/blob/HEAD/torchreid/models/resnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"158bf4c3a5f11f04"}},{"code_sha256_prefix":"29df79c9fdb0cee8","entry":"conv3x3","repo":"djidje/D-MMD","repo_kind":"official","path":"torchreid/models/resnet.py","file_url":"https://github.com/djidje/D-MMD/blob/HEAD/torchreid/models/resnet.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"29df79c9fdb0cee8"}},{"code_sha256_prefix":"3f035a8f26b7201e","entry":"accuracy","repo":"djidje/D-MMD","repo_kind":"official","path":"torchreid/metrics/accuracy.py","file_url":"https://github.com/djidje/D-MMD/blob/HEAD/torchreid/metrics/accuracy.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":"3f035a8f26b7201e"}},{"code_sha256_prefix":"a8784aa9b1f9f43d","entry":"adjoint","repo":"fremigereau/mtda_kd_reid","repo_kind":"listed","path":"torchreid/losses/log_euclid_loss.py","file_url":"https://github.com/fremigereau/mtda_kd_reid/blob/HEAD/torchreid/losses/log_euclid_loss.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":"a8784aa9b1f9f43d"}},{"code_sha256_prefix":"47abff66686e1367","entry":"compute_distance_matrix","repo":"djidje/D-MMD","repo_kind":"official","path":"torchreid/metrics/distance.py","file_url":"https://github.com/djidje/D-MMD/blob/HEAD/torchreid/metrics/distance.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":"47abff66686e1367"}},{"code_sha256_prefix":"e8878931ade705ee","entry":"cosine_distance","repo":"djidje/D-MMD","repo_kind":"official","path":"torchreid/metrics/distance.py","file_url":"https://github.com/djidje/D-MMD/blob/HEAD/torchreid/metrics/distance.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":"e8878931ade705ee"}},{"code_sha256_prefix":"7f07c9c709558f20","entry":"euclidean_squared_distance","repo":"djidje/D-MMD","repo_kind":"official","path":"torchreid/metrics/distance.py","file_url":"https://github.com/djidje/D-MMD/blob/HEAD/torchreid/metrics/distance.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":"7f07c9c709558f20"}},{"code_sha256_prefix":"864af8714b01d899","entry":"hook_convNd","repo":"djidje/D-MMD","repo_kind":"official","path":"torchreid/utils/model_complexity.py","file_url":"https://github.com/djidje/D-MMD/blob/HEAD/torchreid/utils/model_complexity.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":"864af8714b01d899"}},{"code_sha256_prefix":"3da6ed703abc90f2","entry":"hook_maxpool1d","repo":"djidje/D-MMD","repo_kind":"official","path":"torchreid/utils/model_complexity.py","file_url":"https://github.com/djidje/D-MMD/blob/HEAD/torchreid/utils/model_complexity.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":"3da6ed703abc90f2"}},{"code_sha256_prefix":"ac37e89d43b7c73b","entry":"hook_maxpool2d","repo":"djidje/D-MMD","repo_kind":"official","path":"torchreid/utils/model_complexity.py","file_url":"https://github.com/djidje/D-MMD/blob/HEAD/torchreid/utils/model_complexity.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":"ac37e89d43b7c73b"}},{"code_sha256_prefix":"64a159f6f4dbec43","entry":"init_pretrained_weights","repo":"fremigereau/mtda_kd_reid","repo_kind":"listed","path":"torchreid/models/osnet.py","file_url":"https://github.com/fremigereau/mtda_kd_reid/blob/HEAD/torchreid/models/osnet.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":"64a159f6f4dbec43"}},{"code_sha256_prefix":"ad3e59b7ac358ac0","entry":"logm","repo":"fremigereau/mtda_kd_reid","repo_kind":"listed","path":"torchreid/losses/log_euclid_loss.py","file_url":"https://github.com/fremigereau/mtda_kd_reid/blob/HEAD/torchreid/losses/log_euclid_loss.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":"ad3e59b7ac358ac0"}},{"code_sha256_prefix":"a3c2efa887b61229","entry":"logm_scipy","repo":"fremigereau/mtda_kd_reid","repo_kind":"listed","path":"torchreid/losses/log_euclid_loss.py","file_url":"https://github.com/fremigereau/mtda_kd_reid/blob/HEAD/torchreid/losses/log_euclid_loss.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":"a3c2efa887b61229"}},{"code_sha256_prefix":"a3b2dfaeb8242a74","entry":"mobilenetv2_x1_0","repo":"fremigereau/mtda_kd_reid","repo_kind":"listed","path":"torchreid/models/mobilenetv2.py","file_url":"https://github.com/fremigereau/mtda_kd_reid/blob/HEAD/torchreid/models/mobilenetv2.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":"a3b2dfaeb8242a74"}},{"code_sha256_prefix":"85fe509123aeb62c","entry":"mobilenetv2_x1_4","repo":"fremigereau/mtda_kd_reid","repo_kind":"listed","path":"torchreid/models/mobilenetv2.py","file_url":"https://github.com/fremigereau/mtda_kd_reid/blob/HEAD/torchreid/models/mobilenetv2.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":"85fe509123aeb62c"}},{"code_sha256_prefix":"e16bb8aa7f328ab6","entry":"osnet_x0_75","repo":"fremigereau/mtda_kd_reid","repo_kind":"listed","path":"torchreid/models/osnet.py","file_url":"https://github.com/fremigereau/mtda_kd_reid/blob/HEAD/torchreid/models/osnet.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":"e16bb8aa7f328ab6"}},{"code_sha256_prefix":"33e115bbbea25b98","entry":"osnet_x1_0","repo":"fremigereau/mtda_kd_reid","repo_kind":"listed","path":"torchreid/models/osnet.py","file_url":"https://github.com/fremigereau/mtda_kd_reid/blob/HEAD/torchreid/models/osnet.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":"33e115bbbea25b98"}},{"code_sha256_prefix":"d0707f6bcff796e4","entry":"resnet18","repo":"fremigereau/mtda_kd_reid","repo_kind":"listed","path":"torchreid/models/resnet.py","file_url":"https://github.com/fremigereau/mtda_kd_reid/blob/HEAD/torchreid/models/resnet.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":"d0707f6bcff796e4"}},{"code_sha256_prefix":"1b930b1d1d88f2b9","entry":"resnet50","repo":"djidje/D-MMD","repo_kind":"official","path":"torchreid/models/resnet.py","file_url":"https://github.com/djidje/D-MMD/blob/HEAD/torchreid/models/resnet.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":"1b930b1d1d88f2b9"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}