Vous êtes sur la page 1sur 19

1

Transparent 1
Cours de Traitement dImages
de Xavier Clady
(rdig par: X. Clady, C. Achard, J.Devars & M.Milgram)
Plan de lexpos
Transparent 2
Introduction
Exemple dapplication de limagerie
lment de traitement du signal
Rotation dimages
Zoom
Renforcement de contraste
Lissage
Imagerie lectronique
Transparent 3
Image calcule
- Graphisme 2D et 3D
- Infographie
- Ralit virtuelle
Systmes de traitement
Capteurs d'images
- Vido, thermique
- Imagerie X
- Imagerie d'cho (radar / sona
- Imagerie de comptage
Traitement et interprtation des images
- Codage / compression (transmission / archivage)
- Amlioration d'images (subjectif / visuel)
- Vision par ordinateur
+Contrle (binarisation)
+Mtrologie (segmentation)
+Identification (2D / 3D / RdF)
+Interprtation (RdF, ...)
Contrle par limage
Transparent 4
rejet
OK
Mouvement
continu
- Traitement binaire
- Temps rel vido
0
1
2
3
4 5
6
Problme de coupures et liaisons :
- Segmentation (contours / rgions)
- Mesure (primtre / surface)
Contrle de production
Contrle de circuit
2
Vision 2D Identification / Localisation
Transparent 5
- Segmentation
- Reconnaissance des formes
- Comptage / mesure
A
B
C
D
E
Vrac
planaire
Problmes :
A / B : rotation translation
A / C : Symtries
D / E : Occlusions
Vision 3D : Mono-capteur et strovision
Transparent 6
Mono-capteur
Strovision 2 capteurs G / D
Segmentation
Extraction de primitives
Identification du modle
Correspondance primitives / modle
Extraction de primitives G / D
Correspondance
des primitives G / D
Modle de capteurs
Triangulation
Barrettes linaires : Applications spcifiques
Transparent 7
M
o
u
v
e
m
e
n
t
Capteur linaire
Contrle de fabrication
en temps rel
Trajectoire
60 km
SPOT
Images :
- niveaux de gris de 6000 x 6000
- couleur de 3 x 3000 x 3000
Dtection de dfauts sur des bouteilles
Transparent 8
Cheveux d anges
Cassure
Inclusions
3
Exemples dimages numriques - Imagerie industrielle
Transparent 9 Transparent 10
Exemples dimages numriques Restauration vido
Elimination de leffet de pompage (flicker = variation anormale
de la luminance des images battement lumineux).
Vido originale
Vido restaure
Rory OMore
(Piti, Dahyot, Kokaram,
Gretsi03)
Exemples dimages numriques - Robotique autonome
Transparent 11
Exemples dimages numriques - Robotique mobile
Transparent 12
4
Transparent 13
Surveillance passive de trajectoire : Dtermination du point
d'impact entre le vhicule et les bords de la voie de circulation
en considrant la trajectoire du vhicule comme tant rectiligne
Exemples dimages numriques - Robotique mobile
Transparent 14
Systme de perception par vision monoculaire, pour un
rgulateur de vitesse adaptatif. (Le rgulateur permettant
une voiture de grer sa vitesse, afin respecter les distances de
scurit entre vhicules)
Exemples dimages numriques - Robotique mobile
Transparent 15
Aide au guidage d'engins agricoles
Exemples dimages numriques - Robotique mobile Exemples dimages numriques -Imagerie Bio-mdicale
Transparent 16
Microscopie optique Radiologie
5
Exemples dimages ariennes et satellitaires
Transparent 17
Imagerie classique (visible) Imagerie radar (SAR)
Exemples dimages numriques - Traitement de lcrit
Transparent 18
Transparent 19
Image = matrice de dimension (nb lignes x nb colonnes)
contenant le niveau de gris de chaque pixel
Niveau de gris compris
entre 0 et 255 (8 bits).
0 pour le noir et 255 pour le blanc
Reprsentation des images
10 20 30 40 50 60 70 80
5
10
15
20
25
30
35
40
45
50
55
Reprsentation des images
Transparent 20
3 faons de reprsenter les images
-manire usuelle
-Comme une surface
-Visualiser les valeurs de la matrice
6
Reprsentation des images
Transparent 21
NB : Pour lire des images sous Matlab,
on utilise la commande imread() :
I=imread(chromosome.tif);
Pour afficher une image en niveau de gris :
imagesc(I)
Pour afficher des images comme des surfaces :
surf(I)
Histogramme de limage
Transparent 22
Cest un vecteur de dimension 256.
Chaque lment h(i) reprsente le nombre de pixels de limage
possdant le niveau de gris i.
Analogie avec la densit de probabilit des intensits lumineuses
( un facteur de normalisation prs).
Transparent 23
Histogramme de limage de chromosome :
0 50 100 150 200 250 300
0
2000
4000
6000
8000
10000
12000
Beaucoup de niveaux de
gris entre 230 et 256 ( fond).
Zone de niveaux de gris
autour de 150 : objet
Sous matlab, on calcule lhistogramme avec :
hist(I( :),[0 :255])
10 20 30 40 50 60 70 80
5
10
15
20
25
30
35
40
45
50
55
Histogramme de limage Histogramme cumul de limage
Transparent 24
Cest un vecteur de dimension 256.
Chaque lment hc(i) reprsente le nombre de pixels de limage
possdant un niveau de gris infrieur ou gal i.
Analogie avec la fonction de rpartition des niveaux de gris.
Il peut-tre estim partir de lhistogramme en faisant une
somme discrte :
0
( ) ( )
i
j
hc i h j
=
=

7
Histogramme cumul de limage
Transparent 25
Histogramme cumul de limage de chromosome :
0 50 100 150 200 250 300
0
1
2
3
4
5
6
7
8
9
x 10
4
Transparent 26
Image couleur = 3 plans couleur.
Pour la plupart des camras : Rouge, Vert, Bleu (R,V,B).
Image couleur
Image couleur
Transparent 27
Image couleur = 3 plans couleur.
Pour la plupart des camras : Rouge, Vert, Bleu (R,V,B).
Chaque plan est cod comme une image niveaux de gris, avec des
valeurs allant de 0 255.
Lorsque R=V=B, la couleur associ est un niveau de gris.
Pour passer dune image couleur une image niveau de gris, on
ralise :
( , ) ( , ) ( , )
( , )
3
R y x V y x B y x
I y x
+ +
=
Transparent 28
De nombreux autres systmes de reprsentation des couleurs
existent parmi lesquels on peut citer le systme HSV (Hue,
Saturation, Value) :
Rouge
Vert
Bleu
Blanc
Axe des
teintes H
Axe des intensits
V
Axe des
saturations S
H : teinte ( varie entre 0 et 2)
S : saturation (varie entre 0 et 1)
une couleur trs sature qui
possde une faible proportion
de blanc se trouvera loin de
laxe des intensits
V : intensit lumineuse.
Image couleur
8
Systme de convention
Transparent 29
Le systme de convention des axes est le suivant :
En analogique : En discret :
x
y
y
la ligne 0 dune image est celle situe en haut.
Radaptation de toutes les dfinitions de traitement du
signal (exemple : convolution 2D)
x
Notions de topologie
Transparent 30
Limage est reprsente par un ensemble de pixels disposs sous
la forme dune grille.
Quels sont les voisins du pixel de coordonnes (x,y) ?
Selon les applications, on prendra :
V4 : Voisinage en 4 connexit
V8 : Voisinage en 8 connexit
Zoom de limage
Transparent 31
Plusieurs mthodes pour augmenter la taille dune image :
Duplication de pixels
Ajout de pixels par interpolation bilinaire
Ajout de pixels par interpolation bicubique
Zoom de limage (exemple dun zoom 2X)
Transparent 32
Interpolation linaire, principe 1D
y
y
i-1 i i+1
i-1 i-1/2 i i+1/2 i+1 i+3/2
On suppose que la loi de variation entre y
i
et y
i+1
est linaire :
y=a x+b
On connat les couples de points (x
i
, y
i
) et (x
i+1
, y
i+1
). On en dduit
facilement la valeur de y
i+1/2
y
i+1/2
= (y
i
+ y
i+1
) /2
9
Transparent 33
En 2D :
Zoom de limage Zoom de limage
Transparent 34
Interpolation cubique, principe 1D :
Mme raisonnement que prcdemment sauf que
y
i+1/2
= (-y
i-1
+ 9*y
i
+ 9*y
i+1
- y
i+2
) /16
Le facteur zoom peut tre plus lev, par exemple 3, ce qui donne
pour une interpolation cubique :
1/ 3 1 1 2
2 / 3 1 1 2
( 5* 60 * 30 * 4 * ) / 81
( 4 * 30 * 60 * 5* ) / 81
i i i i i
i i i i i
y y y y y
y y y y y
+ + +
+ + +
= + +
= + +
Exemples de rsultat
Transparent 35
Image originale
Dtail agrandir
Exemples de rsultat, zoom de facteur 6
Transparent 36
Duplication de pixel
Interpolation bilinaire
Interpolation bicubique
10
Rotation dimages
Transparent 37
Origine centre qui concide avec le centre de rotation :
* cos( ) *sin( )
*sin( ) * cos( )
lr l c
cr l c
=
=
Deux faons possibles pour oprer la rotation :
On part de limage I et pour chaque pixel, on calcul sa nouvelle position
Rotation dimages
Transparent 38
Origine centre qui concide avec le centre de rotation :
* cos( ) *sin( )
*sin( ) * cos( )
lr l c
cr l c
=
=
Deux faons possibles pour oprer la rotation :
On part de limage I et pour chaque pixel, on calcul sa nouvelle position
Transparent 39
On part de limage arrive et on recherche la position des pixels dans limage source
(Rot
-1
) . Pb des arrondis, on ne tombe pas sur un numro de pixel entier
P(x,y)
P(x,y+1)
P(x+1,y+1)
P(x+1,y)
P(x+dx,y+dy) ?
Interpolation bilinaire
ou bicubique
Rotation dimages Images rsultats
Transparent 40
Image originale
Interpolation bilinaire Interpolation bicubique
11
Rappel de traitement du signal
Transparent 41
La convolution 2D de limage I avec un filtre F est donne par :
o F(n,m) est la rponse impulsionnelle du filtre.
Cette convolution peut tre reprsente graphiquement par un cumul des
produits terme terme, condition toutefois de prendre garde inverser les
coefficients du filtre :
( )( , ) ( , ) ( , ). ( , )
n m
I F x y IF x y I x n y m F n m
+ +
= =
= =

a b c
F d e f
g h i


=



i h g
F f e d
c b a


=



NB : sous Matlab, la convolution se fait avec :
IF=conv2(I,F,same) ;
Loption same permet limage IF davoir la mme dimension que
limage I
Transparent 42
Extension de dynamique
Luminances bornes (Gmin, Gmax) Ajustement linaire (0, 255). Cette
tendue rduite de niveaux de gris peut survenir suite un temps de pose
incorrecte ou un clairage de la scne trop faible.
La transformation mise en place est :
( , ) min
'( , ) *255
max min
I x y G
I x y
G G

Extension de dynamique
Extension de dynamique
Transparent 43
Exemple

NB : sous Matlab, si I est limage de dpart,
la transformation se fait avec :
mini=min(I(:)) ;
maxi=max(I(:));
I1=(I-mini)/(maxi-mini)*255;
Correction dexposition
Transparent 44
Correction dexposition
On peut aussi tre amen vouloir renforcer certaine plage de niveaux de gris,
au dtriment dautres plages pour mettre certains objets en valeur.
Dans ce cas, la transformation des luminances nest plus linaire.
Exemple pour renforcer la prsence des lments dun circuit lectrique,
on dcide de renforcer la gamme des niveaux de gris clairs :
12
Egalisation dhistogramme
Transparent 45
galisation dhistogramme
Cette opration pour but de rendre lhistogramme le plus plat possible.
On souhaite ainsi que chaque niveau de gris soit galement reprsent
dans limage.
Soit G, le niveau de gris dun pixel de dpart, le niveau de gris de
limage darrive sera :
255
' ( ) G histocumul G
Nombre de pixel
=
Exemples
Transparent 46
Exemples
Transparent 47
Zone dintrt
Ajustement de dynamique
Exemples
Transparent 48
Histogramme de limage originale
13
Exemples
Transparent 49
Zone dintrt
galisation dhistogramme
Exemples
Transparent 50
Histogramme de limage originale
Histogramme de limage galise
Renforcement du contraste
Transparent 51
Ce traitement est utile pour supprimer les effets de flou dus, par exemple, un
boug
Le traitement local prend en compte le voisinage de chaque pixel
Le renforcement de contraste est bas sur un calcul de laplacien
Renforcement du contraste
Transparent 52
Exemple en 1D
Signal
Drive premire
Drive seconde
Signal K* drive seconde
14
Renforcement du contraste
Transparent 53
Exemple en 1D
Selon les valeurs du
paramtres K, on peut
accentuer plus ou
moins le phnomne
K petit
K moyen
K grand
Renforcement du contraste
Transparent 54
Considrons un signal discret monodimensionnel I(x). Sa drive
premire sexprime par :
Sa drive seconde sexprime par :
( )
( )
1
' ( ) ( 1)
2
1
' ( 1) ( )
2
I x I x I x
et
I x I x I x
=
+ = +
( ) ( )
1 1
''( ) ' ' ( 1) 2 ( ) ( 1)
2 2
I x I x I x I x I x I x = + = + +
Renforcement du contraste
Transparent 55
Dans le cas dun signal deux dimensions, on utilise le Laplacien
dfinit par :
Ce qui correspond une convolution avec le masque :
0 1 0
1 4 1
0 1 0

2 2
2
2 2
( , ) ( 1, ) ( 1, ) ( , 1) ( , 1) 4 ( , )
I I
I x y I x y I x y I x y I x y I x y
x y

= + = + + + + +

Signal 2D
Laplacien
La valeur du laplacien n'est pas constante
le long du contour circulaire de l'chelon
--> non isotope
Transparent 56
Proprits du Laplacien
15
Proprits du Laplacien
Modification du profil de l'chelon (section)
K=1
Exemple sur un profil bruit avec K=0.5
Si le signal est bruit, le bruit est amplifi
--> Grande sensibilit au bruit
Transparent 57
Autres formes
Transparent 58
Composition de 2 Laplaciens selon 2 repres 45
Cet oprateur effectue la diffrence de 2 zones concentriques
1 1 1
1 -8 1
1 1 1
Gnralisation :
2 zones dfinies par des masques
ZE : Zone Externe E(k,l)
ZC : Zone Centrale C(k,l)
[ , ] [ , ]
[ , ] [ , ] * [ , ] [ , ] [ , ] [ , ]
E k l C k l
Sm i j S i j K E k l S i k j l C k l S i k j l
=
= + + + +



Plus robuste au bruit + meilleure isotropie
ZC
ZE
Exemple
Transparent 59
Lissage des bruits - Moyenne
Transparent 60
Le moyen le plus simple de raliser un lissage consiste faire un
moyennage de zone.
On peut ainsi dcider de lisser faiblement avec le masque 3x3 suivant :
1/9*
ou de lisser plus fortement avec la masque 5x5 suivant :
1/25*
1 1 1
1 1 1
1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
16
Lissage des bruits - Moyenne
Transparent 61
Effet de flou
Moyenne pondre Filtre gaussien
Transparent 62
Lexpression de la gaussienne en deux dimensions est donne par :
Lintrt du filtre gaussien est que lon rgle trs facilement le degr de
filtrage travers le paramtre .
Exemple de masque gaussien :
2 2
2 2
1
( , ) exp
2 2
x y
g x y
+
=



=1 =2 =3
Moyenne pondre Filtre gaussien
Transparent 63
Tous ces masques ont t calculs sur un voisinage de taille 41x41 mais
on voit sur les figures prcdentes que la taille du masque peut-tre
rduite ou augmente en fonction de .
En thorie, la gaussienne a une tendue infinie, mais en pratique, on
limite cette tendue [3,3] car la plupart de la puissance est dans cette
zone.
Par rapport au filtre moyenneur, le filtre gaussien accorde une grande
importance aux pixels proches du pixel central, et diminue cette
importance au fur et mesure que lon sloigne de celui-ci.
Mme effet de flou que le filtre moyenneur
Mdiane
Transparent 64
Ce filtre tant non linaire, il ne peut pas tre ralis avec une convolution 2D de
limage. Considrons un voisinage rectangulaire autour du pixel dintrt.
Le filtre mdian consiste prendre la valeur de niveaux de gris sparant
la population en deux effectifs gaux.
Exemple :
7 10 12 7 9 9 9
12 12 12 7 9 9 10
9 9 10 10 7 10 12
10 12 9 12 10 12 12
12 12 12 10 7 7 10
10 7 10 12 12 10 7
10 7 9 12 10 9 12
7-7-7-7-7-7-7-7-7-9-9-9-9-9-
9-9-9-9-9-10-10-10-10-10-10-
10-10-10-10-10-10-10-10-12-
12-12-12-12-12-12-12-12-12-
12-12-12-12-12-12
valeur mdiane : 10
17
Comparaison
Transparent 65
tude comparative
Transparent 66
Signal initial Moyenne Mdiane
Effet de la moyenne : des niveaux de gris intermdiaires apparaissent
Ce nest pas la mdiane.
Ce filtre donne de trs bons rsultats de part son principe sur le bruit
impulsionnel (type poivre et sel).
Problmes de la mdiane
Transparent 67
La mdiane supprime les p
--> Oprateur optimal pour
impulsionnel
--> Supprime les dtails fin
--> Impose un tri (temps de
Problme de la mdiane :
- elle supprime les dtails
- elle enlve les points isols
-Elle est coteuse en temps
de calcul
On va rechercher un oprateur qui remdie ces inconvnients
sans dtriorer les contours
Lissage des bruits - Variantes
Transparent 68
Variantes paramtriques :
But : - viter llimination des dtails et la surcharge en temps de
calcul de la mdiane
- Ne pas introduire de flou au niveau des contours
On utilise la variance pour viter le moyennage en cas de contraste lev
Moyenne seuille :
Si variance < seuil => G = moyenne
Sinon G = Gorigine
Moyenne pondre : VB : estimation de la variance du bruit
K = (Var-VB)/Var
G = (1-K).Moy + K.Gorigine volution continue
18
Exemples de lissage
Transparent 69
Oprateur de Nagao
Transparent 70
5 Oprateur slection de voisinage
Algorithme d'origine : oprateur de Nagao
D2, D4 ,D6 dduit de D0 par rotations de 90 degrs
D3, D5, D7 dduit de D1
On recherche le domaine o la variance est la plus petite et on affecte la
Moyenne de ndg de ce domaine au pixel central :
k / Var(k) = Min Var(i) G = Moy(k)
D0 D1
.
D8
Subdivision de la fentre 5x5 en 9 domaines
Pour chaque domaine Di, calcul de la moyenne et de lcart type :
Moy(i) et Var(i)
Oprateur de Nagao
Transparent 71
Amlioration : rgularisation de la structure gomtrique des domaines
9 domaines 3x3 identiques :
D1 D0 D8
Oprateur de Nagao
Transparent 72
Intrts de loprateur de Nagao :
limination des pixels hors norme (bruit impulsionnel)
Prservation et amlioration du contraste. Les zones avant et aprs
la transition sont plus homognes.
Autres amliorations envisageables :
Utiliser ltendue max(Gris)-Min(Gris) comme paramtre de
dispersion plutt que la variance (gain en temps de calcul)
Utiliser la mdiane comme paramtre de centrage pour une
meilleure robustesse vis vis du bruit
19
Etude comparative
Transparent 73
Avec les mmes critres que prcdemment :
(-) moyenne 5x5
(*) mdiane 5x5
(o) slection de voisinage (Nagao avec
tendue au lieu de variance)
Ce dernier donne de meilleurs rsultats
tude comparative
Etude comparative
Transparent 74
Original Moyenne 5x5
Mdiane Nagao
Exemples de lissage
Transparent 75
Gaussien 11x11
Nagao modifi
Quelques rfrences
Transparent 76
M. Costier et J.L. Chermant, Prcis danalyse dimages, Editions
du CNRS, 1985
J. Serra, Image Analysis and Mathematical Morphology, Academic
Press, Vol1 1982, Vol 2 1988
J.J. Toumazet, Traitement dimages sur micro-ordinateur, Ed. Cibex,
1988
R. Horaud et O. Monga, Vision par ordinateur, Ed. Herms, 1993
O. Faugeras, 3D computer vision, Press, 1993
M. Milgram, Reconnaissance des formes : mthodes numriques et
connexionnistes, Ed. Armand Colin, 1993
J.P. Cocquerez et S. Philipp, Analyse dimages : filtrage et segmentation
Ed. Masson, 1995