{"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/invariance-matters-exemplar-memory-for-domain","title":"Invariance Matters: Exemplar Memory for Domain Adaptive Person Re-identification","arxiv_id":"1904.01990","date":"2019-04-03","proceeding":"CVPR 2019 6","authors":["Zhun Zhong","Liang Zheng","Zhiming Luo","Shaozi Li","Yi Yang"],"abstract":"This paper considers the domain adaptive person re-identification (re-ID)\nproblem: learning a re-ID model from a labeled source domain and an unlabeled\ntarget domain. Conventional methods are mainly to reduce feature distribution\ngap between the source and target domains. However, these studies largely\nneglect the intra-domain variations in the target domain, which contain\ncritical factors influencing the testing performance on the target domain. In\nthis work, we comprehensively investigate into the intra-domain variations of\nthe target domain and propose to generalize the re-ID model w.r.t three types\nof the underlying invariance, i.e., exemplar-invariance, camera-invariance and\nneighborhood-invariance. To achieve this goal, an exemplar memory is introduced\nto store features of the target domain and accommodate the three invariance\nproperties. The memory allows us to enforce the invariance constraints over\nglobal training batch without significantly increasing computation cost.\nExperiment demonstrates that the three invariance properties and the proposed\nmemory are indispensable towards an effective domain adaptation system. Results\non three re-ID domains show that our domain adaptation accuracy outperforms the\nstate of the art by a large margin. Code is available at:\nhttps://github.com/zhunzhong07/ECN","url_abs":"http://arxiv.org/abs/1904.01990v1","url_pdf":"http://arxiv.org/pdf/1904.01990v1.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":"invariance-matters-exemplar-memory-for-domain","repo_url":"https://github.com/zhunzhong07/ECN","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"invariance-matters-exemplar-memory-for-domain","repo_url":"https://github.com/GJTNB/reading-memo","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"domain-adaptation","task_name":"Domain Adaptation"},{"task_slug":"domain-adaptive-person-re-identification","task_name":"Domain Adaptive Person Re-Identification"},{"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":[{"leaderboard":"/sota/unsupervised-domain-adaptation-on-duke-to-1","task":"Unsupervised Domain Adaptation","dataset":"Duke to MSMT","model":"ECN","rank_in_archive_order":10,"of":13,"metrics":{"mAP":"10.2","rank-1":"30.2","rank-10":"46.8","rank-5":"41.5"},"uses_additional_data":false},{"leaderboard":"/sota/unsupervised-domain-adaptation-on-duke-to","task":"Unsupervised Domain Adaptation","dataset":"Duke to Market","model":"ENC","rank_in_archive_order":19,"of":26,"metrics":{"mAP":"43.0","rank-1":"75.1"},"uses_additional_data":false},{"leaderboard":"/sota/unsupervised-domain-adaptation-on-market-to","task":"Unsupervised Domain Adaptation","dataset":"Market to Duke","model":"ENC","rank_in_archive_order":19,"of":25,"metrics":{"mAP":"40.4","rank-1":"63.3"},"uses_additional_data":false},{"leaderboard":"/sota/unsupervised-domain-adaptation-on-market-to-1","task":"Unsupervised Domain Adaptation","dataset":"Market to MSMT","model":"ECN","rank_in_archive_order":14,"of":17,"metrics":{"mAP":"8.5","rank-1":"25.3","rank-10":"42.1","rank-5":"36.3"},"uses_additional_data":false},{"leaderboard":"/sota/unsupervised-domain-adaptation-on-vehicleid-3","task":"Unsupervised Domain Adaptation","dataset":"VehicleID to VERI-Wild Large","model":"ECN","rank_in_archive_order":2,"of":9,"metrics":{"R-1":"61.0","R-10":"-","R-5":"78.2","mAP":"24.7"},"uses_additional_data":false},{"leaderboard":"/sota/unsupervised-domain-adaptation-on-vehicleid-2","task":"Unsupervised Domain Adaptation","dataset":"VehicleID to VERI-Wild Medium","model":"ECN","rank_in_archive_order":2,"of":9,"metrics":{"R-1":"68.6","R-10":"-","R-5":"84.6","mAP":"30.6"},"uses_additional_data":false},{"leaderboard":"/sota/unsupervised-domain-adaptation-on-vehicleid-1","task":"Unsupervised Domain Adaptation","dataset":"VehicleID to VERI-Wild Small","model":"ECN","rank_in_archive_order":2,"of":9,"metrics":{"R-1":"73.4","R-10":"-","R-5":"88.8","mAP":"34.7"},"uses_additional_data":false},{"leaderboard":"/sota/unsupervised-domain-adaptation-on-vehicleid","task":"Unsupervised Domain Adaptation","dataset":"VehicleID to VeRi-776","model":"ECN","rank_in_archive_order":12,"of":14,"metrics":{"Rank-1":"57.41","Rank-10":"-","Rank-5":"70.53","mAP":"20.06"},"uses_additional_data":false},{"leaderboard":"/sota/unsupervised-person-re-identification-on-5","task":"Unsupervised Person Re-Identification","dataset":"DukeMTMC-reID","model":"ECN","rank_in_archive_order":10,"of":13,"metrics":{"MAP":"40.4","Rank-1":"63.3","Rank-10":"80.4","Rank-5":"75.8"},"uses_additional_data":false},{"leaderboard":"/sota/unsupervised-person-re-identification-on-3","task":"Unsupervised Person Re-Identification","dataset":"DukeMTMC-reID->MSMT17","model":"ECN","rank_in_archive_order":5,"of":7,"metrics":{"Rank-1":"30.2","Rank-10":"46.8","Rank-5":"41.5","mAP":"10.2"},"uses_additional_data":false},{"leaderboard":"/sota/unsupervised-person-re-identification-on-1","task":"Unsupervised Person Re-Identification","dataset":"DukeMTMC-reID->Market-1501","model":"ECN","rank_in_archive_order":4,"of":8,"metrics":{"Rank-1":"75.1","Rank-10":"91.6","Rank-20":"94.5","Rank-5":"87.6","mAP":"43"},"uses_additional_data":false},{"leaderboard":"/sota/unsupervised-person-re-identification-on-4","task":"Unsupervised Person Re-Identification","dataset":"Market-1501","model":"ECN","rank_in_archive_order":19,"of":23,"metrics":{"MAP":"43","Rank-1":"75.1","Rank-10":"91.6","Rank-5":"87.6"},"uses_additional_data":false},{"leaderboard":"/sota/unsupervised-person-re-identification-on","task":"Unsupervised Person Re-Identification","dataset":"Market-1501->DukeMTMC-reID","model":"ECN","rank_in_archive_order":5,"of":7,"metrics":{"Rank-1":"63.3","Rank-10":"80.4","Rank-20":"84.2","Rank-5":"75.8","mAP":"40.4"},"uses_additional_data":false},{"leaderboard":"/sota/unsupervised-person-re-identification-on-2","task":"Unsupervised Person Re-Identification","dataset":"Market-1501->MSMT17","model":"ECN","rank_in_archive_order":5,"of":7,"metrics":{"Rank-1":"25.3","Rank-10":"42.1","Rank-5":"36.3","mAP":"8.5"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1904.01990","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1904.01990"}},"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/GJTNB/reading-memo","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/zhunzhong07/ECN","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":8},"by_repo_kind":{"official":{"samples":8,"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":"302abe91718126bb","entry":"accuracy","repo":"zhunzhong07/ECN","repo_kind":"official","path":"reid/evaluation_metrics/classification.py","file_url":"https://github.com/zhunzhong07/ECN/blob/HEAD/reid/evaluation_metrics/classification.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"302abe91718126bb"}},{"code_sha256_prefix":"693513ff2d202308","entry":"center_crop","repo":"zhunzhong07/ECN","repo_kind":"official","path":"reid/lib/custom_transforms.py","file_url":"https://github.com/zhunzhong07/ECN/blob/HEAD/reid/lib/custom_transforms.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"693513ff2d202308"}},{"code_sha256_prefix":"b39a10404aa7ed0b","entry":"cmc","repo":"zhunzhong07/ECN","repo_kind":"official","path":"reid/evaluation_metrics/ranking.py","file_url":"https://github.com/zhunzhong07/ECN/blob/HEAD/reid/evaluation_metrics/ranking.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b39a10404aa7ed0b"}},{"code_sha256_prefix":"f0f55d269b048d70","entry":"extract_cnn_feature","repo":"zhunzhong07/ECN","repo_kind":"official","path":"reid/evaluators.py","file_url":"https://github.com/zhunzhong07/ECN/blob/HEAD/reid/evaluators.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f0f55d269b048d70"}},{"code_sha256_prefix":"a4eea4bd3cfe2026","entry":"extract_features","repo":"zhunzhong07/ECN","repo_kind":"official","path":"reid/evaluators.py","file_url":"https://github.com/zhunzhong07/ECN/blob/HEAD/reid/evaluators.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a4eea4bd3cfe2026"}},{"code_sha256_prefix":"3d333344e0965776","entry":"pairwise_distance","repo":"zhunzhong07/ECN","repo_kind":"official","path":"reid/evaluators.py","file_url":"https://github.com/zhunzhong07/ECN/blob/HEAD/reid/evaluators.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3d333344e0965776"}},{"code_sha256_prefix":"abf95b2d2f20e322","entry":"random_num_generator","repo":"zhunzhong07/ECN","repo_kind":"official","path":"reid/lib/custom_transforms.py","file_url":"https://github.com/zhunzhong07/ECN/blob/HEAD/reid/lib/custom_transforms.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"abf95b2d2f20e322"}},{"code_sha256_prefix":"382714b2c227ba48","entry":"to_tensor","repo":"zhunzhong07/ECN","repo_kind":"official","path":"reid/lib/custom_transforms.py","file_url":"https://github.com/zhunzhong07/ECN/blob/HEAD/reid/lib/custom_transforms.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"382714b2c227ba48"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}