Quelques méthodes de filtrage en Traitement d’Image
Maïtine Bergounioux
To cite this version:
Maïtine Bergounioux. Quelques méthodes de filtrage en Traitement d’Image. Cours donné dans le
cadre d’une école CIMPA - en attente de publication dans les actes. 2010. <hal-00512280v1>
HAL Id: hal-00512280
https://hal.archives-ouvertes.fr/hal-00512280v1
Submitted on 29 Aug 2010 (v1), last revised 24 Feb 2011 (v2)
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d’enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.
QUELQUES MÉTHODES DE FILTRAGE EN TRAITEMENT
D’IMAGE
par
Ma¨ıtine Bergounioux
Résumé. — Nous présentons quelques méthodes ✦ de base ✧ en filtrage des images
numériques. Un bref aperçu du filtrage unidimensionnel est donné puis les techniques
linéaires et non linéaires sont abordées. Nous terminons par une ouverture sur les
méthodes variationnelles très utilisées actuellement pour la déconvolution et la res-
tauration des images.
Abstract (Some filtering methods in image processing). — We present basic
image processing denoising methods. We first recall breifly the main features of linear
1D filtering technqiues. Then we present linear and non linear standard methods. We
end with variational methods that are more and more used for deconvolution and
image restoration.
Table des matières
1
1. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2. Filtrage unidimensionnel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3. Débruitage par filtrage linéaire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
4. Débruitage par filtrage non linéaire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5. Filtrage variationnel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Appendice A. Quelques outils mathématiques. . . . . . . . . . . . . . . . . . . . . . 41
Références. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
1. Introduction
L’étude d’un signal nécessite de supprimer au maximum le bruit parasite dû aux
conditions d’acquisition. L’un des buts du filtrage est de ✦ nettoyer ✧ le signal en
éliminant le plus de bruit possible tout en préservant le maximum d’informations. En
Classification mathématique par sujets (2000). — 68U10, 49J40.
Mots clefs. — Traitement d’image, filtrage, débruitage, segmentation.
2
BERGOUNIOUX
outre, l’information contenue dans un signal n’est pas forcément entièrement perti-
nente : il faut ✦ sélectionner ✧ l’information utile suivant l’usage que l’on veut en faire.
Par exemple, à l’écoute d’un morceau de musique, on peut vouloir un renforcement
des sons graves. Une autre finalité du filtrage est donc de sélectionner et renforcer
certaines bandes de fréquences porteuses de l’information intéressante.
Le filtrage des images a la même finalité que celui des signaux 1D. Il s’agit es-
sentiellement d’enlever le bruit (parasite) ou de sélectionner certaines fréquences. Si
la notion de haute fréquence ou basse fréquence est naturelle en signal 1D (son aigu
ou grave), la fréquence spatiale est un concept plus délicat qui découle du fait
que les images appartiennent au domaine spatial. La fréquence est une grandeur qui
caractérise le nombre de phénomènes qui se déroulent au cours d’un temps donné. Si
en voiture, le long d’une route, on voit 2 bandes blanches PAR seconde : c’est une
fréquence temporelle. Il est ensuite facile de comprendre que ce concept de fréquence
✦ temporelle ✧ peut aussi se traduire en disant qu’il y a 200 bandes blanches PAR
kilomètre : c’est une fréquence spatiale.
Dans une image, les détails se répètent fréquemment sur un petit nombre de pixels,
on dit qu’ils ont une fréquence élevée : c’est le cas pour les bords et les contours dans
une image. Au contraire, les fréquences basses correspondent à des variations qui se
répètent peu car, diluées sur de grandes parties de l’image, par exemple des variations
de fond de ciel.
Nous verrons dans la suite que la plupart des filtres agissent sélectivement sur ces
fréquences pour les sélectionner, en vue de les amplifier ou de les réduire tout comme
dans le cas 1D.
Les images peuvent être entâchées de bruits de nature différente. On s’intéressera
ici aux bruits
– additif, gaussien
– de flou (convolution)
– poivre et sel
Les bruits multiplicatifs et/ou poissoniens sont difficiles à appréhender : nous n’en
parlerons pas ici. De la même façon, nous n’aborderons pas le filtrage par ondelettes
qui nécessite des pré-requis importants.
FILTRAGE
3
(a) Image originale
(b) Bruit gaussien, moyenne
nulle, écart-type σ ✏ 0.02
(c) Bruit gaussien, moyenne
nulle, écart-type σ ✏ 0.1
(d) Flou
(e) Bruit poivre et sel
(f) Bruit multiplicatif
Figure 1. Exemples de perturbations d’une image (bruits et flou)
2. Filtrage unidimensionnel
Avant de présenter les principales techniques de base pour le filtrage des images,
nous rappelons brièvement le principe du filtrage unidimensionnel (pour plus de détails
on peut se référer à [5]).
Pour définir un filtre linéaire mathématiquement, on se donne deux espaces vec-
toriels X (entrée) et Y (sortie) munis d’une topologie séquentielle et un opérateur A
linéaire qui, à un signal e P X dit signal d’entrée, associe un signal s P Y appelé signal
de sortie :
A : e (cid:222)(cid:209) s :✏ A♣eq .
Définition 2.1 (Filtre). — Un filtre linéaire est un système linéaire continu qui
vérifie les deux propriétés suivantes :
1. Il est invariant dans le temps : si Ta : x (cid:222)(cid:209) x♣☎ ✁ aq est l’opérateur de translation
alors
TaA ✏ ATa.
2. Si
lim
k(cid:209)(cid:0)✽
ek♣tq ✏ e♣tq alors on a lim
k(cid:209)(cid:0)✽
sk♣tq ✏ s♣tq. Cette propriété est équivalente
à la causalité.
4
BERGOUNIOUX
Les espaces peuvent être de dimension infinie (signaux analogiques) ou finie (si-
gnaux discrets ou numériques).
Examinons l’effet d’un filtre linéaire A sur un signal périodique de X ✏ L2
T → 0) de fréquence λ ✏ 1④T . On sait que ce signal peut s’écrire sous la forme
p♣0, T q (où
(1)
où on a posé
x ✏
cn enλ ,
nPZ
➳
eλ : t (cid:222)(cid:209) exp♣2iπλtq ,
(2)
de sorte que enλ ✏ ♣eλqn . On sait (grâce aux séries de Fourier) que la famille ♣enλqnPZ
forme une base hilbertienne de X .
Formellement ♣1q
On est donc ramené à examiner l’effet de A sur enλ.
Ax ✏ A
✄
cn enλ
☛
nPZ
➳
nPZ
➳
✏
cn ♣Aenλq.
Proposition 2.2. — Un filtre linéaire associe à tout signal exponentiel d’entrée le
même signal multiplié par un facteur indépendant du temps, généralement complexe,
appelé fonction de transfert ou gain complexe du filtre.
Démonstration. — Cherchons l’image fλ ✏ A eλ de eλ par le filtre. On remarque que
pour t fixé, on a eλ♣t (cid:0) uq ✏ eλ♣tqeλ♣uq. Donc
❅u P R fλ♣t (cid:0) uq ✏ A♣eλ♣tqeλq♣uq,
c’est-à-dire par linéarité de A
fλ♣t (cid:0) uq ✏ eλ♣tq rAeλ♣uqs ✏ eλ♣tqfλ♣uq.
Pour u ✏ 0 , on obtient fλ♣tq ✏ eλ♣tqfλ♣0q; donc Aeλ ✏ fλ♣0qeλ. Par conséquent, eλ
est une fonction propre de A associée à la valeur propre fλ♣0q qui ne dépend que de
λ. La fonction λ (cid:222)(cid:209) H♣λq :✏ fλ♣0q est appelée fonction de transfert du filtre.
Reprenons le signal périodique x défini par la relation (1) ; la sortie filtrée par A
est donc
y :✏ Ax ✏
cnH♣nλqenλ .
En résumé, chaque coefficient de Fourier cn de x est transformé en γn :✏ H♣nλqcn.
Compte tenu des propriétés de la transformée de Fourier F, si x est un signal
numérique échantillonné avec 2N échantillons, on peut traduire la relation précédente
par
nPZ
➳
❅n P t1, ☎ ☎ ☎ , N ✉
Yn ✏ H♣nλq Xn ,
1. On peut completement justifier le calcul grâce a la linéarité et la continuité de l’opérateur A
de X dans X
FILTRAGE
5
ou Y ✏ F♣yq et X ✏ F♣xq, c’est-a-dire F♣yq ✏ H. ✂ F♣xq , où .✂ désigne le produit
composante par composante. Si on pose h ✏ 1
2N F ✁1♣Hq, cela donne : y ✏ h ✝ x (où *
désigne ici la convolution discrète.) Nous obtenons donc le résultat suivant (que nous
admettrons pour les signaux analogiques) :
Théoreme 2.3. — Un systeme linéaire continu est un filtre linéaire si et seulement
si la relation entre l’entrée e et la sortie s est une convolution :
s♣tq ✏ rh ✝ es♣tq ✏
h♣θq e♣t ✁ θq dθ ,
(cid:0)✽
✁✽
➺
où h♣tq est la réponse impulsionnelle du filtre.
Pour les filtres à temps discret on a
sn ✏
hk en✁k .
kPZ
➳
En d’autres termes les filtres linéaires continus unidimensionnels sont
et ne sont que des filtres de convolution (où la convolution est continue ou
discrète).
– Dans le cas des signaux analogiques (d’énergie finie, i.e. dans L2♣Rq par
exemple), le signal de sortie s est donné par : s ✏ h ✝ e, où e est le signal
d’entrée. Si on applique la transformation de Fourier, on obtient ˆs ✏ ˆhê. La
transformée de Fourier H :✏ ˆh de h est la fonction de transfert du filtre. Le
noyau de convolution h s’appelle la réponse impulsionnelle du filtre. En effet,
si le signal d’entrée e est la mesure de Dirac δ on obtient s ✏ h ✝ δ ✏ h. C’est
donc bien la sortie correspondant à une ✦ impulsion ✧.
– Dans le cas des signaux discrets, on peut faire la même analyse. La transfor-
mation de Fourier est remplacée par la transformation de Fourier discrète et se
calcule par FFT.
Généralement, on distingue les filtres suivant l’action qu’ils ont sur le spectre (c’est-
à-dire par la forme de leur fonction de transfert) :
– un filtre passe-bas va éliminer ou atténuer fortement l’énergie des hautes
fréquences d’un spectre en ne laissant ✦ passer ✧ que les basses fréquences ;
– un filtre passe-haut va éliminer ou atténuer fortement l’énergie des basses
fréquences d’un spectre ;
– un filtre passe-bande ne conservera que l’énergie concentrée dans une bande
de fréquences.
– un filtre coupe-bande ou filtre de réjection qui est le complémentaire du
précédent.
6
BERGOUNIOUX
Figure 2. Différents types de filtrage
3. Débruitage par filtrage linéaire
3.1. Filtrage spatial (bruit additif ). — Nous avons vu que les filtres linéaires
d’un signal 1D sont et ne sont que des filtres de convolution. Le filtrage spatial est
aussi essentiellement une opération de convolution (2D).
Si f est l’image a filtrer (ou a rehausser) et g le filtre spatial (ou PSF - Point
Spread Function ou masque) on a :
f ♣x, yq ✝ g♣x, yq ✏ F ✁1
✩
✬✫
F♣f ♣x, yqq ☎ F♣g♣x, yqq✉
.
G♣u,vq
❧♦♦♦♦♦♠♦♦♦♦♦♥
✱
✴✳
✴✲
✬✪
G est la fonction de transfert du filtre. Une image numérique étant essentiellement
discrète (pixels et niveaux de gris) nous allons présenter les filtres dans le cas discret.
Dans tout ce qui suit x et y sont des entiers (coordonnées des pixels) et f est à valeurs
entières (dans t0, ☎ ☎ ☎ , 255✉q. Comme dans le cas unidimensionnel, on peut distinguer
trois types de filtrage :
– Le filtre passe-bas diminue le bruit mais atténue les détails de l’image (flou
plus prononcé)
– Le filtre passe-haut accentue les contours et les détails de l’mage mais am-
plifie le bruit
– Le filtre passe-bande élimine certaines fréquences indésirables présentes dans
l’image
On ne fait pas en général une convolution globale mais une transformation locale,
basée sur le voisinage d’un point ♣x, yq :
FILTRAGE
7
Figure 3. Convolution locale
Le noyau de convolution (masque, PSF ) du filtre κ est à support compact inclus
dans rx1, x2s ✂ ry1, y2s :
g♣x, yq ✏ ♣f ✝ κq♣x, yq ✏
f ♣x ✁ i, y ✁ jqκ♣i, jq.
x2
y2
i✏x1
➳
Généralement le filtre est de dimensions di impaires et est symétrique. Dans ce cas
j✏y1
➳
rx1, x2s ✏ r✁
d1
2
,
d1
2
s
et
ry1, y2s ✏ r✁
d2
2
,
d2
2
s,
(3)
♣f ✝ κq♣x, yq ✏
f ♣x (cid:0) i, y (cid:0) jqκ♣i, jq.
♣d1✁1q④2
♣d2✁1q④2
i✏✁♣d1✁1q④2
➳
j✏✁♣d2✁1q④2
➳
w1
w4
w7
(cid:210)
x ✁ 1
w2
w5
w8
(cid:210)
x
w3 — y ✁ 1
w6 — y
w9 — y (cid:0) 1
(cid:210)
x (cid:0) 1
Table 1. Filtre(i,j) - d1 ✏ d2 ✏ 3
Ici d1 ✏ d2 ✏ d ✏ 3. On ne filtre pas les bords pour éviter des distorsions ; donc
κ♣0, 0q ✏ w5.
Sur cet exemple on a précisément
g♣x, yq ✏ w1f ♣x ✁ 1, y ✁ 1q (cid:0) w2f ♣x, y ✁ 1q (cid:0) w3f ♣x (cid:0) 1, y ✁ 1q
(cid:0)w4f ♣x ✁ 1, yq (cid:0) w5f ♣x, yq (cid:0) w6f ♣x (cid:0) 1, yq
(cid:0)w7f ♣x ✁ 1, y (cid:0) 1q (cid:0) w8f ♣x, y (cid:0) 1q (cid:0) w9f ♣x (cid:0) 1, y (cid:0) 1q.
8
Publicité
BERGOUNIOUX
Afin de conserver la moyenne de l’image f , la somme des éléments du filtre est nor-
malisée à 1 :
wi ✏ 1.
i
➳
Un filtre 2D est dit séparable s’il est possible de décomposer le noyau de convolu-
tion h2D en deux filtres 1D appliqués successivement en horizontal puis en vertical
(ou inversement) :
h2D ✏ hV
1D ❜ hH
1D,
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.
Exemple 3.1 (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β
cγ
bγ
aγ
✏
α
β
γ
✂ a b
c .
Exemple 3.2 (Filtre de moyenne passe -bas ). —
1
9
☎
1
1
1
1
1
1
1
1
1
1
25
☎
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
Table 2. Filtres de moyenne 3 x 3 et 5 x 5 respectivement
FILTRAGE
9
(a) Image originale
(b) Image bruitée (bruit gaussien σ ✏ 0.05)
(c) Filtre de moyenne 3 x 3
(d) Filtre de moyenne 5 x 5
Figure 4. Effet de lissage
Ce sont des filtres séparables.
10
BERGOUNIOUX
Exemple 3.3 (Filtre gaussien). —
Si par exemple σ ✏ 0.8 on a le filtre 3 ✂ 3 suivant
G♣✁1, ✁1q G♣0, ✁1q G♣1, ✁1q
G♣1, 0q
G♣0, 0q
G♣✁1, 0q
G♣1, 1q
G♣0, 1q
G♣✁1, 1q
✔
1
16
☎
1
2
1
2
4
2
1
2
1
et σ ✏ 1 pour un filtre 5 ✂ 5 donne environ
1
300
☎
1
4
6
4
1
4
4
6
18 30 18
30 48 30
18 30 18
4
6
4
1
4
6
4
1
.
Idéalement, on devrait prévoir un filtre de taille ♣6σ (cid:0) 1q ✂ ♣6σ (cid:0) 1q. En général un
filtre gaussien avec σ ➔ 1 est utilisé pour réduire le bruit, et si σ → 1 c’est dans le but
de fabriquer une image qu’on va utiliser pour faire un ✦ masque flou ✧ personnalisé.
Il faut noter que plus σ est grand, plus le flou appliqué à l’image sera marqué.
Exemple 3.4 (Filtre binômial). —
Les coefficients de ce filtre sont obtenus par le binôme de Newton. Un filtre 1D
1
16
r1 4 6 4 1s. Un filtre 2D
binômial d’ordre 4 est un filtre donné par le vecteur v ✏
binômial d’ordre 4 est le filtre séparable donné par v❏v :
1
256
☎
1
4
6
4
1
4
16
24
16
4
6
1
4
24 16 4
36 24 6
24 16 4
1
4
6
FILTRAGE
11
Ces filtres sont des filtres passe-bas : ils atténuent les détails de l’image (et donc le
bruit additif) mais en érodant les contours ajoutent du flou à l’image. Nous verrons
dans une section suivante comment atténuer le flou.
3.2. Filtrage fréquentiel (bruit additif ). —
3.2.1. Filtre passe-bas. — Nous avons déjà parlé du filtre passe-bas idéal dans le
fréquence
cas de signaux unidimensionnels. De manière analogue, on définit une
δc au dessus de laquelle les fréquences sont annulées (filtre idéal). La
de coupure
fonction de transfert est alors
H♣λ, µq ✏
✧
λ2 (cid:0) µ2 ↕ δc
1 si
0 sinon
❛
Figure 5. Fonction de transfert ✦ idéale ✧
Le créneau centré H admet une transformée de Fourier inverse qui est le sinus
cardnal qui présente d’autant plus d’ondulations que la fréquence de coupure est
petite. Cela entraˆıne un flou qui sera d’autant plus réduit que δc est grand.
(a) Image originale
(b) Image filtrée
Figure 6. Application d’un créneau ✦ idéal ✧ (δc ✔ 15% de la taille de
l’image) : on voit clairement les ondulations.
12
BERGOUNIOUX
On a vu que le filtre passe-bas idéal n’est pas réalisable et on fait donc une approxi-
mation de la fonction H précédente qui aura pour effet, non pas de couper les hautes
fréquences mais de les atténuer fortement. Le filtre suivant est le filtre passe-bas de
Butterworth La fonction de transfert est alors
1
H♣λ, µq ✏
1 (cid:0)
λ2(cid:0)µ2
δc
2n
où δc est encore la fréquence de coupure.
✂ ❵
✡
Figure 7. Fonction de transfert de Butterworth
En traitement d’image, un filtre passe-bas atténue les hautes fréquences : le résultat
obtenu après un tel filtrage est un adoucissement des détails et une réduction du bruit
granuleux.
3.2.2. Filtres passe-haut. — Le filtre passe-haut idéal est obtenu de manière
symétrique au passe- bas par
Le filtre passe-haut de Butterworth est donné par
H♣λ, µq ✏
1
2n
δc
λ2(cid:0)µ2
✡
1 (cid:0)
✂
❵
FILTRAGE
13
Un filtre passe haut favorise les hautes fréquences spatiales, comme les détails, et
de ce fait, il améliore le contraste. Toutefois, il produit des effets secondaires :
– augmentation du bruit : dans les images avec un rapport Signal/ Bruit
faible, le filtre augmente le bruit granuleux dans l’image.
– effet de bord : il est possible que sur les bords de l’image apparaisse un
cadre. Mais cet effet est souvent négligeable et peut s’éliminer en tronquant les
bords de l’image où en faisant une réflexion de quelques pixels de l’image autour
de son cadre.
(a) Filtrage passe-bas
(b) Filtrage passe-haut
Figure 8. Filtrage passe-bas et passe-haut avec un filtre de Butterworth
(n ✏ 4 et δc ✔ 0.15✝ taille de l’image)
3.2.3. Filtres passe-bande. — Ils permettent de ne garder que les fréquences com-
prises dans un certain intervalle :
H♣λ, µq ✏
1 si δc ✁
★
0 sinon
ε
2
↕
λ2 (cid:0) µ2 ↕ δc (cid:0)
ε
2
❛
ε est la largeur de bande et δc la fréquence de coupure.
Figure 9. Fonction de transfert d’un filtre passe-bande ✦ idéal ✧
14
BERGOUNIOUX
3.3. Application au filtrage différentiel. — Dans les modèles différentiels, on
considère l’image comme une fonction continue f : I ✂ I (cid:209) r0, 255s dont on étudie
le comportement local à l’aide de ses dérivées. Une telle étude n’a de sens que si la
fonction f est assez régulière. Ce n’est pas toujours le cas ! ! une image noir et blanc
sera discontinue (en fait continue par morceaux) les zones de discontinuité étant par
essence les contours.
Au premier ordre on peut calculer en chaque point M ♣x, yq, le gradient de l’image :
∇f ♣x, yq ✏ ♣
❇f
❇x
,
❇f
❇y
q.
Grâce au plongement dans l’espace continu, un grand nombre d’opérations d’ana-
lyse peuvent s’exprimer en termes d’équations aux dérivées partielles. Ceci permet de
donner un fondement mathématique satisfaisant aux traitements et aussi de fournir
des méthodes pour les calculer, par des schémas numériques de résolution.
Les filtres différentiels permettent de mettre en évidence certaines variations spa-
tiales de l’image. Ils sont utilisés comme traitements de base dans de nombreuses
opérations comme le rehaussement de contraste ou la détection de contours.
En pratique, il faut approcher les gradients pour travailler avec des gradients
discrets. Les approximations les plus simples des dérivées directionnelles se font
par différences finies. On peut les calculer par exemple à l’aide convolution avec des
noyaux très simples : par exemple, l’approximation de
se fait par convolution avec
r0 ✁ 1 1s. En effet, dans ce cas, la formule générale de convolution discrète (3) donne
(avec d1 ✏ 3 et d2 ✏ 0) :
❇f
❇x
1
g♣x, yq ✏
f ♣x (cid:0) i, y (cid:0) jqκ♣i, jq ✏ ✁f ♣x, yq (cid:0) f ♣x (cid:0) 1, yq ✔
i✏✁1
➳
j✏0
➳
De même l’approximation de
❇f
❇y
se fait par convolution avec
0
✁1
1
✔
g♣x, yq ✏ ✁f ♣x, yq (cid:0) f ♣x, y (cid:0) 1q ✔
✕
♣x, yq.
❇f
❇y
:
✜
✢
Publicité
❇f
❇x
♣x, yq.
0
(cid:210)
x ✁ 1
✁1
(cid:210)
x
1 — y
(cid:210)
x (cid:0) 1
0 — y ✁ 1
✁1 — y
1 — y (cid:0) 1
(cid:210)
x
Table 3. Masques (κ♣i, jq) des gradients par rapport à x (gauche) et y (droite)
FILTRAGE
15
On utilise plus souvent r✁1 0 1s et
✁1
0
1
✔
✜
qui produisent des frontières plus
✕
épaisses mais qui sont bien centrées. Ces opérations sont très sensibles au bruit et on
les combine généralement avec un filtre lisseur dans la direction orthogonale à celle de
dérivation, par exemple par le noyau suivant (ou sa transposée) : r1 2 1s. On obtient
alors des filtres séparables. Le calcul des dérivées directionnelles en x et y revient
finalement à la convolution avec les noyaux suivants :
✢
❇f
❇x
♣x, yq ✔ ♣f ✝ hxq♣x, yq et
❇f
❇y
♣x, yq ✔ ♣f ✝ hyq♣x, yq
avec hx ✏ r✁1 0 1s ❜ r1 2 1st ✏
✁1 0 1
✁2 0 2
✁1 0 1
☎
hy ✏ r1 2 1s ❜ r✁1 2 1st ✏
✁1 ✁2 ✁1
0
0
0
1
2
1
Ce sont les masques de Sobel.
☎
✆
✆
.
☞
✌
et
☞
✌
(a) Original
(b) Noyau r✁1 0 1s
(c) Noyau r✁1 0 1st
Figure 10. Gradients avec des noyaux sans filtrage
(a) Gradient horizontal
Figure 11. Gradients de Sobel
(b) Gradient vertical
(c) Norme du gradient
16
BERGOUNIOUX
Figure 12. Gradients de Robinson dans 3 directions différentes (voir ta-
bleau 4. suivant)
(a) Original
(b) Norme du gradient
(c) Gradient en x
(d) Gradient en y
Figure 13. Détection de contours par une convolution de type Sobel
FILTRAGE
17
Types de masque
Amplitude
Direction
Masques de Roberts
-1
0
0
1
0
1
-1
0
G1, G2
1
2
1
1
1
1
Masques de Sobel
0
0
0
1
-1
0
-2
-1
-1
Gx, Gy
2
0
-2
1
0
-1
Masques de Prewitt
0
0
0
1
-1
0
-1
-1
-1
Gx, Gy
1
0
-1
1
0
-1
Masques de Kirsh
5
-3
-3
5
0
-3
5
-3
-3
+ les 7 autres masques obtenus par
permutation circulaire des coefficients
Gi pour i de 1 à 8
Masques de Robinson
1
1
-1
1
-2
-1
1
1
-1
+ les 7 autres masques obtenus par
permutation circulaire des coefficients
Gi pour i de 1 à 8
A ✏
G2
1 (cid:0) G2
2
θ ✏
❛
+ arctan
π
4
✂
G2
G1
✡
A ✏
G2
x (cid:0) G2
y
θ = arctan
❜
Gy
Gx ✡
✂
A ✏
G2
x (cid:0) G2
y
θ = arctan
❜
Gy
Gx ✡
✂
Direction
maximum des ⑤Gi⑤
correspondant
au Gi sélectionné
maximum des ⑤Gi⑤
Idem
Table 4. Différents types de masques - gradients
18
BERGOUNIOUX
De la même façon, l’approximation par différences finies la plus simple de la
dérivée seconde est la convolution par le noyau r1 ✁ 2 1s pour l’approximation de
❇2f
❇x2 et
donc être approché par l’un opérateurs linéaires suivants :
❇2f
❇y2 . Le laplacien ∆f ✏ ❇
pour l’approximation de
❇x2 (cid:0) ❇
❇y2 peut
1
✁2
1
✕
✔
✢
✜
f
f
2
2
Laplacien discret - 4
Laplacien discret - 8 Laplacien de Robinson
0
1
0
1
-4
1
0
1
0
1
1
1
1
-8
1
1
1
1
1
-2
1
-2
4
-2
1
-2
1
(a) Laplacien 4-connexe
(b) Laplacien 8-connexe
(c) Laplacien de Robinson
Figure 14. Calcul du laplacien
Les filtres présentés dans cette section sont essentiellement des filtres passe-haut.
Ils permettent d’isoler les détails d’une image (les contours et les textures sur une
image non bruitée et le bruit en plus sur une image bruitée).
3.4. Filtrage par équations aux dérivées partielles. —
3.4.1. Équation de la chaleur. — Considérons un filtrage gaussien dans le cadre
continu. On sait que si l’image de départ est une fonction uo définie sur R2 (mais
L✽ à support compact), l’image filtrée est la convolée de uo avec un noyau gaussien
Gσ♣xq ✏ Gσ♣x1, x2q ✏
1
2πσ2 exp
✁
1 (cid:0) x2
x2
2
2σ2
✂
✡
✏
1
2πσ2 exp
✁
⑥x⑥2
2σ2
.
✡
✂
FILTRAGE
19
On pose u♣t, xq ✏ ♣h♣t, ☎q ✝ uoq♣xq où h♣t, xq ✏ G❵2t♣xq ✏
. Comme
h♣t, ☎q P C✽♣R2q a ses dérivées bornées et uo P L1♣R2q, la convolée u♣t, ☎q est aussi C✽
et on peut calculer ∆u :
exp
✁
✡
✂
1
4πt
⑥x⑥2
4t
❅t → 0, ❅x P R2
∆u♣t, xq ✏
❇2u
❇x2
1
♣t, xq (cid:0)
❇2u
❇x2
2
♣t, xq ✏ ♣∆h♣t, ☎q ✝ uoq♣xq.
Un rapide calcul montre que
∆h♣t, xq ✏
Publicité
✁
✂
1
4πt2 (cid:0)
⑥x⑥2
16πt3
exp
✁
✡
✂
⑥x⑥2
4t
✏
✁
✡
✂
1
t
(cid:0)
⑥x⑥2
4t2
✡
h♣t, xq,
et on obtient
∆u♣t, xq ✏
✁
1
t
(cid:0)
⑥x⑥2
4t2
✡
✂
u♣t, xq.
D’autre part, pour t → 0 on peut dériver directement u par rapport à t :
❇u
❇t
♣t, xq ✏
❇h
❇t
➺ ➺R
♣t, yquo♣x ✁ yqdy
et on obtient finalement
D’autre part, avec
on obtient
❇u
❇t
♣t, xq ✁ ∆u♣t, xq ✏ 0 sur s0, tr✂R2.
u♣t, xq ✏
1
4πt
exp
✁
✂
⑥y⑥2
4t
✡
➺ ➺R
uo♣x ✁ yqdy
lim
t(cid:209)0
u♣t, xq ✏➔ δx, uo →✏ uo♣xq,
car la famille de Gaussiennes converge au sens des distributions vers la mesure de
Dirac.
Figure 15. Gaussiennes
20
BERGOUNIOUX
La fonction ✦ filtrée ✧ u vérifie l’équation aux dérivées partielles suivante (équation
de la chaleur) :
(4)
✩
✫
♣t, xq ✁ ∆u♣t, xq ✏ 0 dans s0, T r✂Ω
❇u
❇t
u♣0, xq ✏ uo♣xq
❅x P Ω
✪
ou Ω est le ✦ cadre ✧ de l’image, i.e. l’ouvert de R2 ou la fonction u est définie. On
peut alors imposer soit des conditions aux limites au bord de Ω (niveau de gris fixé)
soit des conditions aux limites périodiques en périodisant la fonction u (si le cadre est
rectangle par exemple).
On peut alors utiliser un schéma aux différences finies pour calculer la solution de
l’EDP. Suivant le temps d’évolution, on obtient une version plus ou moins lissée de
l’image de départ.
(b) Image bruitée σ ✔ 0.1
(a) Original
(c) Image filtrée
Figure 16. Filtrage par EDP de la chaleur avec pas de temps dt ✏ 0.2 et
15 itérations
3.4.2. Mise en œuvre numérique. — La mise en œuvre numérique se fait avec une
discrétisation en différences finies, la plupart du temps explicite en raison de la très
grande taille des images (et donc des matrices associées). La condition de Neumann
est assurée grâce a une réflexion de l’image par rapport a ses bords. En traitement
d’image on considère souvent que la taille est donnée par le nombre de pixels de sorte
que le pas de discrétisation est h ✏ 1. On peut discrétiser le gradient de différentes
manieres (centrée, a droite, à gauche )
(5)
δxui,j ✏
ui(cid:0)1,j ✁ ui✁1,j
2
, δyui,j ✏
ui,j(cid:0)1 ✁ ui,j✁1
2
,
x ui,j ✏ ui(cid:0)1,j ✁ ui,j, δ(cid:0)
δ(cid:0)
y ui,j ✏ ui,j(cid:0)1 ✁ ui,j,
x ui,j ✏ ui,j ✁ ui✁1,j, δ✁
δ✁
y ui,j ✏ ui,j ✁ ui,j✁1.
FILTRAGE
21
La norme du gradient peut se calculer par un schéma ENO (Essentially Non Oscilla-
tory). Deux approximations possibles de ⑤∇u⑤ sont
∇(cid:0)ui,j ✏
ou
∇✁ui,j ✏
❜
❜
max♣δ✁
x ui,j, 0q2 (cid:0) min♣δ(cid:0)
x ui,j, 0q2 (cid:0) max♣δ✁
y ui,j, 0q2 (cid:0) min♣δ(cid:0)
y ui,j0q2,
max♣δ(cid:0)
x ui,j, 0q2 (cid:0) min♣δ✁
x ui,j, 0q2 (cid:0) max♣δ(cid:0)
y ui,j, 0q2 (cid:0) min♣δ✁
y ui,j0q2.
Si l’opérateur gradient est discrétisé par différences finies à droite, alors une discré-
tisation possible de la divergence est donnée par
i,j ✁ p1
p1
p1
i,j
i✁1,j
si
1 ➔ i ➔ N
(6)
♣div pqi,j ✏
✩
✬✬✬✫
✬✬✬✪
avec p ✏ ♣p1, p2q et ♣N, M q est la taille de l’image.
✩
✬✬✬✫
✬✬✬✪
i ✏ N
✁p1
i ✏ 1
i✁1,j
(cid:0)
si
si
i,j✁1
i,j ✁ p2
p2
p2
i,j
✁p2
i,j✁1
si
si
si
1 ➔ j ➔ M
j ✏ 1
j ✏ M
3.5. Déconvolution (cas d’un flou). — Une autre source de perturbation d’une
image est le ✦ flou ✧. Nous avons vu qu’un filtre de convolution passe-bas permettait
d’enlever le bruit additif mais que l’image filtrée était floutée. Cela s’explique par
le fait que l’opérateur de convolution est régularisant. Un tel opérateur est souvent
modélisé par un produit de convolution, de noyau positif symétrique h (qui est la
plupart du temps gaussien). Il n’est pas nécessairement inversible (et même lorsqu’il
est inversible, son inverse est souvent numériquement difficile à calculer).
3.5.1. Approche ✦ spatiale ✧ : équation de la chaleur rétrograde (inverse). — Nous
avons constaté précédemment que faire une convolution par un noyau gaussien revient
à résoudre une équation de la chaleur. Le pas de temps joue le rôle de l’écart type de
la gaussienne. Pour faire l’opération inverse, la déconvolution on peut donc imaginer
de résoudre une équation de la chaleur ✦ rétrograde ✧ en partant de l’état ✦ final ✧
qui est l’image floutée et en ajustant le pas de temps au rapport signal sur bruit.
♣t, xq (cid:0) ∆u♣t, xq ✏ 0 dans s0, T r✂Ω
❇u
❇t
u♣T, xq ✏ uo♣xq
❅x P Ω
(7)
✩
✫
✪
22
BERGOUNIOUX
(a) Image floutée
(b) Original
(c) Itération 5
Figure 17. Déconvolution par équation de la chaleur inverse : dt ✏ 1.5
Cette équation est notoirement mal posée (on ne peut assurer ni l’existence d’une
solution, ni la stabilité d’un schéma numérique) et il convient de ne faire qu’un petit
nombre d’itérations.
(a) Itération 6
(b) Itération 8
Figure 18. Déconvolution par équation de la chaleur inverse : dt ✏ 1
3.5.2. Filtre inverse et Algorithme de Van Cittert. — L’algorithme de Van Cit-
tert repose sur la formulation fréquentielle d’une convolution. Supposons que h soit
l’opérateur de flou (inconnu ou donné par étalonnage des appareils de mesure). On
ne prend pas en compte le bruit. L’image floutée f vérifie f ✏ h ✝ u, où u est l’image
originale (qu’on veut retrouver). Une formulation équivalente est ˆf ✏ ˆhû c’est-à-dire
û ✏
ˆf
ˆh
.
FILTRAGE
23
Le filtre inverse est le plus simple des filtres. Dans certaines conditions, il peut donner
de tres bons résultats. Il consiste donc a calculer 1④ˆh et a l’appliquer a l’image floutée.
C’est le meilleur filtre pour déconvoluer une image non bruitée. L’image restaurée
est presque identique à l’image d’origine. Toutefois il n’est pas toujours possible de
calculer 1④ˆh. Une alternative est l’algorithme de Van Cittert.
Posons ˆg ✏ 1 ✁ ˆh de sorte que formellement on obtient
Si on pose uo ✏ f et ûn ✏
û ✏
ˆf
1 ✁ ˆg
✏
n
(cid:0)✽
✄
k✏1
➳
ˆgk
ˆf .
☛
♣ˆgqk
ˆf pour tout n ➙ 1 on obtient
☛
k✏0
➳
✄
ûn(cid:0)1 ✏ ˆf (cid:0) ˆg ûn ✏ ˆf (cid:0) ♣1 ✁ ˆhqûn,
ou de manière équivalente
un(cid:0)1 ✏ f (cid:0) un ✁ h ✝ un.
(a) Itération 4
(b) Itération 8
Figure 19. Déconvolution par algorithme de Van Cittert : h est un
masque gaussien de taille 9 et d’écart-type σ ✏ 1 (connu)
La principale difficulté dans l’utilisation de cet algorithme est le choix a priori du
filtre h.
Le filtre inverse est une technique très utile pour la déconvolution mais il ne prend
pas en compte le bruit. f est une image floutée et bruitée : f ✏ h ✝ u (cid:0) b, où u
est l’image originale a restaurer et b un bruit blanc gaussien, le passage a un filtre
24
BERGOUNIOUX
ˆf
ˆh
ˆb
ˆh
inverse donne û ✏
✁
. Le bruit blanc chargeant uniformément les fréquences on
a ˆb ✔ 1 et si h est un filtre passe- bas ˆh ✔ 0 au vosinage de l’infini (c’est-à-dire au
dessus d’une fréquence de coupure λc). Il s’ensuit que le filtrage est efficace dans une
bande de fréquences inférieures a λc mais que le bruit est amplifié au dela.
Pour traiter des images a la fois floutées et bruitées on préfere utiliser le filtre de
Wiener.
4. Débruitage par filtrage non linéaire
4.1. Filtres médians. — Ce ne sont pas des filtres linéaires (et donc pas des filtres
de convolution).
g♣x, yq ✏ médianetf ♣n, mq ⑤ ♣n, mq P S♣x, yq ✉,
où S♣x, yq est un voisinage de ♣x, yq.
30
10
20
20
10
250 25
30
25
(cid:209)
10 10 20 20
25 30 30
25
(cid:210)
médiane
bruit
(cid:211)
250
On remplace la valeur du pixel par la valeur médiane ou la valeur moyenne. Ce filtre
est utile pour contrer l’effet ✦ Poivre et Sel ✧ (P& S) c’est-à-dire des faux ✦ 0 ✧ et
✦ 255 ✧ dans l’image.
Figure 20. Image bruitée ✦ Poivre et Sel ✧
FILTRAGE
25
(a) Filtre de moyenne -taille 3
(b) Filtre médian - taille 3
(c) Filtre de moyenne -taille 5
(d) Filtre médian - taille 5
(e) Filtre de moyenne -taille 7
(f) Filtre médian - taille 7
Figure 21. Comparaison filtres de moyenne et filtres médians
Si le bruit P& S est supérieur à la moitié de la dimension du filtre, le filtrage est
inefficace.
26
BERGOUNIOUX
4.2. Modèle de Peronna-Malik. — Pour améliorer les résultats obtenus par
l’EDP de la chaleur, Peronna et Malik ont proposé de modifier l’équation en y
intégrant un processus de détection des bords :
...