Transformée de Fourier des images - Thomas Oberlin
Transcription
Transformée de Fourier des images - Thomas Oberlin
Pourquoi l’analyse de Fourier ? Traitement d’images Partie 2: Transformée de Fourier des images Transformée et séries de Fourier ◮ Permet l’analyse fréquentielle d’un signal ◮ TF continue, TF discrète, FFT Thomas Oberlin Signaux et Communications, IRIT/ENSEEIHT Outil fondamental pour beaucoup d’applications [email protected] ◮ Échantillonnage ◮ Compression d’une image Filtrage des images Outil d’analyse ◮ ◮ http://oberlin.perso.enseeiht.fr/teaching.html 1 / 31 Plan de la séance 1 2 3 2 / 31 Série de Fourier (signaux périodiques) Rappels : séries et transformée de Fourier 1D 1 . f0 ◮ Soit un signal périodique f (x) de période T = ◮ f (x) peut se représenter par une somme dénombrable (p-e infinie) de sinus/cosinus Transformée de Fourier d’une image Transformée de Fourier 2D Propriétés Représentation de la TF Transformée 2D discrète = Exercices – À vous de jouer ! Calcul de Transformées Transformées de Fourier d’images réelles 3 / 31 1× +0.5× +1.5× 4 / 31 +.3× Série de Fourier (signaux périodiques) Série de Fourier (signaux périodiques) 1 . f0 ◮ Soit un signal périodique f (x) de période T = ◮ f (x) peut se représenter par une somme dénombrable (p-e infinie) de sinus/cosinus f (x) = +∞ X cn (f )e n i2π T x avec n=−∞ ◮ Remarque : c0 (f ) = 1 T Z 1 cn (f ) = T Z T/2 f (t)e n −i2π T t dt ◮ Exemple, signal carré impair : ◮ 4 f (x) = π ◮ R0 = 0 et f0 = −T/2 T/2 f (t)dt = R0 = moyenne de f ! sin 3x sin 5x sin x + + + ... 1 3 5 −T/2 1 2π 5 / 31 Des séries de Fourier aux transformées de Fourier 6 / 31 Transformée de Fourier 1D TF 1D de f ∈ L1 (R) : ◮ ◮ ◮ Plus la période, T , du signal est grande, plus la fréquence fondamentale f0 = T1 est faible (ainsi que la distance entre harmoniques) On peut donc voir un signal apériodique comme un signal de période infinie La série de Fourier d’un tel signal est une suite infinie et indénombrable de sinusoïdes. La somme est remplacée par l’intégrale. Transformée inverse F −1 Principales propriétés : ◮ Linéaire, f̂ à valeurs complexes ◮ ◮ ◮ ◮ 7 / 31 Z f (x)e −iξx dx, R Z 1 : f̂ 7→ f , avec f (x) = f (ξ)e iξx dξ, 2π R Transformée directe F : f 7→ f̂ , avec f̂ (ξ) = S’étend en une isométrie sur L2 (R) Symétries (si f est réelle/imaginaire, paire/impaire) Translation F[f (x + x0 )](ξ) = e iξx0 F[f ](ξ) 1 F[f ]( aξ ) Dilatation F[f (ax)](ξ) = |a| ◮ Convolution F[f ∗ g] = F[f ]F[g] ◮ Dérivation F[f ′ ](ξ) = iξF[f ](ξ) 8 / 31 Transformée de Fourier discrète (TFD) Plan de la séance TFD d’un signal discret s ∈ RN , s = s[i], i = 0 · · · N − 1 ŝ[u] = N −1 X s[n]e n=0 s[n] = 1 N N −1 X 1 Rappels : séries et transformée de Fourier 1D 2 Transformée de Fourier d’une image Transformée de Fourier 2D Propriétés Représentation de la TF Transformée 2D discrète 3 Exercices – À vous de jouer ! n −2iπu N u ŝ[u]e 2iπn N u=0 Relation entre la TFD du signal discrétisé et la série de Fourier du signal périodisé Fast Fourier Transform (FFT) ◮ basée sur un algorithme diviser pour régner [Cooley-Tukey, 1966] ◮ permet de calculer la TFD en O(N log(N )) 9 / 31 10 / 31 Transformée de Fourier 2D Inversion et conservation de l’énergie TF 2D de f ∈ L1 (R2 ) : f̂ (ξ1 , ξ2 ) = Z +∞ −∞ Z +∞ f (x1 , x2 ) e−iξ1 x1 e−iξ2 x2 dx1 dx2 Inversion dans L1 (R2 ) Si f̂ ∈ L1 (R2 ), alors on a presque partout ZZ 1 f̂ (ξ) eiξ·x dξ. f (x) = 4π 2 R2 −∞ La TF est séparable. Éléments de base : sinusoïdes 2D. hξ (x) = eiξ·x = cos(ξ · x) + i sin(ξ · x) = eir(x1 cos θ+x2 sin θ) , avec r = |ξ| et θ = arctan ξ |ξ| Extension à L2 (R) et conservation de l’énergie F : L2 (R2 ) → L2 (R2 ) est inversible, et on a conservation de l’énergie : Z Z 1 2 |f (x)| dx = |f̂ (ξ)|2 dξ 2 4π 2 2 R R 1 kf kL2 (R2 ) = f̂ 2 2 . 2π L (R ) ξ = (16, 16), θ = π 4 ξ = (30, 90), θ ≈ 11 / 31 2π 5 π ξ = (90, −30), θ ≈ − 10 12 / 31 Propriétés de la TF Transformée de Fourier des distributions Classe de Schwarz des distributions tempérées Linéarité Fonction f Transformée f̂ f (x) = αg(x) + βh(x), α, β ∈ R f̂ (ξ) = αĝ(ξ) + β ĥ(ξ) ϕ ∈ S(R2 ) si ϕ ∈ C ∞ (R2 ) et si pour tous les entiers i, j, k, l, on a sup |x1i x2j ∂1k ∂2l ϕ(x)| < ∞ x∈R2 Translation f (x) = g(x − a), a ∈ R Dilatation f (x1 , x2 ) = g(a1 x1 , a2 x2 ) f̂ (ξ1 , ξ2 ) = f (x) = ĝ(x) f̂ (ξ) = g(−ξ) Anti-involution Séparabilité f (x1 , x2 ) = g(x1 )h(x2 ) Dérivation f (x) = Rotation f (x) = g(rθ (x)) 2 ∂ n+p g(x) ∂x1n ∂x2p f̂ (ξ) = e −ia·ξ ĝ(ξ) 1 |a1 a2 | ĝ ξ1 ξ2 a1 , a2 Définition de la TF par dualité ◮ Topologie sur S : la suite ϕn converge vers 0 si et seulement si lim sup |x1i x2j ∂1k ∂2l ϕn (x)| → 0, ∀i, j, k, l ∈ N n→∞ x∈R2 f̂ (ξ1 , ξ2 ) = ĝ(ξ1 )ĥ(ξ2 ) f̂ (ξ) = (iξ1 )n (iξ2 )p ĝ(ξ) f̂ (ξ) = ĝ(rθ (ξ)) ◮ ◮ L’ensemble S ′ (R2 ) des distributions tempérées est l’ensemble des applications linéaires continues de S dans C. Si T ∈ S ′ , sa transformée de Fourier, notée T̂ , vérifie ∀ϕ ∈ S, hT̂ , ϕi = hT , ϕ̂i 13 / 31 Transformée de Fourier des distributions – un exemple 14 / 31 Représentation du spectre Domaine spatial Exercice On s’intéresse à la distribution de Dirac 2D, définie par hδ, φi = φ(0, 0) ∀φ ∈ S(R2 ). ◮ ◮ Vérifier que δ est bien une distribution tempérée (δ ∈ S ′ (R2 )) Calculer sa transformée de Fourier Fonction Solution ◮ ◮ δ est clairement linéaire. Pour vérifier que δ ∈ S ′ , on montre qu’elle est continue de S dans R2 . On utilise pour cela la caractérisation séquentielle de la limite (en 0 car application linéaire). Soit (φn ) une suite de S tendant vers 0, il suffit de montrer que hδ, φn i → hδ, 0i = 0. Pour tout φ ∈ S, on écrit Z E D E D δ̂, φ = δ, φ̂ = φ̂(0) = φ(x) dx = h1R2 , φi , donc δ̂ = 1R2 Image R2 15 / 31 16 / 31 Domaine fréquentiel Représentation logarithmique du spectre Importance de la phase L’énergie est concentrée dans les basses fréquences ! −→ échelle log F = module aléatoire F −1 |f̂ | log(1 + |f̂ |) phase aléatoire F −1 · exp i ∗ 17 / 31 u=1 u=2 TFD 2D TFD d’une image discrète f [m, n], m = 0 · · · M − 1, n = 0 · · · N − 1 : M−1 −1 X NX v=0 f [m, n]e −2iπ(u M +v N ) m n m=0 n=0 v=1 Inversion habituelle : M−1 N −1 u v 1 X X f̂ [u, v]e −2iπ(m M +n N ) NM u=0 v=0 v=2 Propriétés : ◮ symétrie (pour une image réelle) ◮ = = Base de Fourier 2D u=0 f [m, n] = 19 / 31 Transformée discrète f̂ [u, v] = · exp i ∗ Image f · exp i ∗ FFT à temps de calcul : O(MN log(MN )) 20 / 31 v=3 21 / 31 u=3 u=4 Artefacts de bords Plan de la séance Comme en 1D, on calcule en fait la TFD du signal périodisé −→ introduction de singularités aux bords. −→ ajout de fréquences horizontales et verticales artificielles Image 1 Rappels : séries et transformée de Fourier 1D 2 Transformée de Fourier d’une image 3 Exercices – À vous de jouer ! Calcul de Transformées Transformées de Fourier d’images réelles Spectre 22 / 31 TF d’images synthétiques ◮ ◮ ◮ (a) (b) (c) (d) (1) (2) (3) (4) Exprimer la TF 2D comme composition de transformées 1D Montrer que F est covariante par rotation Que peut-on dire de la TF d’une fonction radiale f (x) = g(|x|) ? Calculez la transformée de Fourier des fonctions suivantes : ◮ ◮ ◮ TFs d’images réelles Structure de la TF 2D : ◮ ◮ 23 / 31 Fonction rectangle χ(−a,a)×(−b,b) avec a, b > 0 2 Gaussienne f (x) = e −|x| Calculez la TF des distributions tempérées suivantes : ◮ ◮ f (x) = e ik·x f (x1 , x2 ) = e −a|x1 | . Que vaut la transformée de Fourier de f (x1 , x2 ) = g(x1 ) 1 quand g ∈ Lloc (R) ? 24 / 31 30 / 31