TP n 3 Transformée d`ondelettes : Application au débruitage.
Transcription
TP n 3 Transformée d`ondelettes : Application au débruitage.
ENSICAEN 3ème année Informatique Image, M2 IMALANG, MS ATRIVM TP n◦ 2 Transformée d’ondelettes : Application au débruitage. 1 But du TP • Se familiariser avec la transformée d’ondelettes (TO). • Manipuler les opérateurs relatifs à la TO discrète orthonormale 2D. • L’utiliser pour la compression et le débruitage des images. 2 Introduction Le standard JPEG est un algorithme de compression d’images basé sur la transformée en cosinus discret (DCT), et a longuement dominé le champ de la compression d’images. Lors des vingt dernières années, des efforts importants en analyse harmonique et en traitement du signal, ont donné lieu à des transformées, comme la transformée en ondelettes, beaucoup plus efficaces pour la représentation parcimonieuse d’une plus grande classe de signaux. Cette dernière ayant ouvert le champ à un nouveau standard de compression plus puissant appelé JPEG’2000, qui permet un stockage minimal et des débits de transfert bien plus élevé. Depuis, un effort considérable dans ce type de représentations, commence à fournir des méthodes rigoureuses et puissantes de traitement des images couvrant de nombreux champs d’application dont la compression, le débruitage et la restauration, la séparation de composantes, le suivi, la reconnaissance de formes, la retouche et la post-production, etc. Sans rentrer dans les détails fins concernant la transformée d’ondelettes, nous fournissons ici une introduction succincte des rudiments nécessaires à la compréhension de la transformé d’ondelettes orthonormale. Commençons par le cas 1D. Soit f ∈ L2 (Ω) un signal défini sur un domaine Ω. On définit {ψj,k }j∈{0,··· ,J−1},k∈Ωj ⊂Ω} la famille de fonctions d’ondelettes à supports compacts formées par mise l’échelle par j (ψj (x) = 2−j/2ψ(2−j x)) et translation par k de l’ondelette mère ψ. Soient {ϕJ,k }k∈ΩJ ⊂Ω les translatées de la fonction d’échelle ϕ. On peut montrer que sous certaines conditions, la famille {ψj,k , ϕJ,k }j∈{0,··· ,J−1},k∈Ωj ⊂Ω} forme une base orthonormée de L2 (Ω). Ainsi tout signal f ∈ L2 (Ω) peut s’ćrire: f (x) = X hf, ϕJ,k iϕJ,k (x) + J−1 X X j=0 k∈Ωj k∈ΩJ 1 hf, ψj,k iψj,k (x) . (1) ENSICAEN 3ème année Informatique Image, M2 IMALANG, MS ATRIVM Les coefficients {hf, ψJ,k i}j,k sont appelés coefficients d’ondelettes ou de détail, et {hf, φJ,k i}k les coefficients d’approximation ou d’échelle. Bien évidemment, par Parseval-Bessel, nous avons: X X |hf, ψj,k i|2 . |hf, φJ,k i|2 + kf k2L2 (Ω) = j,k k Pour saisir l’essentiel de l’action des ondelettes ψj,k , ∀k, il faut les interpréter comme des une collection de filtres passe-bandes dont la bande passante (support dans le domaine de Fourier) se réduit d’une octave à chaque échelle. La fonction d’échelle correspond quant à elle à un gabarit passe-bas. L’extension en dimension supérieure, notamment en 2D, s’effectue par simple produit tensoriel. Ainsi, en 2D, on se retrouve à chaque échelle avec trois fonctions ondelettes correspondant à trois orientations, horizontale, verticale et diagonale, et une fonction d’échelle: H (x, y) = ψj,ky (x) · φj,ky (y), ψj,k x ,ky V (x, y) = φj,ky (x) · ψj,ky (y), ψj,k x ,ky D ψj,k (x, y) = ψj,ky (x) · φj,ky (y), x ,ky φj,kx,ky (x, y) = φj,ky (x) · φj,ky (y), Ainsi, toute image 2D dans L2 (Ω2 ) s’écrit: f (x, y) = X hf, ϕJ,kx,ky iϕJ,kx ,ky (x, y) + J−1 X X hf, ψj,kx ,ky iψj,kx ,ky (x, y) . (2) j=0 (kx ,ky )∈Ω2 j (kx ,ky )∈Ω2J Il reste maintenant à implémenter un algorithme rapide pour les images discrètes permettant le calcul des coefficients (transformée d’ondelettes) et la reconstruction à partir de ces derniers (transformée inverse). A l’image de la FFT, un algorithme rapide appelé algorithme pyramidal, permettant cette implémentation a été proposé à la fin des années 80, en associant aux fonctions (φ, ψ) une paire de filtres (h, g) respectivement passe-bas et passe-haut, appelés filtres mirroirs en quadrature. Sans rentrer dans les détails fins concernant cet algorithme, son principe est illustré dans la figure suivante. Les filtres h et g sont respectivement dénots sur la figure H et L pour High and Low. La sous-bande A est celle de l’approximation (correspondant à la fonction d’échelle ϕj,kx ,ky ). Les bandes Hj , Vj et Dj sont respectivement les bandes de détail D V H ). Le calcul est ) et diagonale (ψj,k ), verticale (ψj,k horizontale (correspondant à ψj,k x ,ky x ,ky x ,ky itéré sur le l’approximation à l’échelle suivante, et ainsi de suite. Cet algorithme possède une complexit linéaire en O(N) pour une image de N pixels, encore plus rapide que la FFT dont on rappelle que la complexité est en O(N 2 log N) (voir TP de l’année dernière). 2 ENSICAEN 3ème année Informatique Image, M2 IMALANG, MS ATRIVM 3 Quelques opérateurs utiles Les opérateurs de la TO contenus dans Pandore sont essentiellement pqmf, pdwt, pidwt, pgetsubband, psetsubband: • pdwt correspond à la transformée orthonormale par l’algorithme pyramidal et pidwt est son inverse. • pqmf est un opérateur qui permet de synthétiser les filtres miroirs en quadrature (QMF) correspondant à l’ondelette choisie. • pgetsubband est un opérateur qui permet d’extraire les sous-bandes fréquentielles (correspondant aux information de détail et d’approximation) fournies par la TO orthonormale. Certaines de ces sous-bandes seront extraites lors du débruitage par exemple. • psetsubband est un opérateur qui permet de modifier le contenu d’une sous-bande fréquentielle dans une image de TO orthonormale. 4 Travail à effectuer 4.1 Manipulation de la TO • Charger l’image de Lena. Sa taille doit être une puissance de 2. • Synthétiser un filtre QMF appartenant à la famille de Daubechies avec 4 moments nuls. • Calculer la TO de Lena à l’échelle 3. 3 ENSICAEN 3ème année Informatique Image, M2 IMALANG, MS ATRIVM • Observez l’image obtenue. Commenter. • Calculer la TO inverse avec l’opérateur à la même échelle 3 en utilisant bien évidemment la même ondelette. • Calculez l’image de différence entre l’image originale et l’image reconstruite. Commenter. 4.2 Approximation non-linéaire On peut montrer que la transformée en ondelettes fournit une reprsentation creuse (ou parcimonieuse), bien mieux que la transformée de Fourier, d’une large classe de signaux et d’images. Une reprsentation parcimonieuse voulat dire qu’on peut approcher l’image originale avec une trs faible erreur en ne retenant qu’un nombre très rédruit de coefficients (théorie de l’approximation). Autrement dit, si on définit X fM = hf, ψm iψm , |I| = M m∈I comme l’approximation de f avec les M plus grands coefficients hf, ψm i en magnitude indexés par I, alors ∃α ≥ 1 tel que: kf − fM k2L2 ≤ Cf M −α . On se propose ici d’illustrer ce comportement qui a de fortes implications aussi bien en compression qu’en débruitage. • Calculer la TO de Lena à l’échelle 5. • Seuiller les coefficients d’ondelettes (en valeur obsolue) de façon garder une proportion comprise dans [5, 95]% (opérateur utile pmassthresholding). • Calculer la TO inverse à la même échelle avec la même ondelette. • Calculez l’image de différence entre l’image originale et l’image reconstruite, et en déduire l’erreur de reconstruction L2 . • Tracer cette erreur en fonction de la proportion des coefficients retenus. Commenter. • Refaire la même expérience avec la FFT. Commenter. 4.3 Débruitage L’autre implication du caractère creux des bases d’ondelettes est que la TO d’une image corrompue par du bruit (additif blanc Gaussien) sera aussi efficacement caractérisée par un faible nombre de coefficients, le reste étant majoritairement dû au bruit. Ceci dournit encore une fois des algorithmes efficaces et rapides de débruitage des images. Le principe d’un tel débruiteur est alors très simple : • Calculer la TO de l’image. • Pour un seuil donné λ, seuiller les coefficients de détail de la TO (en valeur absolue). • Calculer la TO inverse. 4 ENSICAEN 3ème année Informatique Image, M2 IMALANG, MS ATRIVM Tout le jeu théorique consiste donc à trouver une expression pour ce seuil. Le plus simple est le seuil universel dont l’expression est : p λU = σ 2 log N , où N est le nombre de pixels dans l’image. σ peut être obtenu par exemple en calculant l’écarttype des coefficients de détail de la bande haute-haute (Facultatif: justifier cet estimateur et argumenter dans quelles conditions il a du sens). • Rajouter un bruit blanc Gaussien de moyenne nulle et d’écart-type σ = 20 sur l’image précédente. • Calculer la TO de l’image bruitée. • Seuiller les coefficients de détail de la TO à λU . La bande d’approximation ne doit pas être altérée. Pour ce faire, celle-ci est extraite dans la TO avant seuillage puis insérée dans l’image seuillée. • Calculer la TO inverse de l’image ainsi traitée. • Observer le résultat. Commenter. Comparer au résultat avec un seuil λ = 3σ. • Etudier l’influence du seuil et donnez sa valeur optimale. • Etudier les influences de la variance du bruit et de l’échelle de décomposition de la TO. Commenter. 5