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