Transformée de Fourier Nicolas Thome 29 septembre 2015 1 / 60
Contexte et objectif Transformée de Fourier Transformée de Fourier (TF) : outil fondamental en traitement d images Concept abordé durant les 4 prochaines séances : Aujourd hui (cours 3) : présentation de la TF et des applications cours 4 : numérisation et Transformée de Fourier Discrète (TFD) cours 5 : filtrage linéaire traitement fréquentiel cours 6 : détection de contours : filtrage (linéaire) particulier Aujourd hui : objectifs Comprendre l espace de représentation Fourier Changement d espace : temporel (spatial) fréquentiel Et son intérêt pour des applications en traitement d images Introduction d outils mathématiques (convolution, Dirac, TF usuelles) importants pour la suite Définition et propriétés de la TF 2d (images) Savoir calculer, visualiser et interpréter la TF 2 / 60
Outline 1 Contexte : Analyse fréquentielle des signaux 1D Série de Fourier 2 Transformée de Fourier d un signal 1D continu 3 TF 2D 4 Applications de la TF 2D pour le traitement d images 3 / 60
Analyse Fréquentielle des signaux Décomposition en Série de Fourier d une fonction 1D périodique Soit x(t) est une fonction réelle (ou complexe) périodique de période T, on a : x(t) = 1 k= 2 a 0 + k=1 (a k cos( 2kπt T ) + b k sin( 2kπt )) (1) T les coefficients a k et b k sont calculés par : a k = 2 T b k = 2 T T 0 T 0 2kπt x(t)cos( T )dt 2kπt x(t)sin( T )dt (2) 4 / 60
Série de Fourier d une fonction périodique Écriture avec amplitude et phase Posons r k = a 2 k + b2 k θ k tel que : cos θ k = a k r k La formule (1) devient alors : et sin θ k = b k r k, x(t) = k= k=1 r k cos( 2kπt T θ k) (3) 5 / 60
Série de Fourier d une fonction périodique Écriture avec l exponentielle complexe : exp(iz) = cos(z) + i sin(z) exp(kiz) = (cos(z) + i sin(z)) k = cos(kz) + i sin(kz) cos(kiz) = exp(kiz)+exp( kiz) 2 sin(kiz) = exp(kiz) exp( kiz) 2i x(t) = 1 2 a 0 + k= (a k cos( 2kπt k=1 En reportant on obtient : x(t) = 2 1 a 0 + k= [ ( a k2 exp i2πkt T k=1 ) + exp T ( i2πkt T ) + b k sin( 2kπt T )) )] + k= k=1 [ b k 2i x(t) = 1 2 a 0 + k= ( ) [ ] exp i2πkt ak2 i b k T 2 + k= exp k=1 k=1 k k (2 nde somme), a k = a k, b k = b k x(t) = 1 2 a 0 + k= ( ) [ ] exp i2πkt ak2 i b k T 2 + k= 1 exp k=1 k= ( exp i2πkt T ( i2πkt T ) exp ( )] i2πkt T ) [ ak2 + i b k 2 ] ( ) [ ] i2πkt ak2 i b k T 2 6 / 60
Série de Fourier d une fonction périodique Écriture avec l exponentielle complexe : x(t) = 1 2 a 0 + k= exp k=1 On pose : c k = a k 2 i b k 2, on a alors : ( ) [ ] i2πkt ak2 i b k T 2 + k= 1 exp k= ( ) [ ] i2πkt ak2 i b k T 2 avec : x(t) = k= k= c k exp( 2ikπt T ) (4) c k = 1 T T 0 x(t) exp( 2iπkt )dt (5) T Apparition de fonctions de base exp ( ) 2ikπt T avec fréquence k T < 0 Pas d interprétation "physique" Mais formalisme plus compact, facilitant les calculs (voir Transformée de Fourier) 7 / 60
Série de Fourier : Interprétation Espaces vectoriels et produit scalaire sur les fonctions On considère un espace de fonctions (v.s. espace de vecteurs) La projection d une fonction f (t) sur une fonction g(t) est définie par le produit scalaire, de la manière suivante : où < f, g >= + g(t) est le conjugué de g(t) f (t) g(t)dt avec f R (6) Interprétation de la décomposition en série de fourier : c k = 1 T 2iπkt T x(t) exp( 0 T )dt =< x, exp( 2iπkt T ) > : projection de la fonction x(t) sur la fonction complexe sinusoïdale exp( 2iπkt fréquence "pure" f 0 = k T T ) On peut montrer que { exp( 2iπkt T )}, k { ; + } forment une base orthonormée de L 2 ([0, T ]) (exercice) 8 / 60
Série de Fourier : Interprétation graphique Soit un signal x(t) exp( 2iπk 1t T ) exp( 2iπk 2t T ) c k1 c k2 exp( 2iπk 3t T ) exp( 2iπk 4t T ) x(t) = c k exp( 2ikπt T ) k c k =< x, exp( 2iπkt T ) > c k3 c k4 9 / 60
Série de Fourier : Interprétation graphique Signal x(t) Fonction de base b k = exp( 2ikπt T ) x(t) = k= k= c k exp( 2ikπt T ) c k =< x, exp( 2iπkt T ) > = le produit scalaire c k mesure la similarité entre le signal x(t) à représenter et chacune des fonctions sinusoïdales Degré de présence de la fréquence "pure" de la fonction exp( 2iπkt T ) 10 / 60
Série de Fourier : conclusion Changement d espace de représentation x(t) = k= k= c k exp( 2ikπt T ) c k =< x, exp( 2iπkt T ) > Toute fonction périodique peut etre reconstruite dans la base de Fourier, il suffit de connaître les c k Les c k indiquent : les composantes fréquentielles contenues dans un signal leur "niveau" de présence { 1/2 si k = ±1 Exemple : x(t) = cos(2π t T ) : c k = 0 sinon Projection sur la base des { exp( 2iπkt )}, k { ; + } T Projection 0 : seules les fonctions de base exp( 2iπ 2iπ ) et exp( T T ) 11 / 60
Outline 1 Contexte : Analyse fréquentielle des signaux 1D 2 Transformée de Fourier d un signal 1D continu Calcul de la Transformée Outils Mathématiques & TF usuelles 3 TF 2D 4 Applications de la TF 2D pour le traitement d images 12 / 60
Transformée de Fourier d un signal 1D continu Décomposition en série de Fourier Transformée de Fourier Tout signal périodique est décomposable en série de Fourier Signal non périodique : cas limite d un signal périodique qd T Si x(t), n est pas pérdiodique, il est nécessaire de considérer la projection du signal sur une base "continue" de fontions au lieu de la base dénombrable { exp( 2iπkt T )}, k { ; + } Définition : la transformée de Fourier X (f ) est donnée par : X (f ) = + x(t)e i2πft dt avec f R Transformée de Fourier d une fonction : généralisation au cas non périodique du calcul des coefficients de Fourier d une fonction périodique. 13 / 60
Transformée de Fourier d un signal Interprétation X (f ) = + x(t)e i2πft dt = x, e i2πft avec f R on projette x(t) sur un ensemble de fonctions continues (i.e. non dénombrables) {exp(2iπft)}, f { ; + }, on obtient donc un ensemble de projections continues X (f ) TF : x(t) X (f ), X (f ) fonction de la variable continue f. X (f ) extrait une information fréquentielle sur le signal x(t) La fréquence f est-elle présente dans le signal x(t)? A quel "degré"? si x(t) est T périodique, on retombe sur la décomposition en Série de Fourier : X (f ) = 0 sauf pour f = k, k { ; + } où T X (f ) = c k 14 / 60
exp(2iπf 1 t) exp(2iπf 2 t) Soit un signal x(t) X (f 1 ) =< x, exp(2iπf 1 t) > X (f 2 ) =< x, exp(2iπf 2 t) > exp(2iπf 3 t) exp(2iπf 4 t) X (f ) =< x, exp(2iπft) > X (f 3 ) =< x, exp(2iπf 3 t) > X (f 4 ) =< x, exp(2iπf 4 t) > 15 / 60
Transformée de Fourier d un signal Interprétation : hautes et basses fréquences d un signal Hautes fréquences de x(t) : X (f ) tq f important : variations rapides du signal X (f ) =< x(t); exp(2iπft) > tq f gd Basses fréquences de x(t) : X (f ) tq f faible : variations lentes du signal X (f ) =< x(t); exp(2iπft) > tq f faible 16 / 60
Remarque Transformée de Fourier d un signal Les X (f ) sont des nombres complexes La partie réelle X R (f ) = + x(t) cos (2πft) dt est paire La partie imaginaire X I (f ) = + x(t) sin (2πft) dt est impaire Deux informations importantes à regarder : le module, ou spectre d amplitude X (f ) = X R (f ) 2 + X I (f ) 2 ; le module représente l intensité de la projection sur la fonction de base considérée ) la phase Φ(f ) = arctan. ( XI (f ) X R (f ) la phase représente le déphasage entre x(t) et la fonction de base considérée f = 0 : fréquence fondamentale, représente la valeur moyenne du signal : X (0) = + x(t)dt 17 / 60
Inversion de la TF Transformée de Fourier Inverse On peut reconstruire le signal x(t) à partir de sa représentation fréquentielle X (f ) par la formule : x(t) = + X (f )e i2πft df En terme de projection (produit scalaire) x(t) = avec Φ f (t) = e i2πft + < x(t); Φ f (t) > Φ f (t)df (7) On peut donc reconstruire le signal par "sommation" des projections Conséquence directe de la projection dans une base orthonormée 18 / 60
Outline 1 Contexte : Analyse fréquentielle des signaux 1D 2 Transformée de Fourier d un signal 1D continu Calcul de la Transformée Outils Mathématiques & TF usuelles 3 TF 2D 4 Applications de la TF 2D pour le traitement d images 19 / 60
TF : Outils mathématiques Produit de convolution l opérateur est le produit de convolution entre signaux. Considérons deux signaux x(t) et y(t), le produit de convolution entre x et y calculé comme suit : z = x y = + x(τ)y(t τ)dτ (8) Etapes : 1 Retournement du signal : y(τ) y( τ) 2 Translation du signal de t : y(t τ) 3 Produit entre Translation du signal de t : x(τ)y(t τ) 4 Calcul de l intégrale de x(τ)y(t τ) 20 / 60
Produit de convolution : Illustration 1 Retournement du signal : g(t) g( t) 2 Translation du signal de t : g(x t) 3 Produit entre Translation du signal de t : f (t)y(x t) 4 Calcul de l intégrale de f (t)y(x t) f y(x) 21 / 60
Propriétés principales de la TF 1d Linéarité : TF [ax(t) + by(t)] = ax (f ) + by (f ) Contraction du domaine : TF [x(αt)] = 1 α X ( ) f α Translation temporelle : TF [x(t t 0 )] = X (f ) e i2πt0t Modulation temporelle : TF [ x(t) e i2πf0t] = X (f f 0 ) Produit de convolution (démo en TD) : TF [x(t) y(t)] = X (f ) Y (f ) TF [x(t) y(t)] = X (f ) Y (f ) Cette propriété est très importante pour le filtrage : correspondance entre le filtrage spatial et le filtrage fréquentiel (voir le cours 5) si x(t) réelle symétrie Hermitienne : X (f ) = X ( f ), donc X ( f ) = X (f ) : module pair (idem partie réelle) Phase et partie imaginaire impaires Tous les signaux et images sont réels, on aura donc toujours un module pair X ( f ) = X (f ) (symétrie par rapport à l axe y) 22 / 60
Transformée de Fourier de signaux usuels 1d Transformée de Fourier d une fonction porte la fonction "Porte" est définie de la manière suivante : Rect(t) = { 1 si t 1 2 0 sinon (9) La transformée de Fourier d un signal porte (fonction rectangle) est un sinus cardinal (démo en TD) TF [ ( t )] + a 2 Rect = e i2πft dt = a sin(πfa) = a sinc(πfa) a a πfa 2 23 / 60
Transformée de Fourier de signaux usuels 1d Transformée de Fourier d une fonction porte [ ( t TF Rect = a sinc(πfa) a)] Très utilisé pour la numérisation des signaux - fenêtrage et échantillonnage - (voir cours 4) 24 / 60
Transformée de Fourier de signaux usuels 1d Transformée de Fourier d une gaussienne La transformée de Fourier d une gaussiene est une gaussienne TF [ e b2 t 2] π = b e π 2 f 2 b 2 Écart-type de la Gaussienne dans le domaine fréquenctielle inversement proportionnel à l écart-type dans le domaine temporel 25 / 60
TF : Outils mathématiques Distributions : Distribution de Dirac δ(t) Définition informelle : { O si t 0 δ(t) = sinon avec + δ(t)dt = 1. Intuitivement : peut être interprété comme la limite d une fonction porte de longueur nulle [ : δ(t) = lim 1 a 0 a Rect ( )] t a. 26 / 60
TF : Outils mathématiques Distribution de Dirac δ(t) Formellement, δ(t) n est pas une fonction mais une distribution Généralisation de la notion de fonction δ(t) joue un rôle central en traitement du signal et des images Convolution et TF (ce cours) : δ(t) intervient pour la TF de fonctions de base Échantillonnage des signaux 1d et 2d (cours 4) Propriétés essentielles : + δ(t)dt = 1. x(t) δ(t t 0) = x(t 0)δ(t t 0) x(t) δ(t t 0) = x(t t 0) : δ(t) élément neutre pour la convolution Transformée de Fourier : TF [ e 2iπf 0t ] = δ(f f 0 ) : fréquence pure f 0 TF [δ(t t 0 )] = e 2iπft 0 : toutes les fréquences présentes scaling property : α δ(αt) = δ(t) 27 / 60
TF 1D : exemples simples TF d une fonction cosinus : x(t) = cos(2πf o t) TF [cos(2πf o t)] = 1 2 [δ(f f 0) + δ(f + f 0 )] (10) Voir TD : TF réelle w 0 = 2πf 0 Fréquence pure ±f 0 28 / 60
TF 1D : exemples simples TF d une fonction sinus : x(t) = sin(2πf o t) TF [sin(2πf o t)] = i 2 [δ(f + f 0) δ(f f 0 )] (11) x(t) = sin(2πf o t) Fréquence pure ±f 0 Voir TD : TF imaginaire pure 29 / 60
Transformée de Fourier d un signal : exemples simples 30 / 60
Transformée de Fourier d un signal : exemple avec du bruit 31 / 60
Outline 1 Contexte : Analyse fréquentielle des signaux 1D 2 Transformée de Fourier d un signal 1D continu 3 TF 2D Calcul de la Transformée Différences et Similitudes TF 1D vs TF 2D 4 Applications de la TF 2D pour le traitement d images 32 / 60
Transformée de Fourier d un signal 2D continu Définitions Si on considère un signal continu x(t, u), alors sa transformée de Fourier X (f, g) est donnée par : X (f, g) = + + x(t, u)e i2π(ft+gu) dtdu avec (f, g) R 2 Interprétation : projection de x(t, u) sur un ensemble de fonctions 2d de base {exp (2iπ(ft + gu))}, (f, g) IR 2 = images de base X (f, g) =< x(t, u); e i2π(ft+gu) > : produit scalaire entre x(t, u) et la fonction 2d e i2π(ft+gu) 33 / 60
Transformée de Fourier d un signal 2D continu X (f, g) =< x(t, u); e i2π(ft+gu) dtdu > : e i2π(ft+gu) image de base 34 / 60
Transformée de Fourier d un signal 2D continu Définitions Partie réelle X R (f, g) = + paire. + x(t, u) cos (2π(ft + gu)) dtdu Partie imaginaire X I (f, g) = + + x(t, u) sin (2π(ft + gu)) dtdu impaire. Module, ou spectre d amplitude X (f, g) = X R (f, g) 2 + X I (f, g) 2. ( ) Phase Φ(f, g) = arctan XI (f,g) X R (f,g). La fréquence fondamentale, pour f = g = 0, X (0, 0) = + + x(t, u)dtdu 35 / 60
Transformée de Fourier d un signal 2D continu Reconstruction On peut reconstruire le signal x(t, u) à partir de sa représentation fréquentielle X (f, g) par la formule : x(t, u) = + + X (f, g)e i2π(ft+gu) dfdg Conséquence directe de la projection dans une base orthonormée : x(t, u) = + + avec Φ f,g (t, u) = e i2π(ft+gu) < x(t, u); Φ f,g (t, u) > Φ f,g (t, u)dfdg (12) 36 / 60
Transformée de Fourier d un signal 2D Composantes fréquentielles en 2d Basses fréquences spatiales : f 2 + g 2 faible Hautes fréquences spatiales : f 2 + g 2 élévé 37 / 60
TF 2D : un premier exemple x(t, u) = cos(2πf 0 t) X (f, g) = δ(f f 0)+δ(f +f 0 )) 2 (voir TD) TF [A cos [2πf o (x cos(θ) + y sin(θ))]] =?? (Voir TD) 38 / 60
TF 2D : un second exemple Fonction Porte 2D : x(t, u) = Rect ( t T ) Rect ( u T ) x(t, u) X (f, g) X (f, g) sinc 2D (voir TD) 39 / 60
Outline 1 Contexte : Analyse fréquentielle des signaux 1D 2 Transformée de Fourier d un signal 1D continu 3 TF 2D Calcul de la Transformée Différences et Similitudes TF 1D vs TF 2D 4 Applications de la TF 2D pour le traitement d images 40 / 60
Transformée de Fourier d un signal 2D Passage du 1D au 2D La TD 2D : une extension assez naturelle de la TF 1D Beaucoup de propriétés communes Quelques spécificités liées au 2D TF 2D : 2 TF 1D sucessives (voir TD ) X (f, g) = TF [Z(f, u)] : extension directe 1D Si x(t, u) séparable x(t, u) = z(t) k(u), on a : X (f, g) = Z(f ) K(g), avec Z(u) = TF [z(t)] et K(g) = TF [k(u)] Produit simple de 2 TF 1D 41 / 60
TF 1D et 2D : propriétés communes TF continue 1D TF continue 2D x(t) X(f) x (t,u) X(f,g) 1 x(t) + λy(t) X (f ) + λy (f ) x(t, u) + λy(t, u) X (f, g) + λy (f, g) 2 x(t t 0 ) X (f ) e 2iπft 0 x(t t 0, u u 0 ) X (f, g) e 2iπ(ft 0+gu 0 ) 1 3 x(αt) α X ( f α ) x(αt, βu) 1 α β X ( f α, g β ) 4 x(t) y(t) X (f ) Y (f ) x(t, u) y(t, u) X (f, g) Y (f, g) 5 x(t) y(t) X (f ) Y (f ) x(t, u) y(t, u) X (f, g) Y (f, g) Table Propriétés des TF continues 1D et 2D 1 linéarité 2 translation 3 contraction 4 convolution 5 produit 42 / 60
TTF 1D et 2D : propriétés communes Illustration des propriétés 43 / 60
TF : spécificités de la 2D Notion de fréquence spatiale Image : I : (x, y) I (x, y) : fonction 2d à valeur dans IR Fréquence spatiale : "vitesse" de variation du signal I(x,y) (luminance) par rapport aux variables spatiale (x,y) Basse fréquence spatiale Haute fréquence spatiale 44 / 60
TF : spécificités de la 2D Notion de fréquence spatiale Images réelles : signaux non stationnaires fréquences spatiales (hautes/basses) dans régions 45 / 60
TF : spécificités de la 2D Rotation Une rotation d angle α dans le domaine spatial se traduit par une rotation d angle α dans le domaine fréquentiel TF [x (t cos θ + u sin θ, t sin θ + u cos θ)] = X (f cos θ + g sin θ, f sin θ + g cos θ) Important : la réponse fréquenielle de X (f, g) comporte une information structurelle sur la direction des fréquences spatiales 46 / 60
TF 2D : exemple de rotation 47 / 60
TF 2D : rotation Important : la réponse fréquenielle de X (f, g) comporte une information structurelle sur la direction des fréquences spatiales Exemples sur des textures 48 / 60
Exemples sur des images réelles Les lignes directrices fortement représentées dans les images sont mises en valeur dans les spectres 49 / 60
Spectre centré : matlab TF 2D : Visualisation Fonction matlab pour le calcul de la FT 2D : fft2 fft2 Transformée de Fourier discrète (DFT) voir cours 4 fft2 :origine du spectre (composante continue) : en haut à gauche Plus naturel de voir l origine des fréquences au centre du spectre Ne change pas le contenu dans le spectre, juste son agencement Opération de centrage : multiplier chaque pixel de coordonnées (i, j) par ( 1) i+j Cela met en avant la propriété de symétrie des spectres par rapport à F (0, 0) : F (u, v) = F ( u, v) Fonction fftshift sous matlab 50 / 60
Spectre centré : illustration 51 / 60
Visualisation de la TF 2D hautes/basses fréquences sur les images réelles énergie BF >> HF visualiser 1 + log( X (f, g) ) X (f, g) 1 + log( X (f, g) ) 52 / 60
Outline 1 Contexte : Analyse fréquentielle des signaux 1D 2 Transformée de Fourier d un signal 1D continu 3 TF 2D 4 Applications de la TF 2D pour le traitement d images 53 / 60
Utilisation de la TF pour les images Transformée de Fourier : représentation fréquentielle d une image On passe dans un autre espace de représentation, rappel en 1D : 1 Représentation temporelle : décomposition de la fonction sur une base de distributions de dirac : x(t) = x(t) δ(t) = x(u)δ(t u)du (13) 2 Représentation fréquentielle : décomposition de la fonction sur une base de fonctions sinusidales (Fourier) x(t) = X (f )e 2iπft df (14) Utilisation de la TF Hypothèse fondamentale : espace fréquentiel > espace temporel pour représenter les données R espace fréquentiel plus efficace pour séparer l information "utile" de l information "inutile" "utile"/inutile dépendant du contexte applicatif visé R 54 / 60
Analyse fréquentielle TF 1D TF 2D Applications Applications de la TF Débruitage I Formulation du problème : isoler le signal du bruit I Hypothèse : le bruit et le signal utile vont être portés par des composantes fréquentielles 6= : signal BF, bruit HF I Méthodologie du débruitage : composantes fréquentielles correspond aux hautes fréquences 0 Image originale Image bruitée Image débruitée 55 / 60
Compression Applications de la TF Formulation : représenter efficacement le signal (peu de composantes) Hypothèse : Hautes Fréquences : énergie négligeable Méthodologie : ne conserver que les BF Image brute Image compressée (/2) Idée à la base de la norme JPEG, voir TME 4 56 / 60
Applications de la TF De nombreuses autres utilisations de l analyse fréquentielle Débruitage, compression, restauration : opérations bas niveau TF aussi beaucoup utilisée pour des tâches plus haut niveau Filtrage linéaire (cours 5) : covolution domaine spatial multiplication domaine Fourier : opérations duales Filtrage : étape préliminaire à de très nombreuses applications en traitement d images, e.g. reconnaissance des formes : TF : bilan Détection de contours (cours 6), détection et description de points d intétêt, e.g. Harris, SIFT (cours 7-8), représenter texture, etc TF bien adapté pour représenter les signaux 1 réguliers 2 périodiques, stationnaires 57 / 60
TF : limites Signaux non stationnaires TF : on connait les fréquences spatiales de l image perte totale de l information de localisation (spatiale) des fréquences Images : contenu fréquentiel différent dans différentes régions Avoir des espace de représentation temps (espace)-fréquences e.g. ondelettes 58 / 60
Signaux non réguliers TF : limites TF : nécessite un nombre de coeffs pour représenter des fonctions non dérivables phénomène de Gibbs Pas adapté pour tout ce qui est contours dans les images JPEG par adapté pour la compression des images comportant beaucoup de contours (e.g. texte) 59 / 60
THE END QUESTIONS?? 60 / 60