{"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/mlseg-image-and-video-segmentation-as-multi","title":"RankSeg: Adaptive Pixel Classification with Image Category Ranking for Segmentation","arxiv_id":"2203.04187","date":"2022-03-08","proceeding":null,"authors":["Haodi He","Yuhui Yuan","Xiangyu Yue","Han Hu"],"abstract":"The segmentation task has traditionally been formulated as a complete-label pixel classification task to predict a class for each pixel from a fixed number of predefined semantic categories shared by all images or videos. Yet, following this formulation, standard architectures will inevitably encounter various challenges under more realistic settings where the scope of categories scales up (e.g., beyond the level of 1k). On the other hand, in a typical image or video, only a few categories, i.e., a small subset of the complete label are present. Motivated by this intuition, in this paper, we propose to decompose segmentation into two sub-problems: (i) image-level or video-level multi-label classification and (ii) pixel-level rank-adaptive selected-label classification. Given an input image or video, our framework first conducts multi-label classification over the complete label, then sorts the complete label and selects a small subset according to their class confidence scores. We then use a rank-adaptive pixel classifier to perform the pixel-wise classification over only the selected labels, which uses a set of rank-oriented learnable temperature parameters to adjust the pixel classifications scores. Our approach is conceptually general and can be used to improve various existing segmentation frameworks by simply using a lightweight multi-label classification head and rank-adaptive pixel classifier. We demonstrate the effectiveness of our framework with competitive experimental results across four tasks, including image semantic segmentation, image panoptic segmentation, video instance segmentation, and video semantic segmentation. Especially, with our RankSeg, Mask2Former gains +0.8%/+0.7%/+0.7% on ADE20K panoptic segmentation/YouTubeVIS 2019 video instance segmentation/VSPW video semantic segmentation benchmarks respectively.","url_abs":"https://arxiv.org/abs/2203.04187v2","url_pdf":"https://arxiv.org/pdf/2203.04187v2.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":"mlseg-image-and-video-segmentation-as-multi","repo_url":"https://github.com/openseg-group/mlseg","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"mlseg-image-and-video-segmentation-as-multi","repo_url":"https://github.com/openseg-group/rankseg","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"classification-1","task_name":"Classification"},{"task_slug":"instance-segmentation","task_name":"Instance Segmentation"},{"task_slug":"multi-label-classification-2","task_name":"MUlTI-LABEL-ClASSIFICATION"},{"task_slug":"multi-label-classification","task_name":"Multi-Label Classification"},{"task_slug":"panoptic-segmentation","task_name":"Panoptic Segmentation"},{"task_slug":"segmentation","task_name":"Segmentation"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"},{"task_slug":"video-instance-segmentation","task_name":"Video Instance Segmentation"},{"task_slug":"video-segmentation","task_name":"Video Segmentation"},{"task_slug":"video-semantic-segmentation","task_name":"Video Semantic Segmentation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2203.04187","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2203.04187"}},"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/openseg-group/mlseg","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/openseg-group/rankseg","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"deterministic:regex_extraction","url":"https://github.com/facebookresearch/Mask2Former","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_fixture":1,"ran_draft_wrong":1,"unverified":9},"by_repo_kind":{"official":{"samples":4,"ran":0,"repositories":1},"found_in_text":{"samples":7,"ran":2,"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":"f9fd6241d935f07b","entry":"window_partition","repo":"facebookresearch/Mask2Former","repo_kind":"found_in_text","path":"mask2former/modeling/backbone/swin.py","file_url":"https://github.com/facebookresearch/Mask2Former/blob/HEAD/mask2former/modeling/backbone/swin.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f9fd6241d935f07b"}},{"code_sha256_prefix":"fb32094c6dbece71","entry":"window_reverse","repo":"facebookresearch/Mask2Former","repo_kind":"found_in_text","path":"mask2former/modeling/backbone/swin.py","file_url":"https://github.com/facebookresearch/Mask2Former/blob/HEAD/mask2former/modeling/backbone/swin.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fb32094c6dbece71"}},{"code_sha256_prefix":"bc2cb481a75c370d","entry":"batch_dice_loss","repo":"facebookresearch/Mask2Former","repo_kind":"found_in_text","path":"mask2former/modeling/matcher.py","file_url":"https://github.com/facebookresearch/Mask2Former/blob/HEAD/mask2former/modeling/matcher.py","link_basis":"harvester_set","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":"bc2cb481a75c370d"}},{"code_sha256_prefix":"1edd24985036b0bf","entry":"batch_sigmoid_ce_loss","repo":"facebookresearch/Mask2Former","repo_kind":"found_in_text","path":"mask2former/modeling/matcher.py","file_url":"https://github.com/facebookresearch/Mask2Former/blob/HEAD/mask2former/modeling/matcher.py","link_basis":"harvester_set","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":"1edd24985036b0bf"}},{"code_sha256_prefix":"2dcb8123d89bb1ff","entry":"calculate_uncertainty","repo":"facebookresearch/Mask2Former","repo_kind":"found_in_text","path":"mask2former/modeling/criterion.py","file_url":"https://github.com/facebookresearch/Mask2Former/blob/HEAD/mask2former/modeling/criterion.py","link_basis":"harvester_set","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":"2dcb8123d89bb1ff"}},{"code_sha256_prefix":"ecc2fc8b9ed89284","entry":"convert_mit","repo":"openseg-group/mlseg","repo_kind":"official","path":"mmseg/model_converters/mit2mmseg.py","file_url":"https://github.com/openseg-group/mlseg/blob/HEAD/mmseg/model_converters/mit2mmseg.py","link_basis":"harvester_set","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":"ecc2fc8b9ed89284"}},{"code_sha256_prefix":"285a4b7dcde2ba67","entry":"convert_swin","repo":"openseg-group/mlseg","repo_kind":"official","path":"mmseg/model_converters/swin2mmseg.py","file_url":"https://github.com/openseg-group/mlseg/blob/HEAD/mmseg/model_converters/swin2mmseg.py","link_basis":"harvester_set","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":"285a4b7dcde2ba67"}},{"code_sha256_prefix":"be6231544c7730c8","entry":"convert_vit","repo":"openseg-group/mlseg","repo_kind":"official","path":"mmseg/model_converters/vit2mmseg.py","file_url":"https://github.com/openseg-group/mlseg/blob/HEAD/mmseg/model_converters/vit2mmseg.py","link_basis":"harvester_set","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":"be6231544c7730c8"}},{"code_sha256_prefix":"89f75e54ff128be0","entry":"dice_loss","repo":"facebookresearch/Mask2Former","repo_kind":"found_in_text","path":"mask2former/modeling/criterion.py","file_url":"https://github.com/facebookresearch/Mask2Former/blob/HEAD/mask2former/modeling/criterion.py","link_basis":"harvester_set","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":"89f75e54ff128be0"}},{"code_sha256_prefix":"c210cc82192616af","entry":"sem_seg_postprocess","repo":"openseg-group/mlseg","repo_kind":"official","path":"mask2former/mask2former_video/video_maskformer_model.py","file_url":"https://github.com/openseg-group/mlseg/blob/HEAD/mask2former/mask2former_video/video_maskformer_model.py","link_basis":"harvester_set","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":"c210cc82192616af"}},{"code_sha256_prefix":"d0c61e8dba511aa3","entry":"sigmoid_ce_loss","repo":"facebookresearch/Mask2Former","repo_kind":"found_in_text","path":"mask2former/modeling/criterion.py","file_url":"https://github.com/facebookresearch/Mask2Former/blob/HEAD/mask2former/modeling/criterion.py","link_basis":"harvester_set","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":"d0c61e8dba511aa3"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}