SeMask: Semantically Masked Transformers for Semantic Segmentation

Finetuning a pretrained backbone in the encoder part of an image transformer network has been the traditional approach for the semantic segmentation task. However, such an approach leaves out the semantic context that an image provides during the encoding stage. This paper argues that incorporating semantic information of the image into pretrained hierarchical transformer-based backbones while finetuning improves the performance considerably. To achieve this, we propose SeMask, a simple and effective framework that incorporates semantic information into the encoder with the help of a semantic attention operation. In addition, we use a lightweight semantic decoder during training to provide supervision to the intermediate semantic prior maps at every stage. Our experiments demonstrate that incorporating semantic priors enhances the performance of the established hierarchical encoders with a slight increase in the number of FLOPs. We provide empirical proof by integrating SeMask into Swin Transformer and Mix Transformer backbones as our encoder paired with different decoders. Our framework achieves a new state-of-the-art of 58.25% mIoU on the ADE20K dataset and improvements of over 3% in the mIoU metric on the Cityscapes dataset. The code and checkpoints are publicly available at https://github.com/Picsart-AI-Research/SeMask-Segmentation .

PDF Abstract arXiv 2021 PDF arXiv 2021 Abstract
Task Dataset Model Metric Name Metric Value Global Rank Uses Extra
Training Data
Result Benchmark
Semantic Segmentation ADE20K SeMask (SeMask Swin-S FPN) Validation mIoU 47.63 # 151
Params (M) 56 # 46
Semantic Segmentation ADE20K SeMask (SeMask Swin-T FPN) Validation mIoU 43.16 # 203
Params (M) 35 # 52
Semantic Segmentation ADE20K SeMask (SeMask Swin-L FaPN-Mask2Former) Validation mIoU 58.2 # 16
Semantic Segmentation ADE20K SeMask (SeMask Swin-L Mask2Former) Validation mIoU 57.5 # 26
Semantic Segmentation ADE20K SeMask(SeMask Swin-L MSFaPN-Mask2Former, single-scale) Validation mIoU 57.0 # 29
Semantic Segmentation ADE20K SeMask (SeMask Swin-L MaskFormer) Validation mIoU 56.2 # 35
Semantic Segmentation ADE20K SeMask (SeMask Swin-L FPN) Validation mIoU 53.52 # 73
Semantic Segmentation ADE20K SeMask (SeMask Swin-L MSFaPN-Mask2Former) Validation mIoU 58.2 # 16
Semantic Segmentation ADE20K SeMask (SeMask Swin-B FPN) Validation mIoU 50.98 # 99
Params (M) 96 # 30
Semantic Segmentation ADE20K val SeMask (SeMask Swin-L Mask2Former) mIoU 57.5 # 18
Semantic Segmentation ADE20K val SeMask (SeMask Swin-L MSFaPN-Mask2Former) mIoU 58.2 # 13
Semantic Segmentation ADE20K val SeMask (SeMask Swin-L FaPN-Mask2Former) mIoU 58.2 # 13
Semantic Segmentation ADE20K val SeMask (SeMask Swin-L MSFaPN-Mask2Former, single-scale) mIoU 57.0 # 20
Semantic Segmentation ADE20K val SeMask (SeMask Swin-L FPN) mIoU 53.5 # 36
Semantic Segmentation ADE20K val SeMask (SeMask Swin-L MaskFormer) mIoU 56.2 # 24
Semantic Segmentation Cityscapes val SeMask (SeMask Swin-L FPN) mIoU 80.39 # 43
Semantic Segmentation Cityscapes val SeMask (SeMask Swin-L Mask2Former) mIoU 84.98 # 10

Methods