Méthodes de segmentation

Il existe de nombreuses méthodes de segmentation d’images. Nous avons choisi ici d'en présenter les principales, et celles qui, pour nous, proposent des approches intéressantes.

Avant de commencer, voici quelques notations :

On note $\Omega$ le domaine de l’image. Par exemple, on notera $\Omega ={ \left[ 0,1 \right] }^{ 2 }$ dans un cadre continu, ou $\Omega ={ \left\{ 0,...,N-1 \right\} }^{ 2 }$ dans un cadre discret. L’image, notée $I$, est une fonction définie sur $\Omega$ et à valeurs dans $\mathbb{R}$ ou dans ${ \left\{ 0,...,255 \right\} }$. On note $h$ l’histogramme des niveaux de gris de l’image. Dans le cadre d’une image digitale de taille $N × N$, il est défini par :

$$\forall k \in \{ 0,...,255\} ,\quad h(k)=\frac { 1 }{ { N }^{ 2 } } \neq \{ x/1(x)=k\} $$

Méthode par seuillage

  • Principe
  • Approche
  • Application

Les méthodes par seuillage consistent à faire une segmentation de l’histogramme des niveaux de gris de l’image, ce qui donne une segmentation de l’image.

Elles sont adaptées pour la binarisation : le problème se ramène donc à trouver le seuil de niveau de gris $T$ optimal.

L’image segmentée est alors une image binaire : $J(x)={ B }_{ (I(x)≥T) }$.

D’autres méthodes font un seuillage local : pour tout $x\in \Omega $, on calcule un seuil optimal $T(x)$ à partir des caractéristiques locales de l’image.
L’image segmentée est alors égale à $J(x)={ B }_{ (I(x)≥T(x)) }$.

Image réelle

Histogramme des niveaux de gris

Segmentation (seuils 50 et 110)

Méthode par contours

  • Principe
  • Approche
  • Application

L’idée est de chercher dans l’image les contours afin de séparer les différentes régions. La détection des contours permet de représenter la structure de l'image et d'extraire ses primitives (droites, segments, etc).

Il existe de très nombreuses méthodes de détection de contours, mais toutes ne donnent pas des courbes fermées.

En ce qui concerne la modélisation, les contours sont classés en trois modèles :

Marche d'escalier

Rampe

Toit

Les dérivées premières et secondes d'un contour en marche d'escalier sont données par :

Dérivée première

Dérivée seconde

Un contour correspond à un extremum d'une dérivée première et à un passage par zéro d'une dérivée seconde.

Image originale

Image de gradient vertical

Image de gradient horizontal

Image binaire ${ g }_{ n,m }$

Filtre de Canny

Filtre de Canny avec seuil

Méthode des Normalized Cuts

  • Principe
  • Approche
  • Application

La méthode des Normalized Cuts voit le problème de segmentation d’image comme un problème de partition optimale d’un graphe $G = (V, E)$, où $V$ est l’ensemble des sommets et $E$ est l’ensemble des arrêtes.

On cherche d’abord la meilleure partition en deux parties A et B qui soient le plus dissemblables possible. On commence par définir : $$cut(A,B)=\sum _{ x\in A,y\in B }^{ \quad }{ s(x,y) }$$ où $s$ est une mesure de similarité entre deux sommets du graphe. La bipartition optimale du graphe est celle qui minimise la quantité $$Ncut(A,B)=\frac { cut(A,B) }{ assoc(A,V) } +\frac { cut(A,B) }{ assoc(B,V) }$$ où $assoc(A,V)=\sum _{ x\in A,y\in V }^{ \quad }{ w(x,y) } $. Trouver la solution revient donc à trouver les vecteurs propres associés aux deux plus petites valeurs propres d’une matrice (de taille $n\times n$ où $n$ est le nombre de sommets du graphe).

Exemples de résultats

Méthode SLIC

  • Principe
  • Approche
  • Application

La méthode SLIC, pour Clustering itératif linéaire simple, est un algorithme qui regroupe des pixels dans l'espace combiné de couleur et d'image en cinq dimensions pour générer efficacement des superpixels compacts et presque uniformes. Les expériences montrent que l'algorithme produit des superpixels à un coût de calcul plus faible tout en obtenant une qualité de segmentation égale ou supérieure à quatre méthodes à la fine pointe de la technologie, mesurée par un rappel de frontière et une erreur de sous-segmentation.

L'algorithme génère des superpixels en regroupant les pixels en fonction de leur couleur de similitude et leur proximité dans le plan image. Cela se fait dans les cinq dimensions de l'espace $[labxy]$, où $[lab]$ est le vecteur de couleur pixel dans l'espace de couleur CIELAB, et $(x,y)$ la position du pixel.

Alors que la distance maximale possible entre deux couleurs dans l'espace CIELAB est limitée, la distance spatiale dans le plan $(x,y)$ dépend de la taille de l'image. Il n'est pas possible d'utiliser simplement la distance euclidienne dans cet espace 5D sans normaliser les distances spatiales. De ce fait, afin de regrouper des pixels dans cet espace 5D, l'algorithme introduit une nouvelle mesure de distance qui considère la taille du superpixel.

Exemples de résultats

Le choix de l’approche dépend fortement du type d’application et du type d’images.

En effet, on aura tendance à choisir une méthode plutôt qu'une autre si l'image est très structurée ou texturée, s'il y a beaucoup de dégradés ou qu'apparaît des contours bien marqués, s'il y a une présence de bruit ou non, si la méthode nécessite l'intervention de l’utilisateur pour définir certains réglages, si il y a un compromis entre le temps de calcul et la précision.

Exemples d'applications

Crédits

Projet de recherche réalisé par Pierre Charles et Jules Tantot, dans le cadre d'un cours de traitement d'image à l'école d'ingénieur IMAC.