{"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/per-pixel-classification-is-not-all-you-need","title":"Per-Pixel Classification is Not All You Need for Semantic Segmentation","arxiv_id":"2107.06278","date":"2021-07-13","proceeding":"NeurIPS 2021 12","authors":["Bowen Cheng","Alexander G. Schwing","Alexander Kirillov"],"abstract":"Modern approaches typically formulate semantic segmentation as a per-pixel classification task, while instance-level segmentation is handled with an alternative mask classification. Our key insight: mask classification is sufficiently general to solve both semantic- and instance-level segmentation tasks in a unified manner using the exact same model, loss, and training procedure. Following this observation, we propose MaskFormer, a simple mask classification model which predicts a set of binary masks, each associated with a single global class label prediction. Overall, the proposed mask classification-based method simplifies the landscape of effective approaches to semantic and panoptic segmentation tasks and shows excellent empirical results. In particular, we observe that MaskFormer outperforms per-pixel classification baselines when the number of classes is large. Our mask classification-based method outperforms both current state-of-the-art semantic (55.6 mIoU on ADE20K) and panoptic segmentation (52.7 PQ on COCO) models.","url_abs":"https://arxiv.org/abs/2107.06278v2","url_pdf":"https://arxiv.org/pdf/2107.06278v2.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":"per-pixel-classification-is-not-all-you-need","repo_url":"https://github.com/facebookresearch/MaskFormer","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"per-pixel-classification-is-not-all-you-need","repo_url":"https://github.com/huggingface/transformers","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"per-pixel-classification-is-not-all-you-need","repo_url":"https://github.com/open-mmlab/mmdetection","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"all","task_name":"All"},{"task_slug":"classification-1","task_name":"Classification"},{"task_slug":"panoptic-segmentation","task_name":"Panoptic Segmentation"},{"task_slug":"segmentation","task_name":"Segmentation"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/panoptic-segmentation-on-ade20k-val","task":"Panoptic Segmentation","dataset":"ADE20K val","model":"MaskFormer (R101 + 6 Enc)","rank_in_archive_order":24,"of":25,"metrics":{"PQ":"35.7"},"uses_additional_data":false},{"leaderboard":"/sota/panoptic-segmentation-on-coco-minival","task":"Panoptic Segmentation","dataset":"COCO minival","model":"MaskFormer (single-scale)","rank_in_archive_order":21,"of":31,"metrics":{"PQ":"52.7","PQst":"44.0","PQth":"58.5","RQ":"63.5","SQ":"81.8"},"uses_additional_data":false},{"leaderboard":"/sota/panoptic-segmentation-on-coco-test-dev","task":"Panoptic Segmentation","dataset":"COCO test-dev","model":"MaskFormer (Swin-L)","rank_in_archive_order":9,"of":38,"metrics":{"PQ":"53.3","PQst":"44.5","PQth":"59.1"},"uses_additional_data":false},{"leaderboard":"/sota/semantic-segmentation-on-ade20k","task":"Semantic Segmentation","dataset":"ADE20K","model":"MaskFormer(Swin-B)","rank_in_archive_order":73,"of":235,"metrics":{"Validation mIoU":"53.8"},"uses_additional_data":false},{"leaderboard":"/sota/semantic-segmentation-on-ade20k","task":"Semantic Segmentation","dataset":"ADE20K","model":"MaskFormer(ResNet-101)","rank_in_archive_order":153,"of":235,"metrics":{"Validation mIoU":"48.1"},"uses_additional_data":false},{"leaderboard":"/sota/semantic-segmentation-on-ade20k-val","task":"Semantic Segmentation","dataset":"ADE20K val","model":"MaskFormer (Swin-L, ImageNet-22k pretrain)","rank_in_archive_order":28,"of":95,"metrics":{"mIoU":"55.6"},"uses_additional_data":false},{"leaderboard":"/sota/semantic-segmentation-on-mapillary-val","task":"Semantic Segmentation","dataset":"Mapillary val","model":"MaskFormer (ResNet-50)","rank_in_archive_order":4,"of":8,"metrics":{"mIoU":"55.4"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2107.06278","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}