Cours Filtrage
Cours Filtrage
Maïtine Bergounioux
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 dans le cadre des images 2D. Nous terminons
par une ouverture sur les méthodes variationnelles très utilisées actuellement pour la
déconvolution et la restauration des images.
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
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 essen-
tiellement 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 temporelle 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 fréquence spatiale en disant qu’il y a 200
bandes blanches PAR kilomètre.
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 textures fines (comme les
feuilles d’un arbre ou de l’herbe) et certains contours de l’image. Au contraire, les
fréquences basses correspondent à de faibles variations 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 dégradations de nature différente suivant les
conditions d’acquisition. On s’intéressera ici plus particulièrement
– aux perturbations modélisés par un bruit additif, gaussien
– au flou (modélisé par un opérateuer de convolution)
– au bruit impulsionnel dit ! 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.
QUELQUES MÉTHODES DE FILTRAGE ... 3
@p P t0, , 255u hppq Nombre des pixels ayant p pour niveau de gris .
Figure 2. Histogramme
QUELQUES MÉTHODES DE FILTRAGE ... 5
Figure 4. Echantillonnage
Figure 5. Quantification
L’échantillonnage est une opération plus complexe qu’il n’y paraı̂t. En effet, un
sous-échantillonnage de l’image fait apparaı̂tre comme dans le cas unidimensionnel
des fréquences parasites dues au repliement du spectre (ou aliasing). Le théorème
d’échantillonnage de Shannon (voir [5] en 1D) s’applique aussi dans le cadre bidimen-
sionnel.
Le phénomène d’aliasing se traduit par une effet ! moiré " sur les images. Nous
renvoyons à [5] pour une étude détaillée de l’échantillonnage en 1D, qui s’étend sans
difficulté au cas 2D.
QUELQUES MÉTHODES DE FILTRAGE ... 7
3. 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 (par exemple 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 ÞÑ s : Apeq .
Définition 3.1 (Filtre). — Un filtre linéaire est un système formé des espaces
d’entrée et de sortie et d’un opérateur linéaire continu qui vérifie les deux propriétés
suivantes :
1. Il est invariant dans le temps : si Ta : x ÞÑ xp aq est l’opérateur de translation
alors
Ta A ATa .
2. Si lim ek ptq eptq alors on a lim sk ptq sptq. Cette propriété est équivalente
k Ñ 8 k Ñ 8
à la causalité.
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 L2p p0, T q (où
T ¡ 0) de fréquence λ 1{T . On sait que ce signal peut s’écrire sous la forme
¸
(1) x cn enλ ,
P
n Z
8 MAÏTINE BERGOUNIOUX
où on a posé
(2) eλ : t ÞÑ expp2iπλtq ,
de sorte que enλ peλ qn . On sait (grâce aux séries de Fourier) que la famille penλ qnPZ
forme une base hilbertienne de X .
Formellement p1q
¸ ¸
Ax A cn enλ cn pAenλ q.
P
n Z P
n Z
On est donc ramené à examiner l’effet de A sur enλ .
Reprenons le signal périodique x défini par la relation (1) ; la sortie filtrée par A
est donc
¸
y : Ax cn H pnλqenλ .
P
n Z
En résumé, chaque coefficient de Fourier cn de x est transformé en γn : H pnλqcn .
Compte tenu des propriétés de la transformée de Fourier discrète F, si x est un signal
numérique échantillonné avec 2N échantillons, on peut traduire la relation précédente
par
@n P t1, , N u Yn H pnλq Xn ,
où Y F py q et X F pxq, c’est-à-dire F py q H. F pxq , où . désigne le produit
composante par composante. Si on pose h 2N 1
F 1 pH q, cela donne : y h f x (où f
désigne ici la convolution circulaire discrète.) Nous obtenons donc le résultat suivant
(que nous admettrons pour les signaux analogiques) :
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.
10 MAÏTINE BERGOUNIOUX
Figure 9. Différents types de filtrage (on n’a pas représenté le filtre coupe-bande)
– 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
(d) Bruit et flou (e) Bruit poivre et sel (f) Bruit multiplicatif
Figure 10. Exemples de perturbations d’une image (bruits et flou)
4.1. Filtrage spatial (bruit additif ). — On ne fait pas en général une convolu-
tion globale qui serait d’une part coûteuse à implémenter, d’autre part régulariserait
l’image dans sa globalité de manière trop prononcée. On choisit des noyaux dont le
support est petit de façon à effectuer une convolution locale au voisinage de chaque
pixel. Concrètement, cela revient à utiliser des masques (discrets) dont le support ne
contient que quelques pixels au voisinage d’un pixel px, y q :
12 MAÏTINE BERGOUNIOUX
rx1 , x2 s r d1 2 1 , d1 2 1 s et ry1 , y2 s r d2 2 1 , d2 2 1 s,
pd1¸
1q{2 pd2¸
1q{2
(3) pf κqpx, yq f px i, y j qκpi, j q.
i pd1 1q{2 j pd2 1q{2
Donnons un exemple avec d1 d2 d 3 :
w1 w2 w3 Ð y1
w4 w5 w6 Ð y
w7 w8 w9 Ð y 1
Ò Ò Ò
x1 x x 1
Figure 12. Réflexion d’une image par rapport à ses bords. Ici pd1 1q{2
pd2 1q{2 : d et la taille de l’image et n1 n2 .
Un filtre 2D est dit séparable s’il est possible de décomposer le noyau de convo-
lution h2D en deux filtres 1D appliqués successivement en horizontal puis en vertical
(ou inversement) :
h2D hV1D b hH1D ,
où le symbole b désigne le produit tensoriel. On peut alors traiter séparément les
lignes et les colonnes de l’image ce qui est un gros avantage pour l’implémentation.
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.
14 MAÏTINE BERGOUNIOUX
Exemple 4.1 (Filtres séparables ). — Ils sont obtenus comme suit, pour une
dimension 3 3 par exemple. En pratique cela revient à faire un produit matriciel.
α aα bα cα α
a b c b β aβ bβ cβ β a b c .
γ aγ bγ cγ γ
Exemple 4.2 (Filtre de moyenne passe -bas ). —
1 1 1 1 1
1 1 1 1 1 1 1 1
1
9
1 1 1
1
25
1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1
Nous présentons dans la figure 14. l’effet des filtres de moyenne sur une image
bruitée par un bruit gaussien additif,de moyenne nulle et d’écart-type σ. Ce sont des
filtres séparables.
On remarque aussi l’effet de lissage induit par l’opération de convolution qui régularise
les contours en supprimant les sauts de la fonction. En effet, le contour d’une image
est un endroit où le niveau de gris, c’est-à-dire la valeur de la fonction ! image ", varie
brutalement par exemple de 0 à 255 pour un contour noir sur blanc. Cela correspond
à une discontinuité de la fonction. Une opération de convolution par un noyau régulier
(par exemple continu) donne comme résultat une fonction continue. Même, si la valeur
de la fonction varie rapidement au voisinage d’un point, le contour qui était très
marqué auparavant sera remplacé par un contour plus épais où le passage d’un niveau
de gris à l’autre (par exemple du blanc au noir) se fera sur plusieurs pixels avec des
niveaux de gris intermédiaires. Cela entraı̂ne un floutage du contour. La figure 13
illustre le phénomène.
Exemple 4.3 (Filtre gaussien). — Un filtre gaussien est donné par discrétisation
de la fonction gaussienne
1 x2 2y2
Gpx, y q e 2σ ,
2πσ 2
sur un voisinage de p0, 0q. Ici σ est l’écart-type et la moyenne est nulle.
16 MAÏTINE BERGOUNIOUX
1 4 6 4 1
4 18 30 18 4
1
300
6 30 48 30 6 .
4 18 30 18 4
1 4 6 4 1
La taille du filtre gaussien est gouvernée par σ qui doit être proportionnel à l’écart-
type du bruit (s’il est connu ! !). 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 important
Les filtres présentés 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.
F pg q H F pf q .
Le passe-bas idéal est le filtre qui ne modifie par les fréquences λ pλ1 , λ2 q telles
que }λ} ¤ δc (fréquence de coupure) et supprime les autres où } } désigne (par
exemple) la norme euclidienne de R2 .
QUELQUES MÉTHODES DE FILTRAGE ... 17
En d’autres termes
"
1 si }λ} ¤ δc
H pλq
0 sinon
(a) Zoom (coin supérieur droit)- Original (b) Zoom de l’image filtrée
Figure 17. Zoom sur le coin supérieur droit de la figure précédente : on
voit les ondulations et un flou très important
H pλq
1
2n
1
}λ}
δc
où δc est encore la fréquence de coupure et n un paramètre qui sert à régler l’approxi-
mation.
H pλq
1
2n
δc
1
}λ}
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 qui correspond aux effets de bord observés lors de la convolution spatiale.
Cet effet peut s’éliminer en faisant une réflexion de quelques pixels de l’image
autour de son cadre.
20 MAÏTINE BERGOUNIOUX
Si on filtre une image avec un filtre passe-bas, l’image obtenue par différence entre
l’originale et l’image filtrée par le passe-bas correspond à un filtrage passe-haut.
4.2.3. Filtres passe-bande. — Mentionnons pour finir les filtres passe-bande (et coupe
-bande) moins pertinents dans le cadre 2D que le cadre 1D. Ils permettent de ne garder
que les fréquences comprises dans un certain intervalle :
#
si δc ¤ }λ} ¤ δc
ε ε
H pλq
1
2 2
0 sinon
Il y a bien entendu beaucoup d’autres non-régularités dans une image, dues par
exemple aux textures, au bruit etc.
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).
4.3.1. Calcul des gradients discrets. — Le gradient de l’image f en un point
(pixel)M px, y q, s’il existe est égal à :
∇f px, y q p
Bf , Bf q.
Bx By
En pratique, il faut approcher ces gradients pour travailler avec des gradients dis-
crets qui correspondent à des taux de variation, calculables même si l’image est
discontinue (en particulier au voisinage d’un contour). Les approximations les plus
simples des dérivées directionnelles se font par différences finies. On peut les calculer
par exemple à l’aide de convolution avec des noyaux très simples : par exemple, l’ap-
Bf se fait par convolution avec r0 1 1s. En effet, dans ce cas, la
proximation de
Bx
formule générale de convolution discrète (3) donne (avec d1 3 et d2 0) :
g px, y q
¸
1 ¸
f px j qκpi, j q f px, y q f px 1, y q
Bf px, yq.
i 1 j 0
i, y
Bx
Bf se fait par convolution avec 01 :
De même l’approximation de
By 1
0 Ðy1
0 1 1 Ðy 1 Ð y
Ò Ò Ò 1 Ðy 1
x1 x x 1 Ò
x
1
On utilise plus souvent r1
0 1s et 0 qui produisent des frontières plus
1
é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
QUELQUES MÉTHODES DE FILTRAGE ... 23
avec
1 0 1
hx r1 0 1s b r1 2 1st 2 0 2
1 0 1
et
1 2 1
hy r1 2 1s b r1 0 1st 0 0 0
.
1 2 1
Masques de Roberts
a
A π4
-1 0 0 -1
G21 G22 θ
0 1 1 0
G2
G1 , G2 + arctan
G1
Masques de Sobel
1 0 -1 1 2 1 b
A
Gy
2 0 -2 0 0 0 G2x G2y θ = arctan
Gx
1 0 -1 -1 -2 -1
Gx , Gy
Masques de Prewitt
1 0 -1 1 1 1 b
A
Gy
1 0 -1 0 0 0 G2x G2y θ = arctan
Gx
1 0 -1 -1 -1 -1
Gx , Gy
Masques de Kirsh
Direction
5 5 5
-3 0 -3 maximum des |Gi | correspondant
-3 -3 -3
+ les 7 autres masques obtenus par au Gi sélectionné
permutation circulaire des coefficients
Gi pour i de 1 à 8
Masques de Robinson
1 1 1
1 -2 1 maximum des |Gi | Idem
-1 -1 -1
+ les 7 autres masques obtenus par
permutation circulaire des coefficients
Gi pour i de 1 à 8
0 1 0 1 1 1 1 -2 1
1 -4 1 1 -8 1 -2 4 -2
0 1 0 1 1 1 1 -2 1
Gσ pxq Gσ px1 , x2 q
1
exp
2 2
x12σ2x2 2πσ
1 }x}
exp 2
2
.
2πσ 2 2 2σ
@t ¡ 0, @x P R2 ∆upt, xq
B2 u pt, xq B2 u pt, xq p∆hpt, q u qpxq.
Bx21 Bx22 o
R2
ce qui donne :
Bu pt, xq ∆upt, xq 0 sur s0, trR2 .
Bt
D’autre part, avec
¼
}y4t}
2
upt, xq uo px y qdy
1
exp
4πt
R2
on obtient
lim upt, xq δx , uo ¡ uo pxq,
t Ñ0
car la famille de gaussiennes converge au sens des distributions vers la mesure de
Dirac.
La fonction ! filtrée " u vérifie l’équation aux dérivées partielles suivante (équation
de la chaleur) :
$
& Bu pt, xq ∆upt, xq 0 dans s0, T rΩ
% uBpt0, xq uo pxq
(4)
@x P Ω
QUELQUES MÉTHODES DE FILTRAGE ... 29
où Ω est le ! cadre " de l’image, i.e. l’ouvert de R2 où 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 ou ume convolution par le noyau G`2t en utilisant une FFT . Suivant le temps
d’évolution, on obtient une version plus ou moins lissée de l’image de départ.
4.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 à une réflexion de l’image par rapport à ses bords. En traitement
d’image on considère souvent que la taille de l’image 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 manières (centrée, à droite, à gauche)
4.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).
4.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 temps final 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 temps final au rapport signal sur bruit.
QUELQUES MÉTHODES DE FILTRAGE ... 31
$
& Bu pt, xq ∆upt, xq 0 dans s0, T rΩ
% uBptT, xq uo pxq
(7)
@x P Ω
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.
fˆ
û . Le filtre inverse est le plus simple des filtres. Dans certaines conditions, il
ĥ
peut donner de très bons résultats. Il consiste donc à calculer 1{ĥ et à l’appliquer
à l’image floutée. C’est le meilleur filtre pour déconvoluer une image non bruitée.
Toutefois il n’est pas toujours possible de calculer 1{ĥ car ĥ peut s’annuler. . Une
alternative est l’algorithme de Van Cittert.
Posons ĝ 1 ĥ de sorte que formellement on obtient
8
fˆ ¸
û k
fˆ.
1 ĝ
ĝ
k 0
¸
n
Si on pose uo f et ûn ĝ k
fˆ pour tout n ¥ 1 on obtient
k 0
En effet un filtre de convolution affecte au pixel traité un barycentre des valeurs des
niveaux de gris des pixels situés dans un voisinage. Un pixel dont le niveau de gris est
très différent des autres va donc affecter le résultat de la convolution. On préfère, dans
ce cas remplacer la valeur du pixel par la valeur médiane et non la valeur moyenne
(par exemple).
g px, y q médianetf pn, mq | pn, mq P S px, yq u,
où S px, y q est un voisinage de px, y q.
bruit
30 10 20 Ó
10 250 25 Ñ 10 10 20 20 25 25 30 30 250
20 25 30 Ò
médiane
34 MAÏTINE BERGOUNIOUX
5.2. Modèle de Perona-Malik. — Pour améliorer les résultats obtenus par l’EDP
de la chaleur, Perona et Malik ont proposé de modifier l’équation en y intégrant un
processus de détection des bords :
$
' Bu
& Bt pt, xq div pcp|∇u|q∇uqpt, xq dans s0, T rΩ
'
'
(8) Bu 0 sur s0, T rBΩ
'
' B
'
% upn0, xq u pxq
o @x P Ω
où c est une fonction décroissante de R dans R .
cptq a ou cptq
1 1
1 pt{αq2 1 pt{αq2 où α est un paramètre positif.
On obtient
H̄ pHU F q |Q|2 U 0,
c’est-à-dire
(9) U |H |2 H̄ |Q|2 F.
Le principe du filtrage de Wiener est de fixer |Q|2 en fonction d’une estimation du
rapport signal sur bruit. Lorsque Q 0 on retrouve le filtrage inverse (pas de bruit).
Idéalement, il faudrait choisir
Qpω q
|b̂pωq|
|ûpωq| .
QUELQUES MÉTHODES DE FILTRAGE ... 37
Le choix le plus courant est de prendre l’inverse du rapport signal sur bruit :
||ûb̂||2 ¡¡ ,
2
Q2
où |b̂|2 ¡ (resp. |û|2 ¡) est la puissance spectrale moyenne de b (resp. u) c’est-à-
dire
¼
|b̂| ¡
2 1
|D| |b̂|2 pωq dω ,
D
Pour implémenter le filtre de Wiener, nous devons être en mesure d’estimer cor-
rectement la puissance spectrale de l’image d’origine et du bruit. Pour un bruit blanc
gaussien, la puissance spectrale moyenne est égale à la variance σ 2 du bruit. La puis-
sance spectrale de u est difficile à obtenir puisqu’on ne connaı̂t pas u ! ! Toutefois
|û|2 |f | 2|b̂| |f | 2 σ .
ˆ2 2 ˆ2 2
|ĥ| |ĥ|
En résumé, la fonction de transfert du filtre de Wiener est donnée par
(10) W ĥ
,
|ĥ| 2 Q2
(11) Q2 σ2 |ĥ| ¡2 .
|fˆ| ¡2 σ2
Remarque 5.1. — Rappelons que le spectre de puissance d’un signal est obtenu
par la transformée de Fourier de sa fonction d’autocorrélation (Théorème de Wiener-
Khinchine).
On peut bien sûr tester ! à l’aveugle " différentes valeurs de Q que l’on peut supposer
constant.
Dans l’exemple suivant, l’image a été floutée par un filtre gaussien de taille 15 et
d’écart-type 45. Elle a aussi été réfléchie pour minimiser les effets de bord.
38 MAÏTINE BERGOUNIOUX
Dans l’exemple suivant, l’image a été floutée par un filtre gaussien de taille 15 et
d’écart-type 45 et bruitée par un bruit additif gaussien d’écart type 15.
– le filtre de Cannon :
12
W 1
,
|ĥ|2 Q2
1s
W 1 ĥ
,
|ĥ|s |ĥ|2 Q2
où Q est donné par (11). Si s 1 on retrouve le filtre inverse, s 0 le filtre de
Wiener et s 0.5 le filtre de Cannon.
(b) Estimation de u
uk 1 uk f
puk hk q ȟk 1 ,
1
6. Filtrage variationnel
La définition du filtre de Wiener suggère fortement l’utilisation de méthodes varia-
tionnelles puisqu’il s’agit de minimiser des erreurs tout en se donnant un a priori sur
l’image. Nous allons préciser cette idée. Nous nous plaçons maintenant dans un cadre
! dimension infinie ", et nous effectuerons une discrétisation ensuite.
Etant donnée une image originale, on suppose qu’elle a été dégradée par un bruit
additif v, et éventuellement par un opérateur R de flou. Un tel opérateur est souvent
QUELQUES MÉTHODES DE FILTRAGE ... 41
où } }2 désigne la norme dans L2 . Il s’agit d’un problème inverse mal posé :
l’oéprateur n’est pas nécessairement inversible (et même lorsqu’il est inversible, son
inverse est souvent numériquement difficile à calculer). En d’autres termes, l’existence
et/ou l’unicité de solutions n’est pas assurée et si c’est le cas, la solution n’est pas
stable (continue par rapport aux données). Pour le résoudre numériquement, on est
amené à introduire un terme de régularisation, et à considérer le problème
inf
u
}looooomooooon
ud Ru}22 puoqn
loLomo .
ajustement aux données Régularisation
Dans toute la suite, nous ne considérerons que le cas où est R est l’opérateur
identité (Ru u). Commençons par un procédé de régularisation classique : celui de
Tychonov.
où ud est l’image observée (données) et le problème régularisé suivant : pour tout
α¡0
pPα q min }u ud }2H
P
u V
α}∇u}2H .
Non seulement on veut ajuster u à la donnée ud , mais on impose également que le
gradient soit ! assez petit " (cela dépend du paramètre α).
Il est facile de voir sur l’exemple suivant que la fonctionnnelle J puq }u ud }2H
n’est pas coercive sur V :
Ω s0, 1r, un pxq xn , ud 0.
On voit que }un }2 `1 , }u1n }2 `2nn 1 . On a donc
2n
lim }un }V 8 et lim J pun q 0.
n Ñ 8 n Ñ 8
Il n’est donc même pas clair (a priori) que le problème pP q ait une solution.
42 MAÏTINE BERGOUNIOUX
Proposition 6.1. — Supposons que pP q admet au moins une solution ũ. Le problème
pPα q admet une solution unique uα . De la famille puα q on peut extraire une sous-suite
qui converge (faiblement ) dans V vers une solution u de pP q lorsque α Ñ 0.
Définition 6.3. — Une fonction f de L1 pΩq (à valeurs dans R) est à variation
bornée dans Ω si J pf q 8 où
"» *
(13) J pf q sup f pxq div ϕpxq dx | ϕ P Cc1 pΩ, R2 q , }ϕ}8 ¤1 .
Ω
On note
BV pΩq tf P L1 pΩq | J pf q 8 u
l’espace de telles fonctions.
div ϕpxq
Bϕ1 pxq Bϕ2 pxq .
B x1 B x2
Définition 6.4 (Périmètre). — Un ensemble E mesurable (pour la mesure de
Lebesgue) dans R2 est de périmètre (ou de longueur) fini si sa fonction indicatrice
χE est dans BV pΩq.
44 MAÏTINE BERGOUNIOUX
On rappelle qu’une mesure de Radon est une mesure finie sur tout compact et
que grâce au théorème de Riesz, toute forme L linéaire continue sur Cco pΩq (fonctions
continues à support compact) est de la forme
»
Lpf q f pxq dµ ,
Ω
où µ est une (unique) mesure de Radon associée à L. Nous pouvons donc donner une
propriété structurelle des fonctions BV.
Théorème 6.5. — Soit f P BV pΩq. Alors il existe une mesure de Radon positive µ
sur Ω et une fonction µ-mesurable σ : Ω Ñ R telle que
(i) |σ
» pxq| 1, µ p.p. , et »
(ii) f pxq div ϕpxq dx ϕpxq σ pxq dµ pour toute fonction ϕ P Cc1 pΩ, R2 q
Ω Ω
La relation (ii) est une formule d’intégration par parties ! faible ". Ce théorème
indique que la dérivée faible (au sens des distributions ) d’une fonction BV est une
mesure de Radon. J puq : µpΩq ¥ 0 est la variation totale de f . L’application
BV pΩq
Ñ R
ÞÑ }u}BV pΩq }u}L J puq .
u 1
est une norme. L’espace BV pΩq muni de cette norme est un espace de Banach.
Donnons sans démonstration quelques propriétés importantes de BV pΩq. Pour plus
de détail, on pourra se reporter à [10].
alors, il existe une sous-suite punk qkPN et une fonction u P BV pΩq telle que unk
converge fortement vers u dans L1 pΩq.
Plus généralement on a des injections de type Sobolev :
Théorème 6.9 (Injection dans les espaces Lp ). — On suppose que Ω est
régulier de RN . Alors l’espace BV pΩq s’injecte dans Lp pΩq de manière
– continue pour 1 ¤ p ¤
N
N 1
– compacte pour 1 ¤ p
N
N 1
En particulier pour N 2 l’espace BV pΩq est contenu dans L2 pΩq avec injection
continue.
6.2.2. Présentation du modèle de Rudin-Osher et Fatemi (ROF). — Il faut trouver
une alternative à la régularisation de Tychonov qui est trop violente. La première
idée consiste à remplacer le terme de régularisation }∇u}2H (qui est en réalité une
pénalisation par une norme V ), par une norme moins contraignante et régularisante.
Rudin-Osher et Fatemi [15] ont proposé un modèle où l’image est décomposée en deux
parties : ud u v où v est le bruit et u la partie ! régulière ". On va donc a priori
chercher la solution du problème sous la forme u v avec u P BV pΩq et v P L2 pΩq.
Cela conduit à :
pPROF q mint J puq 2ε1 }v}22 | u P BV pΩq, v P L2 pΩq, u v ud u.
Ici le terme de régularisation Lpuq est J puq la variation totale de u et ε ¡ 0 (ici
α 2ε, si on se réfère aux notations du début de la section).
Théorème 6.10. — Le problème pPROF q admet une solution unique.
Démonstration. — Soit pun , vn q P BV pΩq L2 pΩq une suite minimisante. Comme vn
est bornée dans L2 pRq on peut en extraire une sous-suite (notée de la même façon)
faiblement convergente vers v dans L2 pRq. Comme la norme de L2 pRq est convexe,
sci, il vient
}v }22 ¤ lim inf }vn }22 .
n Ñ 8
De la même façon un ud vn est bornée dans L2 pRq et donc dans L1 pΩq puisque Ω
est borné. Comme J pun q est borné, il s’ensuit que un est bornée dans BV pΩq. Grâce
à la compacité de l’injection de BV pΩq dans L1 pΩq (voir [2, 13]), cela entraı̂ne que
un converge (à une sous-suite près) fortement dans L1 pΩq vers u P BV pΩq.
D’autre part J est semi-continue inférieurement (sci), donc
J pu q ¤ lim inf J pun q,
n Ñ 8
et finalement
J pu q
1 2
2ε
}v }2 ¤ lim
nÑ 8
inf J pun q
1
2ε
}vn }22 inf pPROF q.
46 MAÏTINE BERGOUNIOUX
Nous aurons besoin d’établir des conditions d’optimalité pour la ou les solutions
optimales des modèles proposés. Toutefois les fonctionnelles considérées (en particulier
J) ne sont en général pas Gâteaux-différentiables et nous devons utiliser des notions
d’analyse non lisse (voir annexe).
6.2.3. Condition d’optimalité du premier ordre. — Le problème pPROF q peut s’écrire
de la manière (équivalente) suivante
où x, y désigne le produit de dualité entre BV pΩq et son dual. Par conséquent xξ, uy
J puq ¤ 0 pour tous ξ P K et u P BV pΩq. On déduit donc que pour tout u P K
J pu q sup xu , uy J puq ¤ 0.
uPK
Comme J ne prend qu’une seule valeur finie on a J pu q 0, et donc u P K̃. Par
conséquent K K̃ et comme K̃ est fermé :
K̄ K̃.
QUELQUES MÉTHODES DE FILTRAGE ... 47
En particulier
J puq sup xu, ξ y ¤ sup xu, ξ y ¤ sup xu, ξ y sup xu, ξ y J pξ q J puq.
P
ξ K P
ξ K̄ P
ξ K̃ P
ξ K̃
Comme J J, il vient
sup xu, ξ y ¤ sup xu, ξ y ¤ sup xu, ξ y ,
P
ξ K P
ξ K̃ P
ξ K
et donc
(15) sup xu, ξ y sup xu, ξ y sup xu, ξ y .
P
ξ K P
ξ K̄ ξ PK̃
Supposons maintenant qu’il existe u P K̃ tel que u R K̄. On peut alors séparer
strictement u et le convexe fermé K̄. Il existe α P R et uo tels que
xuo , u y ¡ α ¥ sup xuo , vy .
v PK̄
0 P B J puq
1
2ε
}u ud }22 u ε ud BJ puq.
Comme J est convexe, sci, propre on peut appliquer le corollaire A.41. Donc
ud u
ε
P BJ puq ðñ u P BJ p ud ε u q ðñ 0 P u BJ p ud ε u q.
Nous aimerions alors appliquer (par exemple) la proposition A.28 mais elle fait inter-
venir la notion de projection qui n’est définie que dans le cadre hilbertien. Or J est
la conjuguée de J pour la dualité BV, BV 1 ¡. Nous allons donc conclure et calcu-
ler B J puq une fois le problème discrétisé : le cadre fonctionnel est alors hilbertien,
puisque que l’espace de travail est de dimension finie.
et de la norme associée : } }X .
48 MAÏTINE BERGOUNIOUX
Nous allons donner une formulation discrète de ce qui a été fait auparavant et en
particulier définir une variation totale discrète que nous noterons de la même façon.
Pour cela nous introduisons une version discrète de l’opérateur gradient. Si u P X, le
gradient ∇u est un vecteur de Y donné par
p∇uqi,j pp∇uq1i,j , p∇uq2i,j q,
avec
"
p∇uq1i,j ui 1,j ui,j si i N
si i N
(16)
0
"
p∇uq 2 ui,j 1 ui,j si j M
(17) i,j
0 si j M
La variation totale discrète est alors donnée par la norme `1 du gradient discret :
¸ ¸
(18) J puq |p∇uqi,j |,
¤¤
1 i N1 j M ¤¤
b
où |p∇uqi,j | |p∇uq1i,j |2 |p∇uq2i,j |2 . On introduit également une version discrète
de l’opérateur de divergence défini par analogie avec le cadre continu en posant
div ∇ ,
où ∇ est l’opérateur adjoint de ∇, c’est-à-dire
@p P Y, @u P X pdiv p, uqX pp, ∇uqY pp1 , ∇1 uqX pp2 , ∇2 uqX .
On peut alors vérifier que la divergence discrète est donnée par la relation (6) p. 30.
On utilisera aussi une version discrète du laplacien définie par
∆u div ∇u.
On va remplacer le problème pPROF q (dans la version (14)) par le problème obtenu
après discrétisation suivant
ud u
u P J .
ε
(c) ε 5 (d) ε 10
6.4. Déconvolution. — Nous évoquons très succinctement dans cette section une
généralisation possible de la méthode précédente dans la cas où l’image est à la fois
floutée et bruitée. L’image observée est donc de la forme : Rpf q b avec Rpf q
h f . Nous avons déjà traité dans la section 4 la question de la déconvolution. Nous
généralisons donc ici le principe du filtre de Wiener.
Le problème pPROF q se généralise donc de la manière suivante
Démonstration. — Une condition nécessaire et suffisante pour que uε soit une solution
de (23 ) est
0 P B J puε q
1
2ε
}Ruε ud }2X R pRuεε ud q BJ puε q.
Ceci est équivalent à
uε P BJ pµε q,
où on posé
µε R pud ε Ruε q .
Comme J 1K , la proposition A.28 indique que
uε P B 1K pµε q ðñ µε PK puε µε q,
d’où le résultat.
On peut maintenant résoudre le système (24-25) par exemple par une méthode de
point fixe, qui conduit à l’algorithme :
Algorithme
(1) Initialisation : uo ud , n 0.
(2) Etape n : un est connu
52 MAÏTINE BERGOUNIOUX
– Calcul de µn R pud ε Run q
– Calcul de un 1 un µn PK pun µn q
Il est clair que si la suite un converge vers uε alors µn converge vers µε et puε , µε q
vérifie le système (24-25). C’est donc une solution du problème (discret).
7. Conclusion
Nous avons abordé très rapidement les méthodes génériques de base pour effectuer
le filtrage des images. Nous nous sommes volontairement limités au cas d’un bruit
additif. Il existe des méthodes de plus en plus sophistiquées pour traiter des bruits
de nature très différente. Enfin, nous n’avons pas parlé des méthodes par ondelettes
faute d’espace et de compétence qui constituent des outils puissants de débruitage.
Le lecteur intéressé pourra se référer à [12]
Appendice A
Quelques outils mathématiques
A.1. Optimisation dans les espaces de Banach. — Sauf mention du contraire,
on considère dans toute la section un espace de Banach réflexif V de dual (topologique)
V 1 . On note } }V la norme de V et x, y le crochet de dualité entre V et V 1 .
A.1.1. Semi-continuité et convexité de fonctionnelles sur V . —
Définition A.4. — Soit J une fonctionnelle de V dans R Y t 8u. On dit que J est
Gâteaux-différentiable en u P dom pJ q si la dérivée directionnelle
J pu
tv q J puq
J 1 pu; v q lim ,
tÑ0 t
existe dans toute direction v de V et si l’application
v ÞÑ J 1 pu; vq
est linéaire continue.
ce qui donne
J puq ¤ lim inf J pun q lim J pun q d ¤ J puq.
n Ñ 8 n Ñ 8
On a donc J puq d et u P K : u est bien solution.
QUELQUES MÉTHODES DE FILTRAGE ... 55
Corollaire A.10. — On suppose que V est un Banach réflexif. Soit J une fonction-
nelle de V dans R Y t 8u, convexe sci , propre et K un sous-ensemble convexe non
vide et fermé de V . Si J est coercive ou si K est borné, le problème de minimisation
admet une solution. Si, de plus, J est strictement convexe la solution est unique.
(30) @v P K, ∇J puq, v u ¡¥ 0.
A.1.4. Exemple : Projection sur un convexe fermé. — Dans ce qui suit V est un
espace de Hilbert muni d’un produit scalaire p, q et de la norme associée } } et C
est un sous-ensemble convexe et fermé de V .
mint }x y}2 , y P C u
a une solution unique x P C. De plus x P C est caractérisé par :
(31) @y P C px x , y x q ¤ 0.
Nous avons une seconde caractérisation de x de manière immédiate :
(32) @y P C px y, y xq ¤ 0.
Le point x est le projeté de x sur C. L’application PC : V Ñ C qui à x associe
son projeté x est la projection sur C. Le projeté PC pxq est donc le point de C qui
est le ! plus près " de x. On définit de manière standard la fonction distance d’un
point x à l’ensemble C par
Dans le cas où C est un convexe fermé, on vient donc de démontrer que
dpx, C q }x PC pxq}.
56 MAÏTINE BERGOUNIOUX
@y P C px x , yq 0.
Cela signifie que x x P C K (l’orthogonal de C). On retrouve ainsi la classique
projection orthogonale sur un sous-espace vectoriel fermé.
H t x P V | pα, xq β 0 u,
où on r appelle que p, q désigne le produit scalaire de V , α P V, α 0 et β P R.
QUELQUES MÉTHODES DE FILTRAGE ... 57
A.2.2. Sous-différentiel. —
Le résultat suivant s’en déduit mais on peut le montrer directement sans hypothèse
de convexité sur les deux fonctions :
Pour plus de détails sur ces notions on peut consulter [3, 9]. Nous terminons par
un exemple important.
QUELQUES MÉTHODES DE FILTRAGE ... 59
A.2.5. Application à l’indicatrice d’un ensemble. — Dans le cas où f est la fonction
indicatrice d’un sous-ensemble non vide K de X :
"
si u P K,
f puq 1K puq
def 0
8 sinon
le sous-différentiel de f en u est le cône normal de K en u :
B1K puq NK puq t u P X 1 | hu , v ui ¤ 0 pour tout v P K u.
Dans le cas où X est un espace de Hilbert identifié à son dual, et K un sous-ensemble
fermé, convexe non vide de X , nous allons préciser le sous-différentiel de 1K en u
(c’est-à-dire le cône normal à K en u ) :
λ P B 1K puq ðñ λ cru PK pu qs
λ λ
c c
pour tout c réel strictement positif, où PK est la projection de X sur le convexe K.
@v P K u
λ
c
u, v u ¤ 0.
X
Remarque A.30. — (a) Si f ! prend " la valeur 8, alors f 8. Si f est propre
(c’est-à-dire non indentiquement égale à 8) alors f est à valeurs dans R Y t 8u.
(a) On notera désormais `puq `, u ¡, où , ¡ désigne le produit de dualité
entre X et X 1 . Ce produit de dualité coı̈ncide avec le produit scalaire dans le cas où
X est un espace de Hilbert, après identification de X et de son dual.
L’équation (34) s’écrit alors
@u P X 1 f pu q sup t xu , uy f puq u.
P
u X
où dom f est le domaine de f ( i.e. l’ensemble des éléments u PX tels que f puq est
finie) et ϕu : X 1 Ñ R est définie par
ϕu pu q u , u ¡ f puq.
Chacune des fonctions ϕu est affine et continue, donc convexe et sci pour la topologie
faible de X 1 . Il en est de même pour le sup.
Plus généralement
Théorème A.39. — Soit f une fonction propre, convexe et sci de X dans R Yt 8u.
Alors f f .
Références
[1] Aubert G. et Kornprobst P., Mathematical Problems in Image Processing, Applied Ma-
thematical Science 147, Springer 2006
[2] Attouch H., Buttazzo G. et Michaille G., Variational analysis in Sobolev and BV spaces,
MPS-SIAM Series on Optimization, 2006
[3] Azé D., Eléments d’analyse convexe et variationnelle, Ellipses, Paris, 1997.
[4] Barbu V. et Precupanu Th., Convexity and Optimization in Banach Spaces, Sijthoff &
Noordhoff, Bucarest 1978.
[5] Bergounioux M. Méthodes mathématiques pour le traitement du signal, Collection
! Mathématiques Appliquées pour le Master/SMAI ", Dunod, Paris, 2010
[6] Brézis H., Analyse Fonctionnelle, Masson, Paris, 1987.
[7] Chambolle A., An algorithm for total variation minimization and applications, JMIV,
20, 89-97,2004.
[8] Dautray R. et Lions J.L., Analyse mathématique et calcul numérique, 9 volumes, Masson,
Paris, 1987.
[9] Ekeland I. et Temam R., Analyse convexe et problèmes variationnels, Dunod, Paris, 1973.
QUELQUES MÉTHODES DE FILTRAGE ... 63
[10] Evans L. et Gariepy R., Measure theory and fine properties of functions, CRC Press,
Boca Raton, Floride, 1992.
[11] Gasquet C. et Witomski P., Analyse de Fourier et applications, Masson, 1995.
[12] S. Mallat, A Wavelet Tour of Signal Processing, Academic Press, 1998.
[13] Pallara D., Ambrosio L., Fusco N., Functions of bounded variations and free disconti-
nuity problems, Oxford Mathematical Monographs, 2000.
[14] Rudin W., Analyse réelle et complexe, Masson, 1978.
[15] Rudin L., Osher S. et Fatemi E., Non linear total variation based noise removal algo-
rithms, Physica D, 20, pp. 259-268, 1992