TRAITEMENT des IMAGES et VISION par MACHINE MASTER PRO INFO 2011/2012 Vézien.@limsi.fr Vision par Machine 1
VI. RESTAURATION D IMAGES Vision par Machine 2
But: trouver des techniques linéaires globales pour compenser des dégradations uniformes, de type «bruit additif». notion de restauration: f(x,y) h(x,y) filtre linéaire homogène + + n(x,y) g(x,y) f(x,y) : image "idéale" recherchée, h(x,y) : réponse impulsionnelle de la dégradation, n(x,y) : bruit blanc décorrélé du signal, g(x,y) : image observée à restaurer. N = taille des images Vision par Machine 3
Notation matricielle: g = H f + n H = matrice de taille N x N à coefficients constants Pb de la restauration: calculer g connaissant f, H + statistiques du bruit n H est formée de toutes les décalées x et y de la réponse impulsionnelle h(x,y) = matrice de Hankel-Bloc On peut montrer que toute ligne de H une combinaison linéaire de la ligne d'avant et de la ligne d'après : H mal conditionnée! H n'est pas inversible la plupart du temps: det( H) 0 Vision par Machine 4
Modèle de la dégradation : A priori: difficile, même dans les cas simples A posteriori: mesurer directement la réponse: Image de sortie lorsque l entrée = une impulsion en luminance (point blanc sur fond noir, ou l'inverse), un échelon en luminance (barre blanc/noire une ligne en luminance (ligne claire sur fond noir ou l'inverse). Possible si l'on peut "commander" le système. Vision par Machine 5
Ex: perturbation atmosphérique sur une étoile: Ex: échelon + bruit Réponse impulsionnelle Echelon + dérivation: h(x,y) = h(x,0) h(0,y) Vision par Machine 6
Filtrage inverse Hyp. : pas de bruit g = H f G( u, v) F( u, v) f ( x, y) H( u, v) F -1 G( u, v) H( u, v) Pb: H(u,v) s'annule? Pb: si bruit présent: g(x,y) = f(x,y) h(u,v) + n(x,y) ˆ F (u, v ) = G(u, v) H (u, v) F(u, v ) N (u, v) H (u, v) Vision par Machine 7
N(u,v) = large spectre si n(x,y) bruit blanc. H(u,v) = filtre passe-bas H(u,v) 0 si (u,v) F(u, v ) 0 u 2 v 2 H (u, v) 0 u 2 v 2 1 H (u, v) 0 u 2 v 2 Vision par Machine 8
N(u,v) 1 ^ F F H 1 ( u, v) 1 H ( u, v ) 0 u 2 v 2 u M Fc F(u,v) Filtrage OK Amplification du bruit Solution (interactive) : v domaines de plus en plus petits où l on fait la division de G par H u Vision par Machine 9
Exemple: VI. RESTAURATION D IMAGES originale dégradée Fc = 80 Fc = 60 Vision par Machine 10
Filtrage de Wiener But: éviter les problèmes du filtre inverse. critère dont la solution optimale approxime la solution recherchée. Filtre W(u,v) : minimise l'espérance mathématique de l'erreur quadratique entre l'image idéale et l'image reconstruite. Min f(x,y) ^ 2 E[ (f(x,y) f(x,y)) ] Vision par Machine 11
Filtre de Wiener: W (u, v ) = H (u, v) H (u, v) 2 S n (u, v) S(u, v ) H*(u,v) = conjuguée de H(u,v) S(u,v) = spectre de puissance de f = TF(autocorrélation de f). T(u,v) = spectre de g S n (u,v) = spectre de n = σ 2 (bruit blanc) Pb: on ne connaît pas S! Mais: T(u,v)= H(u,v) 2 S(u,v) +S n (u,v) S(u,v) = T(u,v) - H(u,v) 2 2 Vision par Machine 12
Ex: originale Inverse, Fc = 32 Inverse, Fc = 64 Wiener (pas de réglage) Vision par Machine 13
Ex: VI. RESTAURATION D IMAGES Originale Inverse Inverse, Fc = 64 Wiener (pas de réglage) Vision par Machine 14
Filtre de Wiener paramétrique: Proposé par Hunt: W p (u, v) H (u, v) H (u, v) 2 S n(u, v) S(u, v) = 0 filtre inverse = 1 filtre de Wiener 0 < < 1 filtre de Wiener paramétrique Vision par Machine 15
Exemple: γ = 0.1 γ = 0.6 γ = 1 Vision par Machine 16
Filtre de Cannon: Critère utilisé = conservation de l énergie ^ ^ S( u, v) S( u, v) S ( u, v) = spectre du signal à restaurer f ( x, y) Soit C(u,v) = filtre de Cannon: S(u,v)= C(u,v) 2 G(u,v) ^ et G(u,v)= H(u,v) 2 S(u,v)+S n (u,v) S(u,v) = C(u,v) [ H(u,v) 2 S(u,v) + S n (u,v) ] S(u, v ) C(u, v ) = S(u, v ) H (u, v ) 2 S n (u, v ) Note: H(u,v) réel. 1 2 Vision par Machine 17
Filtre de Cannon (suite): C(u, v ) = 1 H (u, v ) 2 S n (u, v ) S(u, v) 1 2 Wiener Cannon Vision par Machine 18
Filtre de moyenne géométrique: F(u, v ) = S = 1 S = 0 S = 0.5 1 H (u, v ) H (u, v) s H(u, v ) 2 S n (u, v ) S(u, v ) Filtre inverse Filtre de Wiener Filtre de Canon 1 s G(u, v ) Aucune des méthodes précédentes n est parfaite: filtres à essayer en concurrence Vision par Machine 19
Vision par Machine 20 VI. RESTAURATION D IMAGES Autres méthodes de restauration Moyennage d images méthode la plus simple pour éliminer le bruit: g(x,y) =f (x,y) + n(x,y) n(x,y) = bruit décorrélé de f, variance. M i i y x g M y x g y x f 1 ^ ), ( 1 ), ( ), ( M images M f f E f g E f E 2 2 ^ ^ ) ( ) ( ) ( Statistiques: L écart-type du bruit de sortie divisé par M Ex: 10 images pour diviser le bruit par 3. ), ( 1 ),, ( ) 1 (1 1),, ( ^ y x g k k y x f k k y x f k
Restauration interactive: Ex: interférences de dispositifs d acquisition numériques et électroniques. Démarche: modéliser la déformation. Ex: images lunaires Scanner + caméra: signal échantillonné (par ligne) mauvaise synchronisation = la caméra échantillonne le signal du scanner de manière décalée. image finale a un spectre de Fourier = fondamental du spectre scanner + échos de ce spectre. Échos = points lumineux sur un réseau régulier Vision par Machine 21
Illustration: VI. RESTAURATION D IMAGES Originale TF = 0 Filtre de restauration enlève Résultat Vision par Machine 22
Restauration linéaire non homogène Il peut arriver que la dégradation soit linéaire (simple) à modéliser, mais non homogène a priori transformation vers un espace ou le problème est homogène Ex: rotation caméra autour de l axe optique: temps d obturation σ, angle Ө y y arc de cercle de longueur. ρ impulsion lumineuse = x 2 y 2 x x réponse impulsionnelle : h(x,y) =1 sur l'arc de cercle =0 ailleurs Vision par Machine 23
Homogénéisation: passage en polaire: Arcs de cercle segments de droite de longueur constante θ. réponse impulsionnelle ρ h( = 1 sur le segment = 0 ailleurs Restauration possible par filtrage linéaire inverse, type Wiener Vision par Machine 24
Ex: originale coordonnées polaires Restoration: Wiener Coordonnées cartésiennes Vision par Machine 25