Upload
chichan4leo4ibn4adam
View
53
Download
0
Embed Size (px)
DESCRIPTION
cours
Citation preview
Mhamed SAYYOURI
Abdselam HMIMIDPr: Hassan QJIDAA
Cours de Traitement dImage
Laboratoire dElectronique Signaux Systmes et DInformatique
(LESSI)
Master : 2ME2013/2014
2ME - 2013/2014
Qu'est-ce qu'une image ?
Qu'est-ce quun traitement dimage ?
1- Rafael C. Gonzalez, Richard E. Woods Digital Image Processing (2nd Edition) - Addison-Wesley.2- Diane Lingrand, "Introduction au Traitement d'Images" 2nd dition, Vuibert, Paris, France, feb 2008, ISBN : 2-7117-4866-9
Rfrences
2ME - 2013/2014
Image = transformation dune scne relle 3D par un capteur.
Formation des images
Images naturelles et a rtificielles
Image naturelle Plusieurs moyens d'acquisition camra, microscope, tomographie, infra-rouge, satellite,
Image artificielle Plusieurs outils de reprsentation synthse d'images, ralit virtuelle, visualisation scientifique,
Image naturelle Image artificielle Image artificielle
2ME - 2013/2014
Formation des images Le capteur est un semi conducteur qui
convertit la lumire en tension lectrique enfonction du degr de luminosit
Le capteur constitu de matrice de cellulessensibles appeles photodiodes qui effectuentcette transformation tension-luminosit.
Pour acqurir des images en couleurs, lesphotodiodes sont associes des filtresrouges, verts et bleus (RVB), chacune de cescouleurs tant chantillonnes sur 256niveaux de luminosit (2563).
2ME - 2013/2014
Formation des images : les capteurs
On distingue :
les capteurs chimiques :systmes biologique (il)
les films photographiques
les capteurs photolectriques (photo-diodes,CCD,..)
les appareils numriques
D'autres capteurs :
en imagerie mdicale : IRM, tomographie,
imagerie sismique
2ME - 2013/2014
2ME - 2013/2014
amlioration des images pour linterprtation par un observateur humain. traitement de scnes en temps rel pour la perception par des automates.Traitements de bas niveau : donnes de nature numrique.Traitements de haut niveau : entits de nature symbolique associes une reprsentation de la ralit extraite de limage.
Traitement dimages
Traitement dimage
2ME - 2013/2014
TI et les autres disciplines
Traitementdimages
Informatique
OptiqueThorie des
systmes
Analyse numrique
Thorie delinformation
Statistique
Neurophysiologiepsychophysique
Thorie dusignal
Electronique
2ME - 2013/2014
Position du traitement dimages
Traitementnumrique des signaux
Intelligenceartificielle
Traitementdimages
Reconnaissancede formes
Analyse de scnes
2ME - 2013/2014
2ME - 2013/2014
Applications TI
Systmes base de TI
2ME - 2013/2014
Acquisition
Numrisation
Traitement
VisualisationStockage
2ME - 2013/2014
Systmes base de TI
Les tapes du traitement numrique dune image
3 tapes fondamentales :
Acquisition : scne physique reprsentationnumrique.
Traitement : Extraction de linformation
pertinente par segmentation descriptionstructurelle de limage.
Interprtation : description structurelle description smantique.
2ME - 2013/2014
Difficults
2ME - 2013/2014
Variations naturelles dans une mme catgorie dobjet Exemple : maison, chaise
Grande quantit de donnes traiter Image faible rsolution N/B 128x128 16Ko
Image haute rsolution couleur 512x512x3 750Ko
Image camra numrique 2592x1944 pix 15,1Mo
Mouvement (30 im./s) 22.5 Mo
2ME - 2013/2014
Variations dans le processus de
formation de limage
clairage
Qualit du capteur
Qualit du systme
Une image est avant tout un signal 2D f(x,y)
Souvent, cette image reprsente une ralit 3D (x,y,z).
D'un point de vue mathmatique : Une image est une matrice de nombres reprsentant un signal
Plusieurs outils permettent de manipuler ce signal.
D'un point de vue humain : Une image contient plusieurs informations smantiques.
Il faut interprter le contenu au-del de la valeur des nombres.
Dfinitions
2ME - 2013/2014
Profil d'intensit d'une image
Un profil dintensit dune ligne dans une image est reprsent par des signaux 1D.
2ME - 2013/2014
Profil d'intensit d'une image
2ME - 2013/2014
Numrisation
La numrisation est la conversion du
signal lectrique continu (dans l espace
ou temps et en valeur) en un signal
numrique discret (image numrique).
2ME - 2013/2014
Image numrique
Les valeurs de f (x,y) sont la rponse du capteur au phnomne observ
Les valeurs de f (x,y) sont des valeurs de voltage continu
Les valeurs de f (x,y) doivent tre converties vers le domaine numrique Conversion Analogique/Numrique (A/N)
Deux procds sont impliqus pour numriser une image :
Numrisation = chantillonnage + Quantification
2ME - 2013/2014
L'chantillonnage est le procd de discrtisation spatiale d'une image consistant associer chaque zone rectangulaire R(x,y) d'une image continue une unique valeur I(x,y).
On parle de sous chantillonnage lorsque l'image estdj discrtise et qu'on diminue le nombre d'chantillons.
La quantification dsigne la limitation du nombre de valeurs diffrentes que peut prendre I(x,y).
Une image numrique est une image chantillonne et quantifie.
chantillonnage et quantification
2ME - 2013/2014
Exemple: Chane de numrisation dun signal
temporel (1-D)
Signal continu (rfrence)
tape 1
Signal chantillonn
Signal quantifi (4 niveaux)
tape 3
tape 2
Codage (4 niveaux 2bits)
2ME - 2013/2014
Echantillonnage 2D
2ME - 2013/2014
chantillonnage et quantification
2ME - 2013/2014
Echantillonnage et quantification
Lchantillonnage est limit par la capacit du capteur, donc le nombre de pixels disponible (ou autre limite impose)
La quantification est limite par la quantit de tons (de gris) dfinie dans lintervalle
2ME - 2013/2014
Echantillonnage et quantification
Avec un capteur matrice :
2ME - 2013/2014
Numrisation
2ME - 2013/2014
Echantillonnage et quantification
2ME - 2013/2014
Reprsentation des images
Matrice de dimension M X N
Chaque lment une valeur entire dans l'intervalle [Lmin , Lmax]
Le nombre de bits requis pour reprsenter les niveaux de gris dans lintervalle L est K
La relation entre K et L est : L = 2K
Le nombre de bit pour entreposer un image est donc :b = M X N X K
2ME - 2013/2014
Reprsentation des images
2ME - 2013/2014
Cest la forme du pixel.
Le pavage est choisi pour couvrir au
mieux le plan image.
Le pavage est donc une partition du plan
image qui, une fois discrtis, rsulte enun maillage qui reprsente la grilledchantillonnage.
Tessellation (pavage)
2ME - 2013/2014
2ME - 2013/2014
0 2 3 4 5 6 71012
43
56
Distance
Voisinage
Vk(P) = { Q : 0
Rsolutions des images
Rsolution spatiale
Le plus petit dtail discernable
Rsolution de tons de gris
Le plus petit changement discernable
Une image a donc une rsolution spatiale de M X N pixel et une rsolution de tons de gris de K bits ou de Lniveaux ou tons.
2ME - 2013/2014
Echantillonnage et rsolution
2ME - 2013/2014
Discrtisation de lamplitude(quantification des niveaux de gris)
La valeur de f(i,j) est quantifie sur m bits (lments binaires) et peut ainsi prendre valeurs entires
0 ( , ) 2 5 5 8 b its (im ag es en n iveau x d e g ris )f x y
0 ( , ) 1 1 b it (im ages b inaires)f x y
0 ( , ) 6 5 6 3 5 1 6 (rad io g rap h ies)f x y b its
2m
2ME - 2013/2014
8 bits (256 niveaux) 6 bits (64 niveaux) 1 bits (2 niveaux)
Discrtisation de lamplitude(quantification des niveaux de gris)
2ME - 2013/2014
Quantification des niveaux de gris
2ME - 2013/2014
Quantification des niveaux de gris
2ME - 2013/2014
Rsolution spatiale
2ME - 2013/2014
Rsolution de tons de gris
2ME - 2013/2014
Bruit dans une image
Le bruit est induit par
le mdium d'acquisition
les conditions extrieures d'acquisition (luminosit, mouvement, etc.)
On peut rduire le bruit en chargeant plus longtemps le capteur CCD.
2ME - 2013/2014
Images en niveaux de gris
I(x,y) [0..255]Images binaires
I(x,y) {0 , 1}
Images couleurs
IR(x,y) IG(x,y) IB(x,y)
Types d'images
2ME - 2013/2014
image niveaux de gris
64 60 69 100 149 151 176 182 179
65 62 68 97 145 148 175 183 181
65 66 70 95 142 146 176 185 184
66 66 68 90 135 140 172 184 184
66 64 64 84 129 134 168 181 182
59 63 62 88 130 128 166 185 180
60 62 60 85 127 125 163 183 178
62 62 58 81 122 120 160 181 176
63 64 58 78 118 117 159 180 176
Niveaux de gris - 8 bits:0 - noir255 - blanc
2ME - 2013/2014
210 209 204 202 197 247 143 71 64 80 84 54 54 57 58
206 196 203 197 195 210 207 56 63 58 53 53 61 62 51
201 207 192 201 198 213 156 69 65 57 55 52 53 60 50
216 206 211 193 202 207 208 57 69 60 55 77 49 62 61
221 206 211 194 196 197 220 56 63 60 55 46 97 58 106
209 214 224 199 194 193 204 173 64 60 59 51 62 56 48
204 212 213 208 191 190 191 214 60 62 66 76 51 49 55
214 215 215 207 208 180 172 188 69 72 55 49 56 52 56
209 205 214 205 204 196 187 196 86 62 66 87 57 60 48
208 209 205 203 202 186 174 185 149 71 63 55 55 45 56
207 210 211 199 217 194 183 177 209 90 62 64 52 93 52
208 205 209 209 197 194 183 187 187 239 58 68 61 51 56
204 206 203 209 195 203 188 185 183 221 75 61 58 60 60
200 203 199 236 188 197 183 190 183 196 122 63 58 64 66
205 210 202 203 199 197 196 181 173 186 105 62 57 64 63
x =
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
y =
image niveaux de gris
2ME - 2013/2014
Image couleur dans l'espace RVB
R G B
R=RedG=GreenB=blue
2ME - 2013/2014
1 0 1 0 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1
1 1 1 0 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1
1 0 1 0 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1
1 1 1 0 0 0 1 1 1 0 1 1 1 1 0 0 0 0 1
1 0 1 0 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1
1 1 1 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1
Image couleur dans l'espace RVB
2ME - 2013/2014
Image couleur dans l'espace RVB
2ME - 2013/2014
1- lire les images.
2- afficher chaque image.
1- la fonction imread permet de lire limage:
A=imread(image.jpg);
2- la fonction imshow permet dafficher limage:
imshow (a(:,:,1)); a(:,:,2); a(:,:,3);
2ME - 2013/2014
Traitements d' image
2ME - 2013/2014
Analyse spatiale
Le domaine spatial se rfre un ensemble de pixel
composant une image
Les mthodes d'analyse spatiale s'effectuent sur les
pixels de l'image
g(x,y) = T [ f(x,y) ]
f(x,y) ---> image d'entre
g(x,y) ---> image de sortie
T ---> oprateur sur f ou sur {fi}
2ME - 2013/2014
Traitements de base dune image
2ME - 2013/2014
Oprations ponctuelles
Dfinitions Moyenne et contraste
Histogramme
Oprations ponctuelles linaires Dcalage additif
Mise lchelle multiplicative
Inversion
Amlioration du contraste
Opration arithmtiques entre les images Oprations de base
Rduction du bruit par la moyenne
2ME - 2013/2014
Moyenne dune image
Moyenne
Image en tons de gris
Image couleur
Une moyenne par canal
R
G
B
2ME - 2013/2014
Luminance ou brillance d'une image
La luminance (ou brillance) est dfinie comme la moyenne de tous les pixels de l'image.
Dans les deux images suivantes, seule la luminance est diffrente :
2ME - 2013/2014
Contraste
Peut tre dfini de plusieurs faons
cart type des variables de niveaux dintensit
Variation entre valeurs maximale et minimale de niveaux dintensit (moins utile , plus rapide)
Contraste dune image
2ME - 2013/2014
Contraste d'une image
Les deux images suivantes possdent un contraste diffrent :
2ME - 2013/2014
%%moyenne
%%contraste
2ME - 2013/2014
L'histogramme reprsente la distribution des niveaux de gris (ou de couleurs) dans une image
Le nombre de pixel tombant dans chaque intervalle est ensuite affich en fonction de valeurs de niveaux de gris
Nombre de pixels
Niveau de gris
Histogramme des niveaux de gris
2ME - 2013/2014
Image A en
niveaux de gris
Matrice des valeurs de luminance
des pixels de limage A Histogramme de
limage A
2 2 2 2 2 2 2 2
2 0 0 0 0 0 0 2
2 0 1 1 1 1 0 2
2 0 1 0 0 1 0 2
2 0 1 1 1 1 0 2
2 0 1 0 0 1 0 2
2 0 0 0 0 0 0 2
2 2 2 2 2 2 2 2
Les niveaux 0, 1 et 2 sont respectivement reprsents par 24, 12 et 28pixels reprsentation de cette population de pixels sur l'histogramme.
Exemple simple de calcul dhistogramme
L'image A comporte 3 niveaux de gris diffrents : 0, 1 et 2.
Compter le nombre de pixels pour chaque niveau de gris, laide de la matrice des valeurs de luminance.
2ME - 2013/2014
Histogramme d'une image
PI(k)
k
PI(k)
k
PI(k)
k
Dynamique d'une image = [valeur_min,valeur_max]
2ME - 2013/2014
Caractrisation par lhistogramme
Image sous-expose
Image sur-expose
Image mal quantifie2ME - 2013/2014
Histogramme des niveaux de gris
SCNE DE FAIBLE RADIANCE
niveaux de gris
% %
niveaux de gris
SCNE DE FORTE RADIANCE
niveaux de gris
%
SCNE DE BAS CONTRASTE
niveaux de gris
%
SCNE DE HAUT CONTRASTE
2ME - 2013/2014
Histogramme
Types d'images et leurs histogrammes
2ME - 2013/2014
2ME - 2013/2014
Il sagit dune transformation du type f= t(f) quipermet de modifier la dynamique des niveaux degris dans le but damliorer laspect visuel delimage. un niveau de gris f de limage originale
correspond le niveau t(f) dans limage transforme.On fait subir chaque pixel un traitement nedpendant que de sa valeur
Traitement ponctuelle dune image
Recadrage de dynamique
2ME - 2013/2014
Transformation de recadrage
On suppose une image de dpart prsentant unhistogramme concentr dans lintervalle[min, max]. Les valeurs min, max correspondentaux niveaux de gris extrmes prsents dans cetteimage.Le recadrage de dynamique consiste tendre ladynamique de limage transforme ltenduetotale [0, 255]. La transformation de recadrageest donc une application affine dfinie commesuit:
Transformation des niveaux de gris
gl'
gl
min max
255
0
'
max min
min
max min
min'
max min max min
' ( min)max min
MAX
MAX
MAX MAX
MAX
gl m gl b
PIXm
PIXb
PIX PIXgl gl
PIXgl gl
gl1
gl1'
255 255 ' ( min)
max minMAX
pour PIX on obtient gl gl
2ME - 2013/2014
Transformation des niveaux de gris Expression de la dynamique (recadrage)
2ME - 2013/2014
Recadrage dhistogramme
Amlioration du contraste
Transformation linaire
Transformation linaire avec saturation
Transformation linaire par bout avec saturation
galisation de lhistogramme
2ME - 2013/2014
Amlioration du contraste
Transformation linaire
'( , ) ( ( , ) min)max min
( ( , ) min)'( , )
max min
( ( , ) min)0,1
max min
MAX
MAX
PIXf x y f x y
f x yf x y PIX
f x y
2ME - 2013/2014
Transformation linaire
%
GLGL
GL
0 255
min max
min max
2ME - 2013/2014
Amlioration du contraste
Transformation linaire avec saturation
min
max min
min
max min
min
max min
min max
min max
'( , ) ( ( , ) )
( ( , ) )'( , )
( ( , ) )0,1
min( ( , ))
max( ( , ))
MAX
MAX
PIXf x y f x y S
S S
f x y Sf x y PIX
S S
f x y S
S S
f x y S S
S S f x y
2ME - 2013/2014
Transformation linaire par bout avec saturation
%
GLGLmin max
GL
0 255min maxSmin1 Smax2
Smax1/Smin2
2ME - 2013/2014
2ME - 2013/2014
Les types de correction donns ci-dessous permettent daccentuer le contraste dans une plage prcise de niveau.
Dilatation de la dynamique des zones sombres
Dilatation de la dynamiquedes zones claires
Fonction de rehaussement de contraste
2ME - 2013/2014
Fonction de rehaussement de contraste
La transformation de rehaussement de contrasteest donc une application affine dfinie comme suit:
2ME - 2013/2014
Correction de la dynamique de l'image
Image originale Image restaure
Source : www.crans.ens-cachan.fr/~genest/histogramme.pdf
2ME - 2013/2014
Correction de la dynamique de l'image
Dans le cas o l'histogramme initial occupe toute la plage de dynamique, aucun changement n'est visible.
2ME - 2013/2014
Egalisation de l'histogramme
Pour amliorer le contraste, on cherche aplanir lhistogramme
Etape 1 : Calcul de l'histogramme
Etape 2 : Normalisation de l'histogramme(Nbp : nombre de points de l'histogramme)
Etape 3 : Densit de probabilit normalis
Etape 4 : Transformation des niveaux de gris de l'image
k k
)( khideal)( kh
2ME - 2013/2014
galisation de lhistogramme
Le but est de rendre lhistogramme le plus plat possible
Distribution uniforme des niveaux de gris
Maximisation de lentropie de limage
Image donnant une information maximale
2ME - 2013/2014
Exemple 1
0 50 100 150 200 2500
500
1000
1500
2000
2500
3000
3500
0 50 100 150 200 2500
500
1000
1500
2000
2500
3000
3500
Image originale Image plus contraste
2ME - 2013/2014
Exemple 2
2ME - 2013/2014
Exemple 3
L'galisation d'histogramme peut amliorer une image l o la correction de dynamique de l'histogramme est inefficace.
2ME - 2013/2014
Exemple 4
Si on prend la mme image avec des contrastes diffrents,lgalisation dhistogramme donne le mme rsultat pourtoutes les images.
2ME - 2013/2014
Egalisation locale dhistogramme
2ME - 2013/2014
Egalisation dune image couleur
1. Calculer lintensit de limage couleur
I = (R + V + B)/3
2. Calculer lhistogramme de I
3. Calculer lhistogramme cumul de I
4. Appliquer lgalisation de lhistogramme dans
chaque plan de limage couleur
2ME - 2013/2014
Exemple
2ME - 2013/2014
2ME - 2013/2014
Oprations ponctuelles linaires
Il faut viter et
O K-1= intensit maximale (souvent, 255)
g ( x , y ) P f ( x , y ) L
g ( x , y ) 0 g ( x , y ) K 1
Forme gnrale
2ME - 2013/2014
Dcalage additif
Contrle de la luminosit
Ici P=1 et
L=100
L=-100
(K 1) L K 1
g ( x , y ) f ( x , y ) L
2ME - 2013/2014
Mise lchelle multiplicative
Ici L=0 et P>0
g(x,y)=P . f(x,y)
Modifie la luminosit et le contraste
P=O.5
P=1.5
2ME - 2013/2014
Inversion
Ici P=-1 et L=255
g(x,y)= - g(x,y)+255
Inversion
2ME - 2013/2014
Oprations sur les images
image1
image2
F(x,y)
G(x,y)
2ME - 2013/2014
Addition dimages
Laddition pixel pixel de deux images F et G est dfinie
par :
A(x; y) = Min(F(x; y) + G(x; y); 255)
Laddition dimages peut permettre
de diminuer le bruit dune vue dans une srie
dimages
daugmenter la luminance en additionnant une
image avec elle-mme
2ME - 2013/2014
Exemple
0.5*F(x,y) + 0.5*G(x,y)
2ME - 2013/2014
La soustraction pixel pixel de deux images F et G est
dfinie par :
S(x; y) = Max(F(x, y) - G(x,y); 0)
La soustraction dimages peut permettre
la dtection de dfauts
la dtection de mouvements
Soustraction d'images
2ME - 2013/2014
Exemple 1
image 2 image 1
F(x,y) - G(x,y)
G(x,y) - F(x,y)
image 1 image 2
2ME - 2013/2014
Exemple 2
2ME - 2013/2014
La multiplication dune image par un ratio (facteur) est
dfinie par :
M(x; y) = Max(F(x; y) x ratio; 255)
La multiplication dimages peut permettre damliorer le
contraste ou la luminosit
Multiplication dimages
2ME - 2013/2014
Exemple
2ME - 2013/2014
2ME - 2013/2014
Relation entre les pixels
Pixels voisins d'un point (p) 4 horizontaux et verticaux
(x+1,y),(x-1,y),(x,y+1),(x,y-1)
4-voisins de p N4(p)
4 diagonaux
(x+1,y+1),(x+1,y-1),(x-1,y+1),(x-1,y-1)
4-voisins diagonaux de p ND(p)
Ces 8 pixels
8-voisins de p N8(p)
Certains peuvent tre hors image!
0 1 1
1 1 0
0 1 1
2ME - 2013/2014
Adjacence, Connectivit, Rgions et conteurs
AdjacenceSoit V l'ensemble des valeurs de niveau gris utilises pour dfinir ladjacence.
Dans une image binaire, V = {1} Dans une image de gray-scale, l'ide est le mme,
V pourrait tre n'importe quel sous-ensemble de ces 256 valeurs.
Nous considrons trois types dadjacence : Adjacence-4 Adjacence-8 Adjacence mixte (m)
2ME - 2013/2014
Adjacence
Adjacence
Adjacence-4 p et q sont adjacent-4 si q est dans
N4(p)
Adjacence-8 p et q sont adjacent-8 si q est dans
N8(p)
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
2ME - 2013/2014
Adjacence
Adjacence-m (mixe) p et q sont adjacent-m si
q est dans N4(p) ou
q est dans N8(p) et N4(p) N4(q) = 0
limine les ambiguts de l'adjacence-8
Adjacent-8 Adjacent-m
2ME - 2013/2014
Adjacence
Adjacence-6
Adjacence-4 + une diagonale
Adjacence-6 NO/SE
Adjacence-6 NE/SO
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
1 1 1
2ME - 2013/2014
Connectivit
2 pixels sont connexes si l'on trouve un chemind'adjacence entre eux
Concept essentiel en imagerie, surtout pour dfinir les rgions et les contours
2ME - 2013/2014
Chemin
p et q de coordonnes (x,y) et (s,t)
Le chemin de p q est
(x0,y0), (x1,y1), , (xn,yn)
o (x0,y0)=(x,y) et (xn,yn)=(s,t)
n est la longueur du chemin
Si (x0,y0)=(xn,yn) le chemin est ferm
2ME - 2013/2014
Chemin
Chemin -4, -8, et -m
Adjacent-8 Adjacent-m
2ME - 2013/2014
Rgions et contours (edges)
Une rgion est une zone de pixels connexes
Un contour est un chemin dfinissant une frontire
entre une zone connexe et ses voisines
Un contour peut tre ouvert ou ferm
S'il est ferm, il entour une rgion!
Si toute l'image fait partie de la rgion, les pixels
priphriques sont la limite.
2ME - 2013/2014
Distance entre pixels
Choisissons les pixels p, q et z avec coordonnes (x,y), (s,t) et (v,w)
D est une distance ssi:
D(p,q) 0 (=0 si p=q)
D(p,q) = D(q,p)
D(p,z) D(p,q) + D(q,z)
Exp: Distance Euclidienne (De)
De(p,q) = [(x-s)2 + (y-t)2]1/2
Forme un disque de rayon constant centr sur (x,y)
2ME - 2013/2014
Distance entre pixels
City-block distance (D4)D4(p,q) = |x-s| + |y-t|
Forme un diamant centr sur (x,y)
Exemple: D4 2
2
2 1 2
2 1 0 1 2
2 1 2
2
2ME - 2013/2014
Distance entre pixels
Distance chiquier (D8)
D8(p,q) = maximum (|x-s| , |y-t|)
Forme un carr centr sur (x,y)
Exemple: D8 2
2 2 2 2 2
2 1 1 1 2
2 1 0 1 2
2 1 1 1 2
2 2 2 2 2
2ME - 2013/2014
Distance entre pixels
Les distances D4 et D8 sont dpendantes des coordonnes, pas du chemin
La distance Dm est dfinie comme le plus court chemin-m La valeur des pixels est importantes
p3 p4p1 p2p
0 1
0 1
1
Dm (p,p4) = 2
0 1
1 1
1
Dm (p,p4) = 3
2ME - 2013/2014
Les sources de bruit
Bruits lis aux conditions de prise de vues
Ce sont des vnements vrifiant les conditions
dacquisition du signal
Le boug
Problmes lis lclairage de la scne observe
Bruits lis au capteur
Capteur mal rgl
Capteur de mauvaise qualit
2ME - 2013/2014
Les sources de bruit
Bruits lis lchantillonnage
Ces bruits refltent essentiellement des problmes de
quantification (CCD)
Prcision denviron 1/512
Problmes dans le cas dapplications de grande prcision
Bruits lis la nature de la scne
Nuage sur les images satellitaires
Poussires dans les scnes industrielles
Brouillard pour les scnes routires
2ME - 2013/2014
Les types de bruit
Diffrents types de bruit
Bruit additif ou multiplicatif
P(i) = b(i) + P(i)
P(i) = b(i) * P(i)
et
2ME - 2013/2014
Diffrents types de bruit
Comment est gnr b(i) ?
Loi gaussienne
Loi uniforme
Alatoire
Principaux types de bruit
Gaussien
Poivre et sel
2ME - 2013/2014
Les types de bruit
Rduction du bruit
Comment rduire le bruit ?
Dmarche gnrale :
Caractriser le bruit prsent dans limage
Choisir un algorithme appropri
Pour chaque pixel de limage
tudier la valeur du pixel
tudier les valeurs des voisins
Modifier la valeur du pixel
2ME - 2013/2014
Rduction du bruit
Rduction du bruit par moyennage
Soit n images dune mme scne, chaque image peut sexprimer gi(x,y)=f(x,y)+bi(x,y)
f(x,y) est limage non bruite
est un bruit blanc non corrl
Limage moyenne
2
ib ( x , y ) N (0 , )
i jE{b ( x , y ) b ( x , y )} 0 p o u r i j
n
i
i 1
1g ( x , y ) g ( x , y )
n
2ME - 2013/2014
Rduction du bruit
limination du bruit par moyennage
Limage moyenne:
Signal inchang et un nouveau bruit
Moyenne du nouveau bruit nulle, comme avant
n
i
i 1
1g ( x , y ) ( f ( x , y ) b ( x , y ))
n
n
i
i 1
1g ( x , y ) f ( x , y ) ( b ( x , y )
n
n n
i i
i 1 i 1
1 1E ( b ( x , y ) E ( b ( x , y ) = 0
n n
2ME - 2013/2014
Rduction du bruit
Calcul de la variance du bruit
2
2
V a r ( X ) E ( X E X )
= E { X } S i E { X } = 0
n2 2
i
i 1
n n
i j2i 1 j i
n n
i i i j2i 1 j i
2n2
i2i 1
1E { ( b ( x , y )) }
n
1 E {b ( x , y ) b ( x , y )}
n
1 E {b ( x , y ) b ( x , y )} E {b ( x , y ) b ( x , y )
n
1 E {b ( x , y )}
nn
Car bruit non corrl
2ME - 2013/2014
0 000 000 00
0
00
00
00
0
0
0 0 000 000 00
0
00
00
00
0
0
0
Transformation base sur le voisinage dun point (x ,y): opration locale
Image traiteImage originale
(x,y)
transformation
2ME - 2013/2014
Transformation par convolution
2ME - 2013/2014
Le produit de convolution est l'opration de voisinage linaire et invariante par translation. Cette opration fait donc appel aux outils disponibles pour respecter la convolution: multiplication du niveau de gris d'un point par une constante. addition des niveaux de gris des points d'une image; dans le cas continu, cette addition des niveaux se traduit sous forme d'une intgrale de surface
2ME - 2013/2014
Dfinition de la convolution dans l'espace continu
Pour deux images continues f et g, le produit de convolution g = f h est dfini par :
Pour deux images discrtes f et g. La convolution discrte est un calcul linaire de voisinage:
Transformation par convolution
Dfinition de la convolution dans l'espace discret
Convolution discrte
La convolution discrte est un outil permettant la construction de filtres linaires ou de filtres de dplacements invariants
L quation de convolution, note g(m,n), de la squence f(m,n) avec une fonction h(m,n) est :
h(i,j) est appele masque de convolution, noyau de convolution, filtre, fentre, kernel,
En pratique, la convolution numrique d'une image se fera simplement par une sommation de multiplications.
2ME - 2013/2014
( , ) ( , ) ( , )
x y
x ym n
g x y f m n h x m y n
2 2
2 2
D F + 1 D F + 1
D F - 1 D F - 1
Transformation par convolution : Exemple
Masque
w3
w9
w2
w8
w1
w7
w6w5w4
DF ouDimensionFiltre : 3
2ME - 2013/2014
Exemple de convolution 2D
2ME - 2013/2014
Convolution numrique
*
Image
Noyau de convolution
I K
2ME - 2013/2014
Convolution numrique R = I*K
I R
K
R(1,1) = I(0,0) K(0,0) + I(1,0) K(1,0) + I(2,0) K(2,0) + I(0,1) K(0,1) + I(1,1) K(1,1) + I(2,1) K(2,1) + I(0,2) K(0,2) + I(1,2) K(1,2) + I(2,2) K(2,2)
2ME - 2013/2014
Convolution numrique R = I*K
I R
K
R(2,1) = I(1,0) K(0,0) + I(2,0) K(1,0) + I(3,0) K(2,0) + I(1,1) K(0,1) + I(2,1) K(1,1) + I(3,1) K(2,1) + I(1,2) K(0,2) + I(2,2) K(1,2) + I(3,2) K(2,2)
2ME - 2013/2014
Convolution numrique R = I*K
I R
K
R(x,y) = I(x-1,y-1) K(0,0) + I(x, y-1) K(1,0) + I(x+1, y-1) K(2,0) + I(x-1,y) K(0,1) + I(x,y) K(1,1) + I(x+1,y) K(2,1) + I(x-1,y+1) K(0,2) + I(x,y+1) K(1,2) + I(x+1,y+1) K(2,2)
2ME - 2013/2014
Convolution numrique R = I*K
I R
K
R(N-2,M-2) = I(N-3,M-3) K(0,0) + I(N-2,M-3) K(0,1) + I(N-1,M-3) K(0,3) + I(N-3,M-2) K(1,0) + I(N-2,M-2) K(1,1) + I(N-1,M-2) K(1,2) + I(N-3,M-1) K(2,0) + I(N-2,M-1 )K(2,1) + I(N-1,M-1) K(2,2)
2ME - 2013/2014
Convolution numrique
? ? ? ? ? ? ? ? ? ?
? ?
? ?
? ?
? ?
? ?
? ?
? ?
? ?
? ? ? ? ? ? ? ? ? ?
Problme : Que faire avec les bords de l'image ?
Mettre zro (0)
Convolution partielle
Sur une portion du noyau
2ME - 2013/2014
Masque de convolution
Le masque de convolution est le plus souvent Carr
De taille 3x3 ou 5x5 (ou plus, mais impair)
Ce masque reprsente un filtre linaire permettant de modifier l'image.
La plupart du temps, on divisera le rsultat de la convolution par la somme des coefficients du masque. Pour viter de modifier l'entropie de l'image, la somme des
coefficients doit tre gale 1.
Dans le cas du Laplacien (plus loin), la somme sera gale zro.
2ME - 2013/2014
Typologie des Filtres
2ME - 2013/2014
Typologie des Filtres : suite
2ME - 2013/2014
Typologie des Filtres : suite
La mise en cascade de filtres (associativit de la convolution) permet de gnrer des filtres de grande taille moindre cot de calculs
2ME - 2013/2014
Le filtre moyenne
Le filtre moyenne
Permet de lisser l'image (smoothing)
Remplace chaque pixel par la valeur moyenne de ses voisins
Rduit le bruit
Rduit les dtails non-important
Brouille ou rend floue l'image (blur edges)
Filtre dont tous les coefficients sont gaux.
Exemple de filtres moyennes :
1/9 1/9 1/9
1/9 1/9 1/9
1/9 1/9 1/9
1 1 1
1 1 1
1 1 1
ou 1/9
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
3x35x5
1/25
2ME - 2013/2014
On affecte chaque pixel la valeur moyenne obtenue dans le voisinage :
avec j les voisins de i
Filtre moyenneur
2ME - 2013/2014
Exemples de filtres moyennes
Original Moyenne 5x5 Moyenne 11x11
Source : monkey.geog.ucsb.edu/mh/115b/filter.pdf
2ME - 2013/2014
Filtre de moyenne
Image originale Image filtre
Exemples de filtres moyennes
2ME - 2013/2014
Le filtre Gaussien
Fonction gaussienne en 3D Image d'une gaussienne
Le filtre gaussien donnera un meilleure lissage et une meilleure rduction du bruit que le filtre moyenne.
2ME - 2013/2014
Filtre gaussien
2
22
2
2
)(
2
1),(),(
yx
eyxPSFyxgauss
fonction gaussienne 2-D
w3
w9
w2
w8
w1
w7
w6w5w4 DimX = Dim Y = 8 + 1o 3,0
2ME - 2013/2014
Filtre gaussien
Filtre Gaussien1 2 1
2 4 2
1 2 1
(1/16)*
1 2 1
2 4 2
1 2 1
(1/16)*
1 2 1
2 4 2
1 2 1
(1/16)*1 1
1 1(1/4)*
1 1
1 1(1/4)** =
1 2 1(1/4) =*
1
2
1
(1/4)*
2ME - 2013/2014
Exemples de filtres gaussiens
Original Gauss 5x5 Gauss 11x11
2ME - 2013/2014
Triangle de Pascal
Chaque lment est la somme des lments suprieur et suprieur gauche
On choisit une ligne impaire
On convolue un filtre horizontal avec un filtre vertical
On obtient un filtre carr
On normalise par la somme de tous les lments du filtre
2ME - 2013/2014
Simulation
2ME - 2013/2014
Dcomposition dun filtre
Pour acclrer les traitements, il est possible de dcomposer les filtres en sous-filtres quivalents quon passe un aprs lautre.
1 2 1
2 4 2
1 2 1
= 1 2 1
1
2
1*
2ME - 2013/2014
Mdiane dune suite de : non linaire, non analytique
Si n impair: tel quil ya autant de que de
On doit ordonner les , puis prendre llment du milieu
Plus coteux
Complexit O(nlog n)
Plus robuste aux valeurs extrmes
ix
x
ix x
ix x
ix
2ME - 2013/2014
Filtre non linaire : Filtre Mdian
Pour nettoyer le bruit dans une image, il existe mieux que lefiltre moyenneur ou le filtre gaussien : le filtre mdian.
Filtre non linaire : Filtre Mdian
Exemple
10 30 5
20 200 20
15 10 30
5 10 10 15 20 20 30 30 200
Valeurs dintensit mdiane
10 30 5
20 20 20
15 10 30
2ME - 2013/2014
Filtre Mdian
On affecte chaque pixel la valeur mdiane
obtenue dans le voisinage
On vite ainsi les valeurs extrmes
2ME - 2013/2014
Exemple de filtre mdian
Original Moyenne 3x3 Mdian 3x3
2ME - 2013/2014
Exemple de filtre mdian
2ME - 2013/2014
Choix du filtre
Bruit gaussien : filtre moyenneur
poivre et sel : filtre mdian
2ME - 2013/2014
Nettoyage du bruit dans une image
Bruit "poivre et sel"
3 X 3 Moyenne 5 X 5 Moyenne
7 X 7 Moyenne Filtre mdian
2ME - 2013/2014
1 4 6 4 1
4 16 24 16 4
6 24 36 24 6
4 16 24 16 4
1 4 6 4 1
1/256
Filtre Gaussien ou binomial
1 2 3 2 1
2 4 6 4 2
3 6 9 8 3
2 4 6 4 2
1 2 3 2 1
1/81
Filtre pyramidal
0 0 1 0 0
0 2 2 2 0
1 2 5 2 1
0 2 2 2 0
0 0 1 0 0
1/25
Filtre Conique
Obtenu par la convolution de deux filtres de moyenne 3X3
Autres filtres
2ME - 2013/2014
Filtrage frquentiel
Pour appliquer un filtre:
On veut multiplier le signal de limage par une fonction dans le domaine frquentiel
Reviens convoluer dans le domaine spatial avec la transforme de Fourier inverse du filtre
Limage est discrte: convolution discrte
On utilise donc un Kernel de convolution
2ME - 2013/2014
Filtrage frquentiel
Une image peut tre reprsente par un signal 2D
Sa transforme de Fourier donne donc lintensit en fonction de la frquence.
On peut appliquer des filtres passe-bas et passe-haut sur limage pour faire ressortir certaines gammes de frquences.
2ME - 2013/2014
Filtrage frquentiel
La transform de Fourier prsente:
Moyenne lorigine (composante DC)
Les basses frquences - niveau de gris des surfaces douces (smooth)
Les hautes frquences - les dtails, tels les arrtes et le bruits (sharp)
Il est possible de crer des filtres ddis l'attnuation de frquences spcifiques
Filtre passe-bande, passe-bas, passe-haut, Gaussien,
2ME - 2013/2014
Filtrage frquentiel
Dans une image, les basses frquences reprsentent les zones lisses, qui varient peu
Les hautes frquences sont les zones trs variables: textures, arrtes, coins
Un filtre passe-bas fait passer les basses frquences
limine les hautes frquences, diminue le bruit
Permet de lisser , dadoucir les artes
Un filtre passe-haut fait passer les hautes frquences
Met en vidence les artes, les contours, les ombres
Augmente le bruit dans limage
2ME - 2013/2014
Transforme de Fourier
Reprsentation frquentielle dune fonction donne
Images = fonctions relles L 2
2
2
( ) ( )
1( ) ( )
2
i t
i t
F f t e d t
f t F e d
dttf2
)(
2ME - 2013/2014
Ralisation optique de la TF
Le noyau de la transforme peut reprsenter une onde plane monochromatique
2ME - 2013/2014
Quelques dfinitions
TF est imaginaire
Spectre de Fourier
Phase
Spectre de Puissance (densit spectrale)
)()()()()(
ieFIiRF
)()()()()(22
IRIiRF
)()(tan)( 1 RI
2)()()()()()(
FeFeFP
ii
2ME - 2013/2014
Rsultats rectangle 1D
2ME - 2013/2014
Rsultat rectangle 2D
2ME - 2013/2014
Proprits de la TF
Sparable
Proprits de translation
Priodicit et symtrie (conjugu)
Rotation
Distributivit
chelle
Valeur moyenne de lintensit
Drive
Laplacien
2ME - 2013/2014
Proprits de la TF suite
2ME - 2013/2014
2ME - 2013/2014
Proprits de la TF suite
Espace discret
Cas continu (image optique) peut sexprimer pour le cas discret (image numrique). En 1D, on a
M pas dchantillonnage uniformes x
Pour les images, on a des pas x et y pour une fonction donne par
)1(,),3(),2(),1(),0(
))1((,),3(),2(),(),(
)(
00000
Mfffff
xMxfxxfxxfxxfxf
xf
)1,1(,),0,2(),1,0(),0,1(),0,0(),( NMfffffyxf
2ME - 2013/2014
TF discrte
On passe de lespace discret aux frquences discrtes avec les pas dchantillonnage relis par:
1
0
1,,2,1,0/2
1,,2,1,0
1
0
/2
)()(
)(1
)(
M
MxMxi
M
M
x
Mxi
eFxf
exfM
F
xM
1
2ME - 2013/2014
TF discrte 2D
Note: la normalisation a t rpartie sur la paire de transforme
1 1
2 ( ) /, 0 ,1 , 2 , , 1
2
0 0
1 1
2 ( ) /, 0 ,1 , 2 , , 1
2
0 0
so it
1( , ) ( , )
1( , ) ( , )
N N
i x y NN
x y
N N
i x y Nx y N
M N
F f x y eN
f x y F eN
2ME - 2013/2014
Passe-bas idal 0|1
Coupe toutes les hautes frquences aprs une distance D0 du centre
Distance du centre (M/2, N/2)
0
0
1 s i D ( u , v ) DH ( u , v )
0 s i D ( u , v ) D
D u v uM
vN
( , ) ( ) ( )
/
2 2
2 2
1 2
2ME - 2013/2014
Passe-bas idal 0|1
D0 : frquence de coupure (cutoff)
3-D Section radiale2-D
2ME - 2013/2014
r=128
r=8r=16r=32r=64
Exemple: Filtrage passe-bas
2ME - 2013/2014
Passe-bas idal
Effet de la frquence de coupure D0 valu en fonction de l'nergie comprise dans le
cercle de rayon D0
P u v F u v R u v I u v( , ) ( , ) ( , ) ( , ) 2
2 2
P P u vT
v
N
u
M
( , )0
1
0
1
%( , )
p u issa n ceP u v
PTvu
1 0 0 (u,v) D0
2ME - 2013/2014
Passe-haut idal
Coupe toutes les basses frquences aprs une distance D0 du centre
Distance du centre (M/2, N/2)
0
0
1 ( , )( , )
0 ( , )
s i D u v DH u v
s i D u v D
D u v uM
vN
( , ) ( ) ( )
/
2 2
2 2
1 2
2ME - 2013/2014
Passe-haut idal
3-D 2-D Section radiale
2ME - 2013/2014
r=128
r=64r=32r=16r=8
Exemple : Filtrage passe-haut
2ME - 2013/2014
Un filtre passe-bande est le complmentaire d'un filtre passe-bas et d'un filtre passe-haut.
Un filtre passe-bande est un systme linaire qui prserve une plage de frquences.
Filtrage passe-bande
2ME - 2013/2014
Exemple : Filtrage passe-bande
On dfinit la bande de frquence que lon souhaite conserver
2ME - 2013/2014
Filtres passe-haut: Dtection de contours
Au niveau des pixels
Exp: filtre 3X3 ( partir du filtre de moyenne)
Exp: filtre 5X5
0 0 0 1 1 1 1 1 1
1 1 1( x , y ) h ( x , y ) 0 9 0 1 1 1 1 8 1
9 9 90 0 0 1 1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
11 1 2 4 1 1
2 51 1 1 1 1
1 1 1 1 1
2ME - 2013/2014
Filtres passe-haut: Dtection de contours
Oprations mathmatiques
Image originale Image filtre passe-bas Hautes frquences
- =
2ME - 2013/2014
Filtres passe-haut: Dtection de contours
2ME - 2013/2014
Filtres passe-haut: Dtection de contours
La dtection de contour
Deux approches :
1. Approche gradient : dtermination des extrema locaux dans la direction du gradient.
2. Approche laplacien : dtermination des passages par zro du laplacien.
2ME - 2013/2014
Filtres diffrentiels
(b)(a)
Image
prof il duneligne
horizontale
(drivepremire)(driveseconde)
2ME - 2013/2014
Filtres passe-haut: Dtection de contours
Dtection de contours par gradient
Contour = gradient lev
Technique en 2 tapes :
Estimer le gradient (convolution)
Localiser les valeurs leves (seuillage)
2ME - 2013/2014
Filtres passe-haut: Dtection de contours
Dtection de contours par gradient: Convolution Multiplication locale par un masque
I(x,y) = I(x,y) * M
2ME - 2013/2014
Filtres passe-haut: Dtection de contours
Estimation du Gradient
Soit un pixel f(x,y), le gradient y sera
La norme du gradient
La direction du gradient
Gx = f * MxGy = f * My
2ME - 2013/2014
Filtres passe-haut: Dtection de contours
Approximation du gradient (en x artes verticales)
Approximation du gradient (en y artes horizontales)
Masque de convolution
x x
x x
0 0x x
f ( x , y ) f ( x , y ) f ( x , y ) f ( x , y )flim lim
x
x1 Masque de convolution 1 -1 -1 1
x
x x
0x
f ( x , y ) f ( x , y )flim
x 2
x1 Masque de convolution
ou
-1 0 1
1
-1
-1
1ou ou ou
-1
0
1
1
0
-1
Diffrencesavant et arrire
Diffrence centre
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
Filtre de Roberts
Roberts
Deux masques de taille 2x2 :et
2ME - 2013/2014
Filtres de Sobel Sobel
Le passe-haut intensifie le bruit; on fait donc un passe-bas pour le diminuer.
Composition dun filtre gaussien et dun gradient
1 0 1
2 0 2
1 0 1
1 2 1
0 0 0
1 2 1
et
2ME - 2013/2014
Filtres de Sobel
Sobel
Deux masques de taille 3x3 :
1 0 1
2 0 2
1 0 1
1 2 1
0 0 0
1 2 1
et
2ME - 2013/2014
Drive premire (gradient)
-1
1
-2
2
-1
1
000 |Gy |1
1
0
0
-1
-1
20-2 |Gx |
|Gx | + |Gy |
2ME - 2013/2014
2ME - 2013/2014
cross-gradient operators
Filtres de Robert , Prewitt et Sobel
z3
z9
z2
z8z7
z6z5z4
z1
o zx : valeur duniveau de gris
)(95
zzy
f
(a)
-10
01
0-1
10
(b) Roberts
)(86
zzx
f
y
f
x
fGGf
yx
)(
)(
321
987
zzz
zzz
y
f-1
1
-1
1
-1
1
000
1
1
0
0
-1
-1
10-1
(c) Prewitt operators
)(
)(
741
963
zzz
zzz
x
f
)2(
)2(
321
987
zzz
zzz
y
f-1
1
-2
2
-1
1
000
1
1
0
0
-1
-1
20-2
(d) Sobel
)2(
)2(
741
963
zzz
zzz
x
f
2ME - 2013/2014
2ME - 2013/2014
(d) idem c [sauf pourles pixels dont les2 gradients 25*qui ont t mis 0- image binaire]
(c) image originaledont les pixels ayant1 gradient > 25*ont t mis 255
Amlioration des artes et des contours
25ou*
y
f
x
f25et*
y
f
x
f
(a) image originale
(b) image obtenue partir des valeursde magnitude dugradient [masquesde Prewitt]
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
Filtre de Laplacien
Laplacien Drive seconde
Diffrence centre
Noyau de convolution
2' '
2
f ( x , y )f ( x 1, y ) f ( x , y )
x
= [f(x + 1 ,y )-f (x ,y )]-[ f (x ,y )-f (x -1 ,y )]
= f (x + 1 ,y )-2 f(x ,y )+ f(x -1 ,y )
2
2 2( )
x y
1 2 1
2ME - 2013/2014
Filtre de Laplacien
Laplacien (suite)
Hautes frquences dans toutes les directions
Autres formes
2
2 2( )
x y
1 0 1 0
1 2 1 2 1 4 1
1 0 1 0
0 1 0
1 4 1
0 1 0
1 1 1
1 8 1
1 1 1
Ou
2ME - 2013/2014
Filtre de Laplacien
Laplacien (suite)
Drive seconde du signal image
Localisation des contours par le passage par 0
Diffrents masques :
0 1 0
1 4 1
0 1 0
1 1 1
1 8 1
1 1 1
2ME - 2013/2014
Filtre de Kirsch
Kirsch
8 masques, dans chaque direction (45)
2ME - 2013/2014
2ME - 2013/2014
Filtre de Kirsch
Filtre de Marr-Hildreth
Marr-Hildreth
Le Laplacien augmente encore plus le bruit
On filtre limage avec une gaussienne
On prend le Laplacien de limage filtre
On peut donc filtrer directement avec le laplacien dune gaussienne!
g=(f*N)*L=f*(N*L)
2ME - 2013/2014
Marr-Hildreth
0 -1 -2 -1 0
-1 0 2 0 -1
-2 2 8 2 -2
-1 0 2 0 -1
0 -1 -2 -1 0
-1 -3 -4 -3 -1
-3 0 6 0 -3
-4 6 20 6 -4
-3 0 6 0 -3
-1 -3 -4 -3 -1
Filtre de Marr-Hildreth
2ME - 2013/2014
Marr-Hildreth versus Sobel
Plus rapide
Une seule convolution pour toutes les directions
Pas de somme de valeurs absolues ou de racine
Moins robuste (plus sensible au bruit)
Non directionnel
Donne des contours plus ferms
2ME - 2013/2014
Dtection de contours :Filtres passe-haut
Filtres passe-haut
Sobel
Marr-Hildreth
Canny
2ME - 2013/2014
On utilise un filtre passe-haut et on compare la force du contour avec un seuil
Image originale Sobel Laplacien
Filtres passe-haut
2ME - 2013/2014
Filtre de Sobel
On applique le filtre horizontal, puis vertical
On somme les valeurs absolues, ou racine carre des carres des valeurs
Seuillage: si la valeur est assez leve, la drive est forte et il ya un contour
2ME - 2013/2014
On applique le filtre de Marr-Hildreth
On dtecte les PPZ (Passages Par Zro)
Seuillage particulier, sur un Kernel (souvent 3X3)
Sil ya changement de signe entre la valeur centrale et un des huit voisins, alors il ya PPZ
Pour viter certaines anomalies: Band-crossing
Changer de signe nest plus suffisant, il faut passer de
Filtre de Marr-Hildreth
2ME - 2013/2014
2ME - 2013/2014
Code Matlab
Seuillage
Diffrents types de seuillage si ndg > sh alors ndg = 255
si ndg < sb alors ndg = 0
si ndg < s alors ndg = 0 sinon ndg = 255
Binarisation
2ME - 2013/2014
Binarisation
Rduction du nombre de couleurs 2 (N & B)
2ME - 2013/2014
Binarisation
Comment trouver le bon seuil ?
Localisation des modes de lhistogramme
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
Problme avec un espace (a,b)
2ME - 2013/2014
une image binaire comportant 6 x 6 pixels dont lesvaleurs sont donnes dans le tableau suivant
Exemple
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
SEGMENTATION DES IMAGES
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
Segmentation
Recherche de rgions
(approches rgions )Recherche de frontires
(approches contours )
Segmentation rgions/contours
2ME - 2013/2014
2ME - 2013/2014
Image = Rgion R
n
ii
RR1
connexeestRi
jipourRRji
VraiRPi
)(
jipourFauxRRPji
)(
Formulation dune rgion
2ME - 2013/2014
2ME - 2013/2014
le seuillage permet de slectionner les parties de l'image qui intressent l'oprateur. Pour slectionner des objets, il faut donc choisir des limites entre lesquelles les pixels devront tre pris en compte.
2ME - 2013/2014
Seuillage fTT
Seuillage global
fyxpTT ),,(
Seuillage local
),( yxTT
Seuillage dynamique
fyxpyxTT ),,(),,(
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
Exemple dimage en 256 niveaux de gris : Seuil 75 Seuil 125
Image initial Histogramme de limage
Seuillage 75
Exemple de seuillage
Seuillage 1252ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
Lalgorithme k-moyenne est lalgorithme de clustering le plus connu et le plus utilis, du fait de
sa simplicit de mise en uvre. Il partitionne les
donnes dune image en K clusters.
Le k-moyenne est un algorithme itratif qui minimise la somme des distances entre chaque
objet et le centrode de son cluster.
2ME - 2013/2014
2ME - 2013/2014
Description de l'algorithmeNombre de class k
Dtermination
des centroides
Calcul de la
distance minimale
Regroupement
Aucun donne a
chang de groupe? Fin
Oui
Non
K-moyennes
2ME - 2013/2014
2ME - 2013/2014
Exemple
Image originale
k-moyenne avec k=3 k-moyenne avec k=4
2ME - 2013/2014
2ME - 2013/2014
K-mean pour limage couleur
2ME - 2013/2014
Image originale Image segment avec k=3Image segment avec k=6
Exemple
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
La segmentation par division-fusion regroupe les
deux types dapproches. Tout dabord, limage est
divise en rgions homognes, puis les rgions
adjacentes qui rpondent des critres de fusion sont
fusionnes.
Phase 1 : Crer les zones homognes = DIVISION (split)
Phase 2 : Les regrouper = FUSION (merge)
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
Exemples de division-fusion
Image originaleImage segmente
s=200 et min=2Image segmente
s=250 et min=2
2ME - 2013/2014
2ME - 2013/2014
Exemples de division-fusion
Segmentation en rgion
Croissance de rgions
2ME - 2013/2014
partir de pixels-germes (gnralement slectionns
partir de lhistogramme), on fait crotre les rgions
en agglomrant les pixels ou rgions connexes tels
que lunion vrifie le prdicat dhomognit
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
Ligne de partage des eaux
La ligne de partage des eaux se dfini comme tant un
algorithme de morphologie mathmatique qui revient
dcomposer une image en diverses rgions homognes.
2ME - 2013/2014
Ligne de partage des eaux
Minimum local: Plateau ou point minimal d'un bassin versant.
Bassin versant: Zone d'influence d'un minimum
local. Toute goutte d'eau comprise dans cette rgion se
dirige vers le minimum local.
Ligne de partage des eaux: Ligne qui spare deux
bassins versant qui, par le fait mme, spare deux
minimums locaux. 2ME - 2013/2014
Ligne de partage des eaux
Technique de limmersion
On perce chaque minimum local de la surface.
On inonde la surface partir des minima locaux, leau
montant vitesse constante et uniforme dans les bassins
versants.
Quand les eaux issues de 2 minima diffrents se rencontrent,
on monte une digue pour quelles ne se mlangent pas.
A la fin de limmersion, lensemble des digues constituent la
ligne de partage des eaux.2ME - 2013/2014
Ligne de partage des eaux
2ME - 2013/2014
2ME - 2013/2014
L'algorithme se compose de deux tapes:
Gnrer une carte d'lvation partir de
l'image de dpart
Remplir progressivement les bassins
Algorithme LPE
2ME - 2013/2014
La carte d'lvation est une image dont les valeurs reprsentent une
altitude. Pour construire cette image nous allons partir du gradient
de l'image.
Dans la carte d'lvation, on assigne l'altitude la plus leve
(HMAX) aux pixels ayant un fort gradient ainsi qu'aux bords de
l'image. Cela nous donne les lignes de crte.
La valeur d'altitude des autres pixels est calcule en fonction de
l'loignement de la ligne de crte : plus on s'loigne de la ligne de
crte, plus l'altitude doit dcrotre. La formule pour calculer la
valeur d'altitude d'un pixel est donc :
Carte d'lvation (elevation map)
Altitude(Pixel) = HMAX - distance(Pixel, ligne de_crte)
2ME - 2013/2014
Remplissage des bassins par infiltration (flooding)
Pour NIVEAU de 0 HMAX /*** Action 1 : Etendre les rgions existantes ***/
Pour chaque Rgion [R] dans la liste [Rgions] Faire crotre [R] jusqu' l'altitude NIVEAU
Fin Pour/*** Action 2 : crer les nouvelles rgions ***/
Pour chaque pixel P l'altitude NIVEAU Si P n'est pas associ une rgion Alors
Crer une nouvelle rgion [R] dans la liste [Rgions] A jouter le pixel P dans la rgion [R] Faire crotre [R] jusqu' l'altitude NIVEAU
Fin Si Fin Pour
Fin Pour
Ligne de partage des eaux
image segmenteLPE
image gradientimage originale
2ME - 2013/2014
Ligne de partage des eaux
Segmentation par LPE contrainte par marqueurs
LPE non contrainte LPE contrainte
2ME - 2013/2014
Ligne de partage des eaux
image gradientimage originale
image modifie de gradient rsultats amliors de segmentation
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
2ME - 2013/2014
Oprations locales
Fermeture de contours
Problme des contours ouverts
Seuillage fermeture
2ME - 2013/2014
2ME - 2013/2014
Morphologie mathmatique
Amlioration des images par filtrage morphologique
Morphologie mathmatique
Oprations morphologiques
Oprations morphologiques sur les images
Lissage morphologique
Rehaussement morphologique
2ME - 2013/2014
Morphologie mathmatique
Permet lextraction de composantes dimage utilises pour reprsenter des formes
Une forme peut tre caractrise par son contour, son squelette ou son enveloppe convexe
Nous pouvons aussi utiliser des techniques mor-phologiques pour le filtrage et la transformation de formes
La morphologie mathmatique est base sur la thorie des ensembles
2ME - 2013/2014
Morphologie mathmatique
Les ensembles en morphologie mathmatique reprsentent les objets (formes) dans les images
Lensemble des pixels noirs dans une image binaire sont regroup dans un espace 2-D entier Z2 o chaque lment (pixel) est la coordonne (x,y)
Les images en niveaux de gris peuvent tre reprsentes par des ensembles dans un espace Z3
dont deux composantes font rfrence aux coordonnes de chaque pixel et une troisime sa valeur de niveau de gris
2ME - 2013/2014
Oprations morphologiques
Dfinitions de base
Dilatation
rosion
Ouverture (rosion suivie dune dilatation)
Fermeture (dilatation suivie dune rosion)
2ME - 2013/2014
Dfinitions de base
A et B sont des ensembles dans Z2
Avec des lments reprsents par (a1,a2) et (b1,b2)
Translation: Translation de A par x = (x1,x2)
AapourxaccAx
,)(
Rflexion: Rflexion de B
BbpourbxxB ,
2ME - 2013/2014
2ME - 2013/2014
Dfinitions de base oprations lmentaires
Dilatation
ABxBAx
)(
Dilatation de A par un oprateur Morphologique B
2ME - 2013/2014
2ME - 2013/2014
Dilatation
rosion
ABxBAx
)(
rosion de A par un oprateur morphologique B
2ME - 2013/2014
2ME - 2013/2014
rosion
Ouverture (rosion + dilatation)
BBABA )(
Lissage des contours des formes
limination des pics et des bosses
Brise les sections minces
2ME - 2013/2014
2ME - 2013/2014
Ouverture(rosion suivie dune dilatation)
Fermeture (dilatation + rosion)
BBABA )(
Lissage des contours des formes
Remplissage des trous et vides
2ME - 2013/2014
2ME - 2013/2014
Fermeture(dilatation suivie dune rosion)
Oprations morphologiquessur les images
Dilatation
rosion
Ouverture
Fermeture
2ME - 2013/2014
Dilatation
( )( , ) max ( , ) ( , ) ( ),( ) ;( , )f bf B s t f s x t y b x y s x t y D x y D
Dilatation dune image f par b
Image plus brillante
Partie fonce sont rehausses (niveau de
brillance plus leve)
2ME - 2013/2014
2ME - 2013/2014
Dilatation
rosion
( )( , ) min ( , ) ( , ) ( ),( ) ;( , )f bf B s t f s x t y b x y s x t y D x y D
rosion dune image f par b
Image plus fonce
Parties brillantes sont attnues (niveau de
brillance plus faible)
2ME - 2013/2014
2ME - 2013/2014
rosion
2ME - 2013/2014
Dilatation et rosion dune image niveaux de gris (exemples)
Ouverture
bbfBf )(
Ouverture dune image f par b
limination des pics brillants plus petits que b
Dtails importants sont conservs (plus grand que b)
Lrosion limine les petits pics (bruit) et rend limage
plus fonce
La dilatation redonne le niveau de brillance moyen
2ME - 2013/2014
2ME - 2013/2014
Ouverture
Fermeture
bbfBf )(
Fermeture dune image f par b limination des zones sombres plus petites que b Dtails importants sont conserv(plus grand que b) La dilatation limine les zones sombres et rend
limage plus brillante Lrosion redonne le niveau de brillance moyen
2ME - 2013/2014
Fermeture
2ME - 2013/2014
2ME - 2013/2014
Ouverture et fermeture dune image niveaux de gris (exemples)
Lissage morphologique dimage
))))((( bbbbf
Lissage dimages
limination des pics brillants plus petit que b
limination des zones sombres plus petites que b
Ouverture Fermeture
2ME - 2013/2014
Rehaussement morphologique dimage
)()( bfbfg
Rehaussement dimages
Bas sur le calcul du gradient morphologique
2ME - 2013/2014
2ME - 2013/2014
Lissage et rehaussement morphologiques
Rsum
Amlioration des images par filtrage morphologique
Morphologie mathmatique
Oprations morphologiques
Oprations morphologiques sur les images
Lissage et rehaussement morphologiques
2ME - 2013/2014
2ME - 2013/2014
I = imread('chine.png');seuil = graythresh(I) % recherche du seuil avec la mthode d'OtsuIb = im2bw(I,seuil); % binarisationfigure(1)imshow(Ib)Ibi =~ Ib;figure(2)imshow(Ibi)%Pour roder limage binaire Ibi et afficher le rsultat :SE = [0 1 0;1 1 1;0 1 0] % lment structurantIer = imerode(Ibi,SE) ;figure(3)imshow(Ier)%Pour dilater limage binaire Ibi et afficher le rsultat :Idi = imdilate(Ibi,SE) ;figure(4)imshow(Idi)
Code Matlab
2ME - 2013/2014
I = imread('chine.png');L = graythresh(I)I = ~im2bw(I,L);SE = strel('disk', 6)Ifer = imclose(I,SE);Im = imopen(Ifer,SE);subplot(1,3,1)subimage(I),title('image originale');subplot(1,3,2)subimage(Ifer),title('image ferme');subplot(1,3,3)subimage(Im),title('image ouverte');
Code Matlab