Restauration des images Saïd Ladjal (ladjal@enst.fr)
Position du problème Les images acquises subissent des dégradations. Ces dégradations sont dues, d une part au capteur et d autre part aux conditions de prise de vue.
Défauts du capteur Essentiellement, le flou du à l optique et à l intégration de la lumière sur chaque pixel. Le bruit électronique qui affecte la mesure. Bruit de quantification. Sur les supports analogiques, la taille du pixel est remplacée par la taille du grain.
Défauts extérieurs Flou de bougé. Perturbations atmosphériques.
Le flou Le flou est caractérisé par sa PSF (Point Spead Function) Tout opérateur linéaire invariant par translation a pour vecteurs propres les ondes pures (exercice) g = T (f) T (x f(x + t)) = x g(x + t) T (x e 2iπxf ) = λ f (x e 2iπxf )
Flou En conséquence le flou se caractérise par une convolution. Dans l espace de Fourier, la convolution devient multiplication.
Flou de bougé TF en sinc d(x, y, L, Φ) = { 1 L si x 2 + y 2 L 2 et θ = Φ 0 sinon
Flou optique Transformée de Fourier (décroit plus qu un sinus cardinal): ˆd(u, v, R) = J 1 ( R u2 + v 2) u2 + v 2
Flou atmosphérique Dépend des turbulences atmosphériques et donc de la température, du vent, humidité... On le modélise par un flou gaussien. d(x, y, σ) = Ce x2 +y 2 2σ 2 La TF est encore une gaussienne d autant plus large que le noyau spatial est fin.
Exemples Ponctuel Gauss Bougé Diffraction Originale Gaussien Bougé
Le défaut est-il uniforme?
Modélisation On modélise les dégradations de l image par une convolution suivie de l ajout d un bruit: g = d f + b (d f)(x, y) = d(u, v)f(x u, y v) ĝ = ˆd ˆf + ˆb
Le cas discret Un opérateur linéaire est représenté par une matrice (qui dépend de la base choisie pour l espace considéré). La propriété d invariance par translation se traduit par une forme circulante pour les matrices représentant une convolution. Ces matrices deviennent diagonales après changement de base vers la base de fourier. g = D f + b D est circulante ĝ = ˆd ˆf + ˆb
Base de fourier discrète P k = (1, )..., e 2iπk j N,... d 0 d 1.. d 1 d 1 d 0 d 1....... d 1.. d 1 d 0 On constate que les matrices circulantes causent des phénomènes de bord qu il convient de traiter (symétrisation du signal). Pour le cas bidimensionnel on vectorise une image en empilant ses lignes.
Méthodes de résolution: Inversion directe On choisi d inverser directement le système linéaire (quand c est possible). Malheureusement les systèmes auxquels on a affaire en traitement des images sont souvent mal conditionnés et instables. f = A 1 g
Originale Résultat Floue
Méthodes de résolution: Inversion généralisée Il s agit d un artifice mathématique qui permet de donner un sens à l inversion d un système linéaire non inversible. On choisit une solution dont l image est la plus proche possible de l observation. S il y a ambiguïté on choisit la solution de plus faible module Le résultat est le même que dans le cas de l inversion simple.
Méthodes de résolution: Régularisation Pour obtenir une inversion de meilleure qualité on doit ajouter de l information sur l image (par exemple son énergie est limitée). On aboutie à différentes formules suivant l a priori choisi.
Régularisation(suite) Inversion brutale: Régularisation (énergie): Régularisation (éne. du gradient): ˆf ˆK =.ĝ ˆK 2 ˆK ˆf = ˆK 2.ĝ + λ ˆK ˆf = ˆK 2 + λω 2.ĝ
Régularisation:
Méthodes de résolution: Wiener Il s agit d une méthode issue d une analyse statistique du bruit et de l image ˆf = ˆK ˆK 2 + σ2 b (ω) σ 2 sign (ω).ĝ On fait intervenir les densités spectrales de puissance du bruit et du signal.
Wiener (exemples)
Wiener (on fait varier la valeur du bruit supposé)
Original Bougé Wiener Erreur sur la PSF
Erreur sur le bruit
Méthodes de résolution: SVD Dans le cas où notre système n est pas carré (chnagement de résolution), se que nous avons vu ne s applique plus. On a recours à la décomposition en valeurs singulières (SVD). Si A est la matrice du système: A = UΣV U et V sont des matrices unitaires UtU=Id et sigma est diag.
L action de A vue par la SVD Le système g=af revient à décomposer f sur les vecteurs colonne de V. On multiplie par la valeur singulière associée. puis on affecte le coefficient obtenu au vecteur colonne correspondant dans U.
Inversion d un système par SVD On décompose g dans la base de vecteurs de colonne de U. On divise par la valeur singulière associée. On affecte le coefficient obtenu au vecteur correspondant de V.
Exemples de vecteurs singuliers: A
Choix du nombre de vecteurs: La régularisation revient à ne garder que les vecteurs pour lesquels la valeur singulière est assez grande
Choix des vecteurs
Méthodes de résolution: Méthodes itératives Il s agit d appliquer un processus itératif à l image pour obtenir une restauration. Souvent l algorithme converge avant de diverger. Le nombre d itérations remplace, dans ce cas, les paramètres de régularisation.
Exemple (Jacobi) f k+1 = f k + g d f k ˆ f k+1 = Σ k 0ĝ(1 ˆd) k
Jacobi+Refloutage f k+1 = f k + d T (g d f k ) f k+1 = k 0 ˆdĝ(1 ˆd 2 ) k
Jacobi
30 200 Gradient 1000 Gradient conjugué
Exercice Etudier les conditions de convergence d une décente de gradient pour f(x)=x^2, x et x^4.
Dans la diapositive suivante on peut constater le résultat de l agrégation de plusieurs images d une même scène. Chaque image apporte une information nouvelle sur l image parfaite. L utilisation de plusieurs images rend le problème de restauration moins mal posé. Au lieu de chercher l image d origine dans un grand ellipsoïde on la cherche dans l intersection de dizaines d ellipsoïdes.
Résultats obtenus en mélangeant différentes images
Exemples réels Spot 5