Vous êtes sur la page 1sur 44

Plan

I. Définitions & classification


II. Approche fonctionnelle
III. Quelques méthodes de segmentation

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 1


Segmentation d’images
Philippe Ciuciu (CEA/SHFJ)
ciuciu@shfj.cea.fr
http://www.madic.org/people/ciuciu

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 2


Cours préparé à partir de ressources Web et de
Jean-François Mangin (CEA/SHFJ)

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 3


I. Définitions & classification

i Ri  0
i , j ; i  j Ri  R j  0
I  Ri
i

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 4


Pas de norme, de méthode unique !
Pas de recette !

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 5


Approches « région »

- Basées sur l'homogénéité de caractéristiques localisées


spatialement et calculées sur les niveaux de gris

- Homogénéité : variation à l'intérieur d'une région <


variation entre 2 régions

- Robustes aux bruits mais mauvaise localisation spatiale

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 6


Approches « frontière »

- Basées sur l'information de gradient pour localiser les


frontières des régions

- 2 approches : détection et fermeture de contours ou


techniques de contours déformables

- Sensibles aux bruits et aux contours mal définis, elles


offrent une bonne localisation spatiale

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 7


Vue d'ensemble
Techniques de segmentation

Seuillage Approches Template Approches


adaptatif frontière Matching région

Méthodes variationnelles
Méthodes dérivatives (contours actifs)

Détection de
contours Méthodes Approches
+ Texture Markoviennes structurales
Fermeture des
contours
Analyse et classification
Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 8
II. Approche fonctionnelle

Initialisation
Image Mesures

Critères

Évolution

Carte des
Modification Arrêt régions
bloc élémentaire
Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 9
Approche fonctionnelle et méthodes
complexes

Bloc 1 Bloc 2 Bloc k

N1 N2 Nk

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 10


Bloc Mesures

- Réalise les mesures nécessaires pour évaluer


l'homogénéité des régions

- Des mesures images : moyenne, variance, entropie,


gradient, texture ...
- spatiales
- fréquentielles

- Des mesures régions : forme, surface, périmètre ...

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 11


Choix des mesures : un problème compliqué
 Texture

Seuillage

Détection de
contour !

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 12


Texture = information visuelle qualitative:
Grossière, fine, tachetée, marbrée, régulière,
périodique...
Région homogène: Assemblage plus ou moins régulier
de primitives plus ou moins similaires.
Texture microscopique: Aspect chaotique mais régulier,
primitive de base réduite.

Texture macroscopique:
primitive de base
évidente, assemblage
régulier.
?
Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 13
Approches pour l'analyse de Texture
Structurelles: recherche de primitives de base bien
définies et de leur organisation (règles de placement)
Méthodes peu utilisées
Stochastiques: primitives mal définies et organisation +/-
aléatoire.

Principe: évaluation d’un paramètre dans une petite région


(fenêtre de taille dépendant de la texture (!) ):
Analyse fréquentielle, statistiques, comptage
d’événements, corrélation,....
Pas de modèle général de texture
Nombreuses méthodes ad-hoc.

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 14


Trouver les bons paramètres 

Le choix et le réglage
4x4 8x8
des mesures est
fondamental en
segmentation

16x16 32x32
Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 15
Bloc Critères
- Fusionne les mesures en un seul critère qui sera utilisé
pour évaluer le besoin de modification

M
C   w .E
n n
i i
n

i 1

- Introduction d'hyper-paramètres conditionnant le


résultat de la segmentation

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 16


Bloc Evolution

- Estime à partir des critères le besoin d'évolution des


régions

- Evolution par seuillage : binaire ou progressive

- Evolution par dérivée : variation du critère entre 2


itérations

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 17


Bloc Modification
- Modifie la carte des régions
- N constant : seuillage, contour actif, ...
- N+ : split
- N- : merge

- Stratégies diverses ... et représentation des régions


adaptée
- déplacement de point
- étiquetage
- maillage

- Considéré comme le cœur des méthodes de


segmentation
Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 18
Bloc Arrêt
- Décide l'arrêt des itération

- Par défaut, arrêt quand la carte de segmentation ne


bouge plus

- Autres possibilités : manuel, nombre d'itération, nombre


de points modifiés ...

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 19


III. Quelques méthodes de segmentation

III.1 Segmentation par seuillage adaptatif

III.2 Segmentation par détection / fermeture


de contours

III.3 Segmentation par contours actifs

III.4 Segmentation par Split / Merge

III.5 Segmentation par Template Matching


Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 20
III.1 Segmentation
H(N)
par seuillage adaptatif
Fond

Objet

Seuil
• Détection de vallées, en prenant le minimum de l’histogramme
situé entre les 2 pics
• Optimisation du seuil S par modélisation Gaussienne p1(x) et
p2(x) et en minimisant l’expression basée sur les fonctions de
répartition : 
Min 1  F ( x  S )  F ( x  S )
1 2 
Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 21
Exemple : Méthode Fisher
Objectif : Trouver le seuil S qui minimise la somme des
moments centrés d’ordre 2 (somme des Variances) des 2
classes
h(x) : histogramme de l’image
 xh( x )
x Ci
Centre de gravité G Gi ( S ) 
d’une classe  h( x )
x Ci

Variance Var d’une classe Vari ( S )   ( x


x Ci
 Gi ) 2
h( x )

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 22


Trouver S qui minimise la somme des variances :
S opt  Min Var1 ( S )  Var2 ( S ) 
S

En simplifiant les termes en carrés, cela revient à maximiser la


fonctionnelle J(S) : 2 2
   
  xh( x )   xh( x )
 x C1   x C2 
J (S )  
 h( x )
x C1
 h( x )
x C2

Le problème de seuillage ou de partitionnement revient à


chercher S dans {0,255} qui maximise J(S)

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 23


III.2 Segmentation par détection /
fermeture de contours
La détection de contour est suivie
d’une localisation de contour et de la
recherche d’un ensemble connexe de
points
Détection de Extraction de Fermeture de
contour contour contour

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 24


Détection de contour
• Un contour caractérise la frontière d’une région
• Un contour est défini par une variation «rapide» de
caractéristique

Contour Contour ? Contour ?


Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 25
Définition continue d'un contour
f(x,y)

r

x
g
Mesure du gradient de f(x,y) dans la direction r
La direction q du contour est obtenue pour :
 f ( x, y )     f ( x, y) 
max pour  g      0
r 2  r 

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 26


 f  f x  f y  f f
   cos( )  sin( )
r  x r  y r x y

   f ( x, y)  f f
  0  sin( )  cos( )  0
 r  x y

f
y
g  arctan( )
f
x
2 2
 f   f   f 
       
 r  max x y

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 27


Applications aux images numériques
• Pour chaque pixel (i,j), on mesure le gradient
dans deux directions orthogonales : Dx Dy

• Calcul de l’amplitude du gradientM  Dx 2  Dy 2

 Dy 
• Calcul de la direction du gradient   Arctan 
 Dx 

Dx
H1 Carte d’amplitude
f(i,j) M
Dy 
H2 Carte de direction

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 28


Contour détecté si M dépasse une certaine valeur (seuil).

Carte de direction utilisée pour «suivre» les contours.

Exemples d’opérateurs H1 H2

 0 1 1 0 
Roberts   1 0 0  1
   
 1 0 1  1  1  1
   
Prewitt   1 0 1   0 0 0 
 1 0 1  1 1 1 

  1 0 1  1  2  1
   
Sobel   2 0 2   0 0 0 
  1 0 1  1 2 1 

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 29


Exemple de détection de contours

« Roberts »
Zoom
(inhomogénéité
du contour)

Amplitude

blanc=
...
128x128 gris =  +

Direction
Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 30
 Amplitude

 Direction
Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 31
Éventail de méthodes de détection de contour :
• Dérivation au premier ordre
Prewitt, Sobel, Roberts, Kirsh, Compass, dérivateurs...
• Dérivation au second ordre
Laplacien, Marr et Hildreth,...
• Filtrage optimal
Canny-Deriche, Shen
• Modélisation des contours
Hueckel, Haralick
• Morphologie mathématique
gradient morphologique, ligne de partage des eaux...
Caractéristiques:
Complexité, précision de localisation, sensibilité au bruit,
création de faux contours
Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 32
Extraction des contours
Un contour = ligne de crête dans l’image de la norme du
gradient (IG):
• des niveaux de gris toujours élevés
• de faibles dénivelés le long de ces lignes
• de forts dénivelés dans les autres directions
==> les points de contour = maxima locaux de IG
Principe :comparer le gradient G direction de G
contour
en un point M avec les gradients G1
G1 et G2 des deux voisins pris
G
dans la direction du gradient M
si G>G1 et G>G2,
G2
alors M est un maximum local
Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 33
Fermeture des contours
Hypothèse : l’image de la norme de gradient est
disponible et les extrémités des contours à fermer sont
connues
contour de l’image A
S0
arc d’un chemin solution
R
S Trouver le chemin du coût minimum :
• S qui minimise

A( S )  A( R )
Sf • S qui minimise la distance entre S0 et
Sf
Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 34
III.3 Segmentation par contours actifs

• Un contour actif : courbe fermée Final


contour
ou non, initialisée à proximité du
contour recherché qu’on déforme par
itérations successives afin de Initial
converger vers le contour réel contour
• L’évolution du contour actif est régie
par une minimisation d’énergie
• L’évolution s’arrête par un critère
d’arrêt qui correspond à une
condition de stabilité

La convergence traduit une adéquation entre la forme finale


de la courbe C et la fonction image au voisinage de la courbe
Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 35
Contours actifs : définitions

• Le contour actif est assimilé à une courbe C :

 
C  v ( s, t )   x ( s, t ), y ( s, t ) ; s [a , b], t [0, T ]

s est l‘abscisse curviligne, v(s,t) est un point courant de C, a


et b sont les extrémités de C, l’évolution temporelle se fait
entre 0 et T
• l’énergie E(C) est mesurée à chaque pas t
•E(C) intègre :
• les caractéristiques intrinsèques de la courbe C
• les caractéristiques de l’image I au voisinage de C
• l’interaction entre I et C

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 36


Contours actifs : Energie du contour E(C)

E (C )  E int (C )  E ext (C )  Eimage (C )

 Eint : - lié à la rigidité (tension), il agit sur la longueur


- lié à l'élasticité (flexion), il agit sur la courbure
 Eext : - introduit des contraintes opérateur (points de contrôle ...)

 Eimage : - introduit des caractéristiques images (gradient)

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 37


Évolution temporelle du contour actif
• Calculer l'énergie pour chaque point
• Faire la liste des points par ordre d’énergie décroissante
• Faire évoluer le point avec l'énergie maximale
• Calculer l'énergie nouvelle pour ce point et organiser la
liste
• si la distance entre deux points est trop grande, ajouter
un point entre les deux

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 38


Problèmes liés aux contours actif
• Contour initial sélectionné manuellement
• Contour initial relativement proche du contour final
• Modèle non utilisable en présence de texture
• Modèle perturbé en présence de bruit
• Minimisation d'énergie demande l’inversion de matrices
de grande taille à chaque itération

calcul très long

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 39


III.4 Segmentation par Split / Merge

• Méthodes structurales visant à regrouper des ensembles de


points ou de régions selon des critères d’homogénéité
• Ces méthodes garantissent la connexité des régions
• Les stratégies utilisées peuvent être :
• ascendante : mécanisme de croissance (MERGE) de
régions : du niveau élémentaire (ex : pixel) aux grandes
régions

• descendante : mécanisme de division (SPLIT) de


régions : du niveau haut (ex : image) vers la décomposition
en petites régions
Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 40
Méthode ascendante : Croissance de régions
• Croissance conduite selon deux critères :
• homogénéité pour une région R formée de N pixels
• connexité (adjacence) du pixel à intégrer dans R
• Exemples de contrainte d’homogénéité :
• Variance Var(R) inférieure à un seuil
• Borner le nombre de pixels M dont les NG se situent
hors d’un intervalle [Moy(R)-EcType(R),Moy(R)+EcType(R)]
• Pixel S intégré à R si
• ses caractéristiques (NG, couleur, texture centrée sur ce
point,..) sont proches de celles de R
• S est connexe à R
Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 41
Méthodes descendantes : division de régions
• Les méthodes descendantes divisent l’image ou une
partie d’image en régions en utilisant des partitions
élémentaires connues comme le quadtree

• Le maillage peut être


– régulier ou irrégulier
– de type rectangulaire, triangulaire ou polygonal
quelconque

• Division d’une région R en sous-régions si R ne remplit


pas la contrainte d’homogénéité fixée

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 42


III.5. Segmentation par Template Matching
• La méthode Template Matching est basée sur la
recherche de la position spatiale d’un motif (objet) M
connu dans une image I
• La recherche (ou le collage) se fait par le calcul de
l’intercorrélation bidimensionnelle C(p,q) entre I et M :

C IM ( p, q)   I ( m, n ) M ( m  p, n  q)
m n

pour tout déplacement p, q

• La position du motif est donnée par les maxima de la


fonction d’intercorrélation CIM

Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 43


Motif

Image
originale

Image d’intercorrélation Image d’intercorrélation seuillée


Philippe Ciuciu SHFJ/CEA ESIEA 30/11/2005 44