Semantic Segmentation
La segmentation sémantique attribue une classe à chaque pixel et produit une carte dense des classes. Découvre le fonctionnement des modèles, les différences avec la segmentation d’instances et des exemples de code.
La segmentation sémantique est une tâche de vision par ordinateur qui attribue une étiquette de classe à chaque pixel d’une image. La sortie est une carte de classes dense, de même hauteur et largeur que l’entrée, où chaque valeur est un identifiant de classe comme route, trottoir, bâtiment, ciel ou personne. La classification d’images attribue une étiquette par image et la détection d’objets dessine une boîte par objet, tandis que la segmentation sémantique décrit toute la scène région par région, y compris les zones de fond amorphes comme l’herbe et le ciel, qui ne contiennent pas d’instances dénombrables.
Fonctionnement de la segmentation sémantique#
Un modèle de segmentation sémantique est un classificateur par pixel. Un réseau neuronal convolutif (CNN) ou un Transformer de vision produit une carte de scores par classe, généralement à résolution réduite ; les cartes sont suréchantillonnées à la taille de l’image et chaque pixel reçoit la classe ayant le score le plus élevé. L’entraînement compare la prédiction de chaque pixel à un masque étiqueté à l’aide de l’entropie croisée, et les pixels auxquels est attribuée une valeur d’exclusion, souvent 255, sont exclus de la fonction de perte.
La difficulté principale tient au fait que reconnaître une région exige un grand champ réceptif et un sous-échantillonnage important, tandis que tracer des contours précis nécessite de conserver les détails spatiaux fins. Les réseaux entièrement convolutifs (FCN) ont transformé les réseaux de classification en prédicteurs denses pour la première fois en 2014. Les architectures encodeur-décodeur comme U-Net ont ensuite amélioré la précision des contours en transmettant au décodeur les caractéristiques haute résolution de l’encodeur par des connexions de saut, tandis que DeepLab a utilisé des convolutions dilatées (atrous) pour élargir le contexte sans réduire la carte de caractéristiques. Les modèles en temps réel fusionnent ainsi le contexte global et les détails fins :
Les modèles de segmentation sémantique Ultralytics YOLO26, identifiés par le suffixe -sem, suivent ce principe : ils classent les pixels à partir de caractéristiques du neck à l’échelle 1/8, qui intègrent déjà le contexte fusionné, puis suréchantillonnent les logits d’un facteur 8 pour retrouver la taille de l’entrée. Ils sont préentraînés sur les 19 classes de Cityscapes ou les 150 classes d’ADE20K, et s’entraînent sur des images de masques ou sur des étiquettes polygonales YOLO converties à la volée en masques.
from ultralytics import YOLO
# Load a YOLO26 semantic segmentation model trained on the 19 Cityscapes classes
model = YOLO("yolo26n-sem.pt")
# Predict one class ID for every pixel of a street image
results = model("https://ultralytics.com/images/bus.jpg")
class_map = results[0].semantic_mask.data
# Measure how much of the image each class covers
ids, counts = class_map.unique(return_counts=True)
for class_id, count in zip(ids.tolist(), counts.tolist()):
print(f"{results[0].names[class_id]}: {count / class_map.numel():.1%}")La sortie répertorie chaque classe présente et sa proportion dans l’image. Toutes les personnes de la photo sont regroupées dans une seule proportion pour la classe « personne », car la carte de classes stocke une classe par pixel et ne précise pas à quel objet appartient un pixel.
Segmentation sémantique, par instance et panoptique#
La segmentation sémantique est l’une des trois tâches de segmentation d’images :
- Segmentation par instance : attribue à chaque objet dénombrable son propre masque et identifiant. Ainsi, trois voitures deviennent « voiture 1 », « voiture 2 » et « voiture 3 », et les pixels de fond restent sans étiquette.
- Segmentation panoptique : attribue une classe à chaque pixel, comme la segmentation sémantique, et ajoute un identifiant d’instance aux pixels des objets dénombrables.
La segmentation sémantique convient aux scènes où les régions comptent davantage que le nombre d’objets, comme les zones de chaussée praticables ou la couverture terrestre.
Applications concrètes#
- Véhicules autonomes : les systèmes de conduite segmentent les images des caméras en catégories telles que route, trottoir, marquages au sol, véhicules et piétons pour repérer les zones praticables et les obstacles.
- Imagerie médicale : les modèles délimitent les organes, les tumeurs et les lésions sur les images de tomodensitométrie et d’IRM afin que les cliniciens puissent mesurer les volumes et planifier les traitements ; U-Net a été conçu à l’origine pour les images biomédicales.
- Analyse d’images satellites : les cartes de couverture terrestre attribuent à chaque pixel une classe comme eau, forêt, terres cultivées ou zone bâtie afin de suivre la déforestation et l’expansion urbaine.
- Agriculture : les robots agricoles et les drones classent les pixels en catégories telles que culture, mauvaise herbe ou sol, afin que les pulvérisateurs ne traitent que les mauvaises herbes.
Jeux de référence et métriques#
Les modèles sont évalués à l’aide de l’intersection sur l’union (IoU) moyenne, ou mIoU : le chevauchement entre les pixels prédits et les pixels réels est calculé pour chaque classe, puis moyenné, si bien que les classes rares comme les poteaux et les panneaux de signalisation ont autant de poids que les routes et le ciel. ADE20K couvre 150 classes intérieures et extérieures pour la compréhension générale des scènes, et Cityscapes, le benchmark de conduite le plus connu, contient 5 000 images de rues issues de 50 villes, avec des étiquettes précises au niveau du pixel. Les modèles y sont classés selon la mIoU calculée sur 19 classes d’évaluation.










