Méthodes numériques pour le traitement d’images

Cours 6 : Segmentation d’images (2/2)

Emmanuel Caruyer

2020-2021, L3 SIF (ENS Rennes, Université de Rennes 1)

Segmentation d’images (2/2)

Dans le cours précédent, nous avons tenté de résoudre le problème de la segmentation en utilisant une technique de regroupement des couleurs en \(k\) classes à l’aide de l’algorithme des \(k\) moyennes, et avons exploré une méthode de détection des contours basée sur le filtre de Canny. Nous poursuivons dans ce cours en cherchant à relier et unifier ces deux principes.

k-means Segmentation par la méthode des k-moyennes

Filtre de Canny Détection des contours par filtre de Canny (TP5)

Modélisation probabiliste

Rappel : le problème de la segmentation consiste à trouver une partition du support de l’image \[ \Omega = \bigcup_{i=1\ldots k} \mathcal S_i, \qquad \mathcal{S}_i \cap \mathcal{S}_j = \emptyset \text{ pour }i\neq j \]\(k\) est le nombre de classes dans l’image.

De façon équivalente, on cherche un étiquetage \(u: \Omega \rightarrow \{1 \ldots k \}\) qui attribue une étiquette (ou label en anglais) à chaque pixel du support de l’image, correspondant aux objets présents dans l’image \(f\).

Maximum a posteriori

Dans un cadre probabiliste, on cherche à modéliser la probabilité d’un étiquetage \(u\) pour une image \(f\) (une observation) donnée. On note \(P(u|f)\) cette probabilité, l’objectif est de trouver l’étiquetage qui maximimse cette probabilité \[ \hat{u}_\mathrm{map} = \arg\max_u P(u|f). \] On appelle \(\hat{u}_\mathrm{map}\) l’estimateur du maximum a posteriori.

Cadre bayésien et modélisation de l’image

En général, il est difficile de modéliser \(P(u|f)\) directement, on utilise pour cela le théorème de Bayes : \[ P(u|f) = \frac{P(f|u) P(u)}{P(f)}. \] Pour une observation \(f\) donnée, maximiser \(P(u|f)\) revient donc à maximiser \(P(f|u) P(u)\), ou de façon équivalente en passant au \(\log\) à minimiser \[ V(u|f) = -\log P(f|u) - \log P(u). \]

Dans la dernière équation, on peut voir le premier terme comme une mesure de la fidélité aux données, alors que le second terme représente un a priori sur la solution que l’on cherche, par exemple sur sa régularité. On va voir en détails ces deux parties du modèle.

Adéquation de l’image à la segmentation (1/3)

On peut supposer que conditionnellement à l’étiquetage \(u\), les observations d’un pixel à l’autre sont indépendantes : \[ P(f|u) = \prod_{p\in\Omega}P(f[p]|u). \] Par ailleurs, l’observation (la valeur de l’intensité au pixel \(p\)) ne dépend que de la classe de ce pixel : \[ P(f[p]|u) = P(f[p] | u[p]), \] il reste à modéliser cette probabilité.

Adéquation de l’image à la segmentation (2/3)

De façon simple, on peut supposer que la distribution des intensités (ou des couleurs) à l’intérieur de chaque classe \(i\) suit une loi gaussienne de moyenne \(\mu_i\) et de variance \(\sigma_i^2\). Ces paramètres peuvent être donnés par l’utilisateur, l’utilisateur peut par exemple fournir l’étiquetage d’une partie de chacun des objets (voir Figure), dont on peut déduire une estimation de \(\mu_i\) et de \(\sigma_i^2\).