RESTAURATION D IMAGES
Restauration d images (image restoration) La restauration est la suppression des dégradations subies par l image. 2
Restauration d images (image restoration) La restauration est la suppression des dégradations subies par l image. b f h z dégradation z = (f h) b 3
Restauration d images (image restoration) La restauration est la suppression des dégradations subies par l image. b f h z g ˆf dégradation z = (f h) b restauration ˆf = z g 4
Restauration d images (image restoration) La restauration est la suppression des dégradations subies par l image. b f h z g ˆf dégradation z = (f h) b restauration ˆf = z g trouver g tel que ˆf f. 5
Débruitage (denoising) 6
Déconvolution (deconvolution) 7
dehazing Image avec brume Image traitée [Kopf et al. 2008] 8
Correction des distortions 9
Restauration d images Étapes de la restauration : Besoin d une connaissance a priori sur la dégradation modèle «Inversion» de la dégradation la restauration est un problème inverse Formulation et optimisation d un critère 10
Sommaire Débruitage Déconvolution Correction de déformations géométriques Mesure de la qualité 11
Débruitage (denoising)
Débruitage 13
Sources du bruit Les principales sources de bruit dans les images numériques interviennent : durant l acquisition (quantité de photons collectés trop faible, température du capteur, ) durant la transmission (échos et distorsions atmosphériques en communication sans-fil) 14
Sources du bruit Les principales sources de bruit dans les images numériques interviennent : durant l acquisition (quantité de photons collectés trop faible, température du capteur, ) durant la transmission (échos et distorsions atmosphériques en communication sans-fil) Mais le bruit permet aussi de modéliser les imprécisions d un modèle de dégradation trop simple par rapport à la réalité! 15
Modélisation b f z g ˆf restauration 16
Modélisation b f z g ˆf restauration L intensité des pixels du bruit peut être considérée comme une variable aléatoire distribuée selon une densité de probabilité. 17
Modélisation Bruit additif z = f + b Bruit multiplicatif z = f b photographie, radar (bruit de speckle), astronomie, 18
Bruit additif gaussien indépendant (AWGN : additive white Gaussian noise) L intensité de chaque pixel (m,n) est en moyenne égale à l intensité du pixel (m,n) de l image non bruitée. Ce modèle est simple et facilite les calculs. m, n z(m,n) = f(m,n) + b(m,n) où b(m,n) N (0, σ 2 ) Modèle utilisé dans la plupart des applications, dont la photographie. 19
Bruit de Poisson (Poisson noise, shot noise) Le nombre de photons mesurés par un photosite est aléatoire et dépend de l illumination. Si un photosite mesure en moyenne λ photons, alors on est en présence d un processus de Poisson de moyenne λ et de densité de probabilité : m, n z(m,n) P(λ) où λ = f(m,n) Modèle utilisé das le cas d acquisition à faible nombre de photons (astronomie, ). 20
Bruit de Poisson p(x = k) = λk k! e λ 21
Bruit de Poisson p(x = k) = λk k! e λ E[X] = λ, V[X] = λ : la variance dépend du nombre de photons incidents le bruit dépend du signal. 22
Bruit de Poisson p(x = k) = λk k! e λ E[X] = λ, V[X] = λ : la variance dépend du nombre de photons incidents le bruit dépend du signal. lorsque λ augmente, la loi de Poisson tend vers la loi normale dans le cas d un nombre important de photons mesurés, le bruit de Poisson peut être considéré comme un bruit gaussien additif. 23
Bruit impulsionnel (sel & poivre) (salt-and-pepper noise) Le bruit impulsionnel permet de modéliser le cas où certains pixels sont saturés ou morts (dysfonctionnement des photosite, saturation, etc.). f min avec une probabilité p min, m, n f(m,n) = f max avec une probabilité p max, f(m,n) avec une probabilité 1 p min p max. où f min et f max sont les valeurs minimales et maximales des intensités. 24
Exemples de bruits Bruit gaussien additif Bruit de Poisson Bruit impulsionnel (la puissance des bruits est sensiblement la même dans les trois images) 25
Rapport signal-à-bruit (RSB) (SNR : signal-to-noise ratio) RSB = puissance de l image non bruitée puissance du bruit 26
Rapport signal-à-bruit (RSB) (SNR : signal-to-noise ratio) RSB = puissance de l image non bruitée puissance du bruit Rappel : puissance = 1 M N m,n f(m,n)2 27
Rapport signal-à-bruit (RSB) (SNR : signal-to-noise ratio) RSB = puissance de l image non bruitée puissance du bruit Rappel : puissance = 1 M N m,n f(m,n)2 On travaille souvent en échelle logarithmique (unité : db) : ( ) m,n RSB = 10 log f(m,n)2 10 m,n b(m,n)2 28
Peak signal-to-noise ratio (PSNR) PSNR = dynamique de l image non bruitée puissance du bruit où la dynamique est la différence entre l intensité maximale et l intensité minimale. 29
Peak signal-to-noise ratio (PSNR) PSNR = dynamique de l image non bruitée puissance du bruit où la dynamique est la différence entre l intensité maximale et l intensité minimale. Formule définie dans le cas d un bruit additif 30
Peak signal-to-noise ratio (PSNR) PSNR = dynamique de l image non bruitée puissance du bruit où la dynamique est la différence entre l intensité maximale et l intensité minimale. Formule définie dans le cas d un bruit additif PSNR = 10 log 10 ( max m,n f(m,n) 2 m,n b(m,n)2 1 M N ) 31
RSB et PSNR RSB = 0 db RSB = 10 db RSB = 20 db RSB = 30 db PSNR = 0 db PSNR = 10 db PSNR = 20 db PSNR = 30 db 32
RSB et PSNR RSB = 0 db RSB = 10 db RSB = 20 db RSB = 30 db PSNR = 0 db PSNR = 10 db PSNR = 20 db PSNR = 30 db RSB/PSNR bruit 33
État de l art des méthodes de débruitage Filtres moyenneurs Filtres médians Filtres adaptés Filtrage fréquentiel Ondelettes Approches statistiques Moyennes non locales 34
État de l art des méthodes de débruitage Filtres moyenneurs Filtres médians Filtres adaptés Filtrage fréquentiel Ondelettes Approches statistiques Moyennes non locales 35
Filtre moyenneur Méthode très simple! Soit V m,n l ensemble des pixels situés dans un rectangle de taille X Y centré sur le pixel (m,n). La moyenne des pixels de l image bruitée z situés dans le voisinage V m,n devient la valeur du pixel (m,n) de l image débruitée ˆf : m, n ˆf(m,n) = 1 X Y (x,y) V m,n z(x,y) 36
Filtre moyenneur Image bruitée z (RSB=20 db) ˆf X=Y=3 ˆf X=Y=5 ˆf X=Y=7 37
Filtre moyenneur Image bruitée z (RSB=20 db) ˆf X=Y=3 ˆf X=Y=5 ˆf X=Y=7 38
Filtre moyenneur Le filtre moyenneur peut s écrire sous forme d une convolution. démonstration 39
Filtre moyenneur Le filtre moyenneur peut s écrire sous forme d une convolution. démonstration ˆf(m,n) = 1 X Y z(x,y) = g(m x,n y)z(x,y) (x,y) V m,n x y où g(x,y) = { 1 XY si x { X 2,..., X } { 2 et y Y 2,..., Y } 2 0 sinon 40
Filtre moyenneur Le filtre moyenneur peut s écrire sous forme d une convolution. démonstration ˆf(m,n) = 1 X Y z(x,y) = g(m x,n y)z(x,y) (x,y) V m,n x y où g(x,y) = { 1 XY si x { X 2,..., X } { 2 et y Y 2,..., Y } 2 0 sinon On peut étendre cette définition à tout type de noyau g! 41
Filtre moyenneur carré Image bruitée z (RSB=20 db) 5 5 disque gaussienne 5 5 5 5 42
Filtre moyenneur carré Image bruitée z (RSB=20 db) 5 5 disque gaussienne 5 5 5 5 43
Filtre moyenneur Conclusions : le filtre moyenneur calcule la moyenne des pixels dans un voisinage le filtre moyenneur peut s écrire comme une convolution lissage des variations réduction du bruit par effet de flou variantes : moyenne géométrique, moyenne harmonique, 44
Filtre médian La médiane d un ensemble de nombre est l élément m de cet ensemble tel qu il y a autant de nombres plus petit que m que de nombres plus grands que m (par exemple : Médiane({1, 2, 4, 8, 16}) = 4). 45
Filtre médian La médiane d un ensemble de nombre est l élément m de cet ensemble tel qu il y a autant de nombres plus petit que m que de nombres plus grands que m (par exemple : Médiane({1, 2, 4, 8, 16}) = 4). Filtre médian : m, n ˆf(m,n) = Médiane({z(x,y) (x,y) V m,n }) 46
Filtre médian La médiane d un ensemble de nombre est l élément m de cet ensemble tel qu il y a autant de nombres plus petit que m que de nombres plus grands que m (par exemple : Médiane({1, 2, 4, 8, 16}) = 4). Filtre médian : m, n ˆf(m,n) = Médiane({z(x,y) (x,y) V m,n }) Malgré son nom, le filtre médian n est pas un filtre car il ne respecte pas la propriété de linéarité. Excellent dans le cas d un bruit impulsionnel (car le résultat est moins flou qu avec un filtre moyenneur). 47
Filtre médian Image bruitée z Moyenneur 5 5 Médian 3 3 Médian 5 5 48
Filtre médian Image bruitée z Moyenneur 5 5 Médian 3 3 Médian 5 5 49
Filtre médian Conclusions : Le filtre médian calcule la médiane des pixels dans un voisinage Le filtre médian ne peut pas s écrire comme une convolution (ce n est pas un filtre linéaire) Variantes : filtre max, filtre min, filtre milieu, 50
Filtrage de bruits périodiques [Gonzalez & Woods] 51
Conclusion Il existe différents types de bruit (gaussien additif, Poisson, impulsionnel, ), le modèle le plus courant (car le plus simple) étant le bruit blanc gaussien additif. Filtre moyenneur adapté au bruit additif Filtre médian adapté au bruit impulsionnel 52
Déconvolution (deconvolution)
Déconvolution Flou de bougé [Gonzales & Woods] 54
Exemple de convolution Flou de turbulence, flou de mise au point [Gonzales & Woods] 55
Modélisation b f h + z g ˆf dégradation restauration 56
Modélisation b f h + z g ˆf dégradation restauration z = f h + b 57
Modélisation b f h + z g ˆf dégradation restauration z = f h + b ˆf = z g 58
Modélisation b f h + z g ˆf dégradation restauration z = f h + b ˆf = z g Objectif : quel g choisir pour que ˆf f? 59
Estimation de la fonction de dégradation Les méthodes que nous allons étudier nécessitent de connaître la PSF h. 60
Estimation de la fonction de dégradation Les méthodes que nous allons étudier nécessitent de connaître la PSF h. Estimation par observation en trouvant dans l image des indices permettant d estimer h (par exemple : objet ponctuel isolé, déconvolution naïve en l absence de bruit dans une petite zone, essai erreur, ). 61
Estimation de la fonction de dégradation Les méthodes que nous allons étudier nécessitent de connaître la PSF h. Estimation par observation en trouvant dans l image des indices permettant d estimer h (par exemple : objet ponctuel isolé, déconvolution naïve en l absence de bruit dans une petite zone, essai erreur, ). Estimation par expérimentation en reproduisant en laboratoire les conditions d observation. L image d une impulsion observée ainsi donne une estimation de h. 62
Estimation de la fonction de dégradation Les méthodes que nous allons étudier nécessitent de connaître la PSF h. Estimation par observation en trouvant dans l image des indices permettant d estimer h (par exemple : objet ponctuel isolé, déconvolution naïve en l absence de bruit dans une petite zone, essai erreur, ). Estimation par expérimentation en reproduisant en laboratoire les conditions d observation. L image d une impulsion observée ainsi donne une estimation de h. Estimation par modélisation méthématique de la physique de l observation. 63
Estimation de la fonction de dégradation Les méthodes que nous allons étudier nécessitent de connaître la PSF h. Estimation par observation en trouvant dans l image des indices permettant d estimer h (par exemple : objet ponctuel isolé, déconvolution naïve en l absence de bruit dans une petite zone, essai erreur, ). Estimation par expérimentation en reproduisant en laboratoire les conditions d observation. L image d une impulsion observée ainsi donne une estimation de h. Estimation par modélisation méthématique de la physique de l observation. Remarque : les méthodes de déconvolution myope (blind deconvolution) estiment non seulement f mais également h. 64
Déconvolution naïve z = f h + b 65
Déconvolution naïve z = f h + b T. de Fourier Z = FH + B 66
Déconvolution naïve z = f h + b T. de Fourier Z = FH + B F = Z B H 67
Déconvolution naïve z = f h + b T. de Fourier Z = FH + B [ ] T. de Fourier Z B f = F 1 inverse H F = Z B H 68
Déconvolution naïve z = f h + b T. de Fourier Z = FH + B [ ] T. de Fourier Z B f = F 1 inverse H F = Z B H ] Bruit inconnu On calcule ˆf = F 1 [ Z H 69
Déconvolution naïve Image originale f Image observée z Estimation [ ] Z ˆf = F 1 H 70
Déconvolution naïve L estimation de f est obtenue par l équation : [ ] Z ˆf = F 1 H 71
Déconvolution naïve L estimation de f est obtenue par l équation : [ ] [ ] Z FH + B ˆf = F 1 = F 1 H H 72
Déconvolution naïve L estimation de f est obtenue par l équation : [ ] [ ] [ Z FH + B ˆf = F 1 = F 1 = F 1 F + B ] H H H 73
Déconvolution naïve L estimation de f est obtenue par l équation : [ ] [ ] [ Z FH + B ˆf = F 1 = F 1 = F 1 F + B ] H H H = f + F 1 [ B H ] 74
Déconvolution naïve L estimation de f est obtenue par l équation : [ ] [ ] [ Z FH + B ˆf = F 1 = F 1 = F 1 F + B ] H H H = f + F 1 [ B H ] f 75
Déconvolution naïve L estimation de f est obtenue par l équation : [ ] [ ] [ Z FH + B ˆf = F 1 = F 1 = F 1 F + B ] H H H = f + F 1 [ B H ] f Très souvent, H est un passe-bas, donc les valeurs de H(x,y) tendent vers 0 lorsque les fréquences (x,y) deviennent grandes le terme B/H peut rapidement dominer F. 76
Déconvolution naïve L estimation de f est obtenue par l équation : [ ] [ ] [ Z FH + B ˆf = F 1 = F 1 = F 1 F + B ] H H H = f + F 1 [ B H ] f Très souvent, H est un passe-bas, donc les valeurs de H(x,y) tendent vers 0 lorsque les fréquences (x,y) deviennent grandes le terme B/H peut rapidement dominer F. 77
Déconvolution naïve L estimation de f est obtenue par l équation : [ ] [ ] [ Z FH + B ˆf = F 1 = F 1 = F 1 F + B ] H H H = f + F 1 [ B H ] f Très souvent, H est un passe-bas, donc les valeurs de H(x,y) tendent vers 0 lorsque les fréquences (x,y) deviennent grandes le terme B/H peut rapidement dominer F. Solution : limiter le filtrage autour des fréquences faibles (c est-à-dire là où H a des valeurs loin de 0). 78
Déconvolution naïve [Gonzalez & Woods] 79
Déconvolution naïve [Gonzalez & Woods] La déconvolution naïve (ou filtrage inverse) n est pas performante. 80
État de l art des méthodes de déconvolution Filtre de Wiener [?] Maximum d entropie CLEAN Richardson Lucy Méthodes bayésiennes 81
État de l art des méthodes de déconvolution Filtre de Wiener [?] Maximum d entropie CLEAN Richardson Lucy Méthodes bayésiennes 82
Filtre de Wiener Le filtre de Wiener G prend en compte explicitement les caractéristiques du bruit B. Calcul 83
Filtre de Wiener Le filtre de Wiener G prend en compte explicitement les caractéristiques du bruit B. Calcul [ ˆf = F 1 H ] S f H 2 Z S f + S b }{{} G H : transformée de Fourier de la dégradation h H : conjugué de H H 2 = H H : carré du module de H S f = F 2 : densité spectrale de puissance de l image S b = B 2 : densité spectrale de puissance du bruit 84
Filtre de Wiener [ ˆf = F 1 H ] [ S f H 2 Z = F 1 H ] S f + S b H 2 Z + S b /S f 85
Filtre de Wiener [ ˆf = F 1 H ] [ S f H 2 Z = F 1 H ] S f + S b H 2 Z + S b /S f Pour une image f particulière, S f est une constante. Dans le cas d un bruit blanc, S b est une constante. S b rarement connu S b /S f est remplacé par une constante K que l on règle. Lorsque H s annule, on n observe pas le problème d augmentation du bruit comme avec le filtre inverse. Si le bruit est nul, alors S b = 0 et on obtient le filtre inverse : [ ] [ ] H ˆf = F 1 1H H 2 Z = F 1 Z 86
Filtre de Wiener [Gonzalez & Woods] Filtre inverse Filtre inverse limité Filtre de Wiener 87
Filtre de Wiener [Gonzalez & Woods] Filtre inverse Filtre inverse limité Filtre de Wiener 88
Filtre de Wiener [GW] 89
Conclusion Déconvolution = annuler le filtrage (générallement passe-bas) qu a subit l image observée Effectuer le filtrage inverse ne fonctionne pas car il tend à augmenter le bruit présent dans l image Filtre de Wiener Méthodes plus performantes et adaptées aux conditions du problème 90
Correction des distorsions géométriques
Correction des distorsions géométriques cf. cours sur le recalage. 92
Mesure de la qualité de la restauration
Mesure de la qualité de la restauration La différence ˆb entre l image réelle f, appelée vérité terrain (ground truth), et l image estimée ˆf est considéré comme un bruit. On peut donc mesurer la qualité de la déconvolution en calculant l un des indicateurs suivants : Le RSB entre f et ˆb. Le PSNR entre f et ˆb. L erreur quadratique moyenne (mean square error) EQM = 1 MN m,n ( f(m,n) ˆf(m,n) ) 2 1 = MN 2 ˆb(m,n) Ces mesures objectives ne représentent pas forcément la qualité perçue! m,n 94
Mesure de la qualité de la restauration Procédure : 1 Synthétiser ou utiliser une image «originale» f 2 Dégrader l image originale z 3 Appliquer la restauration à évaluer ˆf 4 Quantifier le résultat en utilisant le RSB, le PSNR ou l EQM 95
Conclusion
Conclusion b f h + z g ˆf dégradation restauration Débruitage Filtre moyenneur, filtre médian, Déconvolution Déconvolution naïve (filtre inverse), filtre de Wiener, 97
Conclusion Qui a dit que les dégradations étaient à éviter? 98