Traitement d’images
Caroline Petitjean
Plan du cours
– Introduction
–Catégorisation de l’image
–Acquisition et Visualisation
–Opérations basées sur l’histogramme
–Extraction de caractéristiques
–Morphologie mathématique
–Segmentation
Objectifs
• Etude de la segmentation
• But : chercher une ou plusieurs régions homogènes
Résultat : mesure
de la surface de la
tumeur
Segmentation d’image
Segmentation d’images
• Scanner du poumon chez des asthmatiques
Source : Synarc
Segmentation d’images
• Tracking du ventricule gauche en IRM
cardiaque
Indexation de documents
Thèse Stéphane Nicolas,
Université de Rouen, 2006.
Segmentation ou localisation ?
• Reconnaissance faciale
Segmentation, localisation, tracking
Détection de l’hypovigilance du conducteur Source : Real-time robust face tracking for driver monitoring, J. Nuevo et al, IEEE ITSC 2007
Thèse John Klein,
Université de Rouen, 2008.
Segmentation, localisation, tracking
• Analyse du trafic
• Lecture de plaques
minéralogiques
Source : www.macqel.fr
Segmentation, localisation, tracking
• Tracking de joueurs, du ballon
http://www.sport-universal.com/
Segmentation
Recherche de régions
(approches « régions »)
Recherche de frontières
(approches « contours »)
Segmentation, contour, region
Approches régions
• De nombreuses méthodes….dont :
– Seuillage
– Croissance de régions
– Split-and-merge
– Ligne de partage des eaux
– Clustering (k-moyennes)
– Techniques de graphe
– Modèles déformables
Seuillage
• Seuillage ( thresholding)
Seuillage
• Seuillage ( thresholding)
0 50 100 150 200 250
0
1000
2000
3000
4000
5000
6000
100 200 300 400 500 600 700
50
100
150
200
250
300
350
400
450
500
550
100 200 300 400 500 600 700
50
100
150
200
250
300
350
400
450
500
550
150T
Seuillage
100 200 300 400 500 600 700
50
100
150
200
250
300
350
400
450
500
550
100 200 300 400 500 600 700
50
100
150
200
250
300
350
400
450
500
550
64T
0 50 100 150 200 250
0
1000
2000
3000
4000
5000
6000
100 200 300 400 500 600 700
50
100
150
200
250
300
350
400
450
500
550
127T
100 200 300 400 500 600 700
50
100
150
200
250
300
350
400
450
500
550
180T
100 200 300 400 500 600 700
50
100
150
200
250
300
350
400
450
500
550
150T
Thresholding Using Image Histogram
• Multiple thresholds are possible
If f (x, y) < T1 then f (x, y) = 255
else if T1 < f (x, y) < T2 then f (x, y) = 128
else f (x, y) = 0
T1 T2
Seuillage
• Pas adapté quand les régions varient ou
ne sont pas homogènes :
Seuillage
• Variante (qui prend en compte la position
spatiale des pixels) : seuillage par
hystérésis
Pixels above the high
threshold are classified
as object and below the
low threshold as
background.
Pixels between the low
and high thresholds are
classified as object only
if they are adjacent to
other object pixels.
single threshold hysteresis thresholding
Seuillage par hystérésis
Seuillage
• Comment faire pour choisir le seuil ?
• Une méthode pour le choisir automatiquement
– Otsu (1979)
– Choix du seuil qui minimise la variance intrarégions
et maximise la variance interrégions
Otsu’s Method : Mean and Variance
• Consider an image with L gray levels and
its normalized histogram
– P(i) is the normalized frequency of i.
• The mean gray-level value over the whole
image and variance:
Otsu’s Method : Mean and Variance
• Assuming that we have set the threshold
at T, the normalized fraction of pixels that
will be classified as background and
object will be: T background object
Otsu’s Method : Mean and Variance
• Quelle est la valeur moyenne du groupe
background et du groupe object ?
Otsu’s Method
Within-class and between-class variance
• On définit la variance intra-classe :
• On définit la variance inter-classe :
within-class variance
between-class variance
should be minimized!
should be maximized!
Otsu’s Method
Within-class and between-class variance
• On montre que la variance de l’image
peut s’écrire :
• Since the total variance does not
depend on T, the T that minimizes
will also maximize
• Find the T value that maximizes
Otsu’s Method
Determining the threshold
• Start from the beginning of the histogram and
test each gray-level value for the possibility of
being the threshold T that maximizes
Otsu’s Method
• Drawbacks of the Otsu’s method – The method assumes that the histogram of the
image is bimodal (i.e., two classes).
– The method breaks down when the two classes
are very unequal (i.e., the classes have very
different sizes)
• In this case, may have two maxima.
• The correct maximum is not necessary the global one.
– The method does not work well with variable
illumination.
Seuillage local
This approach might lead
to subimages having simpler
histogram (e.g., bimodal)
single threshold local thresholding using Otsu’s method
Seuillage local
Drawbacks of Thresholding
• Threshold selection is not always
straightforward.
• Pixels assigned to a single class need not
form coherent regions as the spatial
locations of pixels are completely ignored.
– Only hysteresis thresholding considers some
form of spatial proximity.
Seuillage
• Comment compter le nombre d’éléments ?
Etiquettage en composantes
connexes
• Lien (source : cours Master informatique
Univ Lille 1)
Approches régions
• Croissance de régions ( region growing)
– choix d'un germe
– propagation selon un certain critère
Source : LIRMM
Segmentation de la graisse sous-cutanée et
viscérale sur des images scanner acquises
chez des patients atteints du VIH
Source : Synarc
Croissance de régions
Croissance de régions
• Image scanner
– Codage sur 12 bits 4096 valeurs
– En unités Hounsfield : [-1024 ; 3071]
Graisse : -120 à –60 Hu
Segmentation par croissance de région selon
un critère de seuillage
A partir du germe :
pixel région
si son intensité
[-120,-60]
Croissance de régions
Source : Synarc
Approches régions
• Algorithme « Split-and-merge »
• Splitting : On divise les régions non-homogènes
partager fusionner
Quel critère d’homogénéité ?
Image originale 4 régions 4 régions (rien à fusionner)
split merge
Itération 1
Split divise chaque région non-uniforme en 4 Merge fusionne toutes les régions uniformes adjacentes
Split and merge
De l’itération 1 13 régions 4 régions
split merge
Itération 2
Split and merge
Split divise chaque région non-uniforme en 4 Merge fusionne toutes les régions uniformes adjacentes
De l’itération 2 10 régions
split merge
Itération 3
Résultat final de segmentation
2 régions
Split and merge
Split divise chaque région non-uniforme en 4 Merge fusionne toutes les régions uniformes adjacentes
thresholding split and merge
Split and merge
Ligne de partage des eaux
• Image : surface
topographique
• Niveau de gris
altitude
• LPE :
watershed
• Pour que les crêtes correspondent aux
contours module du gradient
Ligne de partage des eaux
Ligne de partage des eaux
http://cmm.ensmp.fr/~beucher/wtshed.html
Clustering (k-moyennes)
• K = nombre de régions (cluster) à trouver
– Ici K = 2 (Fond + chromosomes)
1) On clique dans l’image pour avoir
un représentant de chaque région (=centre de cluster = CC)
2) Pour chaque pixel de l’image,
calcul de sa distance à chaque CC : |NdG - Pi|
on lui attribue la région de distance minimum
Pf = 32, Pc = 217
3) Pour chaque cluster, on calcule le NdG moyen =
nouveaux CC. Sont-ils différents des anciens CC ?
Si oui, retour à 2)
Si non, stop
Clustering
Clustering
• Exemple : segmentation de la tumeur en 3
classes
On considère l’image comme un graphe
Intérêt : représentation compacte, structurée,
complète, facile à manipuler
Pixel = noeud
Technique de graphe
Un graphe :
ensemble de
points +ensemble
de liens
Technique de graphe
• Construction d’une
matrice de coût
Segmenter l’image consiste à trouver le chemin de coût
minimal dans le graphe
Si zone uniforme : coût élevé
Si zone de contour : coût faible
Exemple
Source : Gonzalez & Wood
NdG
Technique de graphe
Construction d’une matrice de coût
telle que :
C(p,q)=Max-|I(p)-I(q)|
Exemple
Source : Gonzalez & Wood
C(p,q)=Max-|I(p)-I(q)|
Technique de graphe
6 2
0
5
6
1
8
4
6
1 6
Recherche du chemin de coût minimal
Caroline Petitjean
Source : Lalande et al. 1999
IRM cardiaque Transformation en coordonnées
polaires
Technique de graphe
Source : Lalande et al. 1999
Image originale (coord.polaires) Matrice de coût Segmentation finale
Technique de graphe
Technique de graphe
Source : Lalande et al. 1999
Technique de graphe
• Graph cut : Coupe optimale dans un
graphe avec interaction utilisateur
Boycov, IJCV, 2006
Modèles déformables
http://xphilipp.developpez.com/contribuez/
Xu and Prince, Gradient Vector Flow, John Hopkins Univ.
Xu and Prince, Gradient Vector Flow, John Hopkins Univ.
Modèles déformables
• Qu’est-ce qu’un modèle déformable pour la
segmentation d’image ?
• C’est une forme ( = une courbe, un modèle)
qui se déforme pour épouser la forme d’un
objet dans l’image
– Position du contour ↔ Energie du contour
– Position finale (optimale) ↔ Energie minimum
du contour
Evolution du snake
Initialisation :
courbe assez proche du
contour extraire
Optimisation itérative : déformations du contour actif de
façon ce qu’il atteigne une position d’énergie minimum.
Exemple snake 3D
Source : O. Lauchaud,
Bordeaux
P1 P2
P3
P4
P5
P6
P7
P8 P9
P10
P11
externeinternesnake EEE
• Propriétés intrinsèques
• Longueur, courbure…
• Propriétés locales de l’image
autour du snake
Qu’est-ce qu’un snake ?
Energie d’un snake
• Formulation paramétrique du contour
Energie totale(C) = Eint(C) +Eext(C)
• Energie interne : mesure la régularité de la
courbe
1
0
22
int ))('')('( dssvsvE
1,0)),(),(()( ssysxsvC
Elasticité Rigidité
n
i
iielastic PPE1
2
1
1
1
2
11 2n
i
iiirigidité PPPE
Energie interne d’un snake
Energie élastique
Energie de courbure
Energie externe d’un snake
• Energie externe : reliée au contenu de l’image
• Si contour : gradient élevé g ≈ 0
• Si zone homogène : gradient faible g élevé
1
0
2 )))((( dssvIgEext
Avec g fonction généralement décroissante de
gradient de l’image
Energie externe d’un snake
2
ext IE
2ext1
)(I
xE
Répulsion d’une zone:
• Fonction décroissante du gradient
Résolution
• Comment trouver C qui minimise E = Eint + Eext ?
Résolution
• Comment trouver C qui minimise E = Eint + Eext ?
• Par l’équation d’Euler Lagrange
0)))((()()('' 2)4( svIgsvsv
dssvsvsfE ))('),(,(
Pour que E atteigne un extremum, il
faut que v(s) vérifie
0)'
(
v
f
ds
d
v
f
Soit E la fonctionnelle d’énergie
EextE
dssvIgdssvsvE 1
0
2
int
1
0
22)))((())('')('(
t
tsvsvIgsvsv
),()))((()()('' 2)4(
Dans notre cas :
Equation d’évolution du snake
Implémentation
• Soit N le nombre de points qui constituent
le contour
• Plusieurs possibilités
– Différences finies (Kass et al., 1988)
– Programmation dynamique (Amini et al., 1990)
– Greedy algorithm (Williams & Shah, 1992)
algorithme « glouton »
Greedy (simplifié)
• Initialisation :
– Pour chaque point Pi Ei = Val_max
• Pour chaque point i
– Pour tous les points k du voisinage V(Pi) calculer l’énergie Ek
• Si Ek < Ei alors Ei = Ek et déplacer le point i vers le point k
• Sinon, ne rien faire
• Continuer tant que le nb de points déplacés est supérieur à un seuil
Conclusions sur les snakes
• Avantage : calculs numériques rapides
• Inconvénients
– Segmentation multi-objets impossible
– Phase d’initialisation sensible
– Approche non intrinsèque
Segmentation d’une forme connue
• Utiliser l’information de forme dans le
processus
Source images : M. Hachama
Problématiques
• Binarisation et restauration d’une empreinte
digitale
Problématiques
• Segmentation d’une image scanner
• Calcul de la surface occupée par les os
Problématiques
• Calcul de l’épaisseur de l’épiderme et du
derme
derme
épiderme
Problématiques • Aide au diagnostic : distinguer des sujets
sains de sujets pathologiques
sain cancer
Images des cellules de la bronche
Problématiques • Aide au diagnostic : distinguer des sujets
sains de sujets pathologiques
Images des alvéoles pulmonaires
sain fibrose silicose
Problématiques
• Restauration de code-b arre
Références Sources des images
• Introduction to Digital Image Processing,
Image Segmentation, Zhou Wang, Dept.
of Electrical Engineering, the Univ. of
Texas at Arlington, 2006
• Cours de Vision artificielle, Christine
Fernandez-Maloigne, Université de
Poitiers
• CS474/674 – Prof. Bebis