Transformée de Fourier - Numérisation Séverine Dubuisson 28 septembre 2009 1 / 60
Plan du cours 1 Transformée de Fourier d un signal continu 2 Numérisation d un signal continu 3 Transformée de Fourier discrète 2 / 60
Transformée de Fourier d un signal 1D continu Définitions Un signal peut être, en théorie, décomposé par un nombre fini de sinusoïdes de différentes fréquences La transformée de Fourier donne une représentation fréquentielle d un signal temporel Si on considère un signal continu x(t), alors sa transformée de Fourier X (f ) est donnée par : X (f ) = + x(t)e i2πft dt avec f R 3 / 60
Définitions 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 (k) = + x(t) sin (2πft) dt est impaire Deux informations importantes à regarder : le module, ou spectre d amplitude X (k) = p X R (k) 2 + X I (k) 2 ; la phase Φ(k) = arctan. XI (k) X R (k) Une fréquence particulière, la fréquence fondamentale, pour f = 0 : X (0) = + x(t)dt 4 / 60
Transformée de Fourier d un signal : exemples simples 5 / 60
Transformée de Fourier d un signal Quelques transformées de Fourier La transformée de Fourier d un signal porte (fonction rectangle) est un sinus cardinal La transformée de Fourier d une gaussiene est une gaussienne 6 / 60
Transformée de Fourier d un signal Propriétés Linéarité : DFT (ax(.) + by(.)) = ax (.) + by (.) Contraction du domaine : DFT (x(a.)) = 1 a X ( ). a Translation temporelle : DFT (x(. t 0 )) = X (.)e i2πt0t Modulation temporelle : DFT ( x(.)e i2πt0t) = X (. t 0 ) Produit de convolution : DFT (x(.) y(.)) = X (.)Y (.) 7 / 60
Transformée de Fourier inverse d un signal 1D continu Définition On peut reconstruire le signal x(n) à partir de sa représentation fréquentielle X (f ) par la formule : x(t) = + X (f )e i2πft df Dans la pratique, il subsiste une (très) faible erreur entre le signal original et le signal reconstruit (cela dépend du signal) 8 / 60
Transformée de Fourier d un signal : exemple avec du bruit 9 / 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 F (f, g) est donnée par : X (f, g) = + + x(t, u)e i2π(ft+gu) dtdu avec f, g R 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 10 / 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 11 / 60
Transformée de Fourier d un signal 2D continu : un premier exemple 12 / 60
Principe Du continu au discret Un signal continu a besoin d être discrétisé pour être enregistré, analysé et/ou traité Deux étapes : L échantillonnage, visant à prélever régulièrement des échantillons sur le signal La quantification, visant à approcher le signal continu par un ensemble fini de valeurs 13 / 60
Principe Échantillonnage spatial But : transformer un signal analogique en un signal numérique Des échantillons ponctuels sont prélevés régulièrement sur le signal : tout le reste est perdu! La fréquence à laquelle on prélève les échantillons (fréquence d échantillonnage) doit être bien choisie : 1 assez grande pour pouvoir bien restituer le signal ; et 2 pas trop grande pour limiter l espace de stockage nécessaire. Théorème de Shannon : F e 2F max la fréquence d échantillonnage F e doit être supérieure à deux fois la fréquence maximale F max (fréquence de Nyquist) du signal 14 / 60
Quantification Principe But : affecter une valeur numérique à chaque échantillon prélevé sur le signal (après échantillonnage) À une valeur de l ensemble des réels, on associe sa valeur la plus proche (à définir) dans un ensemble d entiers Introduction d erreurs (opération destructrice) Deux principaux types de quantification : la quantification scalaire : diviser en un nombre fini d intervalles, puis attribuer à toutes les valeurs du même intervalle une unique valeur ; la quantification vectorielle : les échantillons sont représentés par plusieurs valeurs. 15 / 60
Échantillonnage 1D Ce qui se passe dans le domaine spatial On échantillonne un signal en le multipliant par un ensemble d impulsions de Dirac d amplitude unité et de période t Soit x a (t) le signal analogique, x e (t) le signal échantillonné par un peigne de Dirac p(t), on a alors : x e (t) = x a (t)p(t) = x a (t) + n= δ(t n t) = + n= x a (n t)δ(t n t) 16 / 60
Échantillonnage 1D Ce qui se passe dans le domaine fréquentiel La transformée de Fourier de p(t) est un peigne de dirac P(f ) tel que P(f ) = 1 t n= δ(f n t ) Le spectre du signal échantillonné est donné par : X e (f ) = X a (f ) P(f ) = 1 t + k= ( X a f k ) t Pour un taux d échantillonnage t (inverse de la fréquence d échantillonnage), la période du spectre est 1 t D après Shannon, le spectre de départ doit donc être limité à 1 2 t en fréquence 17 / 60
Échantillonnage 2D Dans le cas 1D, l échantillonnage est bien expliqué, bien connu et bien utilisé La fréquence maximum doit être connue (mesurée avec des analyseurs de spectre) Le signal doit être stationnaire (transformée de Fourier) La condition est donnée pour la reconstruction du signal analogique La généralisation aveugle du 1D au 2D est dangereuse : Les hypothèses du 1D sont souvent oubliées La nature des signaux 2D est souvent différente de celle des signaux 1D Les contraintes des applications et des réalisations sont différentes 18 / 60
Problèmes Échantillonnage 2D Dans le cas 2D les analyseurs de spectre sont rares : on ne peut pas connaître les fréquences maximum Les signaux 2D sont rarement stationnaires Très souvent on ne réalise pas la mise en œuvre de la conversion numérique/analogique Solutions? On admet que les hypothèses 1D sont satisfaites Soit x a (t, u) un signal analogique 2D. On définit sa TF X a (f, g) par : X a (f, g) = + + x a (t, u)e 2πj(fu+gv) dtdu 19 / 60
Échantillonnage 2D Le signal échantillonné 2D de x a (t, u) se fait en prélevant des échantillons espacés périodiquement et est donné par : x e (k t, l u) = x e (k, l) = x a (t, u) t=k t,u=l u Un signal analogique 2D limité en bande à F et G peut être reconstruit à partir de ses échantillons si et seulement si t 1 2F et u 1 2G La version échantillonnée x e (t, u) de x a (t, u) peut être vue comme le produit du signal analogique et d impulsions δ (Diracs) 2-tuples périodiques ( brosse de Diracs) e(t, u) : x e (t, u) = x a (t, u) e(t, u) e(t, u) = + + k= l= δ(t k t, u l u) 20 / 60
Échantillonnage 2D Au produit direct dans le domaine spatial correspond le produit de convolution dans le domaine fréquentiel : X e (f, g) = X a (f, g) E(f, g) = + + X a (f, g )E(f f, g g )dfdg On peut montrer que : E(f, g) = 1 t u + + m= n= ( δ f m t, g n ) u Propriété du produit de convolution des impulsions de Dirac : y(α, β) δ(α a, β b) = y(α a, β b) 21 / 60
Échantillonnage 2D La transformée de Fourier du signal échantillonné est donnée par : X e (f, g) = 1 t u + + m= n= X a ( f m t, g n ) u X e (f, g) est obtenue par duplication périodique de X a (f, g) dans les 2 dimensions avec l inverse des périodes d échantillonnage 1 t et 1 u L échantillonnage 2D produit une succession de spectres secondaires dans les 2 directions, proportionnels au spectre X a (f, g) Si l échantillonnage est fait avec des impulsions de Dirac, tous les poids sont égaux (échantillonnage idéal) Si l échantillonnage est fait avec des impulsions de largeur finie, les poids sont donnés par la transformée de Fourier des impulsions 22 / 60
Échantillonnage 2D Grilles d échantillonnage La majorité des grilles d échantillonnage sont cartésiennes (rectangulaires) : les pixels sont à t et u les uns des autres En général, on choisit des grilles carrées : t = u Existent aussi des grilles hexagonales ou quinconces Les signaux TV sont souvent échantillonnés en quinconce pour économiser un facteur dans le nombre total d échantillons Les applications liées à la vision par ordinateur (robotique, reconnaissance, etc.) sont plus efficaces sur des grilles hexagonales 23 / 60
Exemples de grilles d échantillonnage 24 / 60
Échantillonnage 2D Reconstruction du spectre analogique (1/2) Si le signal est limité en bande à F et G, il peut être reconstruit à partir de ses échantillons par filtrage passe-bas (interpolation). La réponse fréquentielle G i (f, g) d un filtre passe-bas idéal est donnée par : { t u si f F et g G G i (f, g) = 0 sinon X a (f, g) = G i (f, g) X e (f, g) 25 / 60
Reconstruction : illustration en 1D 26 / 60
Échantillonnage 2D Reconstruction du spectre analogique (2/2) Si le signal n est pas limité en bande, le spectre X a (f, g) est irrévocablement perdu à cause du recouvrement de spectre (dont les erreurs ne peuvent être corrigées) Les fréquences au-dessus de la moitié de la fréquence d échantillonnage sont appelées fréquences de repliement On peut éviter le recouvrement (phénomène d aliasing dans l image) par filtrage passe-bas de l image afin de limiter sa bande à F et G Le signal reconstruit est une somme pondérée de fonctions sinus cardinal (sin c ) x a (t, u) = + + k= l= x(k, l) sin c (2Ft k) sin c (2Gu l) 27 / 60
Échantillonnage 2D En pratique La transformée de Fourier X a (f, g) du signal est rarement connue, de même que F et G Le traitement M-D est assez lourd, on cherche donc à éviter les filtres de reconstitution Des périodes arbitraires de fréquences d échantillonnage sont sélectionnées dans la plupart des cas : Télécopie (Fax) : 2 résolutions pré-réglées Imprimantes : nombre fini de résolutions au choix de l utilisateur TV : 25 ou 30 images par seconde, 625 ou 525 lignes par hauteur d image HDTV TV TV numérique : 1920 1152 50 720 576 25 28 / 60
Quantification But : réduire le nombre de bits nécessaires au codage moyennant une diminution de la précision du signal Associer à un nombre réel un nombre entier compression implicite Deux types de quantifieurs : Le quantifieur scalaire : on quantifie chaque valeur Le quantifieur vectoriel : on quantifie une suite d échantillons (vecteur) 29 / 60
Quantification scalaire Définition On considère une variable aléatoire u de densité de probabilité p u (u) Une quantification est une application Q : R R, u u L image de Q est souvent un ensemble fini On subdivise les valeurs de u en intervalles [t k, t k+1 [ On associe une valeur r k à chaque intervalle On cherche les niveaux de transition t k et de quantification r k optimum, connaissant la densité de probabilité de u en se fixant un critère d optimisation On peut utiliser l histogramme comme fonction de densité de probabilité 30 / 60
Principe Quantification scalaire u u {r 1, r 2,..., r L } est le signal quantifié r k t k t k+1 u t k u < t k+1 et u r k t k : k = 1, 2,..., L + 1 niveau de transition r k : k ième niveau de reconstruction Exemple : cas d un quantificateur uniforme, avec u [0, 10.0] On souhaite avoir u {0, 1,..., 255} (dynamique d une image) t 1 = 0, t 257 = 10.0 Avec un séparation uniforme, on a t k = (k 1) 11, 256 k = 1, 2,..., 257 31 / 60
Cas de la numérisation d images Rappels f (x, y) Échantillonnage Quantification f (i, j) Image continue Vers l ordinateur La résolution spatiale est obtenue après échantillonnage (Sampling) Détermine le plus petit détail perceptible dans l image Quel est le meilleur taux d échantillonnage? La résolution en niveaux de gris est obtenue après quantification (Quantization) Détermine le plus petit changement de niveau de gris discernable dans l image Existe-t-il un quantificateur optimal? 32 / 60
Transformée de Fourier discrète d un signal 1D Définition La transformée de Fourier discrète (DFT) est l équivalent discret de la transformée de Fourier continue Si on considère un signal numérique x(n) à N échantillons, alors sa transformée de Fourier discrète X (k) est donnée par : X (k) = = N 1 2πkn i x(n)e N avec k [ N2, N2 ] 1 n=0 N 1 ( ) ( ) x(n) 2πkn 2πkn n=0 cos i sin N N } {{ } } {{ } partie réelle partie imaginaire 33 / 60
Transformée de Fourier d un signal 1D Définitions Les X (f ) sont des nombres complexes La partie réelle X R (k) = N 1 n=0 x(n) cos ( ) 2πkn N dt est paire La partie imaginaire X I (k) = N 1 n=0 x(n) sin ( 2πkn N Deux informations importantes à regarder : ) est impaire le module, ou spectre d amplitude X (k) = p X R (k) 2 + X I (k) 2 ; la phase Φ(k) = arctan. XI (k) X R (k) Une fréquence particulière, la fréquence fondamentale, pour f = 0 : N 1 [ ( ) ( )] N 1 2π0n 2π0n X (0) = x(n) cos i sin = x(n) N N n=0 n=0 34 / 60
Transformée de Fourier inverse discrète d un signal 1D Définition On peut reconstruire le signal x(n) à partir de sa représentation fréquentielle X (k) par la formule : N 1 x(n) = X (k)e 2πikn N k=0 Dans la pratique, il subsiste une (très) faible erreur entre le signal original et le signal reconstruit (cela dépend du signal) 35 / 60
Transformée de Fourier discrète 2D La transformée de Fourier Discrète (DFT) est un outil très utilisé en traitement d images car il permet d observer les caractéristiques fréquentielles des images Domaines d application très variés : Filtrage : lissage, augmentation de la netteté Restauration : élimination des dégradations Classification : distinction de différents types d images Compression : utilisée, mais certaines transformées sont plus adaptées (transformée en z, DCT) 36 / 60
Définition Transformée de Fourier discrète 2D Nouvelle représentation de l image dans l espace des fréquences Reliée à la théorie du signal : Un signal est une somme de sinusoïdes à différentes fréquences Une image réelle est une superposition de sinusoïdes 2D À une image sinusoïdale 2D correspond un point dans l espace des fréquences Pour visualiser cette image, on représente sa norme (spectre d amplitude) et sa phase Chaque point correspond à la fréquence d une sinusoïde 2D On connaît ainsi la force de cette sinusoïde et sa position dans l image de la norme Fourier ne nous informe pas sur la localisation des fréquences dans l image spatiale 37 / 60
Transformée de Fourier discrète 2D DFT Domaine spatial Domaine fréquentiel Formulation mathématique (n, m) (u, v) Pour une image de taille N M, on obtient la DFT par : F (u, v) = = N 1 X M 1 X n=0 m=0 N 1 X M 1 X n=0 m=0 2πi( un f (n, m)e N + vm M ) 2 f (n, m) un 6 4 cos 2π N + vm M {z } partie réelle un 2π N + vm M 7 {z } 5 partie imaginaire i sin 3 avec : N 2 u N 2 1 et M 2 v M 2 1 38 / 60
Transformée de Fourier discrète 2D inverse DFT 1 Domaine fréquentiel Domaine spatial Formulation mathématique (u, v) (n, m) Pour une image de taille N M, on obtient la DFT 1 par : f (n, m) = 1 N M N 2 1 M 2 1 u= N 2 v= M 2 un F (u, v)e 2πi( N + vm M ) avec : 0 n N 1 et 0 m M 1 Dans la théorie, l image reconstruite est réelle, dans la pratique, il subsiste une faible partie imaginaire (erreurs d arrondi) 39 / 60
Utilisation Transformée de Fourier discrète 2D On calcule la DFT en chaque pixel de l image pour obtenir une image complexe On calcule le spectre d amplitude, représentant le module des valeurs complexes, par la formule : F (u, v) = F re (u, v) 2 + F im (u, v) 2 On calcule le spectre de phase, représentant l argument des valeurs complexes, par la formule : ( ) Fim (u, v) Φ(u, v) = arctan F re (u, v) 40 / 60
Transformée de Fourier discrète 2D Spectre d amplitude Informe sur la présence de certaines fréquences (et de leur importance) dans l image Met en avant la présence d orientations fortes dans l image Ses valeurs ont une très grande dynamique : les basses fréquences ont une amplitude beaucoup plus élevée que les hautes fréquences on modifie cette dynamique en visualisant log(1 + F (u, v) ) La fréquence fondamentale F (0, 0), ou composante continue, contient la somme des niveaux de gris de l image : N 1 F (0, 0) = M 1 n=0 m=0 0n 2πi( f (n, m)e N + 0m M ) = N 1 M 1 n=0 m=0 f (n, m) 41 / 60
Transformée de Fourier discrète 2D Spectre d amplitude Le spectre d amplitude centré est symétrique par rapport à F (0, 0) Si l image est paire, sa DFT est réelle pure Si l image est impaire, sa DFT est imaginaire pure Spectre de phase Difficile à interpréter directement Donne toutefois l essentiel de l information d une image Si l image est impaire, sa phase comprise entre 0 et π 42 / 60
Transformée de Fourier discrète 2D Spectre centré Le calcul de la DFT donne un représentation spectrale dans laquelle l origine des fréquences (i.e. composante continue) est dans le coin en haut à gauche Il est plus naturel de voir l origine des fréquences au centre de l image du spectre Cela ne change pas l information contenue dans le spectre, seul son agencement est modifié L opération de centrage se fait en multipliant 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) 43 / 60
Spectre centré : illustration 44 / 60
Comment ca marche? Quelques propriétés sur le spectre centré La période minimale d un signal image (passage d un pixel à l autre) est de 2 (pixels) : fréquence maximale u max = v max = 1 2 Les fréquences du module du spectre d une image varient sur l intervalle [ 0.5, 0.5] Pour une sinusoïde de période (T x, T y ), on a les fréquences normalisées (u = 1 T x, v = 1 T y ) La fréquence fondamentale F (0, 0) code la somme des valeurs des pixels de l image 45 / 60
Variation de la période de de l orientation de la sinusoïde 46 / 60
Variation de la somme des valeurs des pixels La valeur de la fréquence fondamentale augmente, et prend la valeur de la somme des niveaux de gris 47 / 60
Transformée de Fourier discrète 2D Décomposition en images de base (1/2) La DFT transforme l image en une somme pondérée d images de base sinusoïdales a u,v (n, m) de fréquences u et v définies par : [ ( ( un a u,v (n, m) = cos 2π N + vm )) ( ( un i sin 2π M N + vm ))] M On calcule ainsi quelques images de base : a 0,0 (n, m) = 1 ( a 1,0 (n, m) = cos 2π n ) ( N a 1,1 (n, m) = cos 2π ( i sin ) 2π n ( N n N + m )) i sin M ( ( n 2π N + m )) M 48 / 60
Transformée de Fourier discrète 2D Décomposition en images de base (2/2) L image est la somme pondérée d images de bases a u,v (n, m) Si a u,v (n, m) décompose cette image, alors le pixel (u, v) du spectre de l image n est pas noir (i.e. non nul) Exemple : on a f (n, m) = αa u,v (1, 1) + βa u,v (11, 16) + γa u,v (0, 20) les pixels (1, 1), (11, 16) et (0, 20) du spectre sont allumés leur intensité, dans l image du spectre, est proportionnelle, respectivement à α, β et γ 49 / 60
Transformée de Fourier discrète 2D 50 / 60
Transformée de Fourier discrète 2D Interprétations On distingue 6 pics, donc 3 images de bases appartiennent à l image originale Les coordonnées des points sont : (0, 0.25), (0.125, 0) et (0.33, 0.33) Les images de base sont donc : a 0,0.25 (n, m), a 0.125,0 (n, m) et a 0.33,0.33 (n, m), d amplitudes respectives 200, 150 et 100 51 / 60
Transformée de Fourier discrète 2D 52 / 60
Propriétés de la DFT (1/4) Séparabilité F (u, v) = = N 1 M 1 n=0 m=0 M 1 m=0 [ N 1 n=0 un 2πi( f (n, m)e N + vm M ) ] un 2πi( f (n, m)e N ) e 2πi( vm N ) On peut effectuer la DFT en deux étapes 1 Une DFT sur les lignes : f (n, m) F l (u, m) 2 Une DFT sur les colonnes : F l (u, m) F (u, v) 53 / 60
Translation Propriétés de la DFT (2/4) Module invariant aux translations : Phase sensible Changement d échelle Module : Phase invariante DFT(f (n a, m b)) = F (u, v)e 2πi(ua+vb) ( 1 u DFT(f (αn, βm)) = αβ F α, v ) β ( ( 1 n DFT αβ f α, m )) = F (αu, βv) β 54 / 60
Propriétés de la DFT (3/4) Rotation Une rotation d angle α dans le domaine temporel se traduit par une rotation d angle α dans le domaine fréquentiel Module conserve la rotation à π 2 près : Phase invariante Linéarité Module : DFT (αf (n, m) + βg(n, m)) = αf (u, v) + βg(u, v) Phase invariante 55 / 60
Convolution Propriétés de la DFT (4/4) À un produit de convolution dans le domaine spatial correspond un produit dans le domaine fréquentiel f (n, m) g(n, m) = F (u, v) G(u, v) À un produit dans le domaine spatial correspond un produit de convolution dans le domaine fréquentiel f (n, m) g(n, m) = F (u, v) G(u, v) Cette propriété est très importante pour le filtrage : correspondance entre le filtrage spatial et le filtrage fréquentiel 56 / 60
Illustration des propriétés 57 / 60
Cas de la fonction échelon (1/2) Échelon vertical : f (i, j) = { 255 si j < Sj i 0 sinon 58 / 60
Cas de la fonction échelon (2/2) Interprétations Une transition brutale verticale se décompose en une infinité de sinusoïdes verticales (v = 0) pondérées (le spectre s étale et devient infini). Cette caractéristique est visible au niveau du spectre d amplitude Les pics de la DFT sont régulièrement espacés car le motif de l image originale est régulier. Il se décompose sur des sinusoïdes de fréquences multiples de la fréquence de répétition Pour l échelon horizontal le spectre est le même, à π 2 près 59 / 60
Exemples sur des images réelles Les lignes directrices fortement représentées dans les images sont mises en valeur (à π 2 près) dans les spectres 60 / 60