Vous êtes sur la page 1sur 23

Cours de traitement d’images

Chapitre III
Filtrage et Prétraitement

III.1 INTRODUCTION
L’image à traiter comporte une grande quantité de données qui est généralement
bruitée par des pixels indésirables qui pourraient modifier l’information utile.
Généralement, le bruit d’image est considéré comme un champ aléatoire centré additif qui
peut provenir soit du dispositif d’acquisition (influences magnétiques…) soit de la scène elle-
même (lumière parasite…) [11], [12].
Le filtrage (ou lissage local) consiste à diminuer ou supprimer le bruit de manière
indépendante du dispositif d’acquisition en étudiant, pour chaque pixel, les valeurs d’intensité
sur son voisinage. Cette première étape a pour but d’améliorer au maximum l’image afin que
le traitement suivant soit optimal en temps de calcul et en qualité. [13]
L’étape de prétraitement a deux objectifs :

ƒ augmenter le rapport signal sur bruit S/B.

ƒ accroître la corrélation spatiale dans les images

III.2 TYPES DU BRUIT


Il existe plusieurs sortes de bruits :
- bruit additif : g(x, y) = f(x, y) + b(x, y)
- bruit multiplicatif : g(x, y) = f(x, y) × b(x, y)
- bruit convolutif : g(x, y) = f(x, y) * b(x, y)
Où : g(x, y) : l’image bruitée, f(x, y) : L’image originale, b(x, y) : le bruit.
Nous allons voir comment retirer les bruits additifs, qui sont les plus rependus.
III.2.1 Caractérisation
Nous allons caractériser un bruit grâce aux statistiques (Fonction de densité de
probabilité du bruit) [14],[15].

1
Université de Béchar Dr BELADGHAM Mohammed
Cours de traitement d’images

a - Bruit uniforme
Il varie entre 2 valeurs a et b
1 /(b − a ) si a ≤ z ≤ b
pv ( z ) =  III.1
0 sinon

Pv(z)

z
a b

Image bruitée Bruit uniforme

Figure III.1 : Représentation du bruit uniforme

b- Bruit impulsionnel (Sel et Poivre)

 Pa si z= a

p v ( z ) =  Pb si z =b III.2
0 sinon

Pv(z)

z
a b

2
Université de Béchar Dr BELADGHAM Mohammed
Cours de traitement d’images

Image bruitée Bruit Sel et Poivre

Figure III.2 : Représentation du bruit Sel et Poivre

c- Bruit gaussien

La densité de probabilité du bruit gaussien est en fonction de la moyenne µ et l’écart-type


σ.
( z − µ )2
1 −
pv ( z) = e 2σ 2
III.3
σ 2π

pv (z )
1
σ 2π

0,607
σ 2π

µ −σ µ µ +σ z

Image bruitée Bruit gaussien


Figure III.3 : Représentation du bruit gaussien

3
Université de Béchar Dr BELADGHAM Mohammed
Cours de traitement d’images

Les autres bruits sont liés à des techniques d'acquisition particulières


d- Bruit exponentiel

ae − az si z ≥ 0
pv ( z ) =  III.4
0 sinon
pv(z)
a

Image bruitée Bruit Exponentiel


Figure III.4 : Représentation du bruit Exponentiel

e- Bruit de Rayleigh

2
2
( z −a )

 ( z − a) e b si z ≥ a
pv ( z ) =  b III.5
0 sinon

pv(z)
2
0,607
b

a b z
a+
2

4
Université de Béchar Dr BELADGHAM Mohammed
Cours de traitement d’images

Image bruitée Bruit de Rayleigh

Figure III.5 : Représentation du bruit Rayleigh

III.3 FILTRAGE SPATIAL [10]


Le filtrage spatial est essentiellement une opération de convolution (2D). Si f est
l’image à filtrer (ou à rehausser) et g le filtre spatial (ou PSF - Point Spread Function ou
masque) on a :
G est la fonction de transfert du filtre. On peut distinguer trois types de filtrage :

Passe-bas Passe-haut Passe-Bande

v v v
-a-
Domaine spectral

-b-
Domaine spatial

Figure III.6 : Trois types de filtrage

1. Le filtre Passe-bas diminue le bruit mais atténue les détails de l’image (flou plus prononcé).
2. Le filtre Passe-haut accentue les contours et les détails de l’mage mais amplifie le bruit.

5
Université de Béchar Dr BELADGHAM Mohammed
Cours de traitement d’images

3. Le filtre Passe-bande élimine certaines fréquences indésirables présentes dans l’image.

III.3.1 Filtres linéaires [8],[11]

Une première classe d’approche est basée sur la redondance d’informations. La


nouvelle valeur d’un pixel est calculée par moyennage des valeurs sur un voisinage. Cette
opération linéaire peut être vue comme la convolution discrète de l’image par un masque. En
effet, l’image filtrée g est obtenue par l’équation de convolution selon l’expression suivante :

x2 y2
g ( x, y ) = ( f * M )( x, y ) = ∑ ∑ f ( x − i, y − j ) M (i, j ) III.6
i = x1 j = y1

On ne fait pas en général une convolution globale mais une transformation locale, basée sur le
voisinage d’un point x, y :

Transformation

(x,y)

Image originale Image filtrée

Figure III.7 : Convolution locale

Le noyau de convolution (ou masque) du filtre M est à support compact inclus dans
[x1, x2]x [y1, y2] :

Généralement le filtre est de dimensions di impaires et est symétrique. Dans ce cas

[x1 , x2 ]= − d1 , d1  et [ y1 , y 2 ]= − d 2 , d 2 


 2 2  2 2

6
Université de Béchar Dr BELADGHAM Mohammed
Cours de traitement d’images

( d1 −1) / 2 ( d 2 −1) / 2
( f * M )( x, y ) = ∑ ∑ f ( x − i, y − j ) M (i, j )
i = − ( d1 −1) / 2 j = − ( d 2 −1) / 2
III.7

(x-1,y-1) (x,y-1) (x+1,y-1)


m1 m2 m3 y-1
m4 m5 m6 y
(x-1,y) (x,y) (x+1,y)
m7 m8 m9 y+1

x-1 x x+1
(x-1,y+1) (x,y+1) (x+1,y+1)

Figure III.8 : Masque du filtre pour d1=d2

Ici d1= d2= d=3. On ne filtre pas les bords pour éviter des distorsions ; donc M (0,0) = m5

Sur cet exemple on a précisément :

g ( x, y ) = m1 f ( x − 1, y − 1) + m2 f ( x, y − 1) + m3 f ( x + 1, y − 1)
+ m4 f ( x − 1, y ) + m5 f ( x, y ) + m6 f ( x + 1, y ) III.8
+ m7 f ( x − 1, y + 1) + m8 f ( x, y + 1) + m9 f ( x + 1, y + 1)

Afin de conserver la moyenne de l’image f, la somme des éléments du filtre est normalisée à
1: ∑m
i
i =1

Un filtre 2D est dit séparable s’il est possible de décomposer le noyau de convolution
h2D en deux filtres 1D appliqués successivement en horizontal puis en vertical (ou
inversement) :

h2 D = h1VD ⊗ h1HD III.9

Où le symbole ⊗ désigne le produit tensoriel. On peut alors traiter séparément les lignes et les
colonnes de l’image.
Pour qu’un filtre 2D soit séparable il faut et il suffit que les coefficients de ses lignes et de ses
colonnes soient proportionnels.

7
Université de Béchar Dr BELADGHAM Mohammed
Cours de traitement d’images

Exemple : (Filtres séparables).


Ils sont obtenus comme suit. En pratique cela revient à faire un produit matriciel.

α aα bα cα α
a b c ⊗ β = aβ bβ cβ = β x a b c
γ aγ bγ cγ γ

Figure III.9 : Filtres séparables

a- Filtre moyenneur

Ce filtre calcule la moyenne de niveaux de gris situés dans une fenêtre carrée. Puis, il
remplace la valeur du pixel central par cette moyenne.

1 1 1 1 1
1 1 1 1 1 1 1 1
1 1
× 1 1 1 × 1 1 1 1 1
9 1 1 1 25 1 1 1 1 1
1 1 1 1 1
Figure III.10 : Filtres moyenneur 3x3 et 5x5 respectivement

Exemple 1 :

Nouvelle valeur
Nouvelle image de pixel

Noyau  (1 × 51) + (1 × 21) + (1 × 14) + 


 
 (1 × 9) + (1 × 9) + (1 × 19) +  / 9 = 21
 (1 × 19) + (1 × 22) + (1 × 27) 
Image originale  

Figure III.8 : Exemple d’un filtre moyenneur

8
Université de Béchar Dr BELADGHAM Mohammed
Cours de traitement d’images

On peut généraliser ce filtre par l’expression suivante :

1
M = (2a + 1,2a + 1) , a∈ N * III.10
(2a + 1) 2

Exemple 2 :

Image originale

Filtre moyenneur 3x3 Filtre moyenneur 5x5

Figure III.11 : Exemple du filtre moyenneur

b- Filtre moyenneur pondéré

Il est basé sur le même principe que celui du filtre moyenneur mais dans ce cas il
s’agit d’une opération de lissage en 5 points, 9 points etc…

9
Université de Béchar Dr BELADGHAM Mohammed
Cours de traitement d’images

0 1 0 
1 
ƒ Le masque de lissage en 5 points : M = × 1 2 1
6
0 1 0

1 1 1
1 
ƒ Le masque de lissage en 9 points : M = × 1 2 1
10
1 1 1

Les filtres linéaires sont simples mais ils introduisent le phénomène de flou qui altère
parfois de façon dramatique les informations utiles. C’est pourquoi les algorithmes non
linéaires ont été développés.

c- Filtre gaussien

C’est un filtre linéaire optimal. Le masque de convolution de ce filtre est obtenu en


utilisant la fonction gaussienne 2D d’écart-type σ :

i2 + j2
1 −( )
gσ (i, j ) = e 2σ 2 III.11
(σ 2π ) 2

Figure III.12 : Fonction gaussienne 2D

La taille du masque (noyau) est généralement carré impaire ( N × N ) .


Le paramètre σ s’appelle la déviation standard, il détermine la largeur de la cloche
Gaussienne.
Exemple 1:
La figure suivante présente quelques exemples de la fonction gaussienne dans l’espace
et dans un plan pour quelques valeurs de σ .
10
Université de Béchar Dr BELADGHAM Mohammed
Cours de traitement d’images

σ 2 = 0,25

σ 2 =1

σ 2 =4

Figure III.13 : Fonction gaussienne pour différentes valeurs de σ

Pour déterminer le masque du filtre gaussien, on a besoin de l’écart-type σ et de la taille du


noyau.

Exemple 2:
Si par exemple σ = 0.8 , N= 3 ; on a le filtre 3x3 suivant :

g(-1,-1) g(0,-1) g(1,-1) 1 2 1


g(-1,0) g(0,0) g(1,0) 1 2 4 2
×
16
g(-1,1) g(0,1) g(1,1) 1 2 1

et σ = 1, N= 5 on a le filtre 5x5 suivant :

g(-2,-2) g(-1,-2) g(0,-2) g(1,-2) g(2,-2) 1 4 6 4 1


g(-2,-1) g(-1,-1) g(0,-1) g(1,-1) g(2,-1) 4 18 30 18 4
g(-2,0) g(-1,0) g(0,0) g(1,0) g(2,0) 1
× 6 30 48 30 6
300
g(-2,1) g(-1,1) g(0,1) g(1,1) g(2,1) 4 18 30 18 4
g(-2,2) g(-1,2) g(0,2) g(1,2) g(2,2) 1 4 6 4 1

11
Université de Béchar Dr BELADGHAM Mohammed
Cours de traitement d’images

Remarque : Il faut noter que plus σ est grand, plus le flou appliqué à l’image sera marqué.

Exemple 3:

Masque gaussien 7x7 Masque gaussien 15x15

Figure III.11 : Exemple du filtre gaussien

Avantages :

- Le seul filtre linéaire causal (n’introduit pas d’artefact, de nouvelle structure).


- Filtre séparable : gaussienne 2D = produit de deux Gaussiennes 1D.
- Implémentations efficaces.
Inconvénients :
- la taille du filtre dépend directement de l’écart type de la Gaussienne.
- Gros lissage => gros écart type => gros filtre => gros temps de calcul et gros problèmes
de bords.
- Mélange de structures voisines.
- Perte de contraste.
- Délocalisation des bords.

III.3.2 Filtres non linéaires


La différence entre les deux catégories de filtres réside dans le fait que les filtres
linéaires calculent la valeur du pixel central en fonction de sa valeur initiale et de celle de ces
proches voisins. Par contre les filtres non linéaires sélectionnent la valeur d’un seul pixel
appartenant à la fenêtre d’analyse. Nous nous intéressons à trois variétés de ce filtre [8],[10].

12
Université de Béchar Dr BELADGHAM Mohammed
Cours de traitement d’images

a- Filtre médian

Le filtre médian consiste à définir le vecteur de données de la fenêtre en cours, trier


ces éléments par ordre croissant ou décroissant et enfin prendre le pixel médian qui se trouve
au milieu du vecteur de données.

Exemple 1:
bruit
30 10 20
10 250 25 10 10 20 20 25 25 30 30 250
20 25 30
La médiane

30 10 20
10 25 25
20 25 30

Exemple2 :

Ordonnée par valeur


de pixel
10 5 4

3 3 2
19 2
3
3
10 5 4 10 5 4 10 5
4
3 25 3 3 25 3 3 25
5 Valeur Médiane
19 18 2 19 18
19 18 2 10
10 5 4 10 5 4 10 10 5 18
3 25 3 3 25 3 3 3 25 19
19 18 2 19 18 2 19 19 18 25
5

On remplace la valeur du pixel central par la valeur médiane. Ce filtre est utile pour contrer
l’effet «Sel et Poivre » (P& S) c’est-à-dire des faux « 0 » et « 255 » dans l’image.

b- Filtre maxmédian

Le maxmédian fait partie de la famille des filtres multi étages où :

13
Université de Béchar Dr BELADGHAM Mohammed
Cours de traitement d’images

ƒ Le premier étage agit directement sur la fenêtre d’analyse formée de plusieurs


filtres médians agissant dans les directions horizontale, verticale et diagonale.

ƒ Le deuxième étage traite la sortie des filtres médians en sélectionnant le


maximum des valeurs obtenues.

Filtre max : R = max{Zk|k=1,2,…,9}

Pour trouver les points clairs. Utile pour éliminer le "poivre".

c- Filtre minmédian

Filtre min : R = min{Zk|k=1,2,…,9}

Pour trouver les points sombres. Utile pour éliminer le "sel".

d- Filtre de Nagao [14]


Ce filtre est également appelé filtre à sélection de voisinage. On examine l’ensemble
des voisins contenu dans un carré 5x5 centré sur (x,y) :

{
D( x, y ) = ( x, y ) + b ; b∈{ − 2 , + 2}
2
} III.12

On considère ensuite 9 ensembles Di ( x, y ) ⊂ D( x, y ) , i ∈ {1, 9 } , comme représenté


sur la figure III.12.

D1 D2 D3

D4 D5 D6

D7 D8 D9

Figure III.12 : Les différents sous-ensembles du voisinage 5x5 utilisés


pour le calcul du filtre de Nagao

Pour chaque domaine Di ( x, y ) , on calcule la moyenne moyi ( x, y ) et la variance vari ( x, y ) .

14
Université de Béchar Dr BELADGHAM Mohammed
Cours de traitement d’images

Le résultat du filtre de Nagao consiste à remplacer la valeur du pixel central par la moyenne
moyi ( x, y ) du domaine Di ( x, y ) qui présente la variance vari ( x, y ) la plus faible.

III.4 REPONSE FREQUENTIELLE D’UN FILTRE [8]

La réponse fréquentielle d’un filtre est donnée par :

H (ω1 , ω 2 ) = ∑∑ h(n1 , n2 ) e − j (ω1n1 +ω2n2 ) III.13


n1 n2

Ou ω1 et ω 2 varient de –π à +π. Les variables ω1 et ω 2 représentent respectivement la


fréquence ligne et la fréquence colonne.

Exemple :
Prenons comme exemple le filtre h1 avec :

−1−1−1 
 
h1 =  − 1 + 8 − 1
−1−1−1 
 

En appliquant la formule (III.8), on obtient :


H 1 (ω1 , ω 2 ) = 9 − (2 cos ω1 + 1)(2 cos ω 2 + 1)

Un autre exemple est :


 −1 −1 −1 
 
h2 =  − 1 + 9 − 1
 −1 −1 −1 
 
En appliquant la formule, on obtient :
H 2 (ω1 , ω 2 ) = 10 − (2 cos ω1 + 1)(2 cos ω 2 + 1)

15
Université de Béchar Dr BELADGHAM Mohammed
Cours de traitement d’images

La figure suivante nous montre les réponses fréquentielle des filtres précédents.

12 15

10

8 10

Magnitude
Magnitude

4 5

0 0
1 1

0.5 1 0.5 1
0.5 0 0.5
0
0 0
-0.5 -0.5 -0.5
-0.5
-1 Fy -1 -1
Fy -1 Fx
Fx

-a- -b-
Réponse fréquentielle du filtre h1 Réponse fréquentielle du filtre h2

Figure III.13 : Réponses fréquentielles

Exercice :
Déterminer les réponses fréquentielle des filtres suivants:

 1 1 1 1 1 1
1   1  
h3 = × 1 1 1 , h4 = × 1 2 1
9   10  
 1 1 1 1 1 1

III.5 FILTRAGE FREQUENTIEL

III.5.1 Principe
Le principe du filtrage en fréquences d’une image est simple : prendre la TF de
l’image à filtrer, multiplier le spectre obtenu par la fonction de transfert du filtre, puis prendre
la TF inverse pour produire l’image filtrée. Le lissage par réduction du contenu hautes
fréquences ou le rehaussement de contours par augmentation des composantes hautes
fréquences vis à vis des basses fréquences proviennent de concept directement reliés à la
transformée de Fourier [4].
En fait, l’idée de filtrage linéaire est beaucoup plus intuitive dans le domaine
fréquentiel. En pratique, les masques spatiaux sont utilisés beaucoup plus que la TF du fait de

16
Université de Béchar Dr BELADGHAM Mohammed
Cours de traitement d’images

leur simplicité d’implémentation et de leur rapidité. Mais la compréhension des phénomènes


dans le domaine fréquentiel est indispensable pour résoudre des problèmes difficilement
appréhendables avec des techniques spatiales.

f(x,y) F(u,v)
u

Transformée de Fourier

Figure III.14 : Schéma représente le passage au domaine fréquentiel

III.5.1 Transformée de Fourier [4],[6]


9 Signal: Amplitude des variations du signal (tension, courant, pression, …) en fonction
du temps t.
9 Image: Amplitude des variations de l’image (niveaux de gris) en fonction des variables
spatiales (x,y).

a- Série de Fourier
Toute fonction f périodique peut être représentée par la sommation de fonctions sinus et
cosinus de fréquences diverses, chacune multipliée par un coefficient différent.

f ( x) = ∑ a n cos(nx) + bn sin(nx) III.14
n =0

En imagerie : on n’a pas des fonctions périodiques, mais des fonctions finies, donc d’aires
finies ce qui implique que la transformée de Fourier peut être représentée par l’intégrale de
fonctions sinus et cosinus, chacune multipliée par un coefficient différent.
b- Transformée de Fourier d'un signal 1D continue
Un signal peut être, en théorie, décomposé par un nombre fini de sinusoïdes de
déférentes fréquences.
La transformée de Fourier donne une représentation fréquentielle d'un signal temporel.

17
Université de Béchar Dr BELADGHAM Mohammed
Cours de traitement d’images

Si on considère un signal continu f(x), alors sa transformée de Fourier F(u) est donnée par :

+∞
F (u ) = ∫ f ( x) e −2 jπ ux dx III.15
−∞

c- Transformée de Fourier inverse 1D :


On peut reconstruire le signal f(x) à partir de sa représentation fréquentielle F(u) par la
formule :

+∞
f ( x) = ∫ F (u ) e 2 jπ ux du III.16
−∞

d- Versions discrètes

M −1 ux
1 − 2 jπ
F (u ) = ∑ f ( x) e M
, u ∈{ 0 ... M − 1 } III.17
M x =0

M : nombre d’échantillon du signal

M −1 ux
1 2 jπ
f ( x) = ∑ F (u) e M
, x∈{ 0 ... M − 1 } III.18
M u =0

e- Transformée de Fourier 2D

+∞ +∞
F (u, v) = ∫ ∫ f ( x, y ) e −2 jπ (ux + vy ) dxdy III.19
−∞ −∞

f- Transformée de Fourier inverse 2D

+∞ +∞
f ( x, y ) = ∫ ∫ F (u, v) e 2 jπ (ux + vy ) dudv III.20
−∞ −∞

g- Versions discrètes

M −1 N −1 ux vy
1 − 2 jπ ( + )
F (u, v) =
MN
∑ ∑ f ( x, y ) e
x = 0 y =0
M N
III.21


u ∈{ 0 ... M − 1 } , v ∈{ 0 ... N − 1 }

18
Université de Béchar Dr BELADGHAM Mohammed
Cours de traitement d’images

M −1 N −1 ux vy
1 2 jπ ( + )
f ( x, y ) =
MN
∑ ∑ F (u, v) e
u =0 v =0
M N III.22


x ∈{ 0 ... M − 1 } , y ∈{ 0 ... N − 1 }

En général, on multiplie la fonction d’entrée par (−1)x+y pour centrer la fonction transformée.
Selon les propriétés des exposants :

M N
TF [(−1) x + y f ( x, y )] = F (u − ,v − ) III.23
2 2

Figure III.15 : Représentation de la transformée de Fourier centrée


Exemple :

Figure III.16 : Image originale et son spectre

19
Université de Béchar Dr BELADGHAM Mohammed
Cours de traitement d’images

III.5.2 Utilisation de la Transformée de Fourier


Il est également possible de réaliser le filtrage dans le domaine fréquentiel. Pour cela,
on multiplie la transformée de Fourier de l’image par le conjugué de la réponse fréquentiel du
filtre.

Transformée Fonction Filtre Transformée de


de Fourier H(u,v) Fourier Inverse

F(u,v) H(u,v).F(u,v)
Image d’entrée Image améliorée

f(x,y) g(x,y)

Figure III.17 : Schéma de principe du filtrage fréquentiel

Soit f l’image source, g l’image filtrée, h le filtre, et F, G, H, les transformées de Fourier.


On a donc :

g ( x, y ) = (k * f )( x, y ) ⇔ G (u, v) = K (u , v). F (u, v) III.24

Avec
k ( x, y ) = h(− x,− y ) ⇒ K (u, v) = H * (u , v)
Alors

G (u, v) = H * (u , v) . F (u, v) III.25

La transformée de Fourier discrète est donnée par (III.21) :

Exemple :
La figure suivante nous donne les résultats obtenus en appliquant les différents types
de filtre sur une image en niveaux de gris.

20
Université de Béchar Dr BELADGHAM Mohammed
Cours de traitement d’images

Image originale Bruit sel et poivre

Filtre moyenneur 3x3 Filtre moyenneur 5x5

Filtre gaussien 3x3 Filtre gaussien 5x5

21
Université de Béchar Dr BELADGHAM Mohammed
Cours de traitement d’images

Filtre médian 3x3 Filtre médian 5x5

Filtre de Nagao

Nous constatons d’après ces résultats que le filtre médian est mieux adapté au bruit
impulsionnel.

III.6 PARAMETRES D’EVALUATION


Les mesures objectives sont basées sur des critères mathématiques pour évaluer la qualité des
images. Les critères de qualité utilisés pour mesurer les performances des instruments
optiques sont, par exemple, le rapport signal/bruit (SNR), l’erreur quadratique moyenne
(MSE).
ƒ Erreur moyenne quadratique (MSE) :
Le plus simple paramètre de la mesure de qualité d'image est le MSE. La grande valeur de
MSE signifie que l'image est de mauvaise qualité. Le MSE est défini comme suit:
2

( )
M N
1
M×N ∑ ∑ I (i, j) − Iˆ(i, j)
MSE =
i =1 j =1
III.26

22
Université de Béchar Dr BELADGHAM Mohammed
Cours de traitement d’images

Avec I (i, j ) : représente l’image originale, Iˆ(i, j ) : représente l’image dégradée . M et N sont
le nombre de lignes et de colonnes.
ƒ Rapport signal sur bruit crête (PSNR)
La faible valeur du PSNR signifie que l'image est de mauvaise qualité. Le PSNR est défini
comme suit:

 (Dynamique de l' image)2 


PSNR= 10 log10  
 MSE  III.27

Généralement une image est codée sur 8 bits. Elle est représentée par 256 niveaux de gris qui
varient entre 0 et 255, l’étendu ou la dynamique de l’image est alors 255.

23
Université de Béchar Dr BELADGHAM Mohammed

Vous aimerez peut-être aussi