{"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/part-based-pseudo-label-refinement-for","title":"Part-based Pseudo Label Refinement for Unsupervised Person Re-identification","arxiv_id":"2203.14675","date":"2022-03-28","proceeding":"CVPR 2022 1","authors":["Yoonki Cho","Woo Jae Kim","Seunghoon Hong","Sung-Eui Yoon"],"abstract":"Unsupervised person re-identification (re-ID) aims at learning discriminative representations for person retrieval from unlabeled data. Recent techniques accomplish this task by using pseudo-labels, but these labels are inherently noisy and deteriorate the accuracy. To overcome this problem, several pseudo-label refinement methods have been proposed, but they neglect the fine-grained local context essential for person re-ID. In this paper, we propose a novel Part-based Pseudo Label Refinement (PPLR) framework that reduces the label noise by employing the complementary relationship between global and part features. Specifically, we design a cross agreement score as the similarity of k-nearest neighbors between feature spaces to exploit the reliable complementary relationship. Based on the cross agreement, we refine pseudo-labels of global features by ensembling the predictions of part features, which collectively alleviate the noise in global feature clustering. We further refine pseudo-labels of part features by applying label smoothing according to the suitability of given labels for each part. Thanks to the reliable complementary information provided by the cross agreement score, our PPLR effectively reduces the influence of noisy labels and learns discriminative representations with rich local contexts. Extensive experimental results on Market-1501 and MSMT17 demonstrate the effectiveness of the proposed method over the state-of-the-art performance. The code is available at https://github.com/yoonkicho/PPLR.","url_abs":"https://arxiv.org/abs/2203.14675v1","url_pdf":"https://arxiv.org/pdf/2203.14675v1.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":"part-based-pseudo-label-refinement-for","repo_url":"https://github.com/yoonkicho/pplr","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"person-re-identification","task_name":"Person Re-Identification"},{"task_slug":"person-retrieval","task_name":"Person Retrieval"},{"task_slug":"pseudo-label","task_name":"Pseudo Label"},{"task_slug":"retrieval","task_name":"Retrieval"},{"task_slug":"unsupervised-person-re-identification","task_name":"Unsupervised Person Re-Identification"},{"task_slug":"unsupervised-vehicle-re-identification","task_name":"Unsupervised Vehicle Re-Identification"}],"methods":[{"method_slug":"label-smoothing","method_name":"Label Smoothing"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/unsupervised-person-re-identification-on-12","task":"Unsupervised Person Re-Identification","dataset":"MSMT17","model":"PPLR","rank_in_archive_order":7,"of":12,"metrics":{"Rank-1":"73.3","Rank-10":"86.5","Rank-5":"83.5","mAP":"42.2"},"uses_additional_data":false},{"leaderboard":"/sota/unsupervised-person-re-identification-on-4","task":"Unsupervised Person Re-Identification","dataset":"Market-1501","model":"PPLR","rank_in_archive_order":8,"of":23,"metrics":{"MAP":"84.4","Rank-1":"94.3","Rank-10":"98.6","Rank-5":"97.8"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2203.14675","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2203.14675"}},"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/yoonkicho/pplr","reach":null}],"summary":{"ran":4,"unverified":1},"by_repo_kind":{"official":{"samples":5,"ran":4,"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":"9067438cb7c2950b","entry":"AALS","repo":"yoonkicho/pplr","repo_kind":"official","path":"pplr/trainers.py","file_url":"https://github.com/yoonkicho/pplr/blob/HEAD/pplr/trainers.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":"9067438cb7c2950b"}},{"code_sha256_prefix":"0cf8fe3e43a36de3","entry":"CrossEntropyLabelSmooth","repo":"yoonkicho/pplr","repo_kind":"official","path":"pplr/trainers.py","file_url":"https://github.com/yoonkicho/pplr/blob/HEAD/pplr/trainers.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0cf8fe3e43a36de3"}},{"code_sha256_prefix":"378959d40ec771be","entry":"PGLR","repo":"yoonkicho/pplr","repo_kind":"official","path":"pplr/trainers.py","file_url":"https://github.com/yoonkicho/pplr/blob/HEAD/pplr/trainers.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":"378959d40ec771be"}},{"code_sha256_prefix":"35bbbe24da4c2536","entry":"SoftTripletLoss","repo":"yoonkicho/pplr","repo_kind":"official","path":"pplr/trainers.py","file_url":"https://github.com/yoonkicho/pplr/blob/HEAD/pplr/trainers.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"35bbbe24da4c2536"}},{"code_sha256_prefix":"9714571b1913309a","entry":"PPLRTrainer","repo":"yoonkicho/pplr","repo_kind":"official","path":"pplr/trainers.py","file_url":"https://github.com/yoonkicho/pplr/blob/HEAD/pplr/trainers.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":"9714571b1913309a"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}