Chap5 Filtrage2
Chap5 Filtrage2
Chap5 Filtrage2
6.1) Présentation.
Définition :
j j
O
p
i i i
j j j
O
p
Justification :
Les images possèdent une redondance spatiale importante, ceci implique que les voisins ont
mêmes caractéristiques que le point considéré (niveaux de gris...), il est donc logique de
mettre en oeuvre des traitements basés uniquement sur le voisinage.
Utilités principales :
- Réduction du bruit (filtre moyenneur), par analogie avec le moyennage par accumulation
(redondance temporelle), le filtre moyenneur réduit l’influence du bruit sur des voisins qui
ont pratiquement même niveau de gris.
- Détection de changement de caractéristiques (rupture de redondances) : à l’inverse des
filtres précédents ceux-ci vont détecter des positions où le caractére des voisins est très
différent de celui du point considéré.
Un certain nombre d’opérations locales sont souvent directement associées à des opérations
de filtrage. Le filtrage sera donc étudié dans la suite de ce chapitre. Nous verrons donc tout
d’abord les filtres linéaires non récursifs puis récursifs, les filtres non-linéaires et plus
particulièrement les filtres d’ordre, enfin les particularités d’une mise en oeuvre séquentielles
de ces filtres. Les opérateurs de morphologie mathématique, considérés eux-aussi comme des
traitements locaux, seront vus dans le chapitre suivant.
6.2.1) Généralités.
Le filtrage linéaire non récursif sur des image peut être vu comme une simple extension en
2D du filtrage numérique ou de la convolution. Nous verrons que les méthodes utilisées
peuvent être différentes car les contraintes ne sont pas les mêmes en ce qui concerne les
images.
a) Définition.
Si le filtre n’est pas carré alors les sommes peuvent être sur K et sur K’.
De même que pour un filtre 1D, la réponse impulsionnelle d’un filtre 2D correspond à la suite
des coefficients qui sont dans ce cas positionnés sur une matrice. Cette matrice de coefficients
est souvent appelée masque.
On peut remarquer que la causalité n’a pas à être respectée dans une image. Il est même
recommandé pour des raisons de symétrie d’utiliser des filtres centrés sur la position 0.
b) Exemple de filtrage 2D (Moyenne 3x3).
i i
1 1 1
j 1 1 1 j
1 1 1 Filtrage
1
I F ( i, j ) [ 1 I x (i 1, j 1) 1 I x (i 1, j ) 1 I x (i 1, j 1)
9
1 I x (i, j 1) 1 I x (i, j ) 1 I x (i, j 1)
1 I x (i 1, j 1) 1 I x (i 1, j ) 1 I x (i 1, j 1) ]
* Effet de bords :
Le calcul du filtrage ne peut être effectué sans modification sur les bords de l’image. En effet,
les échantillons qui pourraient servir à calculer les nouvelles valeurs sur les bandes
limitrophes des images ne sont pas connus.
Chaque méthode ne donne qu’une approximation plus ou moins valable sur les bords, cette
zone doit donc être réduite le plus possible sous peine de réduire la zone utilisable de
l ’image.
Ceci implique que les filtres doivent être de taille réduite (nombre de coefficients
réduit).
* Temps de calcul :
Le facteur N² peut être un peu plus faible si les effets de bords sont gérés par mise à 0 des
points que l’on ne peut calculer.
Pour réduire le temps de calcul, les filtres doivent être de taille réduite.
De plus, les images doivent prendre des valeurs entières et les coefficients aussi si
possible.
- C doit être calculé pour que l’image résultat ne dépasse pas la dynamique des traitements
ultérieurs.
- ou C est pris égal à 1 et l’image est stockée en plus grande précision (réel).
Il est intéressant de prendre en compte l’approche fréquentielle car dans la plupart des cas elle
correspond à une expression des besoins :
- filtre passe-bas
- suppression de certaines fréquences...
On peut faire la liaison avec l’approche spatiale décrite par une équation de convolution :
0
0.5
0.5
0
0
-0.5 -0.5
Ce sont les mêmes que pour le filtrage 1D mais avec des spécificités liées à la 2ème
dimension.
a) Linéarité.
Au niveau de l’image
Si I = I1 + I2
Si I = lI1
Au niveau du filtre
b) Composition de filtres.
La composition des filtres est réalisée par la convolution des coefficients des filtres.
1 1 1
* 1 1 1 C’est une convolution en considérant les filtres
----------------- bordés par des 0.
1 1 1
1 1 1 On réalise une multiplication coefficient à coefficient
1 1 1 puis un décalage.
------------------
1 2 3 2 1 Les coefficients intermédaires de même position sont
ajoutés
1 2 3 2 1
1 1 1 1 1 1 2 4 6 4 2
1 1 1 * 1 1 1 -> 3 6 9 6 3
1 1 1 1 1 1 2 4 6 4 2
1 2 3 2 1
La même opération qu’en 1D est effectuée mais en réalisant un décalage dans les 2 directions.
La somme des coefficients est faite pour chaque position.
Les filtres 2D issus d’une composition 2D peuvent donc être mise en oeuvre en 2 fois, ceci
permet de gagner en nombre d’opérations :
Exemple :
Pour un filtre 5x5 issu de la composition de 2 filtres 3x3 :
- en calculant avec le filtre 5x5 : 25 opérations de base sur chaque points de l’image,
- en réalisant 2 opérations de filtrage 3x3 : 2 fois 9 opérations -> 18 opérations.
On peut définir par exemple une composition entre un filtre 1D vertical et un filtre 1D
horizontal.
La composition de ces filtres permet alors de construire un filtre 2D.
Exemple de composition :
1 1 1 1
1 1 1 * 0 -> 0 0 0
1 1 1 1
Cette composition permet de réaliser de manière simple des filtres qui ont des comportements
différents en horizontal et en vertical.
Elle permet aussi de réaliser des gains de temps de calcul si l’on utilise une suite de 2 filtrages
1D à la place du filtrage 2D.
Exemple :
Il n’est pas évident de reconnaître au premier coup d’oeil un filtre à noyau séparable.
Si le filtre est issu d’une composition horizontale-verticale, les lignes ainsi que les colonnes
ont même progression.
d e f
a ad ae af
b bd be bf
c cd ce cf
Ces filtres vont servir à réaliser des opérations de lissage de l’image pour en enlever par
exemple le bruit.
a) Approche intuitive.
Elle consiste à définir des filtres simples en 1D puis de faire une composition (tous les filtres
passe-bas usuels sont à noyau séparable : car ils ont une isotropie de comportement).
Pour des raisons de symétrie dans le comportement, les coefficients des filtres passe-bas
seront en pratique toujours symétriques. Par conséquent, leur réponse en fréquence sera
réelle, et la phase de ces filtres sera nulle quelle que soit la fréquence (ou égale à p si
l’amplitude à certaines fréquences est négative).
Le premier filtre simple et de taille réduite qui vient à l’esprit est un filtre de taille 3
correspondand à une moyenne locale.
Il a un comportement global de passe-bas, mais il existe un lobe vers les hautes fréquences.
1
0.5
0
0 0.1 0.2 0.3 0.4 0.5
3
2
1
0
-1
Frequency R esponse : P hase
-2
-3
0 0.1 0.2 0.3 0.4 0.5
Tout en restant dans la même forme de filtres, on peut en augmenter la taille et étudier le
comportement fréquentiel de ces filtres.
On ne retient que des filtres de taille impaire pour des raisons de positionnement des résultats.
18
7
16
6
14
5 12
4 10
8
3
6
2
4
1 2
0 0
0 0.1 0.2 0.3 0.4 0.5 0 0.1 0.2 0.3 0.4 0.5
La suppression des lobes ne peut être envisagée que par modification des valeurs des
coefficients. Pour la mettre en oeuvre aisément, l’étude va être menée en fréquences.
Approche intuitive fréquentielle.
A partir du filtre de taille 3 : (1 1 1), nous allons utiliser la linéarité pour réaliser une
suppression des lobes.
Si l’on désire que la première annulation ne soit qu’à Fe/2 il est alors nécessaire de remonter
la courbe de réponse en fréquences pour que la valeur la plus négative de la sinusoïde se
retrouve à Fe/2. Il convient donc d’ajouter une valeur constante à toutes les fréquences.
Coefficients Fréquences
3
2.5
2
1 1 1
1.5
1
0.5
0
0 0.1 0.2 0.3 0.4 0.5
3
2.5
2
+3/3 1.5
1
0.5
0
0 0.1 0.2 0.3 0.4 0.5
3.5
2.5
1 2 1 2
1.5
0.5
0
0 0.1 0.2 0.3 0.4 0.5
Dans l’espace des coefficients, il faut donc rajouter un dirac d’amplitude 1 à la position 0
(transformée de Fourier inverse de la valeur constante).
On obtient ainsi le filtre 1 2 1
Remarques :
- lors du passage entre les domaines temps et fréquence, il est nécessaire de bien prendre en
compte le coefficient de normalisation,
- le filtre obtenu (1 2 1) est donc le seul filtre passe-bas sans lobe s’annulant pour Fe/2,
- tous les filtres de taille 3 symétriques (possédant des lobes) sont obtenus par translation de
ce filtre.
Le même raisonnement peut s’appliquer aux filtres de tailles plus importantes. Dans ce cas, la
latitude est plus grande, on peut donc s’imposer d’autres contraintes. Par exemple :
suppression des lobes, annulation à Fe/2, forme régulière, un seul changement de concavité,
décroissance rapide...
Si l’on continue avec la même logique on obtient les filtres de tailles plus importantes par
compositions successives avec le filtre 1 2 1. Le résultat donne d’ailleurs des coefficients de
filtres égaux à ceux du triangle de Pascal.
300
200
1 8 28 56 70 56 28 8 1
150
100
50
0
0 0.1 0.2 0.3 0.4 0.5
Des filtres de formes différentes peuvent être obtenus en imposant d’autres contraintes.
On peut remarquer que, comme prévu, la bande passante des filtres ainsi obtenus décroit
lorsque le nombre de coefficients augmente. Pour une taille donnée, une réduction de bande
passante ne peut être obtenue qu’au prix de lobes aux hautes fréquences.
Dans de nombreux cas un tel compromis est intéressant. Les coefficients des filtres peuvent
être alors obtenus par d’autres méthodes.
Une autre possibilité pour déterminer les coefficients de filtres est d’utiliser des fonctions
définies par des équations paramétrables en taille. Ces fonctions ayant naturellement des
comportements en fréquences proche de ceux désirés.
On peut utiliser, par exemple, des familles de fenêtres de pondération qui ont de bonnes
propriétés de régularité.
2i
Fenêtre de Hamming : h (i ) 0.54 0.46 cos
N
avec N taille du filtre et -N/2 < i < N/2
4
Frequency Response : Modulus
3.5
2.5
1.5
0.5
0
0 0.1 0.2 0.3 0.4 0.5
-1
Frequency Response : Phase
-2
-3
0 0.1 0.2 0.3 0.4 0.5
Cette fonction présente une bonne atténuation et des lobes secondaires très réduits.
2i
Fenêtre de Hanning : h (i ) 0.5 0.5 cos
N
avec N taille du filtre et -N/2 < i < N/2
4
Frequency Response : Modulus
3.5
2.5
1.5
0.5
0
0 0.1 0.2 0.3 0.4 0.5
-2
-3
0 0.1 0.2 0.3 0.4 0.5
On peut voir que les relations pour aboutir à ces 2 fenêtre de pondération diffèrent peu, mais
que les résultats sont sensiblement différents : la fenêtre de Hamming ayant des amplitudes de
lobes plus réduites.
d) Application en 2D.
Nous avons déterminé les caractéristiques des filtres en 1D. Ils pourraient être utilisés tel quel
sur les images en les considérant comme une suite de signaux. Mais l’effet de filtrage
perpendiculairement à un filtre 1D est beaucoup moins important (ce qui peut paraître logique
car la redondance est moins bien utilisée). L’application en 2D devra donc se faire soit par
composition soit par 2 filtrages successifs en lignes et en colonnes.
Les courbes de réponse en fréquences de filtres 2D sont alors aussi des images que l’on peut
représenter en perspective.
Frequency Response : Modulus
300
250
200
150
100
50
0
0.5
0.5
0
0
-0.5 -0.5