Exercices de Traitement d`Image Transformée de Fourier Sous
Transcription
Exercices de Traitement d`Image Transformée de Fourier Sous
INP Grenoble ENSIMAG 2ème année Traitement d’images 2003/2004 Exercices de Traitement d’Image Transformée de Fourier Exercice 1 Calculer la transformée de Fourier des fonctions suivantes définies sur IR : 2 1 2 f (x) = e−πx , f (x) = e−|x| , f (x) = e−x−x , f (x) = 1+ x2 a2 Exercice 2 Calculer la transformée de Fourier des distributions : δ, 1, cos(2πkx) Exercice 3 Calculer la transformée de Fourier bidimensionnelle des fonctions : f (x, y) = e−π(x 2 +y2 ) , f = 1 sur [0, 1]2 et 0 sinon, f (x, y) = cos(2πky) Exercice 4 Soit g une fonction de L2(IR2 ). On pose :f (x, y) = g(−y, x). Montrer que la transformée de Fourier de f vérifie : fˆ(ω1 , ω2 ) = fˆ(−ω2 , ω1 ), ∀ω1 , ω2 ∈ IR Sous-échantillonnage, sur-échantillonnage Exercice 5 Sous-échantillonnage On considère un signal discret infini (f [n])n∈ZZ. La Transformée de Fourier Discrète de ce signal est définie par la série : fˆ(ω) = X f [n] e−iωn n∈ZZ ∗ On décime le signal f : soit M ∈ IN , et g[n] = f [nM ] pour n ∈ ZZ. Montrer que M −1 1 X ˆ ω − 2kπ ĝ(ω) = ) f( M M k=0 (Indication : partir du membre de droite de l’égalité) A quel théorème ce résultat vous fait-il pensez? 19 (1) Exercice 6 Interpolation d’image par FFT Soit (Fnm )0≤n,m≤N −1 une image numérique (réelle) de taille N × N . On souhaite “agrandir” cette image en doublant sa taille et sa résolution. On imagine alors la méthode suivante : 1. Décomposition de l’image F sur la base de Fourier discrète 2D, en utilisant l’algorithme de FFT 2D.On obtient alors une matrice de coefficients F̂ de taille N 2 . 2. Plongement de la matrice F̂ dans une matrice Ĝ de taille 4N 2 en ajoutant des zéros correspondant à des coefficients de haute fréquence. 3. FFT 2D inverse de la matrice Ĝ pour obtenir une image G de taille 4N 2 . 1. Décrire complètement l’étape 1 et donner l’expression des coefficients F̂ . 2. En utilisant les symétries de la Transformée de Fourier Discrète d’une image réelle, expliquer exactement comment doit être contruite la matrice Ĝ. 3. Donner la relation entre G et F et vérifier que la méthode utilisée est une méthode permettant d’interpoler l’image F . Convolution, filtrage Exercice 7 On considère l’image : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1 1 1 1 1 0 0 (2) représentant un modèle de bord oblique. On cherche un filtre de détection du bord de cette image. 1. Donner deux exemples de filtres capables de détecter ce bord : le premier en vous inspirant des opérateurs différentiels d’ordre 1 ; le deuxième en vous inspirant des opérateurs différentiels d’ordre 2. 2. Pour chacun des deux exemples choisis, calculer la matrice filtrée. Commenter, dans chacun des cas, comment se fait la détection du bord en pratique. Commentaires? Exercice 8 Soit f et g deux fonctions de variable réelle, 2π-périodiques, intégrables sur leur période. On pose h = f ∗ g où le produit de convolution périodique est défini par : Z 2π 1 h(x) = (f ∗ g)(x) = f (x − t)g(t)dt 2π 0 1. Montrer que h est définie presque partout, 2π-périodique, intégrable sur sa période. 2. Calculer les coefficients de Fourier de h en fonction de ceux de f et g. Exercice 9 Soit a, b > 0. 20 2 2 1. Calculer la transformée de Fourier de la fonction h(x) = e−πax ∗e−πbx où f ∗g désigne le produit de convolution : Z +∞ f ∗ g(x) = −∞ f (y)g(x − y)dy 2 2. En déduire que h(x) = λe−πcx où λ et c sont des constantes à déterminer. Exercice 10 Soit (f [n, m])n,m=0,N −1 une image de taille N 2. On rappelle la formule de sa Transformée de Fourier Discrète : fˆ[k1 , k2 ] = N −1 N −1 X X f [n, m] exp(−2iπ n=0 m=0 k1n + k2 m ) , k1 , k2 = 0, N − 1 N On prolonge l’image f [n, m] par périodisation, i.e. on définit : F [n, m] = f [nmod[N ], mmod[N ]] ∀n, m ∈ ZZ On appelle convolution circulaire de deux images f et g de taille N 2 périodisées : f ∗ g[n, m] = N −1 N −1 X X p=0 q=0 F [p, q]G[n − p, m − q] , ∀n, m ∈ ZZ 1. Montrer que f ∗ g est une image périodique. 2. Montrer que la transformée de Fourier Discrète de h = f ∗ g vérifie : ĥ[k1 , k2 ] = fˆ[k1 , k2 ]ĝ[k1 , k2] Exercice 11 Transformée en Z bidimensionnelle On définit la transformée en Z d’une suite x = (x[n])n∈ZZ par : X(z) = n=+∞ X n=−∞ 1. Soit x = n=∞ P n=−∞ x[n]z −n , ∀z ∈ C l (3) x[n]δna . On rappelle que la distribution δna (masse de Dirac au point na, a > 0) admet comme transformée de Fourier au sens des distributions : −2iπωna δc na (ω) = e Trouver la relation liant x̂ à X. 2. On suppose maintenant que x = y ∗ z où * désigne le produit de convolution discrète 1D entre les deux suites y = (y[n])n∈ZZ et z = (z[n])n∈ZZ. Montrer que : X(z) = Y (z)Z(z) où X, Y, Z désignent les transformées en Z respectives des suites x, y, z. 3. Soit une image infinie F = (F [n, m])n,m∈ZZ2 . On appelle transformée en Z bidimensionnelle de F la fonction : n=+∞ X X m=+∞ l F [n, m]z1−n z2−m , ∀z1 , z2 ∈ C F (z1 , z2 ) = n=−∞ m=−∞ 21 On considère que F est une image séparable, F [n, m] = h[n]g[m]. Montrer qu’alors F s’écrit comme le produit d’une fonction de z1 par une fonction de z2 . A quoi correspondent-elles ? Exercice 12 Filtrage bidimensionnel On considère le filtrage en série suivant : y[k, l] = x[k − 1, l] + 2 x[k, l] + x[k + 1, l] z[k, l] = y[k, l − 1] + 2 y[k, l] + y[k, l + 1] 1. Calculer le filtre bidimensionnel g associé tel que z = g ∗ x, où ∗ représente la convolution 2D. 2. Soit G la transformée en Z bidimensionnelle du filtre g. Montrer que : G(z1 , z2 ) = H(z1 )H(z2 ) où H est la transformée en Z (équation 3) associée au filtre h = [1 2 1]. Calculer alors G. Exercice 13 Filtre à réponse impulsionnelle infinie Le but de cet exercice est de trouver le filtre associé à la transformation de l’image infinie x (entrée) en l’image infinie y (sortie) selon le schéma suivant: K X P X k=0 p=0 ′ b[k, p]y[n − k, m − p] = ′ K X P X k′ =0 p′ =0 a[k′ , p′]x[n − k′ , m − p′ ] 1. Effectuer la transformée en Z bidimensionnelle de chaque membre. En déduire l’expression de H tel que : Y (z1 , z2 ) = H(z1 , z2 )X(z1, z2 ) 2. Soit h la réponse impulsionnelle associée à la fonction de transfert H. On suppose que le filtre h est réalisable, i.e. h[n, m] = 0 si n < 0 où m < 0. Montrer que, dans ce cas, on a : ∀n ≥ 0 et m ≥ 0 n X m X k=0 p=0 b[n − k, m − p]h[k, p] = a[n, m] 3. En déduire une formule de récurrence permettant le calcul de h[n, m] dans le cas où a[0, 0] n’est pas nul. 4. Soit H défini par : 1 + z −1 H(z1 , z2 ) = 1 − 12 z1−1 − 14 z2−1 Identifier a et b. Montrer que h vérifie la relation : h[n, m] = b[n, m] − n X m X k=1 p=1 1 1 a[k, p]h[n − k, m − p] + h[n − 1, m] + h[n, m − 1] 2 4 En supposant toujours que le filtre h est réalisable, montrer par récurrence que l’on peut calculer tous les coefficients du filtre h. 22 Détection de contours Exercice 14 Construction de filtre Donner un exemple de filtre discret (sous forme d’une matrice 3×3) permettant d’approcher l’opérateur | ∂f ∂f |+| | ∂x ∂y Quelle va être l’utilisation en pratique de ce filtre? Exercice 15 Détection de contours par DOG 1. On considère la gaussienne 1D d’écart type σ : gσ (x) = x2 1 √ e− 2σ2 σ 2π et la différence de deux gaussiennes : dogσ (x) = gσ (x) − gσ+δσ (x) où δσ est un paramètre petit. Calculer gσ′′ (x). Facultatif : Montrer que si δσ est petit (Indication : faire un développement limité en δσ), on a l’approximation : √ 2πdogσ (x) ≈ gσ′′ (x) 2. Soit une image (continue) F (x, y). Les contours de F vont être localisés par les passages par 0 du laplacien de l’image lissée par une gaussienne 2D : Gσ (x, y) = 2 x2 +y 2 1 √ e− 2σ2 σ 2π 2 a) Calculer ∆Gσ = ∂∂xG2σ + ∂∂yG2σ . b) Montrer que ∆(F ∗ Gσ ) = F ∗ ∆Gσ , où * désigne la convolution continue 2D. c) On pose DOGσ (x, y) = Gσ (x, y) − Gσ+δσ (x, y) Montrer que si δσ est petit, on a l’approximation : √ 2πDOGσ (x) ≈ ∆Gσ (x, y) d) En déduire une méthode rapide pour calculer ∆(F ∗ Gσ ). Exercice 16 Filtrage multi-échelle par dérivée seconde de Gaussienne Dans ce qui suit la transformée de Fourier d’une fonction f est notée fˆ et est égale à (si f ∈ L1 (IR)): Z +∞ ˆ f (x)e−2iπνx dx f (ν) = −∞ Soit ψ ∈ L1 (IR) ∩ L2 (IR) une fonction à valeurs réelles. Pour a > 0 on pose : 1 x ψa(x) = √ ψ( ) a a 1. Calculer la transformée de Fourier de ψa en fonction celle de ψ. 23 2. Pour une fonction f ∈ L2 (IR), on définit le filtrage de f à l’échelle a par les coefficients : W (a, x) = (f ∗ ψ̌a)(x) en posant ψ̌(x) = ψ(−x). Vérifier que le coefficient W (a, x) est bien défini pour tout a > 0 et tout x ∈ IR. 3. Montrer que : Z +∞ Z +∞ 2 |f (ν)|2 |ψ(aν)|2 dν |W (a, x)| dx = a −∞ −∞ En déduire que : Z +∞ |f (x)| dx = cψ −∞ où cψ est égal à : 2 cψ = Z Z 0 +∞ Z +∞ +∞ 0 R +∞ −∞ |W (a, x)|2 da dx a2 |ψ̂(ξ)|2 dξ ξ 4. On suppose que −∞ ψ(x)dx = 0. Montrer que les hypothèses sur la fonction ψ impliquent que la constante cψ de la question 3 est bien définie. 2 5. Exemple : Soit θ(x) = e−πx et soit ψ la fonction définie par ψ(x) = θ′′ (x). Calculer les expressions de ψ et ψ̂. En déduire que ψ vérifie les hypothèses de la question 5. 6. Montrer que 1 d2 W (a, x) = 2 2 (f ∗ θa )(x) a dx 1 x où θa (x) = √a θ( a ) Que représentent les coefficients W par rapport à la fonction f ? Quel est le rôle du paramètre a? 7. Ecrire un algorithme permettant de calculer en pratique les coefficients W (a, x). Décomposition d’images Exercice 17 Base continue de cosinus IV Montrer que la famille (gk )k≥0 définie par : gk (t) = √ 1 2 cos (k + )πt , ∀t ∈ [0, 1] 2 est une base orthonormée de L2 ([0, 1]). Indication : pour f ∈ L2 ([0, 1]), on prolongera f en une fonction f˜ de période 4, symétrique par rapport à 0 et antisymétrique par rapport à 1 et −1. Exercice 18 Base discrète de cosinus IV Pour k = 0, N − 1, on pose : gk [n] = r 2 cos N π 1 1 (k + )(n + ) N 2 2 24 ∀n = 0, N − 1 1. Montrer que la famille {gk ; k = 0, N − 1} est une base orthonormée de IRN . 2. En déduire une base orthonormée pour l’espace IRN × IRN . Donner l’expression des formules de décomposition-recomposition d’une image f [n, m] de taille N 2 dans une telle base. Exercice 19 Transformée de Hartley Pour t ∈ IR, on définit la fonction cas(t) = cos(t) + sin(t) A - Base continue de Hartley Pour k ∈ ZZ on définit la famille : gk (t) = cas(2πkt) 1. Montrer que {gk (t); k ∈ ZZ} est une famille orthonormée pour le produit scalaire de L2 (0, 1). 2. Vérifier que pour tout k ∈ IN on a : cos(2πkt) = gk (t) + g−k (t) 2 et sin(2πkt) = gk (t) − g−k (t) 2 3. En déduire que toute fonction f ∈ L2 (0, 1) s’écrit : X f (t) = ck cas(2πkt) k∈ZZ où les coefficients ck sont des coefficients réels que l’on explicitera. B - Base Discrète de Hartley Soit N un entier divisible par 2. Pour k = 0, N − 1 on définit la famille de vecteurs de IRN : gk [n] = cas( 4. Pour q = 0, N − 1, calculer : 2πkn ), N N −1 X e ∀n = 0, N − 1 2iπqn N n=0 PN −1 2πqn n=0 cos( N ) PN −1 2πqn n=0 sin( N ). et En déduire 5. Montrer que la famille de vecteurs {(gk [n])n=0,N −1 ; k = 0, N − 1} est une base orthonormée de IRN , muni du produit scalaire euclidien. 6. Soit (f [n])n IRN un vecteur de IRN . En utilisant sa transformée de Fourier discrète inverse : ∈ f [n] = N/2 X 2iπkn fˆk e N , k=−N/2+1 montrer que (f [n]) est combinaison linéaire des (gk [n]). (Indication : décomposer fˆk = ak + ibk où ak et bk sont réels). En déduire un algorithme rapide, basé sur la FFT, pour calculer les coefficients de (f [n]) sur la base (gk [n]). 25 C - Décomposition de Hartley d’une image Soit F [n, m] une image de taille N 2 . 7. Montrer que l’on a : F [n, m] = N −1 N −1 1 X X k1n + k2 m ) , F̂ (k1 , k2 ) cas(2π N N k1 =0 k2 =0 ∀n, m = 0, N − 1 où l’on explicitera les coefficients F̂ (k1 , k2 ) en fonction des F [n, m]. Exercice 20 Décomposition de Haar Soit H4 la matrice : 1 1 1 1 1 √1 −1 √1 −1 H4 = 2 2 − 2 √0 √0 0 0 2 − 2 1. Montrer que H4 est la matrice de décomposition de Haar dans IR4 (à une constante multiplicative près). 2. En déduire l’expression de H4−1 . J 3. Donner l’expression de H2J , matrice de la décomposition de Haar dans IR2 , et celle de son inverse H2−1 J . Exercice 21 Compression d’image par le format JPEG Soit F = (Fnm )0≤n,m≤31 une image numérique de taille 32x32 valant : Fnm = 1 pour (n = 8, 23 et m = 6, 19) et 0 sinon. 1. Expliquer la décomposition DCT par blocs utilisée dans le format JPEG et calculer cette décomposition pour l’image F . 2. On comprime F au format JPEG en ne retenant que 16 coefficients dans la décomposition précédente. Ecrire la matrice de coefficients retenue et calculer le taux de compression correspondant. 3. Calculer l’image comprimée F̃ et calculer l’erreur l 2 obtenue avec l’image originale. 26
Documents pareils
T.D. 4 Transformée de Fourier
Soit Λ la fonction, affine par morceaux, valant 0 sur ] − ∞, −1] et [1, +∞[, et 1 au point x = 0.
1. Donner l’expression de Λ(x).
2. Montrer que Λ est dérivable par morceaux, et montrer que l’on p...