{"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/semi-supervised-domain-generalizable-person","title":"Semi-Supervised Domain Generalizable Person Re-Identification","arxiv_id":"2108.05045","date":"2021-08-11","proceeding":null,"authors":["Lingxiao He","Wu Liu","Jian Liang","Kecheng Zheng","Xingyu Liao","Peng Cheng","Tao Mei"],"abstract":"Existing person re-identification (re-id) methods are stuck when deployed to a new unseen scenario despite the success in cross-camera person matching. Recent efforts have been substantially devoted to domain adaptive person re-id where extensive unlabeled data in the new scenario are utilized in a transductive learning manner. However, for each scenario, it is required to first collect enough data and then train such a domain adaptive re-id model, thus restricting their practical application. Instead, we aim to explore multiple labeled datasets to learn generalized domain-invariant representations for person re-id, which is expected universally effective for each new-coming re-id scenario. To pursue practicability in real-world systems, we collect all the person re-id datasets (20 datasets) in this field and select the three most frequently used datasets (i.e., Market1501, DukeMTMC, and MSMT17) as unseen target domains. In addition, we develop DataHunter that collects over 300K+ weak annotated images named YouTube-Human from YouTube street-view videos, which joins 17 remaining full labeled datasets to form multiple source domains. On such a large and challenging benchmark called FastHuman (~440K+ labeled images), we further propose a simple yet effective Semi-Supervised Knowledge Distillation (SSKD) framework. SSKD effectively exploits the weakly annotated data by assigning soft pseudo labels to YouTube-Human to improve models' generalization ability. Experiments on several protocols verify the effectiveness of the proposed SSKD framework on domain generalizable person re-id, which is even comparable to supervised learning on the target domains. Lastly, but most importantly, we hope the proposed benchmark FastHuman could bring the next development of domain generalizable person re-id algorithms.","url_abs":"https://arxiv.org/abs/2108.05045v2","url_pdf":"https://arxiv.org/pdf/2108.05045v2.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":"semi-supervised-domain-generalizable-person","repo_url":"https://github.com/JDAI-CV/fast-reid","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"semi-supervised-domain-generalizable-person","repo_url":"https://github.com/L1aoXingyu/reid_baseline","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"semi-supervised-domain-generalizable-person","repo_url":"https://github.com/xiaomingzhid/sskd","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"generalizable-person-re-identification","task_name":"Generalizable Person Re-identification"},{"task_slug":"knowledge-distillation","task_name":"Knowledge Distillation"},{"task_slug":"person-re-identification","task_name":"Person Re-Identification"},{"task_slug":"transductive-learning","task_name":"Transductive Learning"}],"methods":[{"method_slug":"1x1-convolution","method_name":"1x1 Convolution"},{"method_slug":"auxiliary-classifier","method_name":"Auxiliary Classifier"},{"method_slug":"average-pooling","method_name":"Average Pooling"},{"method_slug":"batch-normalization","method_name":"Batch Normalization"},{"method_slug":"bottleneck-residual-block","method_name":"Bottleneck Residual Block"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"global-average-pooling","method_name":"Global Average Pooling"},{"method_slug":"kaiming-initialization","method_name":"Kaiming Initialization"},{"method_slug":"knowledge-distillation","method_name":"Knowledge Distillation"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"residual-block","method_name":"Residual Block"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"sskd","method_name":"SSKD"}],"datasets_introduced":[],"methods_introduced":[{"slug":"sskd","name":"SSKD","full_name":"Semi-Supervised Knowledge Distillation"}],"results":[{"leaderboard":"/sota/person-re-identification-on-market-1501","task":"Person Re-Identification","dataset":"Market-1501","model":"SSKD(GH)","rank_in_archive_order":2,"of":135,"metrics":{"Rank-1":"97.36","mAP":"94.15"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2108.05045","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2108.05045"}},"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/JDAI-CV/fast-reid","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/xiaomingzhid/sskd","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/L1aoXingyu/reid_baseline","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_draft_wrong":3,"ran":2,"ran_fixture":1,"unverified":1},"by_repo_kind":{"official":{"samples":2,"ran":2,"repositories":1},"listed":{"samples":5,"ran":4,"repositories":2}},"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":"612e816a468670df","entry":"compute_cosine_distance","repo":"xiaomingzhid/sskd","repo_kind":"listed","path":"fastreid/modeling/meta_arch/distiller.py","file_url":"https://github.com/xiaomingzhid/sskd/blob/HEAD/fastreid/modeling/meta_arch/distiller.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"612e816a468670df"}},{"code_sha256_prefix":"33efc9f1ccc7933c","entry":"drop_block_2d","repo":"L1aoXingyu/reid_baseline","repo_kind":"listed","path":"fastreid/layers/drop.py","file_url":"https://github.com/L1aoXingyu/reid_baseline/blob/HEAD/fastreid/layers/drop.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"33efc9f1ccc7933c"}},{"code_sha256_prefix":"30d63ccefb97a166","entry":"drop_block_fast_2d","repo":"L1aoXingyu/reid_baseline","repo_kind":"listed","path":"fastreid/layers/drop.py","file_url":"https://github.com/L1aoXingyu/reid_baseline/blob/HEAD/fastreid/layers/drop.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"30d63ccefb97a166"}},{"code_sha256_prefix":"3ac6b7d76e8e3584","entry":"drop_path","repo":"L1aoXingyu/reid_baseline","repo_kind":"listed","path":"fastreid/layers/drop.py","file_url":"https://github.com/L1aoXingyu/reid_baseline/blob/HEAD/fastreid/layers/drop.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3ac6b7d76e8e3584"}},{"code_sha256_prefix":"6507eb5ed85c4f59","entry":"pairwise_circleloss","repo":"JDAI-CV/fast-reid","repo_kind":"official","path":"fastreid/modeling/losses/circle_loss.py","file_url":"https://github.com/JDAI-CV/fast-reid/blob/HEAD/fastreid/modeling/losses/circle_loss.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6507eb5ed85c4f59"}},{"code_sha256_prefix":"640c594e33f9b514","entry":"pairwise_cosface","repo":"JDAI-CV/fast-reid","repo_kind":"official","path":"fastreid/modeling/losses/circle_loss.py","file_url":"https://github.com/JDAI-CV/fast-reid/blob/HEAD/fastreid/modeling/losses/circle_loss.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"640c594e33f9b514"}},{"code_sha256_prefix":"1211ac39b7d50139","entry":"get_norm","repo":"L1aoXingyu/reid_baseline","repo_kind":"listed","path":"fastreid/layers/batch_norm.py","file_url":"https://github.com/L1aoXingyu/reid_baseline/blob/HEAD/fastreid/layers/batch_norm.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":"1211ac39b7d50139"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}