Aller au contenu
Retour au blog
AI Segmentation
GeoAI
Guide

Segmentation sémantique vs segmentation d'instances sur des images aériennes

Emprises des bâtiments de Shivajinagar, Bengaluru, chaque bâtiment formant son propre polygone sur une trame dense de rues.
Photo : planemad, CC BY-SA 4.0, Wikimedia Commons.

La segmentation sémantique attribue une classe à chaque pixel d'une image : ce pixel est un bâtiment, celui-ci une route, le suivant un arbre. La segmentation d'instances va un cran plus loin et sépare les objets d'une même classe : ce pixel appartient au bâtiment numéro 12, celui-ci au bâtiment numéro 13.

La différence en une ligne

La segmentation sémantique répond à la question "quelle quantité". La segmentation d'instances répond à la question "combien, et lequel".

SémantiqueInstances
SortieUn masque par classeUn polygone par objet
Deux maisons qui se touchentUn masqueDeux objets
Peut-on compter avecNonOui
Modèle courantU-Net, DeepLabMask R-CNN, Segment Anything
La même rue de maisons mitoyennes à Lens présentée deux fois : à gauche, chaque bâtiment sous un seul masque vert, à droite, chaque maison comme son propre polygone coloré.
Lens, les mêmes maisons mitoyennes deux fois. À gauche, sémantique : un masque. À droite, instances : un polygone par maison. Bâtiments : contributeurs OpenStreetMap, ODbL. Orthophoto : IGN, BD ORTHO, licence ouverte.

Ce que chacune fournit sur une carte

La segmentation sémantique est une carte d'occupation du sol aux contours nets : un masque de bâtiment, un masque de route, un masque de végétation. Vectorisez-la et tout un îlot de maisons mitoyennes devient une seule entité. C'est adapté aux statistiques de surface, aux surfaces imperméables, à la couverture arborée et aux changements entre deux dates. Ce n'est pas adapté à ce qui nécessite un comptage.

La segmentation d'instances est un inventaire. Chaque toit, houppier ou piscine arrive sous la forme de son propre polygone, avec sa propre ligne dans la table attributaire. Vous pouvez compter, mesurer chacun d'eux et associer une hauteur à chacun. En contrepartie, le modèle doit décider où un objet se termine, ce qui est difficile dans une rangée de maisons mitoyennes, et les erreurs le montrent : deux maisons fusionnées, un houppier divisé en trois.

Ce que produisent les outils QGIS

  • Sémantique : Deepness et la plupart des modèles de son catalogue, le Semi-Automatic Classification Plugin, le modèle d'occupation du sol de Mapflow.
  • Instances : la famille Segment Anything, notamment Geo-SAM, samgeo et les plugins SAM pour QGIS. Un objet par clic.
  • AI Segmentation, le plugin que nous développons chez TerraLab pour QGIS, est un outil de segmentation d'instances. Vous nommez l'objet, un bâtiment, un arbre, une piscine, ou vous en dessinez un exemple, et il renvoie un polygone par objet trouvé dans la zone. Le guide des emprises de bâtiments montre le résultat sur un îlot dense.

Les questions fréquentes

La détection d'objets est-elle la même chose que la segmentation d'instances ?

Non. La détection d'objets renvoie un rectangle autour de chaque objet. La segmentation d'instances renvoie son contour, pixel par pixel. Pour une carte, c'est presque toujours le contour que l'on veut.

Puis-je transformer un masque sémantique en instances ?

Parfois. Vectorisez le masque, puis divisez les polygones là où ils se resserrent. Cela fonctionne pour des éléments séparés comme les houppiers dans un verger. Cela échoue dans une rangée de maisons mitoyennes, où il n'y a aucun resserrement à découper.

La résolution des images change-t-elle la réponse ?

Oui. À 10 m, une maison fait deux pixels et il n'y a rien à séparer, donc l'occupation du sol satellitaire est sémantique par nécessité. À 20 cm, une maison fait des milliers de pixels et la segmentation d'instances devient possible.

Le hub QGIS AI rassemble ce que l'IA peut et ne peut pas faire dans QGIS.