{"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/class-balanced-pixel-level-self-labeling-for","title":"Class-Balanced Pixel-Level Self-Labeling for Domain Adaptive Semantic Segmentation","arxiv_id":"2203.09744","date":"2022-03-18","proceeding":"CVPR 2022 1","authors":["Ruihuang Li","Shuai Li","Chenhang He","Yabin Zhang","Xu Jia","Lei Zhang"],"abstract":"Domain adaptive semantic segmentation aims to learn a model with the supervision of source domain data, and produce satisfactory dense predictions on unlabeled target domain. One popular solution to this challenging task is self-training, which selects high-scoring predictions on target samples as pseudo labels for training. However, the produced pseudo labels often contain much noise because the model is biased to source domain as well as majority categories. To address the above issues, we propose to directly explore the intrinsic pixel distributions of target domain data, instead of heavily relying on the source domain. Specifically, we simultaneously cluster pixels and rectify pseudo labels with the obtained cluster assignments. This process is done in an online fashion so that pseudo labels could co-evolve with the segmentation model without extra training rounds. To overcome the class imbalance problem on long-tailed categories, we employ a distribution alignment technique to enforce the marginal class distribution of cluster assignments to be close to that of pseudo labels. The proposed method, namely Class-balanced Pixel-level Self-Labeling (CPSL), improves the segmentation performance on target domain over state-of-the-arts by a large margin, especially on long-tailed categories.","url_abs":"https://arxiv.org/abs/2203.09744v1","url_pdf":"https://arxiv.org/pdf/2203.09744v1.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":"class-balanced-pixel-level-self-labeling-for","repo_url":"https://github.com/lslrh/cpsl","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"image-to-image-translation","task_name":"Image-to-Image Translation"},{"task_slug":"segmentation","task_name":"Segmentation"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"},{"task_slug":"synthetic-to-real-translation","task_name":"Synthetic-to-Real Translation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/image-to-image-translation-on-gtav-to","task":"Image-to-Image Translation","dataset":"GTAV-to-Cityscapes Labels","model":"CPSL","rank_in_archive_order":12,"of":22,"metrics":{"mIoU":"60.8"},"uses_additional_data":false},{"leaderboard":"/sota/image-to-image-translation-on-synthia-to","task":"Image-to-Image Translation","dataset":"SYNTHIA-to-Cityscapes","model":"CPSL","rank_in_archive_order":9,"of":28,"metrics":{"mIoU (13 classes)":"65.3"},"uses_additional_data":false},{"leaderboard":"/sota/synthetic-to-real-translation-on-gtav-to","task":"Synthetic-to-Real Translation","dataset":"GTAV-to-Cityscapes Labels","model":"CPSL","rank_in_archive_order":18,"of":73,"metrics":{"mIoU":"60.8"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2203.09744","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2203.09744"}},"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/lslrh/cpsl","reach":{"status":"ok"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/lslrh/CPSL","reach":{"status":"ok"}}],"summary":{"ran":1,"unverified":3},"by_repo_kind":{"official":{"samples":4,"ran":1,"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":4,"samples":[{"code_sha256_prefix":"c8d7e70cf51107f2","entry":"rand_bbox","repo":"lslrh/CPSL","repo_kind":"official","path":"models/adaptation_modelv2.py","file_url":"https://github.com/lslrh/CPSL/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":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c8d7e70cf51107f2"}},{"code_sha256_prefix":"5fc45e8ebca0462b","entry":"CustomModel","repo":"lslrh/CPSL","repo_kind":"official","path":"models/adaptation_modelv2.py","file_url":"https://github.com/lslrh/CPSL/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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"5fc45e8ebca0462b"}},{"code_sha256_prefix":"8019ed0049de59b9","entry":"Deeplab","repo":"lslrh/CPSL","repo_kind":"official","path":"models/adaptation_modelv2.py","file_url":"https://github.com/lslrh/CPSL/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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8019ed0049de59b9"}},{"code_sha256_prefix":"3fdfa7a5ae64d9f9","entry":"ResNet101","repo":"lslrh/CPSL","repo_kind":"official","path":"models/adaptation_modelv2.py","file_url":"https://github.com/lslrh/CPSL/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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3fdfa7a5ae64d9f9"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}