DIRO
IFT 6150
TRAITEMENT D’IMAGES
RESTAURATION
Max Mignotte
Département d’Informatique et de Recherche Opérationnelle.
Http : //www.iro.umontreal.ca/∼mignotte/ift6150
E-mail : [email protected]
RESTAURATION
SOMMAIRE
Modèle de Dégradation . . . . . . . . . . . . . . . . . . . . . 2
Estimation du Modèle de Flou . . . . . . . . . . . . . . 4
Filtrage Inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
La Restoration : Problème Inverse Mal Posé . 9
Filtre de Wiener . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Restauration Interactive . . . . . . . . . . . . . . . . . . . . 13
Algorithmes Itératifs . . . . . . . . . . . . . . . . . . . . . . . 14
1
RESTAURATION
MODÈLE DE DÉGRADATION (1)
Opération Globale
f g
Modèle de Dégradation
h i
g(x, y) = H f (x, y) + n(x, y)
• f (x, y) Image avant dégradation (ou image idéale)
• n(x, y) Bruit supposé additif
• g(x, y) Image dégradée (ou à restaurer)
Restauration ◮ Retrouver f (x, y) à partir de g(x, y)
- connaissant les caractéristiques du bruit n(x, y) ?
- connaissant H() ?
2
RESTAURATION
MODÈLE DE DÉGRADATION (2)
h i
g(x, y) = H f (x, y) + n(x, y)
Modèle LINÉAIRE de Dégradation
(H invariant en position)
g(x, y) = h(x, y) ∗ f (x, y) + n(x, y)
F -1 F
G(u, ν) = H(u, ν) · F (u, ν) + N (u, ν)
h(x, y) : Réponse à l’impulsion
(Réponse du système à une impulsion de Dirac)
Comment trouver h(x,y) ?
• Réponse du système à une impulsion de Dirac
• Identification de la réponse du système à une source
ponctuelle
• Identification du flou basé sur les zéros du domaine
fréquentiel
3
RESTAURATION
ESTIMATION DU MODÈLE DE FLOU (1)
Réponse du système à une impulsion de Dirac
δ(x, y)
h(x, y) ≈ h(x, y) ∗ δ(x, y) + n(x, y)
(On peut éliminer le bruit en moyennant par exemple)
Réponse du système à une source ponctuelle
4
RESTAURATION
ESTIMATION DU MODÈLE DE FLOU (2)
Identification du flou basé sur les zéros fréquentielles
g(x, y) = h(x, y) ∗ f (x, y) + n(x, y)
F -1 F
G(u, ν) = H(u, ν) · F (u, ν) + N (u, ν)
Si on suppose une forme paramétrique connue pour la
PSF (et donc pour sa réponse fréquentielle), H(u, ν)
peut être identifié en trouvant les zéros de G(u, ν).
a- Flou rectiligne causé par du mouvement
0 y 6= 0, −∞ ≤ x ≤ ∞
h(x, y) = 1
2d
y = 0, −d ≤ x ≤ d
◮ Zéros sur des lignes perpendiculaires à la direction du
mouvement et espacés de 1/2d
b- Erreur de mise au point
( de lentille circulaire
p
0 x2 + y 2 > r
h(x, y) = 1
p
πr 2
x2 + y 2 ≤ r
◮ Zéros se trouvant sur des cercles concentriques cen-
trés à l’origine et périodique de période r dont le premier
zéro est à la fréquence numérique ≈ 0.61/r
5
RESTAURATION
ESTIMATION DU MODÈLE DE FLOU (3)
c- Flou uniforme 2D
1 L L
si − ≤ x, y ≤
h(x, y) = L2 2 2
0 autrement
◮ Zéros espacés de n/L en u et ν
Bloc Diagramme
Identification dans le
domaine fréquentielles des Estimation des parametres
zéros de l’image dégradée de la PSF
Restauration de l’image
Problèmes
◮ Requiert une forme paramétrique pour la PSF
◮ Requiert une PSF créant des zéros dans le domaine
fréquentiel (PSF Gaussienne ◮ aucun zéro)
6
RESTAURATION
FILTRAGE INVERSE (1)
g(x, y) = h(x, y) ∗ f (x, y) + n(x, y)
F -1 F
G(u, ν) = H(u, ν) · F (u, ν) + N (u, ν)
G(u, ν) N (u, ν)
F̂ (u, ν) = −
H(u, ν)
| {z }
H(u, ν)
F (u,ν) si N (u,ν)=0
G(u, ν) N (u, ν)
F̂ (u, ν) = −
H(u, ν) H(u, ν)
Problèmes
• H(u, ν) peut s’annuler pour certaines fréquences
• G(u, ν) et H(u, ν) peuvent s’annuler simultanément
• le bruit N (u, ν) n’est jamais nul
Image Originale Image restorée par Filtrage Inverse
7
RESTAURATION
FILTRAGE INVERSE (2)
Solutions
• Si H(u, ν) petit F̂ (u, ν) = G(u, ν) (ou 0) sinon G/H
• Au delà d’une certaine fréquence de coupure D0
◮ F̂ (u, ν) = 0 sinon G(u, ν)/H(u, ν)
h(x, y)
f (x, y) g(x, y)
D0 bien choisi D0 trop grand
Remarque
G(u, ν) H ∗(u, ν) G(u, ν)
=
H(u, ν) |H(u, ν)|2
8
RESTAURATION
LA RESTAURATION : PROBLÈME INVERSE MAL POSÉ
g(x, y) = h(x, y) ∗ f (x, y) + n(x, y)
F -1 F
G(u, ν) = H(u, ν) · F (u, ν) + N (u, ν)
◮ Problème inverse mal posé
La solution de ce problème n’est pas unique et une très
faible variation sur l’image g(x, y) (un bruit par exemple),
a pour effet de produire de grandes variations sur la solution
Solutions pour rendre le problème bien posé
• Exploiter les connaissances statistiques et spectrales
de l’image et du bruit (filtre de Wiener, etc.)
• Modéliser et Exploiter des connaissances a priori que
l’on a sur l’image et exploiter une solution que l’on sait
être pas trop éloignée du résultat désiré (Algorithme
itératifs de Landweber, Tichonov-Miller, etc.)
H
On contraint la solution de ce problème
Avantage des algorithmes itératifs
• Ne requiert pas l’implémentation d’une division
• Le processus de restoration peut être contrôlé et vi-
sualisé à chaque itération
9
RESTAURATION
FILTRE DE WIENER (1)
n(x,y)
g(x,y) ^
f(x,y) -1
f(x,y)
H + H W
Filtre inverse Estimateur
de Wiener
Filtre de Wiener
◮ Cherche à minimiser la fonction de coût suivante
n o
2
fˆ(x, y) = arg min k fˆ(x, y) − f (x, y) k
fˆ
• Supposons que H(u, ν) = 1, on montre que la réponse
impulsionnelle w(x, y) qui conduit à ce résultat est
Agf (x, y) = (w ∗ Ag )(x, y)
F -1 F
Pgf (u, ν)
W (u, ν) =
Pg (u, ν)
• Signal et bruit non corrélés, on montre que
Pg = Pf + Pn et Pgf = Pf
où Pf et Pn désigne la DSP du signal et du bruit
Nota
Ag = g(x, y) ∗ g(−x, −y) (Autocorrélation de g(x, y))
F(Ag ) = |G(u, ν)|2 = Pg (u, ν) (DSP ou spectre de puissance)
|F(Agf )|2 = Pgf (u, ν) (Spectre d’intéraction entre g et f )
10
RESTAURATION
FILTRE DE WIENER (2)
n(x,y)
^
f(x,y) g(x,y) f(x,y)
-1
H + H W
Filtre inverse Estimateur
de Wiener
Filtre de Wiener
Pf (u, ν)
W (u, ν) =
Pf (u, ν) + Pn(u, ν)
En considérant maintenant que H(u, ν) 6= 1, on trouve,
Pf (u, ν) Pf (u, ν)|H(u, ν)|2
W (u, ν) = Pn (u,ν)
=
Pf (u, ν) + Pf (u, ν)|H(u, ν)|2 + Pn(u, ν)
|H(u,ν)|2
Fonction de transfert du filtre de Wiener
" #
1 |H(u, ν)|2
T (u, ν) = · Pn (u,ν)
H(u, ν) |H(u, ν)|2 +
Pf (u,ν)
Remarques
• Pn(u, ν)/Pf (u, ν) peut être approximé par une constante
ou une fonction choisie adéquatement
• Pn(u, ν) −→ 0 ◮ Filtrage inverse
Nota i
H Pn(u, ν) = Pn |H|2
11
RESTAURATION
FILTRE DE WIENER (3)
Exemples
g(x, y) |G(u, ν)|2 Filtre inverse Wiener |F̂ (u, ν)|2
Remarques
• Meilleur que le filtrage inverse
• Limité lorsque le flou est important
12
RESTAURATION
RESTAURATION INTERACTIVE
Restauration du spectre de puissance de l’image
Fonction de Transfert
" #1/2
Pf (u, ν)
T (u, ν) =
|H(u, ν)|2Pf (u, ν) + Pn(u, ν)
- Remarques -
• Pn(u, ν) −→ 0 ◮ Filtrage inverse
• Donne en général de meilleur résultats car G(u, ν) 6= 0
lorsque H(u, ν) l’est, à la différence du filtre de Wie-
ner.
Filtres de moyenne géométrique
Fonction de Transfert
" #α " #1−α
1 1 |H(u, ν)| 2
T (u, ν) = ·
H(u, ν) H(u, ν) |H(u, ν)|2 + β Pn (u,ν)
Pf (u,ν)
α et β sont des paramètres positifs.
- Remarques -
• Pour α = 1 ou β = 0 ◮ Filtre inverse
• Pour α = 0 et β = 1 ◮ Filtre de Wiener
• Pour α = 1/2 et β = 1 ◮ Restauration du spectre
de puissance de l’image (moyenne géométrique entre
filtre inverse et Wiener)
13
RESTAURATION
ALGORITHME ITÉRATIFS
Algorithmes de Landweber
◮ Cherche à minimiser la fonction de coût suivante
n o
2
fˆ(x, y) = arg min k g(x, y) − h(x, y) ∗ fˆ(x, y) k
f
Conduit à l’approche itérative suivante
fˆk+1(x, y) = fˆk (x, y) + α h(−x, −y) ∗ g(x, y) − h(x, y) ∗ fˆk (x, y)
avec fˆ0 (x, y) = g(x, y)
Image originale Restoration (Algo. Landweber)
◮ Algorithme de descente du gradient avec g(x, y) comme
solution initiale et α comme pas (α = 1)
14
RESTAURATION
ALGORITHME ITÉRATIFS
Algorithmes de Tichonov-Miller
◮ Cherche à minimiser la fonction de coût suivante
n o
2 2
fˆ(x, y) = arg min k g(x, y) − h(x, y) ∗ fˆ(x, y) k + α k c(x, y) ∗ fˆ(x, y) k
f
où c(x, y) représente l’opérateur laplacien 2D
Conduit à l’approche itérative suivante
fˆk+1(x, y) = fˆk (x, y)+
β g(x, y) ∗ h(−x, −y) − Ah(x, y) + αAc (x, y) ∗ fˆk (x, y)
avec fˆ0 (x, y) = β g(x, y) ∗ h(−x, −y)
Ah(x, y) et Ac (x, y), autocorrélation de h(x, y) et c(x, y)
α : paramètre de régularisation
Image originale Restoration (Algo. Tichonov-Millerr)
15
RESTAURATION
EXEMPLE
Exemples
Filtre inverse Filtre contraint
16