My IBM Se connecter S’abonner

Qu’est-ce que la segmentation sémantique ?

Qu’est-ce que la segmentation sémantique ?

La segmentation sémantique est une tâche de vision par ordinateur qui s’appuie sur un algorithme d’apprentissage profond pour classer chaque pixel en lui associant une étiquette. Il s’agit de l’une des trois sous-catégories du processus de segmentation d’image, qui permet aux ordinateurs de comprendre les informations visuelles.

La segmentation sémantique identifie les ensembles de pixels et les classe en fonction de différentes caractéristiques. Les deux autres sous-catégories de la segmentation d’image sont la segmentation d’instances et la segmentation panoptique.

Segmentation d’image

La segmentation d’image est un processus d’analyse d’image de bout en bout qui consiste à diviser une image numérique en plusieurs segments et à classer les informations contenues dans chaque région.

Lors des trois types de tâches de segmentation d’image (segmentation sémantique, d’instance et panoptique), on attribue une étiquette à chaque pixel de l’image afin de délimiter les contours et la forme des différents objets et régions de l’image. Leur classement se fait selon divers critères : couleur, contraste, position dans l’image, etc.

La segmentation sémantique associe une étiquette à chaque pixel contenu dans une image selon sa classe sémantique, tandis la segmentation d’instance et la segmentation panoptique sont utilisées à des fin de classification différentes.

Les modèles de segmentation d’instance se concentrent uniquement sur les classes sémantiques que l’on peut compter dans une image (entités et objets tels que les personnes, les animaux, les arbres, les voitures ou encore les hydrants). Ces modèles détectent chaque objet, ou instance, puis ils génèrent un masque de segmentation et une étiquette d’identification qu’ils lui attribuent.

Les modèles de segmentation panoptique combinent les deux types d’informations : en plus de procéder à une segmentation sémantique, ils détectent et segmentent chaque instance d’objet. Ils attribuent à chaque pixel une étiquette sémantique, mais aussi un identifiant d’instance unique (le cas échéant).

Design 3D de balles roulant sur une piste

Les dernières actualités et informations en matière d’IA 


La newsletter hebdomadaire Think vous apporte toute l’actualité sur l’IA, le cloud et bien d’autres sujets. 

À quoi sert la segmentation sémantique des images ?

Les tâches de segmentation sémantique permettent aux machines de distinguer les différentes classes d’objets et régions d’arrière-plan dans une image. Avec l’essor de l’intelligence artificielle (IA) et du machine learning (ML), la segmentation d’image et la création de cartes de segmentation permettent d’entraîner les ordinateurs à comprendre le contexte important dans les images numériques telles que les paysages, les photos de personnes, l’imagerie médicale et bien plus encore.

Les modèles d’apprentissage conçus pour la segmentation d’image permettent aux machines de traiter l’information visuelle de la même manière que le cerveau humain. Bien que les modèles de segmentation d’image et les modèles de détection d’objets aient quelques usages en commun, un aspect important les différencie. En effet, pour identifier les différentes entités contenues dans une image, la segmentation d’image se concentre sur les pixels au lieu d’approximer l’information à l’aide d’une boîte de délimitation. En gros, sachant que les modèles de classification d’image déterminent ce que contient l’image (sans procéder à une localisation), et que les modèles de détection d’objets déterminent la position de l’objet dans l’image, seuls les modèles de segmentation d’image sont capables de déterminer la forme et les contours des entités dans une image.1

Grâce à l’efficacité des algorithmes d’apprentissage profond qui les aident à interpréter les images comme des données, les machines identifient de mieux en mieux les objets. Alors que la classification leur permet de comprendre quelles informations sont contenues dans une image, la segmentation sémantique aident les machines à identifier l’emplacement précis des différents types d’informations visuelles et à déterminer où commence et où se termine chaque unité.

Mixture of Experts | 25 avril, épisode 52

Décryptage de l’IA : Tour d’horizon hebdomadaire

Rejoignez notre panel d’ingénieurs, de chercheurs, de chefs de produits et autres spécialistes de premier plan pour connaître l’essentiel de l’actualité et des dernières tendances dans le domaine de l’IA.

Comment fonctionne la segmentation sémantique ? 

Les modèles de segmentation sémantique créent une carte de segmentation de l’image en entrée. Cette carte de segmentation est une reconstruction de l’image initiale, dans laquelle chaque pixel se voit attribuer un code couleur en fonction de sa classe sémantique pour générer des masques de segmentation. Le masque de segmentation n’est rien d’autre qu’une partie de l’image qui a été isolée des autres régions. Par exemple, la carte de segmentation d’un arbre dans un champ désert comporterait trois masques de segmentation : un pour l’arbre, un pour le sol et un pour le ciel en arrière-plan.

Pour ce faire, les modèles de segmentation sémantique s’appuient sur des réseaux neuronaux complexes qui leur permettent de regrouper avec précision les pixels connexes en masques de segmentation et d’identifier correctement la classe sémantique réelle de chaque groupe de pixels (ou segment). Ces méthodes d’apprentissage profond exigent un modèle qui soit entraîné sur des jeux de données volumineux, pré-étiquetés et annotés par l’humain pour ajuster ses pondérations et éliminer les biais grâce à des techniques de machine learning telles que la rétropropagation et la descente de gradient.

Les méthodes d’apprentissage profond ont fini par remplacer les algorithmes de machine learning « traditionnels » tels que les machines à vecteurs de support (SVM) et les forêts d’arbres décisionnels. Bien que leur entraînement requière plus de temps, de données et de ressources de calcul, les réseaux neuronaux profonds s’avèrent plus efficaces que les autres méthodes. Au vu du succès rencontré par les premières innovations en la matière, ils se sont rapidement imposés comme premier choix.

Jeux de données d’entraînement

Pour être précise, la classification des données d’image requiert des jeux de données composés de valeurs de pixels qui représentent des masques correspondant aux différents objets ou aux étiquettes de classe contenus dans une image. Étant donné la complexité des données d’entraînement impliquées dans la segmentation d’image, ces types de jeux de données sont généralement plus volumineux et plus complexes que les autres jeux de données de machine learning.

Il existe une multitude de jeux de données de segmentation open source, couvrant un large éventail de classes sémantiques avec des milliers d’exemples et d’annotations détaillées pour chacune. Prenons l’exemple d’une tâche de segmentation qui vise à entraîner la vision par ordinateur d’une voiture autonome à reconnaître tous les objets devant lesquels elle devra freiner, comme les piétons, les vélos et les autres véhicules. La vision par ordinateur de la voiture doit être entraînée à tous les reconnaître systématiquement, sinon elle risquerait de ne pas demander à la voiture de freiner quand il le faut. Cet entraînement doit être extrêmement précis, car il s’agit également d’éviter que la voiture ne freine constamment : il ne faudrait pas classer par erreur des éléments visuels anodins comme des objets d’intérêt.

Voici les principaux jeux de données open source utilisés dans la segmentation sémantique et la segmentation d’image :

Pascal Visual Object Classes (Pascal VOC) : le jeu de données Pascal VOC associe une multitude de classes d’objets, de cadres de délimitation et de cartes de segmentation robustes.

MS COCO : MS COCO comporte environ 330 000 images et annotations pour la détection, la segmentation et le sous-titrage d’image, ainsi que d’autres tâches.

Cityscapes : très connu, Cityscapes interprète les données des environnements urbains et compte 5 000 images, 20 000 annotations et 30 étiquettes de classe.

Modèles de segmentation sémantique

Pour fonctionner correctement, les modèles entraînés nécessitent une architecture robuste. Voici quelques modèles de segmentation sémantique largement utilisés.

Réseaux entièrement convolutifs (FCN)

Un réseau entièrement convolutif (FCN) est une architecture de réseau neuronal de pointe utilisée à des fins de segmentation sémantique, qui dépend de plusieurs couches connectées et convolutives. Les architectures de réseaux neuronaux convolutifs (CNN) traditionnelles associent des couches de convolution et des couches plates qui génèrent des étiquettes uniques, tandis que les modèles FCN remplacent certaines de ces couches plates par des blocs convolutifs 1:1, qui permettent d’extraire davantage d’informations sur l’image. En remplaçant les couches plates et denses par des couches de convolution, de pooling ou de sur-échantillonnage, les réseaux FCN s’avèrent plus faciles à entraîner.

  • Sur-échantillonnage et sous-échantillonnage : étant donné que le réseau regroupe davantage de couches convolutives, la taille de l’image est réduite, ce qui entraîne une diminution de la quantité d’informations spatiales et d’informations au niveau du pixel. Indispensable, ce processus est connu sous le nom de sous-échantillonnage. À l’issue de ce processus, les ingénieurs de données optimisent les images. Pour ce faire, ils agrandissent, ou sur-échantillonnent, la carte des caractéristiques créée pour revenir à la forme de l’image en entrée.

  • Max-pooling : il s’agit d’un autre outil indispensable pour extraire des informations à partir des différentes régions d’une image à des fins d’analyse. Le max-pooling choisit l’élément le plus important de la région analysée afin de produire une carte qui comporte les principales caractéristiques de la carte précédente.

U-Net

Introduite en 2015 pour modifier l’architecture FCN initiale, l’architecture U-Net améliore les résultats, et ce de façon constante. Elle est composée de deux parties, un encodeur et un décodeur. La partie encodeur empile les couches convolutives qui échantillonnent systématiquement l’image pour en extraire des informations, tandis que la partie décodeur reconstruit les caractéristiques de l’image grâce au processus de déconvolution. L’architecture U-Net est principalement utilisée dans le domaine médical pour détecter les tumeurs malignes ou bénignes des poumons et du cerveau.

  • Connexions résiduelles : U-Net a révolutionné l’architecture des FCN en introduisant les connexions résiduelles. Il s’agit de connecter la sortie d’une couche convolutive à une autre qui n’est pas adjacente. Ce processus permet de limiter les pertes de données lors du sous-échantillonnage et améliore la résolution des sorties. Chaque couche convolutive est échantillonnée séparément et combinée aux caractéristiques provenant d’autres couches de manière à ce que la sortie finale représente fidèlement l’image analysée.

DeepLab

Le modèle de segmentation sémantique DeepLab a été développé par Google en 2015 pour améliorer l’architecture FCN initiale, ainsi que la précision des résultats. Alors que les piles de couches des modèles FCN réduisent considérablement la résolution de l’image, l’architecture DeepLab sur-échantillonne les données grâce à un processus appelé convolution dilatée. Ce processus consiste à supprimer une partie des informations contenues dans l’image et à laisser des espaces entre les paramètres des noyaux de convolution.

L’approche de convolution dilatée adoptée par DeepLab permet d’extraire des données à partir d’un champ réceptif étendu, tout en conservant la même résolution. L’espace des caractéristiques est ensuite extrait à l’aide d’un algorithme de champs aléatoires conditionnels (CRF) entièrement connectés, afin que davantage de détails puissent être saisis et utilisés pour la fonction de perte par pixel, et que le masque de segmentation obtenu soit plus clair et plus précis.

Réseau d’analyse de scène pyramidale (PSPNet)

En 2017, un nouvel algorithme de segmentation d’image a été introduit. PSPNet déploie un module d’analyse pyramidale qui rassemble des jeux de données d’image contextuelles avec plus de précision que ses prédécesseurs. À l’instar de ces derniers, l’architecture PSPNet repose sur une approche de type encodeur-décodeur, mais là où DeepLab procède à une mise à l’échelle pour effectuer ses calculs pour chaque pixel, PSPNet ajoute une nouvelle couche de pooling pyramidal. L’agrégation multi-échelle permet à PSPNet de réunir davantage d’informations d’image à analyser que les autres modèles.

Applications de la segmentation sémantique

Véhicules autonomes

Les voitures autonomes s’appuient sur la segmentation sémantique pour voir le monde qui les entoure et réagir en temps réel. La segmentation sémantique consiste à diviser en régions et à classer ce que voit le voiture, comme les voies de circulation, les autres véhicules et les intersections. Grâce aux informations qui lui sont fournies par le biais de la segmentation sémantique, la voiture peut circuler en toute sécurité et arriver à destination. En effet, le véhicule est capable de réagir face aux événements inattendus (par exemple, un piéton qui traverse la route ou un autre véhicule qui freine brusquement).

Diagnostic médical

Bon nombre de procédures médicales courantes telles que le scanner, la radiographie et l’IRM, reposent sur l’analyse d’image. Alors que ce type de tâche est traditionnellement réalisé par un professionnel de santé, les modèles de segmentation en imagerie médicale obtiennent aujourd’hui des résultats similaires. En analysant l’image et en traçant avec précision le contour des différents objets qu’elle contient, l’IA équipée d’une fonctionnalité de segmentation sémantique permet de détecter les anomalies et même de suggérer des diagnostics.

Agriculture

En agriculture, l’IA, l’automatisation et la segmentation sémantique sont utilisées pour détecter les signes d’infestation dans les cultures, et même pour automatiser la pulvérisation des pesticides. La vision par ordinateur indique à l’agriculteur les parties du champ infectées ou à risque, tandis que les systèmes automatisés prennent les mesures nécessaires pour éliminer les ravageurs.

Photographie

La segmentation sémantique est souvent utilisée pour permettre aux appareils photo de passer du mode portrait au mode paysage, pour ajouter ou supprimer un filtre ou encore pour créer un effet. Les filtres et les fonctionnalités les plus utilisés dans les applications comme Instagram et TikTok s’appuient sur la segmentation sémantique pour identifier les différents objets (voitures, bâtiments, animaux, etc.) et permettre l’application des filtres ou des effets sélectionnés.

Solutions connexes

Solutions connexes

IBM watsonx.ai

Entraînez, validez, réglez et déployez une IA générative, des modèles de fondation et des capacités de machine learning avec IBM watsonx.ai, un studio d’entreprise nouvelle génération pour les générateurs d’IA. Créez des applications d’IA en peu de temps et avec moins de données.

Découvrir watsonx.ai
Solutions d’intelligence artificielle

Mettez l’IA au service de votre entreprise grâce à l’expertise de pointe d’IBM en matière d’IA et à son portefeuille de solutions.

Découvrir les solutions d’IA
Conseils et services en matière d’IA

Réinventez les workflows et les opérations critiques en ajoutant l’IA pour optimiser les expériences, la prise de décision et la valeur métier en temps réel.

Découvrir les services d’IA
Passez à l’étape suivante

Bénéficiez d’un accès centralisé aux fonctionnalités couvrant le cycle de développement de l’IA. Produisez des solutions IA puissantes offrant des interfaces conviviales, des workflows et un accès à des API et SDK conformes aux normes du secteur.

Découvrir watsonx.ai Réserver une démo en direct
Notes de bas de page

1« Practical Machine Learning for Computer Vision », Lakshmanan, Valliappa, Gorner, Martin et Gillard, Ryan, O’Reilly Media, juillet 2021