Vous êtes sur la page 1sur 19

1

Analyse dimages
IMN 259
Hiver 2013
1
Transforme de Fourier
applique limagerie numrique
Par
Pierre-Marc Jodoin
Transforme de Fourier 2D
}
}



= =
= =
du e ) u ( F ) x ( f )] u ( F [
dx e ) x ( f ) u ( F )] x ( f [
ux 2 j 1
ux 2 j
t
t
Cas 1D
Cas 2D
} }



= = dxdy e e ) y , x ( f ) v , u ( F )] y , x ( f [
vy 2 j ux 2 j t t
2
} }

= = dudv e e ) v , u ( F ) y , x ( f )] v , u ( F [
vy 2 j ux 2 j 1 t t
o x,ysont des coordonnes spatiales
et u,vdes coordonnes spectrales
: Spectre de puissance
) v , u ( j
e ) v , u ( F ) v , u ( F
) v , u ( jI ) v , u ( R )] v , u ( F Im[ j )] v , u ( F Re[ ) v , u ( F
u
=
+ = + =
2 2 2
2 2
) v , u ( I ) v , u ( R ) v , u ( F
) v , u ( I ) v , u ( R ) v , u ( F
) ) v , u ( R ) v , u ( I arctan( ) v , u (
+ =
+ =
= u : Phase
: Spectre damplitude
(Relle) (Imaginaire)
Transforme de Fourier 2D
Exemple, la fonction porte
u
) u sin(
)] x ( [

=
) x ( ) x ( f = ) u ( F
3
v
) v sin(
u
) u sin(
)] y , x ( [

=
) y , x ( ) y , x ( f =
) v , u ( F
Carte de profondeur :
f(x,y) et F(u,v) visualiss
laide dimages 2D.
2
TF dun signal discrtis
4
TF discrte 1D
Cascontinu
}
}



=
=
dx e ) u ( F ) x ( f
du e ) x ( f ) u ( F
ux 2 j
ux 2 j
t
t
Casdiscret
h till
) x ( f ) x ( f
e
5
chantillonneur
(appareil numrique
photo,vido, audio)
Te
Priode dchantillonnage
x
x
) 0 x
1 N ,..., 2 , 1 , 0 x ) xT x ( f ) x ( f
0
e 0 e
=
= + =
(souvent

=
=
1 N
0 u
x
N
u
2 j
e e
1 N
0 x
N
u
x 2 j
e e
e ) u ( F ) x ( f
e ) x ( f
N
1
) u ( F
t
t
1 N ,..., 2 , 1 , 0 u =
1 N ,..., 2 , 1 , 0 x =
TF discrte 1D
Cascontinu
Casdiscret
}
}



=
=
dx e ) u ( F ) x ( f
du e ) x ( f ) u ( F
ux 2 j
ux 2 j
t
t
Po r allger la notation et rester conforme a ec le li re de
6

=
=
1 N
0 u
x
N
u
2 j
1 N
0 x
N
u
x 2 j
e ) u ( F ) x ( f
e ) x ( f
N
1
) u ( F
t
t
Pour allger la notation et rester conforme avec le livre de
Gonzalez et Woods on dira dsormais:
3
TF discrte 2D
} }
} }


+
=
=
dudv e ) v , u ( F ) y , x ( f
dxdy e ) y , x ( f ) v , u ( F
) vy ux ( 2 j
) vy ux ( 2 j
t
t
Cascontinu
Casdiscret
1 N 1 M vy ux
7

=
+

=
+
=
=
1 N
0 u
1 M
0 v
)
M
vy
N
ux
( 2 j
1 N
0 x
1 M
0 y
)
M
vy
N
ux
( 2 j
e ) v , u ( F ) y , x ( f
e ) y , x ( f
NM
1
) v , u ( F
t
t
1 M ,..., 2 , 1 , 0 v
1 N ,..., 2 , 1 , 0 u
=
=
1 M ,..., 2 , 1 , 0 y
1 N ,..., 2 , 1 , 0 x
=
=
Note: les images quon traite sont parfois carres, donc N==M
TF discrte
Exemple
8
) y , x ( f ) v , u ( F
Note:
On affiche gnralement le module de la TF
Puisque les hautes frquences sont beaucoup plus faibles que les
basses frquences, on utilise frquemment un recalage logarithmique:
On positionne lorigine au centre de limage laide dun recalage
cyclique.
Les proprits de la TF2D sont les mmes que pour la TF 1D.
) v , u ( F
) ) v , u ( F 1 log( k +
) ) v , u ( F 1 log( 255 +
TF discrte
) y , x ( f ) v , u ( F
Un pixel isol peut tre vu comme un
delta de Dirac en x et en y.
9
Un carr peut tre vu comme une
fonction porte en x et en y.
Un trait vertical dun pixel dpais peut
tre vu comme un delta de Dirac en x et
comme un signal continu en y.
4
TF discrte
) y , x ( f ) v , u ( F
Application de la proprit du changement
dchelle vue au chapitre prcdent.
10
) y , x ( f ) v , u ( F
TF discrte
Application de la proprit du changement
dchelle vue au chapitre prcdent.
11
TF discrte
) y , x ( f ) v , u ( F
Changement dchelle
12
Rotation dans le domaine
spatial = rotation dans
le domaine spectral.
5
TF discrte
Autre exemple, TF dune image dun circuit intgr
) y , x ( f ) v , u ( F
13
Priodicit et recalage cyclique
14
Priodicit et recalage cyclique
Rappel chantillonnage1D
chantillonneur
(appareil numrique
photo,vido, audio))
Te
Priode dchantillonnage
) x ( f ) x ( f
e
chantillonner un signal spatial revient le dupliquer linfini dans le domaine spectrale
x
x
15
chantillonner un signal spatial revient le dupliquer l infini dans le domaine spectrale
u u
( ) ) x ( f
( )

=
=
n
e
e
e
) nf u ( F
T
1
) x ( f

e
T 1
e
f
e
f
6
Priodicit et recalage cyclique
Priodicit
Puisquune image numrique est un signal chantillonn (Te=1pixel) son spectre
frquentiel est priodique
() ()
(

)
) v , u ( F
... ) M v , N u ( F ) M v , u ( F ) v , N u ( F ) v , u ( F = + + = + = + =
) y , x ( f
16
u
v
(0,0)
()
(

)
(

)
x
y
(0,0)
Priodicit et recalage cyclique
Priodicit
Puisquune image numrique est un signal chantillonn (Te=1pixel) son spectre
frquentiel est priodique
... ) M v , N u ( F ) M v , u ( F ) v , N u ( F ) v , u ( F = + + = + = + =
De faon quivalente, puisque est un signal chantillonn (cest un
) l l i i l f( ) i i l i di
) v , u ( F
17
spectrederaies), alors limage spatiale f(x,y) est aussi un signal priodique
... ) M y , N x ( f ) M y , x ( f ) y , N x ( f ) y , x ( f = + + = + = + =
Priodicit et recalage cyclique
x
y
()
(

)
(0,0)
()
(

)
u
v
(0,0)
()
(

) ) y , x ( f
) v , u ( F
18
()
(

)
(

)
()
(

)
(

)
u
v
(0,0)
7
Priodicit et recalage cyclique
u
v
(0,0) (N,0)
) v , u ( F
Puisque le centre gomtrique (0,0) dune image est [presque] toujours centr sur le pixel
suprieur gauche, alors lorigine (0,0) de est aussi centre en haut gauche. ) v , u ( F
x
y
(0,0)
) y , x ( f
(N,0)
19
u
v
(0,0)
(0,M) (N,M)
(0,M) (N,M)
Pour ramener lorigine de au centre de limage, il faut translater par (N/2,M/2)
Cest ce quon appelle un recalagecyclique.
) v , u ( F ) v , u ( F
) 2 M v , 2 N u ( F
Priodicit et recalage cyclique
Suivant la proprit de la translation expose au chapitre prcdent:
)
M
by
N
ax
( 2 j
e ) y , x ( f ) b v , a u ( F
+

t
Puisque a=N/2 et b=M/2 alors
)
M 2
My
N 2
Nx
( 2 j
e ) y , x ( f ) 2 M v , 2 N u ( F
+

t
20
y x
) y x ( j
) 1 )( y , x ( f
)) y x ( cos( ) y , x ( f
))) y x ( sin( j )) y x ( )(cos( y , x ( f
e ) y , x ( f
+
+
=
+ =
+ + + =
=
t
t t
t
car

+
+
= +
impair est lorsque
pair est lorsque
y x 1
y x 1
)) y x ( cos(t
Priodicit et recalage cyclique
En conclusion, pour faire un recalage cyclique de la transforme de Fourier 2D dune
image f(x,y), on a qu multiplier tous ses pixels par
y x
) 1 (
+

u
v
(0,0) (N,0)
) v , u ( F
x
y
(0,0)
) y , x ( f
(N,0)

21
(0,M) (N,M)
(0,M) (N,M)
x
y
(0,0)
) y , x ( f
(N,0)
(0,M) (N,M)
u
v
(0,0) y x
) 1 (
+


8
Convolution discrte
22
Convolution discrte
La convolution
Cas continu
}


= - dt ) t x ( h ) t ( f ) x )( h f (
} }


= - dtdr ) r y , t x ( h ) r , t ( f ) y , x )( h f (
1D
2D
Cas discret

= - ) t x ( h ) t ( f ) x )( h f (
1D
23

= t
) t x ( h ) t ( f ) x )( h f (

=
= -
r t
r y t x h r t f y x h f ) , ( ) , ( ) , )( (
1D
2D
Rappel thormedela convolution
( ) ) x ( h ) x ( f )) u )( H F (( ) u ( H ) u ( F ) x )( h f (
1
= - = -

et
1D
Note: ce thorme est valable pour les cas continu et discret
Convolution discrte
Cas2D
10 11 12 13 14
15 16 17 18 19
20 21 22 23 24
*
-1 0
1 2
(0,0)
(0,0)
=
-10 -11 -12 -13 -14
-5 15 17 19 21
-5 25 27 29 31

= -
r t
) r y , t x ( h ) r , t ( f ) y , x )( h f (
24
25 26 27 28 29
30 31 32 33 34
1 2
-5 35 37 39 41
-5 45 47 49 51
-1 0
1 2
0 -1
2 1
2 1
0 -1
Rflexion en X Rflexion en Y
(ajout de zros)
f(x,y)
h(x,y)
(0,0)
9
Convolution discrte
Exemplesconcrets, un avant got des filtres spatiaux
f(x,y)
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1
1 1 1 1
1 1 1 1
1
/25 0 0 0 0 0
0 0 0 0 0
0 1 1 1 0
0
1 1 1 0
1 1 1 0
0
/9
h(x,y) h(x,y)
(f*h)(x,y) (f*h)(x,y)
25
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0
-1 0 1 0
0 0 0 0
0
/2 0 0 0 0 0
0 0 0 0 0
0 0 -1 0 0
0
-1 5 -1 0
0 -1 0 0
0
(les valeurs ngatives apparaissent en noir)
h(x,y) h(x,y)
(f*h)(x,y) (f*h)(x,y)
Tomographie Tomographie
26
Application de la TF
La tomographie
ComputedTomographyscanner
(CT-scan)
27
10
Tomographie
28
Tomographie
metteur rayons X
29
Rcepteur
(ou dtecteur)
Crdit : http://www.dspguide.com/ch25/5.htm
Tomographie
256
256
u=1
u=2
30
sum sum sum
) y , x ( f
array 1d
11
Tomographie
u=45
u=90
0
0 363
TransformedeRadon
(Sinogramme)

31
sum sum
u
180
) , ( u p
Tomographie
) 18 , 140 ( = = u p Plus formellement, pour calculer
u
0
180
0 363
TransformedeRadon
(Sinogramme)

) 18 , 140 ( = = u
) y , x ( f
32
tape 3 : somme (intgrale)

x y
tape 1 : rotation de 18 degrs tape 2 : multiplication avec delta Dirac
) 140 ( x o
140
Tomographie
De faon quivalente, on peut intgrer le long dune droite dfinie par ) , ( u
tape 3 : somme (intgrale)

tape 1 : Trouver une droite de 18


degrs et dcale de 140 (cf. Hough)
tape 2 : multiplication avec delta Dirac
) y , x ( f
33

x y
u u = + sin cos y x
) sin cos ( ) , ( u u o + y x y x f
dxdy y x y x f p
}}
+ = ) sin cos ( ) , ( ) , ( u u o u

+ =
x y
y x y x f p ) sin cos ( ) , ( ) , ( u u o u
ou
12
Tomographie
TransformedeRadon
Tomographie
( )
34
(retrouver f(x,y) partir de la TR)
) y , x ( f
) , ( u p
2 mthodes parmi les plus connues:
1. Projection inverse
2. Approchepar TF
Projection inverse
Projection inverse dune seule ligne : 45 = u
tape 1 tape 2 tape 4 tape 3
35
45 deg
) 45 , ( = u p
) 45 , 45 sin 45 cos ( ) , ( ' = + = u y x p y x f
45 deg
Projection inverse
Transforme de Radon
Projection inverse pour
toutes les lignes
(Backprojection)
36
Crdit : http://www.snaggledworks.com/em_for_dummies/back_projection.html
) y , x ( f
) , ( u p
u u u u d y x p y x f
}
+ =
180
0
) , sin cos ( ) , ( '
13
Projection inverse
Projection inverse Projection
37
) y , x ( f
) , ( u p
u u u u d y x p y x f
}
+ =
180
0
) , sin cos ( ) , ( '
Approche par TF
Des rsultats plus prcis (moins flous) peuvent tre obtenus via la TF.
Thorme de la tranche centrale (Central SliceTheorem)
TF 2D
) 45 , ( = u p
) 45 , ( = u = P
TF 1D
38
dxdy y x y x f p
}}
+ = ) sin cos ( ) , ( ) , ( u u o u
45 deg
) y , x ( f
) , ( v u F
Approche par TF
Thorme de la tranche centrale (Central SliceTheorem)
} }


+
= dxdy e y x f v u F
vy ux j ) ( 2
) , ( ) , (
t
14
Approche par TF
Thorme de la tranche centrale (Central SliceTheorem)
d e p
j
}

= = u
t= 2
) (
)] , ( [ ) , ( u u = p P =
40
( )
dxdy d e y x y x f
d e dxdy y x y x f
d e p
j
j
} }}
} }}
}

+ =
+ =
=
= u u o
= u u o
= u
t=
t=
2
2
) sin cos ( ) , (
) sin cos ( ) , (
) , (
En vertu des proprits du delta de Dirac ( ) ) ( ) ( ) ( a f a x x f = o
dxdy e y x f P
y x j ) sin cos ( 2
) , ( ) , (
u u t=
u =
+
}}
=
Approche par TF
Thorme de la tranche centrale (Central SliceTheorem)
dxdy e y x f P
y x j ) sin cos ( 2
) , ( ) , (
u u t=
u =
+
}}
=
Et en posant que , on ralise que est
une droite dans lespace frquentiel de F(u,v)
u = u = sin et cos = = v u
dxdy e y x f P
yv xu j ) ( 2
) , ( ) , (
+
}}
=
t
u =
) , ( u = P
41 }}
+
= dxdy e y x f v u F
vy ux j ) ( 2
) , ( ) , (
t
) , ( u = P
u
Approche par TF
u
e
) , ( v u F
?
) , ( u p
TF 1D
sur chaque ligne
) , ( u = P
u
e
15
Approche par TF
) y , x ( f
Inverse TF 2D
) , ( v u F
u
e
) , ( u p
TF 1D
sur chaque ligne
) , ( u = P
u
e
Approche par TF
Rsultats
18 projections 36 projections
90 projections 180 projections
Caractrisation de textures
45
16
Reprsentation des textures
Reprsentation spectrale=> caractriser une texture sur la base de la forme de la T.F.
) , ( y x f ) , ( v u F
lvation d' angle :
origine l' distance :
) , ( ) , (
u
u
r
r F j i F =
) , ( j i
46
Reprsentation des textures

= =
180
) , ( ) ( u a F a r S

= =
R
r F S ) , ( ) ( o o u
u
v
) , ( v u F
a
u
v
) , ( v u F
o
) , ( v u F
47

=0 u

= r 0
) ( ) (
Somme de tous les lments situs une
distance a de lorigine
Somme de tous les lments situs un angle
a
Mignotte
) (r S
) (r S
) (u S
Laliasing
(ou repliement de spectre)
48
17
Laliasing
Vous vous souvenez de la thorie de lchantillonnage?
49
Foley-Vandam
Laliasing
Quarrive-t-il si on chantillonne un signal avec une frquence plus
petite que la frquence de Nyquist?
Repliement
50
p
de spectre:
Aliasing
Foley-Vandam
Laliasing
Deux dfinitions classiques de laliassing :
1. Perte dinformation cause par un chantillonnage de frquence trop basse.
1er exemple: Voir la page prcdente
51
2e exemple:
Alan Watt
18
Laliasing
Deux dfinitions classiques de laliassing :
2. Induction de basses frquences cause par un chantillonnage de frquence trop basse.
52
Frquence dchantillonnage adquate Frquence dchantillonnage inadquate
Alan Watt
Effets de Moir
Laliasing
Bien quil soit gnralement impossible de rsoudre le problme de laliassing,
on peut tout de mme en masquer les effets. Comment? Parmi les nombreuses faons
de lutter contre laliassing, il en existe deux qui reviennent souvent.
1: Augmenter la rsolution delimage
53
Laliasing
Bien quil soit gnralement impossible de rsoudre le problme de laliassing,
on peut tout de mme en masquer les effets. Comment? Parmi les nombreuses faons
de lutter contre laliassing, il en existe deux qui reviennent souvent.
2: Appliquer un filtrepasse-bas. Cest ce quon appelle un processus dantialiassing.
Cest dailleurs ce que le Mip Mapping fait.
54 Crdit : Alan Watt
19
Les faits saillants

=
+

=
+
=
=
1 N
0 u
1 M
0 v
)
M
vy
N
ux
( 2 j
1 N
0 x
1 M
0 y
)
M
vy
N
ux
( 2 j
e ) v , u ( F ) y , x ( f
e ) y , x ( f
NM
1
) v , u ( F
t
t
1. TF dun signal 2D chantillonn
2. Priodicit
3. Recalage cyclique
Puisquune image f(x,y) et sa TF F(u,v) sont des
signaux chantillonns, alors f(x,y) et F(u,v) sont des
signaux qui se rptent linfini.
y x
) 1 (
+

Pour que lorigine de F(u,v) apparaisse au centre de


limage, il faut multiplier les pixels de f(x,y) par
4. Convolution discrte 2D
5. Thorme de la convolution
6. Tomographie
7. Textures
8. Aliassing repliement de spectre
) (

= -
r t
) r y , t x ( h ) r , t ( f ) y , x )( h f (
-

-

1

et
dxdy y x y x f p
}}
+ = ) sin cos ( ) , ( ) , ( u u o u

=
= =
180
0
) , ( ) (
u
u a F a r S
=
= =
R
r
r F S
0
) , ( ) ( o o u
ge, u u p e es p e s de f(x,y) p
max
2 f f
e
>

Vous aimerez peut-être aussi