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

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émantique | Instances | |
|---|---|---|
| Sortie | Un masque par classe | Un polygone par objet |
| Deux maisons qui se touchent | Un masque | Deux objets |
| Peut-on compter avec | Non | Oui |
| Modèle courant | U-Net, DeepLab | Mask R-CNN, Segment Anything |

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.
, 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 

