{"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/prototypical-pseudo-label-denoising-and","title":"Prototypical Pseudo Label Denoising and Target Structure Learning for Domain Adaptive Semantic Segmentation","arxiv_id":"2101.10979","date":"2021-01-26","proceeding":"CVPR 2021 1","authors":["Pan Zhang","Bo Zhang","Ting Zhang","Dong Chen","Yong Wang","Fang Wen"],"abstract":"Self-training is a competitive approach in domain adaptive segmentation, which trains the network with the pseudo labels on the target domain. However inevitably, the pseudo labels are noisy and the target features are dispersed due to the discrepancy between source and target domains. In this paper, we rely on representative prototypes, the feature centroids of classes, to address the two issues for unsupervised domain adaptation. In particular, we take one step further and exploit the feature distances from prototypes that provide richer information than mere prototypes. Specifically, we use it to estimate the likelihood of pseudo labels to facilitate online correction in the course of training. Meanwhile, we align the prototypical assignments based on relative feature distances for two different views of the same target, producing a more compact target feature space. Moreover, we find that distilling the already learned knowledge to a self-supervised pretrained model further boosts the performance. Our method shows tremendous performance advantage over state-of-the-art methods. We will make the code publicly available.","url_abs":"https://arxiv.org/abs/2101.10979v2","url_pdf":"https://arxiv.org/pdf/2101.10979v2.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":"prototypical-pseudo-label-denoising-and","repo_url":"https://github.com/microsoft/ProDA","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"prototypical-pseudo-label-denoising-and","repo_url":"https://github.com/E-DEEP/PapersReview","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}}],"tasks":[{"task_slug":"domain-adaptation","task_name":"Domain Adaptation"},{"task_slug":"image-to-image-translation","task_name":"Image-to-Image Translation"},{"task_slug":"pseudo-label","task_name":"Pseudo Label"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"},{"task_slug":"synthetic-to-real-translation","task_name":"Synthetic-to-Real Translation"},{"task_slug":"unsupervised-domain-adaptation","task_name":"Unsupervised Domain Adaptation"}],"methods":[{"method_slug":"1x1-convolution","method_name":"1x1 Convolution"},{"method_slug":"aspp","method_name":"ASPP"},{"method_slug":"batch-normalization","method_name":"Batch Normalization"},{"method_slug":"deeplabv3","method_name":"DeepLabv3"},{"method_slug":"dilated-convolution","method_name":"Dilated Convolution"},{"method_slug":"spatial-pyramid-pooling","method_name":"Spatial Pyramid Pooling"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/domain-adaptation-on-gta5-to-cityscapes","task":"Domain Adaptation","dataset":"GTA5 to Cityscapes","model":"ProDA","rank_in_archive_order":21,"of":28,"metrics":{"mIoU":"57.5"},"uses_additional_data":false},{"leaderboard":"/sota/image-to-image-translation-on-gtav-to","task":"Image-to-Image Translation","dataset":"GTAV-to-Cityscapes Labels","model":"ProDA","rank_in_archive_order":15,"of":22,"metrics":{"mIoU":"57.5"},"uses_additional_data":false},{"leaderboard":"/sota/image-to-image-translation-on-synthia-to","task":"Image-to-Image Translation","dataset":"SYNTHIA-to-Cityscapes","model":"ProDA","rank_in_archive_order":11,"of":28,"metrics":{"mIoU (13 classes)":"62.0"},"uses_additional_data":false},{"leaderboard":"/sota/semantic-segmentation-on-gtav-to-cityscapes-1","task":"Semantic Segmentation","dataset":"GTAV-to-Cityscapes Labels","model":"ProDA","rank_in_archive_order":10,"of":12,"metrics":{"mIoU":"57.5"},"uses_additional_data":false},{"leaderboard":"/sota/synthetic-to-real-translation-on-gtav-to","task":"Synthetic-to-Real Translation","dataset":"GTAV-to-Cityscapes Labels","model":"ProDA(with knowledge distillation)","rank_in_archive_order":24,"of":73,"metrics":{"mIoU":"57.5"},"uses_additional_data":false},{"leaderboard":"/sota/synthetic-to-real-translation-on-synthia-to-1","task":"Synthetic-to-Real Translation","dataset":"SYNTHIA-to-Cityscapes","model":"ProDA(ResNet-101)","rank_in_archive_order":16,"of":38,"metrics":{"MIoU (13 classes)":"62.0","MIoU (16 classes)":"55.5"},"uses_additional_data":false}],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2101.10979","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2101.10979"}},"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/E-DEEP/PapersReview","reach":{"status":"ok"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/microsoft/ProDA","reach":null}],"summary":{"ran":6,"ran_draft_wrong":2,"unverified":9},"by_repo_kind":{"official":{"samples":17,"ran":8,"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":"6020d23a07c55f29","entry":"Bottleneck","repo":"microsoft/ProDA","repo_kind":"official","path":"models/adaptation_modelv2.py","file_url":"https://github.com/microsoft/ProDA/blob/HEAD/models/adaptation_modelv2.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6020d23a07c55f29"}},{"code_sha256_prefix":"0e7e99a49473a940","entry":"CallbackContext","repo":"microsoft/ProDA","repo_kind":"official","path":"models/adaptation_modelv2.py","file_url":"https://github.com/microsoft/ProDA/blob/HEAD/models/adaptation_modelv2.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":"0e7e99a49473a940"}},{"code_sha256_prefix":"7cfa9b72e3a4749d","entry":"Classifier_Module2","repo":"microsoft/ProDA","repo_kind":"official","path":"models/adaptation_modelv2.py","file_url":"https://github.com/microsoft/ProDA/blob/HEAD/models/adaptation_modelv2.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7cfa9b72e3a4749d"}},{"code_sha256_prefix":"23029f57b971a963","entry":"FCDiscriminator","repo":"microsoft/ProDA","repo_kind":"official","path":"models/adaptation_modelv2.py","file_url":"https://github.com/microsoft/ProDA/blob/HEAD/models/adaptation_modelv2.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"23029f57b971a963"}},{"code_sha256_prefix":"8a42c7371906d184","entry":"PolynomialLR","repo":"microsoft/ProDA","repo_kind":"official","path":"models/adaptation_modelv2.py","file_url":"https://github.com/microsoft/ProDA/blob/HEAD/models/adaptation_modelv2.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":"8a42c7371906d184"}},{"code_sha256_prefix":"332f8cc5d0d081e6","entry":"SEBlock","repo":"microsoft/ProDA","repo_kind":"official","path":"models/adaptation_modelv2.py","file_url":"https://github.com/microsoft/ProDA/blob/HEAD/models/adaptation_modelv2.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"332f8cc5d0d081e6"}},{"code_sha256_prefix":"e48b895c94b5aa40","entry":"cross_entropy2d","repo":"microsoft/ProDA","repo_kind":"official","path":"models/adaptation_modelv2.py","file_url":"https://github.com/microsoft/ProDA/blob/HEAD/models/adaptation_modelv2.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e48b895c94b5aa40"}},{"code_sha256_prefix":"7101765897c8d17b","entry":"get_scheduler","repo":"microsoft/ProDA","repo_kind":"official","path":"models/adaptation_modelv2.py","file_url":"https://github.com/microsoft/ProDA/blob/HEAD/models/adaptation_modelv2.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7101765897c8d17b"}},{"code_sha256_prefix":"097fa03acb194ec7","entry":"CustomModel","repo":"microsoft/ProDA","repo_kind":"official","path":"models/adaptation_modelv2.py","file_url":"https://github.com/microsoft/ProDA/blob/HEAD/models/adaptation_modelv2.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":"097fa03acb194ec7"}},{"code_sha256_prefix":"621eff113a744b84","entry":"DataParallelWithCallback","repo":"microsoft/ProDA","repo_kind":"official","path":"models/adaptation_modelv2.py","file_url":"https://github.com/microsoft/ProDA/blob/HEAD/models/adaptation_modelv2.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":"621eff113a744b84"}},{"code_sha256_prefix":"5b7b14dc1a126e30","entry":"Deeplab","repo":"microsoft/ProDA","repo_kind":"official","path":"models/adaptation_modelv2.py","file_url":"https://github.com/microsoft/ProDA/blob/HEAD/models/adaptation_modelv2.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":"5b7b14dc1a126e30"}},{"code_sha256_prefix":"724f27e7f6fe421c","entry":"ResNet101","repo":"microsoft/ProDA","repo_kind":"official","path":"models/adaptation_modelv2.py","file_url":"https://github.com/microsoft/ProDA/blob/HEAD/models/adaptation_modelv2.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":"724f27e7f6fe421c"}},{"code_sha256_prefix":"8abaace0beabbac9","entry":"affine_sample","repo":"microsoft/ProDA","repo_kind":"official","path":"models/adaptation_modelv2.py","file_url":"https://github.com/microsoft/ProDA/blob/HEAD/models/adaptation_modelv2.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":"8abaace0beabbac9"}},{"code_sha256_prefix":"7308ae70af0cb672","entry":"execute_replication_callbacks","repo":"microsoft/ProDA","repo_kind":"official","path":"models/adaptation_modelv2.py","file_url":"https://github.com/microsoft/ProDA/blob/HEAD/models/adaptation_modelv2.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":"7308ae70af0cb672"}},{"code_sha256_prefix":"c0389bd83130fd48","entry":"feat_prototype_distance_module","repo":"microsoft/ProDA","repo_kind":"official","path":"models/adaptation_modelv2.py","file_url":"https://github.com/microsoft/ProDA/blob/HEAD/models/adaptation_modelv2.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":"c0389bd83130fd48"}},{"code_sha256_prefix":"fa564b743e0f7020","entry":"freeze_bn","repo":"microsoft/ProDA","repo_kind":"official","path":"models/adaptation_modelv2.py","file_url":"https://github.com/microsoft/ProDA/blob/HEAD/models/adaptation_modelv2.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":"fa564b743e0f7020"}},{"code_sha256_prefix":"692f2a64673cce1b","entry":"freeze_bn_func","repo":"microsoft/ProDA","repo_kind":"official","path":"models/adaptation_modelv2.py","file_url":"https://github.com/microsoft/ProDA/blob/HEAD/models/adaptation_modelv2.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":"692f2a64673cce1b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}