Th eorie de Fourier - Imagineimagine.enpc.fr/~marletr/enseignement/mathimage/TIVO...Si f est p...
Transcript of Th eorie de Fourier - Imagineimagine.enpc.fr/~marletr/enseignement/mathimage/TIVO...Si f est p...
Theorie de Fourier
Guillaume Obozinski
LIGM/Ecole des Ponts - ParisTech
Traitement de l’information et vision par ordinateur
Ecole des Ponts
Une image
Image numerique
Une image numerique est une une application
f : Ω→ C,
ou Ω ⊂ R2 est le domaine de definition de l’image et C est l’ensemble decouleurs possibles.
On s’interessera dans ce cours au cas Ω = [0, a]× [0, b] d’undomaine rectangulaire.
Pour une image couleur, l’ensemble C est [0, 1[3.
Pour une image monochrome, C = [0, 1[.
Une image couleur s’obtient donc comme une superposition de troisimages monochromes.
Discretisation
D’un point de vu pratique et informatique, il est necessaire deremplacer la fonction f qui prend une infinite de valeurs en unnombre infini de points, par une fonction definie sur un ensemble finia valeurs dans un ensemble fini.
Discretisation : On definit une partition de Ω = [0, a]× [0, b],generalement engendree par une grille reguliere, et on remplace lafonction f par ses valeurs moyennes :
Ω =⊔i,j
Ωij , f (i , j) =1
|Ωij |
∫Ωij
f (x) dx .
Quantification
Quantification : On a egalement besoin de remplacer C par un ensemblefini, ce qui equivaut a utiliser un nombre fini de couleurs.
Si C = [0, 1[, on choisit un entier N et on remplace f (i , j) par
f Q(i , j) = [K × f (i , j)],
ou [x ] designe la partie entiere de x .
Pour des images monochromes, on utilise typiquement une quantificationavec K = 256, ce qui implique que les valeurs prises par une image sont0, 1, . . . , 255.
Problematiques
Restauration des imagesdegradees :
Debruitage,Deblurring (defloutage ?),Inpainting.
Compression :
Sans perte,Avec perte.
Segmentation.
Detection de contour.
Theorie de Fourier
Definition de la transformee de Fourier F
La transformee de Fourier en pulsation F ou Fω :
f (ω) = fω(ω) =
∫ +∞
−∞f (t) e iωtdt → F−1
ω (f ) =1
2πFω(f )
La transformee de Fourier en frequence Fν :
fν(ν) =
∫ +∞
−∞f (t) e2iπνtdt → F−1
ν (f ) = Fν(f )
I La pulsation ou vitesse angulaire est mesuree en radian par seconde(rad · s−1)
I La frequence est mesuree en Hertz (1Hz = 1s−1).
1Hz ←→ 2πrad · s−1.
Les resultats sont plus simples et plus elegants en Hz .
Operateurs lineaires stationnaires
Pour une fonction f on note fτ : t 7→ f (t − τ) la fonction avec un retardde τ . Un operateur est lineaire stationnaire s’il est lineaire et si
∀f , [Lf ](t) = g(t) ⇒ gτ (t) = [Lfτ ](t).
On peut ecrire f (t) =∫ +∞−∞ f (u)δ(t − u)du. Mais alors si L est continu
on a
(Lf )(t) =
∫ +∞
−∞f (u)Lδu(t)
= (f ∗ h)(t),
ou h est la reponse impulsionnelle de L.
Conclusion : un filtre lineaire stationaire est une convolution.
Pourquoi les convolutions ?
I Le floutage est une convolution
I Donc le defloutage est une deconvolution.
I Le calcul des gradients lisses est obtenu par convolution.
Fonctions propres des operateurs de convolution
Le iωt =
∫ +∞
−∞h(u) e iω(t−u)du
= e iωt
∫ +∞
−∞h(u) e−iωudu
= e iωt h(ω).
Les exponentielles complexes sontles vecteurs propres des operateurs de convolution.
(t 7→ e iωt) est la fonction propre associee a la valeur propre h(ω).
Transformee de Fourier dans L1(R)
En effet
f (ω) =
∫ +∞
−∞f (t) e−iωtdt
est convergente avec
|f (ω)| ≤∫ +∞
−∞|f (t)|dt = ‖f ‖L1 .
De plus on a alors f est continue (exercice).
Reconstruction quand f ∈ L1(R) et f ∈ L1(R)
Theoreme:Si f ∈ L1(R) et f ∈ L1(R) alors
f (t) =
∫ +∞
−∞f (ω) e iωtdω.
Voir cours d’analyse spectrale.
Theoreme de convolution
Theoreme:Soit f , h ∈ L1(R). La fonction g = f ∗ h est dans L1(R) et
g(ω) = f (ω) h(ω).
A quoi sert la transformation de Fourier ? La transformation deFourier transforme la convolution en multiplication.
Theoreme:
F :(L1(R),+, ∗, ‖ · ‖L1
)→(C0(R),+,×, ‖ · ‖L∞
)est un morphisme continu d’algebres de Banach.
Pourquoi la transformation de Fourier ?
I Equations aux derivees partielles
f (n)(ω) = (iω)n f (ω)
I Telecommunications (modulation/demodulation d’un signal enfrequence)
I Imagerie biomedicale : techniques IRM
I Traitement de donnees audio
I Traitement d’image
TF de L1(R) dans C0(R)
F : L1(Rn) → C0(Rn)
f 7→ f
F est une injection de L1(R) dans C0
I Si f ∈ L1(R) alors f (x) =∫∞−∞ f (ω)e iω tdω
Classe de Schwartz
S(R) :=
f ∈ C∞ | ∀α, β, ∃M, supx∈R|xαf (β)(x)| ≤ M
Fonctions :
I lisses
I a decroissance rapide
Les formes lineaires sur la classe de Schwartz sont les distributiontemperees qui constitue la classe de distributions qui herite par dualitedes bonnes proprietes de la classe de Schwartz vis-a-vis de latransformation de Fourier.
TF de S dans S
F : S(R) → S(R)
f 7→ f
F est un isomorphisme topologique
La transformation de Fourier dans L2(R)
Theoreme:
F :(L2(R),+, ∗, ‖ · ‖L2
)→(L2(R),+,×, ‖ · ‖L2
)est
I un automorphisme continu de L2(R).
I une isometrie de L2(R) dans lui-meme.
TF de L2(R) vers L2(R)
F : L2(Rn) → L2(Rn)
f 7→ f
F est une isometrie de L2
I Attention : la transformee de Fourier est definie au sens de laconvergence dans L2(R). La fonction n’est pas necessairementdefinie ponctuellement.
Formule de Parseval et theoreme de Plancherel
Soient f et h dans L2(R), on a
Formule de Parseval :
⟨f , h⟩L2(R)
=⟨fν , hν
⟩L2(R)
=1
2π〈fω, hω
⟩L2(R)
Theoreme de Plancherel :∫|f (t)|2dλ(t) =
∫|fν(ν)|2dλ(ν) =
1
2π
∫|fω(ω)|2dλ(ω)
Phenomene de Gibbs
Oscillations de Gibbs
Soit f une fonction avec un discontinuite en t0 de sorte que
f (t) = fc(t) +[f (t+
0 )− f (t−0 )]u(t − t0) pour u(t) =
1 si t ≥ 0,
0 sinon.
Si on applique a f un filtre passe-bas ideal de TF hξ(ω) = 1[−ξ,ξ](ω),
on obtient fξ(t) = (fc ∗ hξ)(t) +[f (t+
0 )− f (t−0 )] (
u ∗ hξ)(t − t0).
Or (u ∗ hξ)(t) =1
π
∫ +∞
−∞u(τ)hξ(t − τ)dτ
=1
π
∫ +∞
−∞u(τ)
sin(ξ (t − τ))
ξ (t − τ)dτ
=1
π
∫ ξt
−∞
sin(v)
vdv
Comportement du Sinus Integral
On a
1
π
∫ +∞
−∞
sin(x)
x=
limx→∞
1
2+
1
πSi(x) = 1,
Si(x) atteint un maximumlocal en x = π.
Or, pour tξ = πξ ,
(u ∗ hξ)(tξ) =1
π
∫ π
−∞
sin(x)
x=
1
2+
1
πSi(π) = 1, 089490.
I 0, 089490 est la constante de Gibbs-Wilbraham.
I Ce pic ne decroit pas lorsque ξ → +∞
Diracs, peignes et echantillonnage...
Transformee de Fourier d’une fonction de Dirac
δ(ω) = 1
δt0(ω) = e−iωt0
F (e iω0·) = 2π δω0
Transformee de Fourier sur le tore et series de Fourier
Si f est periodique alors f est une somme pondere de Diracs dont lespoids sont les coefficient de la serie de Fourier :
f (t) =∑n∈Z
ane2iπnT alors f (ω) = 2π∑n∈Z
anδ2πnT .
Inversement, si f est une somme de fonctions de Dirac alors f estperiodique.
Transformee de Fourier d’un peigne de Dirac
Peignes de Dirac ⊂ Distrib. periodiques ⊂ Distrib. temperees
Fν
(∑k∈Z
δkT
)=
1
T
∑k∈Z
δkT
Fω
(∑k∈Z
δkT
)(ω) =
∑k∈Z
e−iωkT =2π
T
∑k∈Z
δ2πkT
(ω)
La transformee de Fourier en frequenced’un peigne de Dirac de periode T et d’amplitude 1
est un peigne de Dirac de periode 1T et d’amplitude 1
T .
Theoreme: (Formule sommatoire de Poisson)
∑k∈Z
f (kT ) =1
T
∑m∈Z
f(2πm
T
)
Echantillonnage regulier d’une fonction
Interpretation comme distribution...
f (t) →(f (nT )
)n∈Z
On peut interpreter la fonction echantillonnee comme une distribution
fd(t) = T∑n∈Z
f (nT ) δ(t − nT )
En effet fd converge vers f au sens des distributions.
... une distribution dont la transformee est periodique !
On a en effet fd(ω) =∑n∈Z
f (nT ) e−iωnT
qui montre que f est periodique de periode 2πT en pulsation (ou 1
T enfrequence).
Interpretation de l’echantillonnage en Fourier
fd(t) = T∑n∈Z
f (nT ) δ(t − nT ) = T f (t)∑n∈Z
δ(t − nT ) = T f (t) c(t)
avec c(t) =∑
n∈Z δ(t − nT ) le peigne de Dirac.
fd = T1
2πf ∗ c
=T
2πf ∗(
2π
T
∑n∈Z
δ 2πnT
)= f ∗
(∑n∈Z
δ(· −2πn
T
))=
∑n∈Z
f(· −2πn
T
)fd est donc la “periodisee” de f de periode 2π
T en pulsation.
Theoreme d’echantillonnage (Whittaker-Kotel’nikov-(Nyquist)-Shannon)
On note supp(f ) le support 1 de la fonction f
Theoreme:
I Soit une fonction f telle que f ∈ L1loc(R).
I Soit (f (nT ))n∈Z un echantillonnage de f a la frequence 1T .
I Si supp(fω) ⊂ ]− πT ,
πT [ (i.e. si supp(fν) ⊂ ]− 1
2T ,1
2T [ ),
alors f peut etre reconstruit exactement a partir de l’echantillon et
f (t) =∑n∈Z
f (nT ) hT (t − nT ) avec hT (t) =sin(πt/T
)πt/T
.
1. i.e. le complementaire du plus grand ouvert sur lequel f = 0 p.p.
Le theoreme d’echantillonage graphiquement...
Preuve du theoreme d’echantillonnage
On a FhT = hT avec hT = T 1]−πT ,πT [.
Par hypothese on a
∀ω ∈]−π
T,π
T
[, fd(ω) = f (ω).
Et comme f est nulle hors de cet intervalle, on a f = 1T fd hT .
D’ou f (t) =1
T(fd ∗ hT )(t)
=1
T
∫R
T((∑
k∈Zf (nT ) δ(· − nT )
)∗ hT
)(t)
=∑k∈Z
∫R
1
TT f (nT )
(δ(· − nT ) ∗ hT
)(t)
=∑k∈Z
f (nT ) hT (t − nT ).
Frequence d’echantillonnage et aliasing
Echantillonnage de NyquistSi νmax est la frequence maximale presente dans un signal, il fautl’echantillonner a une frequence ν strictement superieure a 2νmax pourreconstruire le signal exactement.
I frequence de Nyquist : ν/2
I taux d’echantillonnage de Nyquist : 2 νmax
Repliement de spectre (Aliasing)
I Les signaux reels ne sont pas a spectre borne.
I Il y a repliement du spectre : un“alias” des hautes frequences est“recopie” sur les basses frequences.
I Il peut se traduire par du crenelage sur des bords ou contour francsou par la presence de moires.
Anti-aliasingUn filtre anti-aliasing est un filtre passe-bas analogique qui supprime ouattenue les frequences superieures a ν/2 avant l’echantillonnage a lafrequence ν.
Aliasing discretLe phenomene d’aliasing se produit egalement lorsqu’onsous-echantillonne un signal.
Vers les images : Fourier dans Rn
Transformee de Fourier dans Rn
Pour une fonction f ∈ R2, on a
f (ω1, ω2) =
∫ +∞
−∞
∫ +∞
−∞f (x1, x2)e−i(ω1x1+ω2x2) dx1 dx2
f (ω) =
∫R2
f (x) e−i〈ω,x〉dx
Si ρ = ‖ω‖2 et u = 1ρω, alors x 7→ e−i〈ω,x〉 est une onde plane qui se
deplace
I dans la direction u
I a la pulsation ρ
Cas des fonctions separables :
Si f (x1, x2) = g(x1) h(x2), alors f (ω1, ω2) = g(ω1) h(ω2).
Les proprietes de la TF se generalisent a Rn
Transformee de Fourier inverse si f , f ∈ L1(Rn)
f (x) =1
(2π)n
∫Rn
f (ω)e i〈ω,x〉dω
Produit de convolution :
g(x1, x2) =
∫∫f (u1, u2)h(x1 − u1, x2 − u2)du1du2
TF de la convolution :
g(ω1, ω2) = f (ω1, ω2) h(ω1, ω2)
Parseval et Pancherel∫Rn
f g =1
(2π)n
∫Rn
f g et
∫Rn
|f |2 =1
(2π)n
∫Rn
|f |2.
Le theoreme d’echantillonnage en dimension 2
L’image discrete peut se representer comme une somme de Diracs
fd(x1, x2) =∑
n1,n2∈ZT1T2f (n1T1, n2T2) δ(x1 − n1T1) δ(x2 − n2T2)
On montre que fd(ω1, ω2) =∑
k1,k2∈Zf(ω1 −
2k1π
T1, ω2 −
2k2π
T2
).
Theoreme: (Echantillonnage sur une grille 2D)Si f est a support dans ]−πT1
, πT1[×]−πT2
, πT2[ alors f peut-etre reconstruit
exactement a partir des echantillons pris sur une grille reguliere de pas T1
et T2, et
f (x1, x2) =∑
n1,n2∈Zf (n1T1, n2T2) hT1 (x1 − n1T1) hT2 (x2 − n2T2),
pour hT (t) = sin(πt/T )πt/T .
Signaux finis et tore discret...
Convolution pour les signaux finis
Soient f , h des signaux discrets f , h ∈ RZ. On peut definir la convolution :
(f ∗ h)[n] =∑k∈Z
f [p] h[n − p]
Pour des signaux finis f , h ∈ RN , on periodise :
f [n] = f [n mod N], h[n] = h[n mod N]
On definit la convolution circulaire :
(f ~ h)[n] =N−1∑p=0
f [n] h[p − n].
Vecteur propres de la convolution circulaire
Soit L un operateur de convolution circulaire :
Lf [n] = (f ~ h)[n]
Les exponentielles complexes discretes
ek [n] = exp(
2iπkn
N
).
sont les vecteurs propres de la convolution circulaire puisque :
(L ek)[n] = exp(
2iπkn
N
) N−1∑p=0
h[p] exp(−2iπk
p
N
)
= h[k] ek [n] pour h[k] =N−1∑p=0
h[p] exp(−2iπk
p
N
).
Transformation de Fourier discrete (TFD/DFT)
Les (ek)k∈0,...,N−1 forment une base orthogonale de Cn.
Par consequent
f =N−1∑k=0
〈f , ek〉‖ek‖2
2
ek .
Par definition
f [k] = 〈f , ek〉 =N−1∑n=0
f [n] exp(− 2iπk
n
N
).
On a ‖ek‖22 = N, ce qui donne la formule de reconstruction.
Theoreme: (Convolution)La TFD de g = f ~ h est la fonction g telle que g [k] = f [k]h[k].
Fourier : cas discret vs continu
A quoi nous servent les resultats sur la transformee de Fourier continue siles images sont discretes et finies ?
I Notion de continuite d’une fonction disparait en discret
I Phenomene de Gibbs bien reel
I Utiliser une recopie mirroir de l’image pour la rendre plus continue.
I Utile pour penser le zoom par Fourier
I Il existe une image a resolution infinie sous-jacente
La transformee de Fourier rapide (FFT)
Complexite naıve de la TFD : N2.
Un algorithme simple pour N = 2m
Termes pairs :
f [2k] =
N/2−1∑n=0
(f [n] + f [n + N/2]
)exp
(−2iπk
n
N/2
)Termes impairs :
f [2k + 1] =
N/2−1∑n=0
exp(−2iπ
n
N/2
)(f [n]− f [n + N/2]
)exp
(−2iπk
n
N/2
)
• La TFD peut donc etre calculee a partir de 2 TFD de taille N/2. •C (N) = 2C (N/2) + KN d’ou une complexite en O(N log(N)).
De nombreux algorithmes pour la FFT...
Un grand nombre d’algorithmes ont ete propose pour la FFT, base sur letheoreme des restes chinois, les polynomes cyclotomiques etc.
I Algorithme de Cooley-Tucker,
I algorithme de Brunn,
I QFT,
I de Winograd,
I de Rader,
I de Bluestein,
+ des algorithmes plus specialises.L’algorithme le plus utilise est la methode split-radix.
I Lorsque le signal d’entree est reel on a f [−k] = f [k].
I La FFT donne aussi une transformee de Fourier inverse rapide
Convolutions rapides via FFT
Une des applications principales de la FFT est le calcul de convolutionrapides. La complexite naıve de la convolution est N(N + 1) pour deuxsignaux de longueur N.
Pour calculer g = f ~ h
I On calcule f et h par FFT
I Puis g [k] = f [k]h[k]
I Finalement on calcule g par FFT inverse.
La complexite est en O(N log(N)).
Dans le cas de la convolution avec un signal plus court de longueur L, onpeut utiliser des convolutions par bloc.
La complexite est alors en O(N log(L))
Fourier pour l’image : le bilan
La theorie de Fourier permet
I de comprendre le phenomene d’aliasing
I de calculer des convolutions rapides avec la FFT
I de faire des zoom et rotations en “sub-pixellique”.
Cependant
I Approcher un signal avec Fourier donne lieu a des oscillations deGibbs au niveau des bords et discontinuites.
I Les images ne sont pas stationnaires
I Les images on une structure multi -echelle
I La transformee de Fourier est globale.
I Besoin d’un technique d’analyse locale de l’image.
I Idem en audio et dans d’autres domaines
pause
I Nous verrons que les ondelettes permettent dans une certainemesure de repondre a ces questions.