Anda di halaman 1dari 13

1

Traitement dimages
Filtrage et dtection de contours
Florent Lafarge
INRIA (Ariana)
2
Plan du cours
Rappels mathmatiques
Filtrage spatial
Principes, applications
Filtrage linaire
Filtrage non-linaire
Dtection de contours
Intrts
Modlisation mathmatique
Oprateurs du premier ordre
Oprateurs du 2me ordre
Rappels mathmatiques
4
Transforme de Fourier
Soit H(f) la transforme de Fourier de f(t)
La transforme inverse scrit :
( )
}
+

= dt e t h f H
ft it 2
) (
( )
}
+

= df e f H t h
ft it 2
) (
5
Produit de convolution
On note produit de convolution *
Thorme de convolution
}
+

= - dt t x g t f x g f ) ( ) ( ) (
( ) ( ) ( ) f H f G t h g : -
( ) ( ) ( ) f H f G t h g - :
6
Spatial - Frquentiel
Passage spatial - frquences
-100 -80 -60 -40 -20 0 20 40 60 80 100
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
-100 -80 -60 -40 -20 0 20 40 60 80 100
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
frquences
amplitude
2
7
Spatial - Frquentiel
Travail dans le domaine frquentiel
Passe-Bas = lissage Passe-Haut = accentuation des dtails
Niveau de dtail
8
Proprits
f * g = g * f
f * o = o * f = f (o : distribution de Dirac)
f * (g + h) = f * g + f * h
f * (g) = (f * g)
(f * g) = f * g = f * g
9
Produit de convolution
Mathmatiquement f et g sont quivalentes
En physique : deux rles trs distincts
f : signal brut
g : filtre ou fonction appliqu au signal (en gnral, d intgrale
gale 1) qui permet davoir une influence dans le domaine des
frquences
Pb en imagerie : passage au discret ??
10
Produit de convolution
Exemples de filtres :
chantillonnage / dirac (o)
moyenne (passe-bas)
fonction gaussienne (passe-bas)
11
-6 -4 -2 0 2 4 6
-1.5
-1
-0.5
0
0.5
1
1.5
0 20 40 60 80 100 120 140
-1.5
-1
-0.5
0
0.5
1
1.5
60 80 100 120 140 160 180
-1.5
-1
-0.5
0
0.5
1
1.5
Signal de dpart
Signal moyenn Signal aprs gaussienne
Filtrage spatial
3
13
Filtrage spatial
Remplacement de la valeur dun pixel par une fonction des
valeurs des pixels voisins
?: effets de bord => on ne filtre pas les bords, priodicit, =0, suppression
des bords ???
14
Filtrage spatial
Dbruitage
15
Filtrage spatial
Rehaussement de contraste
16
Filtrage spatial
Dtection de contours
17
Types de filtrage
Filtrage linaire
Moyenne
Gaussien
Pyramide
Conique
Laplacien
.
Filtrage non-linaire
Mdian
Adaptatif
Par Equations aux Drives Partielles
Filtrage spatial
Filtrage linaire
4
19
Filtrage linaire et convolution
Filtrage linaire= convolution discrte

=
=
=
=
+ =
=
+ =
=
+ =
=
+ =
=
+ + =
+ + = = - =
2
1
2
1
2
1
2
1
) , ( ) , (
) , ( ' ) , ( ) , (
~
) , ( ) , (
~
) , (
df
df
df
df
n
n
m
m
n
n
m
m
n
n
m
m
m n h m l n c f
m n h m l n c f m n h m l n c f l c h f l c g
Convolution
) , ( .
) 1 , 1 ( . ) , ( . ) , (
,
1 , 1 0 , 0
df l df c f h
l c f h l c f h l c g
df df
+ + +
+ + + =

h
-1,-1
h
0,-1
h
1,-1
h
-1,0
h
0,0
h
1,0
h
-1,1
h
0,1
h
1,1
df=3
20
Filtrage linaire en discret
Un filtre est un oprateur qui :
prend en entre une image et renvoie en sortie une autre image de mme taille;
est local
est invariant par translation;
Un filtre est parfaitement dfini par son rsultat sur des
imagettes de taille borne (la taille N du filtre). Cest le
masque ou noyau du filtre
On appelle complexit du filtre, le nombre doprations
ncessaires pour calculer sa valeur en un pixel.
21
Filtres:
Noyau du filtre: rsultat de h(n,m) sur un voisinage born centr en
(0,0)
remplace la valeur du pixel par une moyenne pondre des valeurs
des pixels voisins.
Exemple dun filtre sur un voisinage 3x3
Filtrage linaire en discret
22
Normalisation dun filtre:
Filtrage linaire en discret
Normalisation par la somme des poids positifs
du filtre
23
Exemple
Filtrage linaire en discret
Complexit, en gnral en O(DF.I).
24
Filtrage linaire et convolution
Convolution Multiplication en frquence
Analyse frquentielle
Filtres passe-haut
Filtres passe-bas
-100 -80 -60 -40 -20 0 20 40 60 80 100 -0.4
-0.2
0
0.2
0.4
0.6
0.8
1
frquences
amplitude
FFT
-6 -4 -2 0 2 4 6 -1.5
-1
-0.5
0
0.5
1
1.5
FFT
frquences
amplitude
*
x
Signal convolu Attnuation hautes frquences
FFT
5
25
Filtrage linaire et convolution
Convolution Multiplication en frquence
Passe-Bas Passe-Haut
26
Filtrage linaire et convolution
Filtrage discret= convolution discrte
Pour filtrer :
application d un masque pour chaque pixel de l image = filtre
Pour filtrer :
Passage en TF (FFT)
Multiplication en Fourier
TF inverse (FFT inverse)

=
=
=
=
= -
2
1
2
1
2
1
2
1
) , ( ) , ( ) , (
dx
dx
dy
dy
n
n
m
m
m n h m l n c f l c h f
Thorme de convolution
27
Lissage dimages (limination du bruit)
Filtres passe-bas
Moyenne
Gaussien
Pyramide
Conique
Principe: SOMMATION
28
Filtre Moyenne
-6 -4 -2 0 2 4 6
-1.5
-1
-0.5
0
0.5
1
1.5
Signal de dpart
0 20 40 60 80 100 120 140
-1.5
-1
-0.5
0
0.5
1
1.5
Signal moyenn
1/25 X
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
NB: plus le filtre grossit, plus le
lissage devient important

+ =
=
+ =
=
+ + =
2
1
2
1
2
1
2
1
) , (
) (
1
) , (
2
df
df
df
df
k
k
l
l
l j k i x
df
j i y
29
Filtre Moyenne
Bruit gaussien 3x3 5x5
9x9 15x15 21x21
30
Filtre Gaussien
2
) (
2
2
1
) , (
o
to
j i
e j i gauss
+
=
Fonction gaussienne
normalise 2D
1 9 18 9 1
9 81 162 81 9
18 162 324 162 18
9 81 162 81 91
1 9 18 9 1
1/1444 X
1 2 1
2 4 2
1 2 1
1/16 X
Idalement on devrait
prvoir un filtre de
taille 5ox5o
6 . 0 ~ o 1 ~ o
6
31
Pb de la taille du filtre et de la complexit algorithmique
Filtre Gaussien
Plus on veut lisser et attnuer les hautes
frquences, plus on a besoin dun voisinage important
et plus la complexit crot => voisinage parfois
important pour des images bruites
32
Filtre Gaussien
6 . 0 = o 1 = o
3 = o 5 = o 10 = o
original
33
Autres Filtre passe-bas
1 2 3 2 1
2 4 6 4 2
3 6 9 6 3
2 4 6 4 2
1 2 3 2 1
1/81 X 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 X Conique:
34
Rehaussement de contraste
Filtres passe-haut
Laplacien
Dtecteurs de contours
Sobel
Prewitt
.
Principe: DIFFERENCE
35
Filtres passe-haut: principe
36
Exemples Laplacien (filtre passe haut):
Filtre laplacien
0 1 0
1 -4 1
0 1 0
1 1 1
1 -8 1
1 1 1
...
7
37
Rehaussement de contours par Laplacien
Principe utilis
dans la plupart
des appareils
numriques
38
Exemples Laplacien (filtre passe haut):
Rehaussement
0 -1 0
-1 8 -1
0 -1 0
0 1 0
1 -4 1
0 1 0
0 0 0
0 4 0
0 0 0
=
39
Filtres passe-haut: filtres de contours
Sobel / Prewitt
| |
(
(
(

=
(
(
(

=
1 0 1
0
1 0 1
1 0 1
1
1
c c c H
x | |
(
(
(


=
(
(
(

=
1 1
0 0 0
1 1
1 1
1
0
1
c
c
c H
y
Sobel c=2
Prewitt c=1
lissage
40
Filtres passe-haut: filtres de contours
MDIF
drivation
(
(
(

=
0 1 0
1 1 1
0 1 0
m
(
(
(


=
1 1 1
0 0 0
1 1 1
0
h
(
(
(

=
1 0 1
1 0 1
1 0 1
2
h
(
(
(
(
(
(



=
0 1 1 1 0
1 2 3 2 1
0 0 0 0 0
1 2 3 2 1
0 1 1 1 0
i
m
(
(
(
(
(
(

=
0 1 0 1 0
1 2 0 2 1
1 3 0 3 1
1 2 0 2 1
0 1 0 1 0
j
m
0
h m-
2
h m-
lissage
Filtrage spatial
Filtrage non-linaire
42
Filtre mdian
Filtre mdian
Particulirement utile pour le bruit poivre et sel (255 et 0): bruit impulsionnel
8
43
Filtre mdian
Median 3x3
Median 5x5
Moyenne 3x3
Moyenne 5x5
44
Filtre mdian
Rduit moins le bruit que le filtre moyenne
Prserve mieux les contours
Implmentation coteuse
45
Filtre adaptatif
Dtection de contours
47
images
ariennes (lments structurants: segments / facettes aux formes
rgulires)
mdicales (formes souples, segmentation du cortex. Techniques de
snakes)
Surveillance de site
dtection de changements, de dfauts. Applications industrielles
suivi de personnes, de mouvements (lvres, mains)
Pralable la reconnaissance de formes
suivi dobjets sur chanes de montage => reconnaissance de formes
identification dobjets dans une base de donnes
reconnaissance de visages
Intrts applicatifs: structuration de la
scne
48
modlisation tridimensionnelle => mise en correspondance
Intrts applicatifs: modlisation 3D
9
49
compression des donnes => extraction des seules
informations coder
Acclration des algorithmes (moins de donnes traiter)
Compromis : approximation / compression
Intrts applicatifs: compression,
acclration
~40 segments ~2000 segments
Dtection de contours
Modlisation mathmatique
51
Extraction de contours
techniques gnrales.
Pralable ncessaire l extraction d autres primitives
(droites, segments, cercles)
Variation brusque de proprits physiques ou gomtriques
de l image donc important pour l analyse
Plusieurs modles de contours. Modle admis: Step-Edge
-5 -4 -3 -2 -1 0 1 2 3 4 5
-0.5
0
0.5
1
1.5
52
Modlisation du problme 1D
Image
Continu-> discret
Maximum de la drive
Passage en zro de f
53
Modlisation du problme 2D
diffrentielle d une fonction dans une direction
n
n
- V =
+ +
=
c
c
+
c
c
=

) , (
) , ( ) , (
lim
). , ( ). , ( ) , (
0
y x f
h
y x f hn y hn x f
n y x
y
f
n y x
x
f
y x f D
y x
h
y x
) , ( ) , ( max
1
y x f y x f D V =
=
n
n
|
|
|
|
.
|

\
|
c
c
c
c
= V
y
f
x
f
f
Recherche des maxima locaux dans la direction du gradient
54
Modlisation du problme 2D
diffrentielle seconde de f
) , ( ) , (

) , (

. ). , (

2 . ). , (

. ). , (

) , (
y x f y x
y
f
y x
x
f
n n y x
x y
f
n n y x
y
f
n n y x
x
f
y x f D
y x y y x x
A =
c
c
+
c
c
~
c c
c
+
c
c
+
c
c
=
2
n
Recherche des passages par zro du laplacien de f
10
55
Modlisation du problme 2D
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
56
Modlisation du problme 2D
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
57
Mise en oeuvre: 4 tapes
Gradient:
calcul du gradient
norme du gradient
maxima locaux dans la direction du gradient
seuillage hystrsis
Laplacien
laplacien
passage par zros
image des passages par zros + norme du gradient
seuillage hystrsis
Dtection de contours
Oprateurs du premier ordre
59
Oprateurs discrets du premier ordre
Approximation immdiate
Roberts
(


=
0 1
1 0
0
H
(

=
1 0
0 1
1
H
) , ( ) , 1 ( y x I y x I
x
I
+ ~
c
c
) , ( ) 1 , ( y x I y x I
y
I
+ ~
c
c
( )
x
I
y
I
c
c
c
c
+ ~ arctan
2
t
u
Sensibilit au bruit.
Anisotropie des dtecteurs
( )
x
I
y
I
c
c
c
c
+ ~ arctan
4
t
u
) , ( ) , (
2 2
y x I y x I I I
y x a
+ = V =
I H I
x
- =
0
I H I
y
- =
1
) , ( ) , (
2 2
y x I y x I I I
y x a
+ = V =
60
Oprateurs discrets du premier ordre
Schma gnral
prfiltrage passe-bas (attnuation du bruit)
calcul du gradient (filtre passe-haut)
sparabilit des filtres
I f -
I f I f - V = - V ) ( ) (

-
c
c
-
c
c
= V - =
I y
y
f
x f
I y f x
x
f
f I f x f f
y
x
y
x
y x
) ( * ) (
) ( * ) (
) ( (y) ) (
Implmentation aise
Lissage suivant une direction Drivation suivant l autre direction
11
61
Oprateurs discrets du premier ordre
Sobel / Prewitt
| |
(
(
(

=
(
(
(

=
1 0 1
0
1 0 1
1 0 1
1
1
c c c H
x | |
(
(
(


=
(
(
(

=
1 1
0 0 0
1 1
1 1
1
0
1
c
c
c H
y
Sobel c=2
Prewitt c=1
lissage
62
Oprateurs du premier ordre directionnels
(
(
(


=
3 3 3
3 0 3
5 5 5
0
H
(
(
(

=
3 3 3
3 0 5
3 5 5
1
H
(
(
(

=
3 3 3
5 0 3
5 5 3
7
H
Kirsh
{ } 7 .. 0 ; max = - i I H
i
i
Gradient retenu
{ } 7 .. 0 ; max arg
4
= - i I H
i
i
t
Orientation
63
Oprateurs du premier ordre. Approche
optimale (Canny-Deriche)
Modle de contour
3 critres (Canny)
bonne dtection.
bonne localisation.
faible multiplicit des rponses.
Equation diffrentielle => forme gnrale du filtre.
Implmentation rcursive infinie (Deriche)
64
Approche optimale (Canny-Deriche)
Modle de contour bruit
-5 -4 -3 -2 -1 0 1 2 3 4 5
-0.5
0
0.5
1
1.5
-5 -4 -3 -2 -1 0 1 2 3 4 5
-1.5
-1
-0.5
0
0.5
1
1.5
2
2.5
-5 -4 -3 -2 -1 0 1 2 3 4 5
-0.5
0
0.5
1
1.5
) ( ) ( ) (
1
x n x Au x C + =

}
+

= - = O dx x u f x C u f C u ) ( ) ( ) ( ) (
On cherche l oprateur optimal f
65
Approche optimale (Canny-Deriche)
Bonne dtection
Bonne localisation
Non multiplicit des rponses
}
}
+


= E
dx x f n
dx x f A
) (
) (
2
0
0
maximum
}
+

= A
dx x f n
f A
) ( '
) 0 ( '
2
0
maximum
}
}
+

+

=
dx x f
dx x f
x
) ( ' '
) ( '
2
2
2
max
t fix
On cherche f drivateur
qui maximise sous la troisime contrainte EA
66
Approche optimale (Canny-Deriche)
Recherche de f sous forme d un RII (Deriche)
Forme finale
) sin( ) ( x e
S
x f
x
e
e
o
=
x
Sxe x g
o
= ) (

-
-
= V - =
=
}
I y g x h
I y h x g
H I y h x h H
g h
) ( * ) (
) ( * ) (
) ( ) ( ) (
12
67
Forme de h et g
Implmentation rcursive en 13 oprations par point
indpendamment de o
Approche optimale (Canny-Deriche)
68
Influence de o
Approche optimale (Canny-Deriche)
o=0.5 o=1 o=2
Adaptation de o au SNR de l image
- o fort: peu de robustesse au bruit, bonne localisation
- o faible: bonne robustesse au bruit, mauvaise localisation
69
Influence de o
Approche optimale (Canny-Deriche)
Adaptation de o au SNR de l image
- o fort: peu de robustesse au bruit, bonne localisation
- o faible: bonne robustesse au bruit, mauvaise localisation
o=0.2 o=0.7 o=1.5
Dtection de contours
Oprateurs du deuxime ordre
71
Oprateur du second ordre. Laplacien
Invariance par rotation
Approximation discrte:
Sensibilit au bruit
(
(
(

=
0 1 0
1 4 1
0 1 0
4
H
(
(
(

=
1 1 1
1 8 1
1 1 1
8
H
72
Oprateur du second ordre. Laplacien
Approche de Marr et Hildreth (1980)
le bruit introduit de fausses dtections
lissage avec un filtre gaussien
calcul du laplacien de l image lisse
recherche des passages par zro
* 2

exp
2
1
) , (
o
to
y x
y x f
+

= ) , ( ) , (
~
y x f y x I I - =
I f I f - A = - A ) ( ) (
Lissage et calcul en une
convolution
Laplacian of gaussian (LOG)
13
73
Oprateurs du second ordre
Avantages
contours ferms
proche du mcanisme de la vision humaine
un seul paramtre
pas de seuil sur l amplitude
possibilit d interpolation subpixellique
Inconvnients
moins bonne localisation des contours
sensibilit au bruit
pas d information d orientation des contours
74
Conclusions:
Oprateurs du premier ordre:
directions du gradient
lissage pralable
oprateurs optimaux (Canny-Deriche)
Oprateurs du second ordre
invariance par rotation
contours ferms
pas de seuil d amplitude
sensibilit au bruit
Dtection de contours
Post traitements
76
Calcul de la norme du gradient
Extraction des maxima locaux dans la direction du
gradient.
Extraire les maxima locaux dans la
direction du gradient. Algorithme
A B C
H P D
G F E
G
1
G
2
Maximum local si
) 2 ( ) (
) 1 ( ) (
G I P I
G I P I
V > V
V > V
) , ( ) , ( ) , (
2 2
y x I y x I y x I
y x
+ = V
Schma
d interpolation
77
Seuillages
Seuillage simple:
1 paramtre: sh
seuillage des points de contour sur le module du gradient
Seuillage hysteresis
principe: garder les points connexes
2 paramtres: sb et sh
schma:
seuiller tous les points de contours sur le seuil bas sb
ne valider que les chanes prsentant au moins un point de contour >
sh
Obtenir plus d ensembles de points connexes. Meilleur chanage

Anda mungkin juga menyukai