{"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/noisy-correspondence-learning-for-text-to","title":"Noisy-Correspondence Learning for Text-to-Image Person Re-identification","arxiv_id":"2308.09911","date":"2023-08-19","proceeding":"CVPR 2024 1","authors":["Yang Qin","Yingke Chen","Dezhong Peng","Xi Peng","Joey Tianyi Zhou","Peng Hu"],"abstract":"Text-to-image person re-identification (TIReID) is a compelling topic in the cross-modal community, which aims to retrieve the target person based on a textual query. Although numerous TIReID methods have been proposed and achieved promising performance, they implicitly assume the training image-text pairs are correctly aligned, which is not always the case in real-world scenarios. In practice, the image-text pairs inevitably exist under-correlated or even false-correlated, a.k.a noisy correspondence (NC), due to the low quality of the images and annotation errors. To address this problem, we propose a novel Robust Dual Embedding method (RDE) that can learn robust visual-semantic associations even with NC. Specifically, RDE consists of two main components: 1) A Confident Consensus Division (CCD) module that leverages the dual-grained decisions of dual embedding modules to obtain a consensus set of clean training data, which enables the model to learn correct and reliable visual-semantic associations. 2) A Triplet Alignment Loss (TAL) relaxes the conventional Triplet Ranking loss with the hardest negative samples to a log-exponential upper bound over all negative ones, thus preventing the model collapse under NC and can also focus on hard-negative samples for promising performance. We conduct extensive experiments on three public benchmarks, namely CUHK-PEDES, ICFG-PEDES, and RSTPReID, to evaluate the performance and robustness of our RDE. Our method achieves state-of-the-art results both with and without synthetic noisy correspondences on all three datasets. Code is available at https://github.com/QinYang79/RDE.","url_abs":"https://arxiv.org/abs/2308.09911v3","url_pdf":"https://arxiv.org/pdf/2308.09911v3.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":"noisy-correspondence-learning-for-text-to","repo_url":"https://github.com/QinYang79/RDE","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"person-re-identification","task_name":"Person Re-Identification"},{"task_slug":"nlp-based-person-retrival","task_name":"Text based Person Retrieval"},{"task_slug":"text-based-person-retrieval-with-noisy","task_name":"Text-based Person Retrieval with Noisy Correspondence"},{"task_slug":null,"task_name":"Triplet"}],"methods":[{"method_slug":"focus","method_name":"Focus"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/text-based-person-retrieval-on-icfg-pedes","task":"Text based Person Retrieval","dataset":"ICFG-PEDES","model":"RDE","rank_in_archive_order":3,"of":12,"metrics":{"R@1":"67.68","R@10":"87.36","R@5":"82.47","mAP":"40.06","mINP":"7.87"},"uses_additional_data":true},{"leaderboard":"/sota/text-based-person-retrieval-on-rstpreid-1","task":"Text based Person Retrieval","dataset":"RSTPReid","model":"RDE","rank_in_archive_order":5,"of":9,"metrics":{"R@1":"65.35","R@10":"89.90","R@5":"83.95","mAP":"50.88","mINP":"28.08"},"uses_additional_data":false},{"leaderboard":"/sota/text-based-person-retrieval-with-noisy","task":"Text-based Person Retrieval with Noisy Correspondence","dataset":"CUHK-PEDES","model":"RDE","rank_in_archive_order":1,"of":6,"metrics":{"Rank 10":"93.63","Rank-1":"74.46","Rank-5":"89.42","mAP":"66.13","mINP":"49.66"},"uses_additional_data":true},{"leaderboard":"/sota/text-based-person-retrieval-with-noisy-1","task":"Text-based Person Retrieval with Noisy Correspondence","dataset":"ICFG-PEDES","model":"RDE","rank_in_archive_order":1,"of":6,"metrics":{"Rank 1":"66.54","Rank-10":"86.70","Rank-5":"81.70","mAP":"39.08","mINP":"7.55"},"uses_additional_data":true},{"leaderboard":"/sota/text-based-person-retrieval-with-noisy-2","task":"Text-based Person Retrieval with Noisy Correspondence","dataset":"RSTPReid","model":"RDE","rank_in_archive_order":1,"of":6,"metrics":{"Rank 1":"64.45","Rank 10":"90.00","Rank 5":"83.50","mAP":"49.78","mINP":"27.43"},"uses_additional_data":true}],"syntology":{"syntology_url":"https://syntology.ai/paper/2308.09911","atlas_url":"https://app.syntology.ai/?focus=2308.09911","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2308.09911"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/QinYang79/RDE","reach":{"status":"ok"}}],"summary":{"ran":11,"ran_draft_wrong":1,"unverified":2},"by_repo_kind":{"official":{"samples":14,"ran":12,"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":14,"samples":[{"code_sha256_prefix":"41f9842ca45bbf6f","entry":"all_gather","repo":"QinYang79/RDE","repo_kind":"official","path":"2024-CVPR-RDE/datasets/sampler_ddp.py","file_url":"https://github.com/QinYang79/RDE/blob/HEAD/2024-CVPR-RDE/datasets/sampler_ddp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"41f9842ca45bbf6f"}},{"code_sha256_prefix":"cb870e3cbf51d74a","entry":"build_transforms","repo":"QinYang79/RDE","repo_kind":"official","path":"2024-CVPR-RDE/datasets/build.py","file_url":"https://github.com/QinYang79/RDE/blob/HEAD/2024-CVPR-RDE/datasets/build.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"cb870e3cbf51d74a"}},{"code_sha256_prefix":"e1cb4f3d2779e452","entry":"collate","repo":"QinYang79/RDE","repo_kind":"official","path":"2024-CVPR-RDE/datasets/build.py","file_url":"https://github.com/QinYang79/RDE/blob/HEAD/2024-CVPR-RDE/datasets/build.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e1cb4f3d2779e452"}},{"code_sha256_prefix":"6119e3ec8f8ddc67","entry":"compute_InfoNCE_per","repo":"QinYang79/RDE","repo_kind":"official","path":"2024-CVPR-RDE/model/objectives.py","file_url":"https://github.com/QinYang79/RDE/blob/HEAD/2024-CVPR-RDE/model/objectives.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6119e3ec8f8ddc67"}},{"code_sha256_prefix":"40fec36e4f438546","entry":"compute_TRL_per","repo":"QinYang79/RDE","repo_kind":"official","path":"2024-CVPR-RDE/model/objectives.py","file_url":"https://github.com/QinYang79/RDE/blob/HEAD/2024-CVPR-RDE/model/objectives.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"40fec36e4f438546"}},{"code_sha256_prefix":"71daf1b42a4381cc","entry":"compute_sdm_per","repo":"QinYang79/RDE","repo_kind":"official","path":"2024-CVPR-RDE/model/objectives.py","file_url":"https://github.com/QinYang79/RDE/blob/HEAD/2024-CVPR-RDE/model/objectives.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"71daf1b42a4381cc"}},{"code_sha256_prefix":"e16c83f5e9bda25e","entry":"inject_noisy_correspondence","repo":"QinYang79/RDE","repo_kind":"official","path":"2024-CVPR-RDE/datasets/bases.py","file_url":"https://github.com/QinYang79/RDE/blob/HEAD/2024-CVPR-RDE/datasets/bases.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e16c83f5e9bda25e"}},{"code_sha256_prefix":"be7c4a676b9f1e19","entry":"l2norm","repo":"QinYang79/RDE","repo_kind":"official","path":"2024-CVPR-RDE/model/CrossEmbeddingLayer_tse.py","file_url":"https://github.com/QinYang79/RDE/blob/HEAD/2024-CVPR-RDE/model/CrossEmbeddingLayer_tse.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"be7c4a676b9f1e19"}},{"code_sha256_prefix":"b39076605981f7f8","entry":"l2norm","repo":"QinYang79/RDE","repo_kind":"official","path":"2024-CVPR-RDE/model/build.py","file_url":"https://github.com/QinYang79/RDE/blob/HEAD/2024-CVPR-RDE/model/build.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b39076605981f7f8"}},{"code_sha256_prefix":"4e45e78d9ed12b30","entry":"maxk_pool1d","repo":"QinYang79/RDE","repo_kind":"official","path":"2024-CVPR-RDE/model/CrossEmbeddingLayer_tse.py","file_url":"https://github.com/QinYang79/RDE/blob/HEAD/2024-CVPR-RDE/model/CrossEmbeddingLayer_tse.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4e45e78d9ed12b30"}},{"code_sha256_prefix":"489d084ef038d428","entry":"resize_pos_embed","repo":"QinYang79/RDE","repo_kind":"official","path":"2024-CVPR-RDE/model/clip_model.py","file_url":"https://github.com/QinYang79/RDE/blob/HEAD/2024-CVPR-RDE/model/clip_model.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"489d084ef038d428"}},{"code_sha256_prefix":"3d862712396854e3","entry":"tokenize","repo":"QinYang79/RDE","repo_kind":"official","path":"2024-CVPR-RDE/datasets/bases.py","file_url":"https://github.com/QinYang79/RDE/blob/HEAD/2024-CVPR-RDE/datasets/bases.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3d862712396854e3"}},{"code_sha256_prefix":"5defb038bfe378bb","entry":"build_CLIP_from_openai_pretrained","repo":"QinYang79/RDE","repo_kind":"official","path":"2024-CVPR-RDE/model/clip_model.py","file_url":"https://github.com/QinYang79/RDE/blob/HEAD/2024-CVPR-RDE/model/clip_model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5defb038bfe378bb"}},{"code_sha256_prefix":"7c78dde9bea2b44d","entry":"maxk_pool1d_var","repo":"QinYang79/RDE","repo_kind":"official","path":"2024-CVPR-RDE/model/CrossEmbeddingLayer_tse.py","file_url":"https://github.com/QinYang79/RDE/blob/HEAD/2024-CVPR-RDE/model/CrossEmbeddingLayer_tse.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7c78dde9bea2b44d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}