FiltrageMSICvSeptemb.. - Aymeric Histace
FiltrageMSICvSeptemb.. - Aymeric Histace
FiltrageMSICvSeptemb.. - Aymeric Histace
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Traitement dImage :<br />
Filtrage d’image<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
1<br />
Plan<br />
n 1. Rappel<br />
n 2. Problématique du filtrage<br />
n 3. Filtres de lissage<br />
n 4. Filtres dérivateurs<br />
n 5. Transformée de Hough<br />
n 6. Restauration : initiation<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
2<br />
1
Plan<br />
n 1. Rappel<br />
n 2. Problématique du filtrage<br />
n 3. Filtres de lissage<br />
n 4. Filtres dérivateurs<br />
n 5. Transformée de Hough<br />
n 6. Restauration : initiation<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
3<br />
1. Rappel<br />
n L'échantillonnage est le procédé de discrétisation<br />
spatiale d'une image consistant à associer à chaque<br />
zone rectangulaire R(x,y) d'une image continue une<br />
unique valeur I(x,y).<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
4<br />
2
1. Rappel<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
5<br />
1. Outils fondamentaux (Rappel)<br />
n La convolution :<br />
q<br />
Soit I une image numérique et h une fonction de [x 1 ,x 2 ] x<br />
[y 1 ,y 2 ] à valeurs réelles.<br />
q La convolution discrète de I par h est définie par :<br />
( I * h)[<br />
x,<br />
y]<br />
x<br />
2<br />
∑ ∑<br />
= 2 1<br />
y<br />
i= x j=<br />
y<br />
1<br />
h(<br />
i,<br />
j).<br />
I[<br />
x − i,<br />
y −<br />
j]<br />
<strong>Aymeric</strong> <strong>Histace</strong> 6<br />
3
1. Outils fondamentaux (Rappel)<br />
n La convolution :<br />
q Propriétés de la convolution :<br />
n Commutativité ;<br />
n Associativité ;<br />
n<br />
Distributivité.<br />
Les nouvelles valeurs du pixel sont calculées par produit scalaire<br />
entre le noyau de convolution et le voisinage correspondant du pixel.<br />
<strong>Aymeric</strong> <strong>Histace</strong> 7<br />
1. Outils fondamentaux (Rappel)<br />
n La convolution :<br />
Pour calculer une<br />
convolution, on remplace la<br />
valeur de chaque pixel par<br />
la valeur du produit<br />
scalaire entre les valeurs<br />
du noyau de convolution et<br />
les valeurs du voisinage du<br />
pixel considéré (par rapport<br />
à l'origine (0,0) du noyau<br />
de convolution).<br />
<strong>Aymeric</strong> <strong>Histace</strong> 8<br />
4
1. Outils fondamentaux (Rappel)<br />
n La transformée de Fourier<br />
q<br />
TF discrète bidimensionnelle directe<br />
F[<br />
u,<br />
v]<br />
=<br />
w<br />
∑∑<br />
− 1 h−1<br />
x=<br />
0 y=<br />
0<br />
f [ x,<br />
y]<br />
e<br />
−2iπ<br />
( ux+<br />
vy )<br />
wh<br />
q<br />
TF discrète bidimensionnelle inverse<br />
1<br />
f [ x,<br />
y]<br />
=<br />
wh<br />
w<br />
∑∑<br />
− 1 h−1<br />
u=<br />
0 v=<br />
0<br />
F[<br />
u,<br />
v]<br />
e<br />
2iπ<br />
( ux+<br />
vy )<br />
wh<br />
<strong>Aymeric</strong> <strong>Histace</strong> 9<br />
1. Outils fondamentaux (Rappel)<br />
n La transformée de Fourier<br />
<strong>Aymeric</strong> <strong>Histace</strong> 10<br />
5
Plan<br />
n 1. Rappel<br />
n 2. Problématique du filtrage<br />
n 3. Filtres de lissage<br />
n 4. Filtres dérivateurs<br />
n 5. Transformée de Hough<br />
n 6. Restauration : initiation<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
11<br />
2. Filtrage dimage<br />
n Le filtrage dimage a pour but :<br />
q Datténuer leffet du bruit dacquisition sur une<br />
image.<br />
q Extraire des caractéristiques de limage<br />
(contours).<br />
q Améliorer le contraste dune image.<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
12<br />
6
2. Filtrage dimage<br />
n En termes de filtrage, on distinguera 2 grands types<br />
de filtre :<br />
q<br />
Les filtres de lissage (atténuation du bruit)<br />
q<br />
Les filtres dérivateurs (extraction des contours,<br />
rehaussement de contraste)<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
13<br />
Plan<br />
n 1. Rappel<br />
n 2. Problématique du filtrage<br />
n 3. Filtres de lissage<br />
n 4. Filtres dérivateurs<br />
n 5. Transformée de Hough<br />
n 6. Restauration : initiation<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
14<br />
7
3. Filtre de lissage<br />
n<br />
n<br />
On s'intéresse ici aux techniques d'amélioration des images<br />
numériques, pour augmenter la qualité de leur rendu visuel, ou pour<br />
faciliter leur analyse.<br />
On cherche donc à atténuer, sinon supprimer une certaine dégradation.<br />
n On distinguera ici :<br />
q<br />
les dégradations liées au bruit : g(x) = f(x)+b(x) ou g(x) = f(x)b(x) liées au<br />
capteur, à la quantification, à la transmission... On les traite en tirant parti<br />
des informations locales par le filtrage.<br />
q<br />
les dégradations convolutives : g(x) = f(x)∗b(x) liées à un mouvement du<br />
capteur ou un défaut de mise au point. On les traite en inversant un<br />
opérateur linéaire, donc supposé connu : ce sont les techniques dites de<br />
restauration.<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
15<br />
3. Filtre de lissage<br />
n Exemples :<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
16<br />
8
3. Filtre de lissage<br />
n<br />
Les filtres de lissage sont des opérateurs qui éliminent<br />
des éléments pertubateurs / non significatifs dans les<br />
images numériques,<br />
q<br />
soit pour améliorer leur visualisation,<br />
q<br />
soit pour les simplifier en but d'un traitement postérieur.<br />
Bruit<br />
gaussien<br />
Bruit<br />
impulsionnel<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
17<br />
3. Filtre de lissage<br />
n<br />
On distingue 3 grands types de filtres de lissage<br />
q<br />
(1) Filtrage dans le domaine de Fourier<br />
q<br />
(2) Filtrage par convolution<br />
q<br />
(3) Filtres non linéaires<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
18<br />
9
3. Filtre de lissage<br />
n<br />
Filtrage passe-bas dans le domaine de Fourier<br />
q<br />
Le filtrage passe-bas est la multiplication dans le domaine<br />
fréquentiel par une fonction porte (fonction indicatrice d'un<br />
intervalle [-u max ,u max ]×[-v max ,v max ]).<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
19<br />
3. Filtre de lissage<br />
n<br />
Filtrage passe-bas dans le domaine de Fourier<br />
TF -1<br />
TF<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
20<br />
10
3. Filtre de lissage<br />
n<br />
Filtrage coupe-bande dans le domaine de Fourier<br />
TF -1<br />
TF<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
21<br />
3. Filtre de lissage<br />
n<br />
Filtrage par convolution<br />
q La multiplication dans le domaine fréquentiel<br />
correspond à la convolution dans le domaine spatial.<br />
q Un grand nombre de filtres de lissage peut être obtenu<br />
à partir de noyaux de convolution symétriques et<br />
normalisés (de somme égale à 1).<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
22<br />
11
3. Filtre de lissage<br />
n<br />
Filtrage par convolution<br />
Les trois types de filtres les plus utilisés sont :<br />
n<br />
n<br />
n<br />
Les filtres moyenneurs<br />
Les filtres gaussiens<br />
Les filtres exponentiels<br />
1<br />
h(<br />
x,<br />
y)<br />
=<br />
2<br />
λ<br />
h<br />
2 2<br />
( x + y )<br />
1 −<br />
2<br />
2σ<br />
( x,<br />
y)<br />
= e<br />
2<br />
2πσ<br />
2<br />
γ<br />
h(<br />
x,<br />
y)<br />
= e<br />
4<br />
−γ<br />
( x + y )<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
23<br />
3. Filtre de lissage<br />
n<br />
Filtrage par convolution : réponse impulsionnelle<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
24<br />
12
3. Filtre de lissage<br />
n<br />
Filtrage par<br />
convolution :<br />
exemples<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
25<br />
3. Filtre de lissage<br />
n<br />
Implantation des filtres de lissage linéaires<br />
q<br />
En traitement d'images, les volumes de données traités sont bien<br />
sûr très importants.<br />
q<br />
La prise en compte du temps de calcul reste un élément majeur<br />
dans les algorithmes en dépit des progrès technologiques<br />
exponentiels des microprocesseurs.<br />
q<br />
L'implantation des filtres linéaires, en particulier ceux dont le<br />
support est grand, voire infini, est un problème incontournable.<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
26<br />
13
3. Filtre de lissage<br />
n<br />
Implantation des filtres de lissage linéaires<br />
q Les méthodes les plus courantes sont :<br />
n<br />
Multiplication dans le domaine de Fourier (La convolution devient une<br />
multiplication)<br />
n<br />
Convolution par noyau tronqué<br />
n<br />
Noyaux séparables<br />
n<br />
Implantation récursive des filtres RII<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
27<br />
3. Filtre de lissage<br />
n<br />
Inconvénients des filtres de lissage linéaires<br />
q<br />
Par convolution : effet de bord<br />
q<br />
Dégradation des contours de limage<br />
q Inefficace sur les bruits de type impulsionnel (« salt and pepper »)<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
28<br />
14
3. Filtre de lissage<br />
n<br />
Filtres non linéaires<br />
q<br />
Deux aspects du lissage sont concernés par le filtrage non<br />
linéaire :<br />
n<br />
Le bruit impulsionnel : les filtres linéaires éliminent mal les<br />
valeurs aberrantes.<br />
n<br />
L'intégrité des frontières : on souhaiterait éliminer le bruit sans<br />
rendre flou les frontières des objets.<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
29<br />
3. Filtre de lissage<br />
n<br />
Filtres non linéaires<br />
q Les principaux filtres non linéaires sont :<br />
n<br />
Les filtres dordre (médian en particulier)<br />
n<br />
Les filtres morphologiques<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
30<br />
15
3. Filtre de lissage<br />
n<br />
Filtres dordre<br />
q<br />
Les filtres d'ordres procèdent en remplaçant les valeurs de<br />
chaque pixel par la valeur qui occupe un certain rang<br />
lorsqu'on trie les valeurs observées dans un certain<br />
voisinage du pixel.<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
31<br />
3. Filtre de lissage<br />
n<br />
Filtres dordre : principe<br />
q Les valeurs dans le voisinage de (x,y) :<br />
V ( x,<br />
y)<br />
= [ a1,<br />
a2,...,<br />
an]<br />
q<br />
Permutation des valeurs dans lordre croissant<br />
V x,<br />
y)<br />
= [ b , b ,..., b<br />
p<br />
(<br />
1 2 k<br />
]<br />
q Le filtre d'ordre de rang k est alors défini par :<br />
ρ ( x , y)<br />
=<br />
k<br />
b k<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
32<br />
16
3. Filtre de lissage<br />
n<br />
Filtres dordre : exemples<br />
q<br />
Pour k=N/2, on parle de filtre médian<br />
q<br />
Pour k=1, on parle dérosion morphologique<br />
q<br />
Pour k=N, on parle de dilatation morphologique<br />
n<br />
Lélément structurant de voisinage na pas<br />
nécessité à être carré<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
33<br />
3. Filtre de lissage<br />
n<br />
Filtres dordre : filtre médian<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
34<br />
17
3. Filtre de lissage<br />
n<br />
Filtres dordre : filtre médian<br />
Effet de bloc<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
35<br />
3. Filtre de lissage<br />
n<br />
Filtres dordre : érosion et dilatation<br />
Erosion<br />
Dilatation<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
36<br />
18
3. Filtre de lissage<br />
n<br />
Filtres morphologiques<br />
q Il existe deux grands types de filtres morphologiques :<br />
n<br />
Le filtre douverture<br />
n<br />
Le filtre de fermeture<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
37<br />
3. Filtre de lissage<br />
n<br />
Ouverture et fermeture<br />
q<br />
L'ouverture morphologique sobtient par la<br />
composition d'une érosion suivie d'une dilatation.<br />
q<br />
La fermeture morphologique est l'opération duale<br />
de l'ouverture : Elle est égale à la composition<br />
d'une dilatation suivie d'une érosion.<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
38<br />
19
3. Filtre de lissage<br />
n<br />
Ouverture et fermeture<br />
q Visuellement :<br />
n<br />
L'ouverture élimine les petites composantes, et<br />
ouvre les petits isthmes.<br />
n<br />
La fermeture bouche les petites trous, et ferme les<br />
petits détroits.<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
39<br />
3. Filtre de lissage<br />
n Ouverture et fermeture ?<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
40<br />
20
3. Filtre de lissage<br />
n Ouverture et fermeture ?<br />
q<br />
Le choix du voisinage est important<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
41<br />
Plan<br />
n 1. Rappel<br />
n 2. Problématique du filtrage<br />
n 3. Filtres de lissage<br />
n 4. Filtres dérivateurs<br />
n 5. Transformée de Hough<br />
n 6. Restauration : initiation<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
42<br />
21
4. Filtres dérivateurs<br />
n<br />
Le modèle différentiel<br />
q<br />
Au premier ordre, on<br />
peut ainsi associer à<br />
chaque point (x,y) un<br />
repère propre (t,g), où le<br />
vecteur t donne la<br />
direction de l'isophote<br />
(ligne de variation<br />
minimale) et g la<br />
direction orthogonale,<br />
celle du gradient.<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
43<br />
4. Filtres dérivateurs<br />
n<br />
Les variations locales d'intensité constituent une source<br />
primordiale d'information en traitement d'images.<br />
n<br />
Elles sont mesurées par le gradient, fonction vectorielle<br />
des pixels [i,j] :<br />
⎛⎛ ∂f<br />
∂f<br />
⎞⎞<br />
∇ f [ i,<br />
j]<br />
= ⎜⎜ [ i,<br />
j],<br />
[ i,<br />
j]<br />
⎟⎟<br />
⎝⎝ ∂x<br />
∂y<br />
⎠⎠<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
44<br />
22
4. Filtres dérivateurs<br />
n<br />
D'autres grandeurs différentielles sont utilisées en traitement<br />
d'images, comme le laplacien, fonction scalaire de [i,j] :<br />
2<br />
2<br />
[ ∂ f ∂ f<br />
Δf<br />
i,<br />
j]<br />
= [ i,<br />
j]<br />
+ [ i,<br />
j]<br />
2<br />
∂x<br />
∂y<br />
2<br />
n ou encore le hessien, fonction matricielle de [i,j] :<br />
H f<br />
2<br />
⎛⎛ ∂ f<br />
⎜⎜ [ i,<br />
j]<br />
2<br />
⎜⎜ ∂x<br />
[ i,<br />
j]<br />
=<br />
⎜⎜<br />
2<br />
∂ f<br />
⎜⎜ [ i,<br />
j]<br />
⎝⎝ ∂x∂y<br />
2<br />
∂ f ⎞⎞<br />
[ i,<br />
j]<br />
⎟⎟<br />
∂x∂y<br />
⎟⎟<br />
2<br />
∂ f ⎟⎟<br />
[ i,<br />
j]<br />
2 ⎟⎟<br />
∂y<br />
⎠⎠<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
45<br />
4. Filtres dérivateurs<br />
n<br />
Le problème du calcul des filtres dérivateurs dans les images<br />
numériques est l'approximation de ces grandeurs<br />
différentielles dans notre espace discret<br />
n<br />
On s'intéresse aussi à leur utilisation dans le cadre du<br />
rehaussement, et de la détection de contours,...<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
46<br />
23
4. Filtres dérivateurs<br />
n Exemples :<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
47<br />
4. Filtres dérivateurs<br />
n Exemples :<br />
q<br />
Limplantation de ces filtres peut se faire comme<br />
précédemment soit dans le domaine fréquentiel<br />
(filtrage passe-haut par exemple)<br />
q<br />
Soit par convolution directe.<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
48<br />
24
4. Filtres dérivateurs<br />
n<br />
Implantation par convolution<br />
q Dérivées directionnelles dordre 1<br />
n<br />
Les approximations les plus simples des dérivées<br />
directionnelles se font par différences finies calculées par<br />
convolution avec des noyaux très simples :<br />
∂f<br />
∂x<br />
[−1,1]<br />
∂f<br />
∂y<br />
⎡⎡−1⎤⎤<br />
⎢⎢ ⎥⎥<br />
⎣⎣ 1 ⎦⎦<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
49<br />
4. Filtres dérivateurs<br />
n<br />
Implantation par convolution<br />
q Dérivées directionnelles dordre 1<br />
n On utilise plus souvent :<br />
∂f<br />
∂x<br />
[−1,0,1]<br />
∂f<br />
∂y<br />
⎡⎡−1⎤⎤<br />
⎢⎢ ⎥⎥<br />
⎢⎢<br />
0<br />
⎥⎥<br />
⎢⎢⎣⎣<br />
1 ⎥⎥⎦⎦<br />
Ces noyaux permettent en effet dobtenir des contours<br />
plus épais mais bien centrés<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
50<br />
25
4. Filtres dérivateurs<br />
n<br />
Implantation par convolution<br />
q Dérivées directionnelles dordre 1<br />
n<br />
Ces opérations étant très sensibles au bruit, on les combine<br />
en général avec un filtre lisseur dans la direction orthogonale<br />
à celle de dérivation<br />
n par exemple par le noyau suivant (ou sa transposée) :<br />
[1,2,1]<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
51<br />
4. Filtres dérivateurs<br />
n<br />
Implantation par convolution<br />
q Dérivées directionnelles dordre 1<br />
n<br />
Le calcul des dérivées directionnelles en x et en y revient<br />
finalement à la convolution avec les noyaux suivants :<br />
f ( i,<br />
j)<br />
= ( f * h )[ i,<br />
j]<br />
x<br />
f ( i,<br />
j)<br />
= ( f * h )[ i,<br />
j]<br />
y<br />
x<br />
y<br />
avec<br />
h x<br />
⎛⎛ −1<br />
⎜⎜<br />
= ⎜⎜−<br />
2<br />
⎜⎜<br />
⎝⎝ −1<br />
0<br />
0<br />
0<br />
1⎞⎞<br />
⎟⎟<br />
2⎟⎟<br />
1⎟⎟<br />
⎠⎠<br />
h y<br />
⎛⎛−1<br />
⎜⎜<br />
= ⎜⎜ 0<br />
⎜⎜<br />
⎝⎝ 1<br />
− 2<br />
0<br />
2<br />
−1⎞⎞<br />
⎟⎟<br />
0 ⎟⎟<br />
1 ⎟⎟<br />
⎠⎠<br />
n<br />
Ce filtre est connu sous le nom de filtre de Sobel<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
52<br />
26
4. Filtres dérivateurs<br />
n<br />
Implantation par convolution<br />
q Dérivées directionnelles dordre 1<br />
n On peut ensuite calculer la norme du gradient :<br />
∇f<br />
( i,<br />
j)<br />
∇f<br />
( i,<br />
j)<br />
n Et son orientation :<br />
2<br />
1<br />
=<br />
=<br />
2<br />
f ( i,<br />
j)<br />
f ( i,<br />
j)<br />
+ f<br />
x<br />
x<br />
2<br />
+ f ( i,<br />
j)<br />
y<br />
y<br />
( i,<br />
j)<br />
⎛⎛ f<br />
arg( ∇f<br />
( i,<br />
j))<br />
= arctan<br />
⎜⎜<br />
⎜⎜<br />
⎝⎝ f<br />
y<br />
x<br />
( i,<br />
j)<br />
⎞⎞<br />
⎟⎟<br />
⎟⎟<br />
( i,<br />
j)<br />
⎠⎠<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
53<br />
4. Filtres dérivateurs<br />
n<br />
Implantation par convolution<br />
q Dérivées directionnelles dordre 1<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
54<br />
27
4. Filtres dérivateurs<br />
n<br />
Implantation par convolution<br />
q Dérivées directionnelles dordre 1<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
55<br />
4. Filtres dérivateurs<br />
n<br />
Implantation par convolution<br />
q Dérivées directionnelles dordre 2<br />
n On utilise le plus souvent :<br />
2<br />
∂ f<br />
2<br />
∂x<br />
[ 1, −2,1]<br />
2<br />
∂ f<br />
2<br />
∂y<br />
⎡⎡ 1 ⎤⎤<br />
⎢⎢ ⎥⎥<br />
⎢⎢<br />
− 2<br />
⎥⎥<br />
⎢⎢⎣⎣<br />
1 ⎥⎥⎦⎦<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
56<br />
28
4. Filtres dérivateurs<br />
n<br />
Implantation par convolution<br />
q Dérivées directionnelles dordre 2<br />
n<br />
Le Laplacien peut donc être estimé par le noyau suivant<br />
⎛⎛0<br />
⎜⎜<br />
⎜⎜1<br />
⎜⎜<br />
⎝⎝0<br />
1<br />
− 4<br />
1<br />
0⎞⎞<br />
⎟⎟<br />
1⎟⎟<br />
0⎟⎟<br />
⎠⎠<br />
4-connexité<br />
⎛⎛1<br />
⎜⎜<br />
⎜⎜1<br />
⎜⎜<br />
⎝⎝1<br />
1<br />
−8<br />
1<br />
1⎞⎞<br />
⎟⎟<br />
1⎟⎟<br />
1⎟⎟<br />
⎠⎠<br />
8-connexité<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
57<br />
4. Filtres dérivateurs<br />
n<br />
Implantation par convolution<br />
q Dérivées directionnelles dordre 2<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
58<br />
29
4. Filtres dérivateurs<br />
n<br />
Rehaussement de contraste<br />
q<br />
Lopération de rehaussement de contraste à base de<br />
filtre dérivateur sobtient de la manière suivante :<br />
R f<br />
( i,<br />
j)<br />
= f ( i,<br />
j)<br />
−γ<br />
. Δf<br />
( i,<br />
j)<br />
q<br />
En soustrayant le Laplacien à l'image originale, on<br />
augmente le contraste.<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
59<br />
4. Filtres dérivateurs<br />
n<br />
Rehaussement de contraste<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
60<br />
30
4. Filtres dérivateurs<br />
n Filtrage optimal :<br />
q Les dérivations présentées consistent à convoluer<br />
l’image par des masques de petites dimensions.<br />
q Ces approches sont donc dépendantes de la taille<br />
des objets traités, elles sont aussi très sensible au<br />
bruit.<br />
q Un autre type d’approche repose sur la définition de<br />
critères d’optimalité de la détection de contours;<br />
ces critères débouchant sur des filtres optimaux.<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
61<br />
4. Filtres dérivateurs<br />
n<br />
Filtrage optimal : critère de Canny<br />
q On se place dans le cas monodimensionnel.<br />
q On suppose que la détection est effectuée en<br />
convoluant le signal par un filtre de réponse<br />
impulsionnel h, les contours étant caractérisés par<br />
les extrema de la sortie du filtre.<br />
q Les contours envisagés ici sont des contours de<br />
types marche et le bruit est supposé blanc (de<br />
moyenne nulle).<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
62<br />
31
4. Filtres dérivateurs<br />
n<br />
Filtrage optimal : critère de Canny<br />
q Les critères d’optimalités sont :<br />
n<br />
détection : le contour doit être détecté, il faut minimiser les<br />
fausses réponses ;<br />
n<br />
localisation : le contour doit être localisé avec précision, il<br />
s’agit de minimiser la distance entre les points détectés et le<br />
vrai contour ;<br />
n<br />
réponse unique : il s’agit de minimiser le nombre de<br />
réponse pour un seul contour.<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
63<br />
4. Filtres dérivateurs<br />
n<br />
Filtrage optimal : critère de Canny<br />
q La minimisation de ces critères dans le contexte du<br />
modèle proposé débouche sur une équation<br />
différentielle dont la solution est de la forme :<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
64<br />
32
4. Filtres dérivateurs<br />
n<br />
Filtrage optimal : critère de Canny<br />
q<br />
La réponse impulsionnelle h est très souvent approximée par<br />
une dérivée de Gaussienne :<br />
h(x) ! "xe " x2<br />
2! 2 <strong>Aymeric</strong> <strong>Histace</strong><br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
65<br />
4. Filtres dérivateurs<br />
n<br />
Filtrage optimal : critère de Canny<br />
q<br />
En 2D : application de 2 filtres croisés<br />
h x<br />
(x, y) ! "xe " x2<br />
2! 2 e " y2<br />
2! 2<br />
h y<br />
(x, y) ! "ye " x2<br />
2! 2 e " y2<br />
2! 2<br />
66<br />
33
4. Filtres dérivateurs<br />
n<br />
Filtrage optimal : critère de Canny<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
67<br />
4. Filtres dérivateurs<br />
n<br />
Filtrage optimal : critère de Canny-Deriche<br />
q<br />
Modèle du filtre de Canny avec Réponse Impulsionnelle infinie<br />
(RII)<br />
h(x) = !ce !! x sin("x)<br />
avec<br />
c = (1! e!! 2 )<br />
e !!<br />
(normalisation)<br />
q<br />
Implantation récursive simple en 2D<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
68<br />
34
4. Filtres dérivateurs<br />
n<br />
Filtrage optimal : critère de Canny-Deriche<br />
q<br />
q<br />
q<br />
α joue le rôle d’un facteur d’échelle<br />
α faible : bonne localisation mais peu de robustesse au bruit<br />
α élevé : bonne robustesse mais mauvaise localisation<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
69<br />
4. Filtres dérivateurs<br />
n<br />
Filtrage optimal : autres critères<br />
q<br />
Shen-Castan<br />
h(x) = c.sign(x)e !! x<br />
q<br />
Spacek, Petrou<br />
q<br />
…<br />
α joue sur la<br />
largeur du filtre<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
70<br />
35
Plan<br />
n 1. Rappel<br />
n 2. Problématique du filtrage<br />
n 3. Filtres de lissage<br />
n 4. Filtres dérivateurs<br />
n 5. Transformée de Hough<br />
n 6. Restauration initiation<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
71<br />
5. Transformée de Hough<br />
5.1 Introduction<br />
n<br />
La transformée de Hough a été développé par Paul Hough en<br />
1962, et a été breveté par IBM.<br />
n<br />
Dans les dernières décennies, la transformée de Hough est<br />
devenu un outils standard dans le domaine de la vision artificielle.<br />
n<br />
Elle permet la détection de droites, de cercles ou d'ellipses de<br />
façon traditionnelle .<br />
n<br />
Elle peut aussi être étendue a des cas de description d'objets plus<br />
complexes.<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
72<br />
36
5. Transformée de Hough<br />
5.2 Principe (détection de droite)<br />
n<br />
Une droite est caractérisée par deux paramètres a et b<br />
tels que y = ax+b.<br />
n<br />
La transformée de Hough va permettre de faire un<br />
mapping entre les coordonnées d'un pixel et l'espace<br />
des paramètres (a,b).<br />
n<br />
Pour cela deux tactiques possibles. Soit utiliser la<br />
transformation de 1 à m, soit de m à 1.<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
73<br />
5. Transformée de Hough<br />
5.2 Principe (détection de droite)<br />
n<br />
En effet on peut lire l’équation d'une droite de deux<br />
manières :<br />
q Soit par la lecture traditionnelle qui nous indique que y=ax+b :<br />
tous les points (x,y) vérifiant cette équation seront associés au<br />
même couple (a,b) dans l'espace des paramètres (En<br />
l'occurrence, il nous faudra simplement un bipoint pour définir<br />
complétement notre droite).<br />
q<br />
Soit on peut lire b = -ax + y, alors un couple (x,y) de l'image<br />
sera projeté en une droite de l'espace de paramètres (a,b).<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
74<br />
37
5. Transformée de Hough<br />
5.2 Principe (détection de droite)<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
75<br />
5. Transformée de Hough<br />
5.2 Principe (détection de droite)<br />
n<br />
Ensuite pour étudier l'existence de droites il faut se pencher sur<br />
l'espace des paramètres.<br />
n<br />
Celui-ci, si tout c'est bien passé, doit présenter des<br />
regroupements traduisant l'existence de l'objet recherché.<br />
n<br />
Une étude des différents maximum doit être alors effectuée. Il faut<br />
savoir à partir de quel moment un regroupement de point est<br />
significatif.<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
76<br />
38
5. Transformée de Hough<br />
5.2 Principe (détection de droite)<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
77<br />
5. Transformée de Hough<br />
5.2 Principe (détection de droite)<br />
n<br />
Cette étape est en général délicate, le bruit causé par les autres<br />
éléments de l'image peuvent perturber la détection des objets<br />
recherchés.<br />
n<br />
D'autre part si les objets sont trop nombreux on peut aussi avoir<br />
du mal a les repérer.<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
78<br />
39
5. Transformée de Hough<br />
5.2 En pratique (détection de droite)<br />
n<br />
1. Appliquer une détection de contours à l’image<br />
n<br />
2. Discrétiser le plan des paramètres (a,b)<br />
n<br />
3. Initialiser un accumulateur<br />
n<br />
4. Pour chaque point sur un contour<br />
q 1. Déterminer sa droite image dans l’espace des paramètres<br />
q 2. Incrémenter l’accumulateur sur les points de cette droite<br />
n<br />
5. Recherche des maxima, i.e. paramètres des droites présentes.<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
79<br />
5. Transformée de Hough<br />
5.2 En pratique (détection de droite)<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
80<br />
40
5. Transformée de Hough<br />
5.2 En pratique (détection de droite)<br />
n Défauts :<br />
q<br />
L’espace des paramètres doit être borné et discrétisé pour une<br />
implantation réelle<br />
q<br />
Une droite verticale ne peut pas être représentée (a tend vers<br />
l’infini)<br />
n Solution :<br />
q<br />
Utiliser un autre couple de paramètres que (a,b)<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
81<br />
5. Transformée de Hough<br />
5.2 L’espace (s,θ) (détection de droite)<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
82<br />
41
5. Transformée de Hough<br />
5.2 L’espace (s,θ)<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
83<br />
5. Transformée de Hough<br />
5.2 L’espace (s,θ) (droite)<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
84<br />
42
5. Transformée de Hough<br />
5.3 Détection de cercle<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
85<br />
5. Transformée de Hough<br />
5.3 Détection de cercle<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
86<br />
43
5. Transformée de Hough<br />
5.3 Détection de cercle :<br />
Application à la détection de polype en videocoloscopie (dépistage<br />
du cancer colorectal)<br />
Exemples d’images acquises<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
87<br />
5. Transformée de Hough<br />
5.3 Détection de cercle :<br />
Application à la détection de polype en vidéocoloscopie (dépistage<br />
du cancer colorectal)<br />
Hough<br />
Détection<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
88<br />
44
5. Transformée de Hough<br />
5.3 Détection de cercle :<br />
Application à la détection de polype en vidéocoloscopie (dépistage<br />
du cancer colorectal)<br />
Detection edge<br />
Hough<br />
Détection<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
89<br />
5. Transformée de Hough<br />
5.3 Détection de cercle :<br />
Application à la détection de polype en vidéocoloscopie (dépistage<br />
du cancer colorectal)<br />
Detection edge<br />
Hough<br />
Détection<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
90<br />
45
5. Transformée de Hough<br />
5.4 Généralisation<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
91<br />
5. Transformée de Hough<br />
5.4 Généralisation<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
92<br />
46
Plan<br />
n 1. Rappel<br />
n 2. Problématique du filtrage<br />
n 3. Filtres de lissage<br />
n 4. Filtres dérivateurs<br />
n 5. Transformée de Hough<br />
n 6. Restauration initiation<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
93<br />
6. Restauration : initiation<br />
n Problématique :<br />
q<br />
On se place dans le cadre où limage est dégradée de<br />
manière convolutive : i(x,y) = b(x,y)∗h(x,y).<br />
q<br />
Ces dégradation sont liées à un mouvement du capteur ou<br />
un défaut de mise au point.<br />
q<br />
On les traite en inversant un opérateur linéaire, donc<br />
supposé connu.<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
94<br />
47
6. Restauration : initiation<br />
n Problématique :<br />
q<br />
Dans le domaine spectrale : I(u,v)=B(u,v).H(u,v)<br />
q<br />
On cherche donc une fonction de transfert H(u,v) telle<br />
que :<br />
o ( x,<br />
y)<br />
= i(<br />
x,<br />
y)*<br />
h'(<br />
x,<br />
y)<br />
q<br />
Avec<br />
o( x,<br />
y)<br />
≈ b(<br />
x,<br />
y)<br />
q<br />
Soit<br />
O ( u,<br />
v)<br />
= I(<br />
u,<br />
v).<br />
H'(<br />
u,<br />
v)<br />
= B(<br />
u,<br />
v).<br />
H(<br />
u,<br />
v).<br />
H'(<br />
u,<br />
v)<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
95<br />
6. Restauration : initiation<br />
n Problématique :<br />
q<br />
On en conclut donc que H(u,v).H(u,v)=1<br />
q Et que h(x,y) est telle que :<br />
H '( u,<br />
v)<br />
=<br />
1<br />
H(<br />
u,<br />
v)<br />
q<br />
Problèmes : Solution instable si H(u,v)=0<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
96<br />
48
6. Restauration : initiation<br />
n Solution n°1<br />
q On construit H(u,v) de la manière suivante :<br />
1<br />
H'(<br />
u,<br />
v)<br />
=<br />
H(<br />
u,<br />
v)<br />
+ C<br />
q<br />
Avec C une constante positive telle que H(u,v) >> C<br />
q Si H(u,v) tend vers 0 alors H(u,v) tend vers 1/C<br />
(saturation)<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
97<br />
6. Restauration : initiation<br />
n Solution n°1<br />
q<br />
Résultat<br />
q<br />
Problème : Artefacts HF très visibles (amplification en 1/C)<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
98<br />
49
6. Restauration : initiation<br />
n Solution n°2<br />
q On construit H(u,v) de la manière suivante :<br />
H(<br />
u,<br />
v)<br />
H' ( u,<br />
v)<br />
=<br />
2<br />
H ( u,<br />
v)<br />
+ C<br />
q<br />
Avec C une constante positive telle que H 2 (u,v) >> C<br />
q Si H(u,v) tend vers 0 alors H(u,v) tend vers 0<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
99<br />
6. Restauration : initiation<br />
n Solution n°2<br />
q<br />
Résultat<br />
q<br />
Proche du filtrage optimal<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
100<br />
50
6. Restauration : initiation<br />
n Filtrage optimal : Filtre de Wiener<br />
q On construit H(u,v) de façon à ce que :<br />
H ( u,<br />
v)<br />
H '( u,<br />
v)<br />
=<br />
2 Φ<br />
H ( u,<br />
v)<br />
+<br />
Φ<br />
nn<br />
bb<br />
q<br />
Φ ab (u,v) étant la TF de la corrélation entre a(x,y) et b<br />
(x,y)<br />
q<br />
n(x,y) représentant un bruit additif détériorant limage<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
101<br />
6. Restauration : initiation<br />
n Filtrage optimal : Filtre de Wiener<br />
q<br />
Rappel : fonction de corrélation entre a(x,y) et b(x,y)<br />
q<br />
Φ aa (x,y) : autocorrélation<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
102<br />
51
6. Restauration : initiation<br />
n Filtrage optimal : Filtre de Wiener<br />
q<br />
Construction de H(u,v) : on cherche à minimiser une<br />
fonction énergétique caractérisant la qualité de<br />
restauration :<br />
q<br />
Avec d(x,y) limage désirée et o(x,y)=i(x,y)*h(x,y)<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
103<br />
6. Restauration : initiation<br />
n Filtrage optimal : Filtre de Wiener<br />
q Ainsi :<br />
q<br />
Or par définition<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
104<br />
52
6. Restauration : initiation<br />
n Filtrage optimal : Filtre de Wiener<br />
q Et donc :<br />
q<br />
De plus<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
105<br />
6. Restauration : initiation<br />
n Filtrage optimal : Filtre de Wiener<br />
q Donc :<br />
q<br />
Or<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
106<br />
53
6. Restauration : initiation<br />
n Filtrage optimal : Filtre de Wiener<br />
q Enfin :<br />
q<br />
Il sagit du critère à minimiser (voir cours approche<br />
variationnel pour déterminer h(x,y))<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
107<br />
6. Restauration : initiation<br />
n Filtrage optimal : Filtre de Wiener<br />
q<br />
Solution (Euler-Lagrange):<br />
q Soit :<br />
ou<br />
Domaine<br />
fréquentielle<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
108<br />
54
6. Restauration : initiation<br />
n Filtrage optimal : Filtre de Wiener<br />
q<br />
Solution : Cas du bruit additif<br />
Avec d(x,y) =b(x,y)<br />
q<br />
Donc<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
109<br />
6. Restauration : initiation<br />
n Filtrage optimal : Filtre de Wiener<br />
q<br />
Hypothèse : bruit non corrélé aux données<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
110<br />
55
6. Restauration : initiation<br />
n Filtrage optimal : Filtre de Wiener<br />
q<br />
Solution : Cas de détériorations convolutive et additive<br />
Avec d(x,y) =b(x,y)<br />
q<br />
Donc<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
111<br />
6. Restauration : initiation<br />
n Filtrage optimal : Filtre de Wiener<br />
q<br />
Même hypothèse sur le bruit<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
112<br />
56
6. Restauration : initiation<br />
n Filtrage optimal : Filtre de Wiener<br />
q<br />
Résultat (flou)<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
113<br />
6. Restauration : initiation<br />
n Filtrage optimal : Filtre de Wiener<br />
q<br />
Résultat (flou+bruit)<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
114<br />
57
Bibliographie<br />
n J.P. Cocquerez et S. Philipp « Analyse d'images : filtrage et segmentation » Masson 1995.<br />
n R.C. Gonzalez et Woods « Digital Image Processing - 2d edition » Addison Wesley 2002.<br />
n A. Rosenfeld et A.C. Kak « Digital picture processing » Academic Press - London 1982.<br />
n H. Maître (ss la direction de) « Le traitement des images » Hermes Lavoisier IC2 2003.<br />
n J.R. Parker « Algorithms for Image Processing and Computer Vision » Wiley & Sons 1997.<br />
n<br />
S. Bres, J.M. Jolion, F. Lebourgeois « Traitement et analyse des images numériques»<br />
Hermes Lavoisier 2003<br />
n I.T. Young, J.J. Gerbrands et L.J. Van Vliet « Fundamentals of Image Processing »<br />
Université de Delft.<br />
http://www.ph.tn.tudelft.nl/~lucas/publications/1995/FIP95TYJGLV/FIP2.2.pdf)<br />
n D. Lingrand « Introduction au Traitement d'images » Vuibert 2004.<br />
<strong>Aymeric</strong> <strong>Histace</strong><br />
115<br />
58