Segmenter : Transformer pour la segmentation sémantique

La segmentation d’images est souvent ambiguë au niveau des patches individuels d’image et nécessite des informations contextuelles pour atteindre un consensus sur les étiquettes. Dans cet article, nous introduisons Segmenter, un modèle basé sur les transformateurs pour la segmentation sémantique. Contrairement aux méthodes fondées sur les convolutions, notre approche permet de modéliser le contexte global dès la première couche et tout au long du réseau. Nous nous appuyons sur le modèle récent Vision Transformer (ViT) et l’adaptions à la segmentation sémantique. Pour cela, nous exploitons les embeddings issus des patches d’image et dérivons les étiquettes de classe à partir de ces embeddings à l’aide d’un décodeur linéaire ponctuel ou d’un décodeur basé sur un transformateur de masques. Nous utilisons des modèles pré-entraînés pour la classification d’images et montrons qu’il est possible de les fine-tuner sur des jeux de données de taille modérée disponibles pour la segmentation sémantique. Le décodeur linéaire permet déjà d’obtenir de très bons résultats, mais la performance peut être encore améliorée grâce à un transformateur de masques qui génère des masques par classe. Nous menons une étude d’ablation exhaustive pour évaluer l’impact des différents paramètres, en particulier en montrant que les performances sont meilleures pour des modèles de grande taille et des tailles de patch petites. Segmenter obtient des résultats excellents pour la segmentation sémantique : il dépasse l’état de l’art sur les jeux de données ADE20K et Pascal Context, et est compétitif sur Cityscapes.