Segmenter: Transformer for Semantic Segmentation

Robin Strudel, Ricardo Garcia, Ivan Laptev, Cordelia Schmid
5/12/2021
cs.CVcs.AIcs.LG

Official code: rstrudel/segmenter (905 stars, MIT, last commit 2024-04-21).

Abstract

Image segmentation is often ambiguous at the level of individual image patches and requires contextual information to reach label consensus. In this paper we introduce Segmenter, a transformer model for semantic segmentation. In contrast to convolution-based methods, our approach allows to model global context already at the first layer and throughout the network. We build on the recent Vision Transformer (ViT) and extend it to semantic segmentation. To do so, we rely on the output embeddings corresponding to image patches and obtain class labels from these embeddings with a point-wise linear decoder or a mask transformer decoder. We leverage models pre-trained for image classification and show that we can fine-tune them on moderate sized datasets available for semantic segmentation. The linear decoder allows to obtain excellent results already, but the performance can be further improved by a mask transformer generating class masks. We conduct an extensive ablation study to show the impact of the different parameters, in particular the performance is better for large models and small patch sizes. Segmenter attains excellent results for semantic segmentation. It outperforms the state of the art on both ADE20K and Pascal Context datasets and is competitive on Cityscapes.

View on arXivView PDF

Code Implementations(1)

rstrudel/segmenterOfficial100%
MIT

[ICCV2021] Official PyTorch implementation of Segmenter: Transformer for Semantic Segmentation

905184PythonMay 11, 20212 years agoMIT
segmentationtransformer

Similar Papers

Cite this paper

@article{strudel2021segmenter,
  title  = {Segmenter: Transformer for Semantic Segmentation},
  author = {Robin Strudel and Ricardo Garcia and Ivan Laptev and Cordelia Schmid},
  year   = {2021},
  eprint = {2105.05633},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2105.05633}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2105.05633.svg)](https://codeofpaper.com/paper/2105.05633)

Discussion