analyse fréquentielle - upem - master 1vnozick/teaching/slides/m1_ti/05 analyse... ·...

25
DCT DFT Principes Filtres Impl´ ementation Ondelettes Analyse fr´ equentielle UPEM - Master 1 Vincent Nozick Vincent Nozick Analyse fr´ equentielle 1 / 83 DCT DFT Principes Filtres Impl´ ementation Ondelettes Analyse fr´ equentielle La transform´ ee de Fourier fait peur : on commence par plus simple : DCT ensuite la transform´ ee de Fourier puis les ondelettes Vincent Nozick Analyse fr´ equentielle 2 / 83 DCT DFT Principes Filtres Impl´ ementation Ondelettes Transform´ ee en cosinus discr` ete DCT : en anglais : Discrete Cosine Transform exprime un signal d’entr´ ee dans une base de fonctions base de fonctions : cosinus repr´ esentation fr´ equentielle transformation inversible Vincent Nozick Analyse fr´ equentielle 3 / 83 DCT DFT Principes Filtres Impl´ ementation Ondelettes DCT : avec les mains Une base de fonctions : Vincent Nozick Analyse fr´ equentielle 4 / 83

Upload: hanguyet

Post on 22-Sep-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

DCT DFT Principes Filtres Implementation Ondelettes

Analyse frequentielleUPEM - Master 1

Vincent Nozick

Vincent Nozick Analyse frequentielle 1 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Analyse frequentielle

La transformee de Fourier fait peur :

• on commence par plus simple : DCT

• ensuite la transformee de Fourier

• puis les ondelettes

Vincent Nozick Analyse frequentielle 2 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Transformee en cosinus discrete

DCT :

• en anglais : Discrete Cosine Transform

• exprime un signal d’entree dans une base de fonctions

• base de fonctions : cosinus

• representation frequentielle

• transformation inversible

Vincent Nozick Analyse frequentielle 3 / 83

DCT DFT Principes Filtres Implementation Ondelettes

DCT : avec les mains

Une base de fonctions :

Vincent Nozick Analyse frequentielle 4 / 83

DCT DFT Principes Filtres Implementation Ondelettes

DCT : avec les mains

image = base de ⊗ coefficientsfonctions

Vincent Nozick Analyse frequentielle 5 / 83

DCT DFT Principes Filtres Implementation Ondelettes

DCT : avec les mains

image = base de ⊗ coefficientsfonctions

Vincent Nozick Analyse frequentielle 6 / 83

DCT DFT Principes Filtres Implementation Ondelettes

DCT : avec les mains

image = base de ⊗ coefficientsfonctions

Vincent Nozick Analyse frequentielle 7 / 83

DCT DFT Principes Filtres Implementation Ondelettes

DCT : avec les mains

image = base de ⊗ coefficientsfonctions

Vincent Nozick Analyse frequentielle 8 / 83

DCT DFT Principes Filtres Implementation Ondelettes

DCT : avec les mains

On peut prendre une base de fonctions plus grande.

Vincent Nozick Analyse frequentielle 9 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Fonctions orthogonales

Vecteurs orthogonaux :

x1.y1 + x2.y2 + ...+ xn.yn =∑i

xi.yi = 0

Fonctions orthogonales sur un domaine de definition D :∫Df(x) · g(x)dx = 0

Fonctions discretes orthogonales :∑i

f [i] · g[i] = 0

Vincent Nozick Analyse frequentielle 10 / 83

DCT DFT Principes Filtres Implementation Ondelettes

DCT 1D

Base de fonctions sinusoıdales :

• base de fonctions :• fn(x) = cos(nx) sur [−π, π] avec n ∈ Z• inclue f0(x) = 1

• orthogonales sur [−π, π], avec m,n ∈ Z, m 6= n∫ π

−πcos(mx) cos(nx)dx =

π sin(m− n)2(m− n)

− π sin(m+ n)

2(m+ n)= 0

• fonctions orthogonales ⇒ unicite de la decomposition d’unefonction f dans cette base.

Vincent Nozick Analyse frequentielle 11 / 83

DCT DFT Principes Filtres Implementation Ondelettes

DCT

Applications :

• jpeg

• mpeg

• mp3

• ...

Vincent Nozick Analyse frequentielle 12 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Transformee de Fourier

Analyse de Fourier :

• exprime une fonction comme une somme ponderee desinusoıdes :

• a decalage de phase• avec une amplitude• et a frequence variable

• les poids et les phases associees aux frequences caracterisentle signal dans le domaine des frequences.

Vincent Nozick Analyse frequentielle 13 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Transformee de Fourier 1D

Principe :

• transforme une fonction f (integrable sur R) en une fonction Fdecrivant le spectre frequentiel de f .

• plusieurs formulations dont :

F (t) =

∫ ∞−∞

f(x) e−i2πtxdx

• equivalent dans un espace discret :

F [t] =N−1∑x=0

f [x] e−i2πtxN

Vincent Nozick Analyse frequentielle 14 / 83

DCT DFT Principes Filtres Implementation Ondelettes

DFT et DCT

DCT DFT

Xk =N−1∑n=0

xn cos[ πN

(n+

1

2

)k]

Xk =N−1∑n=0

xn e−i2πknN

avec e−i2πknN = cos(2π knN )− i sin(2π knN )

• DCT : cos → 1 parametre (reel)

• DFT : cos+i sin → 2 parametres (complexe)

Vincent Nozick Analyse frequentielle 15 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Transformee de Fourier et DCT

DCT : cos → 1 parametre (reel)DFT : cos+i sin → 2 parametres (complexe)

Plus precisement :

• DCT : le noyau de projection est un cosinus et cree descoefficients reels.

• DFT : le noyau est une exponentielle complexe et qui cree descoefficients complexes.

Vincent Nozick Analyse frequentielle 16 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Transformee de Fourier

Propriete :

• linearite :F(a1f1 + a2f2

)= a1F1 + a2F2

ou F est la fonction de transformee de Fourier

• symetrie :F (−u,−v) = F ∗(u, v)

ou (x+ iy)∗ = x− iy (complexe conjugue)

Vincent Nozick Analyse frequentielle 17 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Transformee de Fourier

Signal 1D :

F (t) =

∫ ∞−∞

f(x) e−i2πtxdx

Image 2D :

F (u, v) =

∫∫ ∞−∞

f(x, y) e−i2π(ux+vy)dxdy

avec :

• x et y : coordonnees dans l’image.

• u et v : coordonnees dans l’espace des frequences.

Vincent Nozick Analyse frequentielle 18 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Transformee de Fourier Discrete

Espace 2D continue :

F (u, v) =

∫∫ ∞−∞

f(x, y) e−i2π(ux+vy)dxdy

Espace 2D discret :

F [u, v] =

M−1∑x=0

N−1∑y=0

I[x, y] e−i2π(uxM

+ vyN

)

pour une image M ×N , il faut une base de MN fonctions.

Vincent Nozick Analyse frequentielle 19 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Transformee de Fourier Discrete

Transformee de Fourier Discrete : DFT

F [u, v] =M−1∑x=0

N−1∑y=0

I[x, y] e−i2π(uxM

+ vyN

)

Transformee inverse : IDFT

I[x, y] =1

MN

M−1∑u=0

N−1∑v=0

F [x, y] ei2π(uxM

+ vyN

)

Vincent Nozick Analyse frequentielle 20 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Transformee de Fourier Discrete

F [u, v] =M−1∑x=0

N−1∑y=0

I[x, y] e−i2π(uxM

+ vyN

)

La encore :la fonction F [u, v] a 2 composantes :

• une composante reelle

• une composante imaginaire

Pour l’affichage, on prefere les coordonnees polaires :

• la magnitude Mag =√Re2 + Im2

• la phase : φ = arctan(Im/Re)

Vincent Nozick Analyse frequentielle 21 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Transformee de Fourier Discrete

image magnitude phase

Vincent Nozick Analyse frequentielle 22 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Transformee de Fourier Discrete

Magnitude : symetrie centrale (cos2+sin2 est une fonction paire)

Vincent Nozick Analyse frequentielle 23 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Transformee de Fourier Discrete

Phase : anti-symetrie centrale

Vincent Nozick Analyse frequentielle 24 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Magnitude

magnitude phase image

en x = ±5 → genere une sinusoıde sur l’image.

Vincent Nozick Analyse frequentielle 25 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Magnitude

magnitude phase image

en x = ±10 → genere une sinusoıde sur l’image.

Vincent Nozick Analyse frequentielle 26 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Magnitude

magnitude phase image

en y = ±5 → genere une sinusoıde sur l’image.

Vincent Nozick Analyse frequentielle 27 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Magnitude

magnitude phase image

en ±(−3, 3) → genere une sinusoıde sur l’image.

Vincent Nozick Analyse frequentielle 28 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Magnitude

magnitude phase image

2 points

Vincent Nozick Analyse frequentielle 29 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Phase

magnitude phase image

sans phase

Vincent Nozick Analyse frequentielle 30 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Phase

magnitude phase image

avec phase

Vincent Nozick Analyse frequentielle 31 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Quizz

Que se passe-t-il sur la transformee de Fourier :

• d’une image qu’on rotate ?

idealement, rotation de la magnitude et de la phase→ en pratique, effets de bords.

• d’une image qu’on translate ?

idealement, seul la phase change.

• d’une image qu’on scale de moitie ?

magnitude cropee.

Vincent Nozick Analyse frequentielle 32 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Quizz

Que se passe-t-il sur la transformee de Fourier :

• d’une image qu’on rotate ?idealement, rotation de la magnitude et de la phase→ en pratique, effets de bords.

• d’une image qu’on translate ?

idealement, seul la phase change.

• d’une image qu’on scale de moitie ?

magnitude cropee.

Vincent Nozick Analyse frequentielle 32 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Quizz

Que se passe-t-il sur la transformee de Fourier :

• d’une image qu’on rotate ?idealement, rotation de la magnitude et de la phase→ en pratique, effets de bords.

• d’une image qu’on translate ?idealement, seul la phase change.

• d’une image qu’on scale de moitie ?

magnitude cropee.

Vincent Nozick Analyse frequentielle 32 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Quizz

Que se passe-t-il sur la transformee de Fourier :

• d’une image qu’on rotate ?idealement, rotation de la magnitude et de la phase→ en pratique, effets de bords.

• d’une image qu’on translate ?idealement, seul la phase change.

• d’une image qu’on scale de moitie ?magnitude cropee.

Vincent Nozick Analyse frequentielle 32 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Exemples

Vincent Nozick Analyse frequentielle 33 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Exemples

Vincent Nozick Analyse frequentielle 34 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Exemples

Vincent Nozick Analyse frequentielle 35 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Exemples

Vincent Nozick Analyse frequentielle 36 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Exemples

Vincent Nozick Analyse frequentielle 37 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Quizz 2

(a) (b) (c)

(1) (2) (3)Vincent Nozick Analyse frequentielle 38 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Filtrage

Filtre frequentiels :La transformee de Fourier permet essentiellement de faire du filtragefrequentiel.↪→ on annule l’amplitude de certaines frequences.

Vincent Nozick Analyse frequentielle 39 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Filtre passe bas

Vincent Nozick Analyse frequentielle 40 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Filtre passe haut

Vincent Nozick Analyse frequentielle 41 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Filtre passe bande

Vincent Nozick Analyse frequentielle 42 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Filtre vertical

Vincent Nozick Analyse frequentielle 43 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Filtre chelou

Vincent Nozick Analyse frequentielle 44 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Convolutions

Theoreme de convolution :la convolution de 2 fonctions dans le domaine spatiale est equivalentea la multiplication terme a terme dans le domaine frequentiel.

Plus precisement :soient f(x, y) une image et h(x, y) un filtre de convolution, alors :

F(f(x, y) ∗ h(x, y)

)= F

(f(x, y)

)F(h(x, y)

)= F (u, v)H(u, v)

Note : ce theoreme ne fonctionne pas pour la DCT.

Vincent Nozick Analyse frequentielle 45 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Convolutions

En pratique :soient f(x, y) une image et h(x, y) un filtre de convolution, alors :

1 F = DFT(f)

2 redimentionner h a la resolution de f

3 H = DFT(h)

4 F ′ = F ⊗H ⊗ : multiplication magnitude terme a terme

5 f ′ = IDFT(F ′)

Vincent Nozick Analyse frequentielle 46 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Filtre gaussien

image originale kernel gaussien

Vincent Nozick Analyse frequentielle 47 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Filtre gaussien

image Fourier kernel Fourier

Vincent Nozick Analyse frequentielle 48 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Filtre gaussien

magnitude ⊗ kernel image filtree

Vincent Nozick Analyse frequentielle 49 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Filtre Sobel x

F(kernel) image filtree

Sx =

−1 0 1−2 0 2−1 0 1

Vincent Nozick Analyse frequentielle 50 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Filtre Sobel y

F(kernel) image filtree

Sy =

−1 −2 −10 0 01 2 1

Vincent Nozick Analyse frequentielle 51 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Filtre Laplacien

F(kernel) image filtree

L =

0 1 01 −4 10 1 0

Vincent Nozick Analyse frequentielle 52 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Implementation

Fast Fourier Transform (FFT) :

• transformation separable : (plus rapide)

transformation 2D (m× n) ↔ m transformation 1D (n)

• pour les images dont la taille est une puissance de 2 :approche recursive

• complexite classique : O(n2) ↔ FFT : O(n log n)pour une grand nombre de pixels n : grosse difference

• implementation gpu

Vincent Nozick Analyse frequentielle 53 / 83

DCT DFT Principes Filtres Implementation Ondelettes

En pratique

image de depart

Vincent Nozick Analyse frequentielle 54 / 83

DCT DFT Principes Filtres Implementation Ondelettes

DFT

partie reelle partie imaginaire

Vincent Nozick Analyse frequentielle 55 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Recentrage

partie reelle partie imaginaire

Vincent Nozick Analyse frequentielle 56 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Recentrage

partie reelle partie imaginaire

Vincent Nozick Analyse frequentielle 57 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Cartesien → polaire

amplitude√Re2 + Im2 phase : φ = atan(Im/Re)

Vincent Nozick Analyse frequentielle 58 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Affichage

255 log(x+ 1)/max 255x/(2max+ 1) + 127

Vincent Nozick Analyse frequentielle 59 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Et la couleur

Couleur RGB :

Vincent Nozick Analyse frequentielle 60 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Analyse frequentielle

On n’a plus peur de la transformee de Fourier

Vincent Nozick Analyse frequentielle 61 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Ondelettes

Principe

• concept plutot recent (∼1980)

• representation spatiale et frequentielle

• bases de fonction, plusieurs possibilites :• Haar• Morlet• Meyer• autres ...

• approche multiresolution

Vincent Nozick Analyse frequentielle 62 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Ondelettes

Haar :

+1 | − 1

Vincent Nozick Analyse frequentielle 63 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Graphiquement

97

35

Code :

Vincent Nozick Analyse frequentielle 64 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Graphiquement

97

35

Code :

Vincent Nozick Analyse frequentielle 65 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Graphiquement

8

35

Code : 1

Vincent Nozick Analyse frequentielle 66 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Graphiquement

8

35

Code : 1

Vincent Nozick Analyse frequentielle 67 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Graphiquement

8

4

Code : 1 − 1

Vincent Nozick Analyse frequentielle 68 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Graphiquement

8

4

Code : 1 − 1

Vincent Nozick Analyse frequentielle 69 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Graphiquement

6

Code : 1 − 1 2 6

Vincent Nozick Analyse frequentielle 70 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Avec les mains

+1 | − 1

Signal original

9 7 3 5

resolution moyennes coefficients

1 9 7 3 5 -2 8 4 1 -13 6 2

Vincent Nozick Analyse frequentielle 71 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Avec les mains

resolution moyennes coefficients

1 9 7 3 5 -2 8 4 1 -13 6 2

Resultat avec Haar :

signal original signal transforme

9 7 3 5 6 2 1 -1

Vincent Nozick Analyse frequentielle 72 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Avec les mains

Reconstruction du signal :

6

6 6 6 6

2

8 8 4 4

1 -1

9 7 3 5

Vincent Nozick Analyse frequentielle 73 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Avec les mains

Reconstruction du signal :

6 6 6 6 62

8 8 4 4

1 -1

9 7 3 5

Vincent Nozick Analyse frequentielle 73 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Avec les mains

Reconstruction du signal :

6 6 6 6 62

8 8 4 4

1 -1

9 7 3 5

Vincent Nozick Analyse frequentielle 73 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Avec les mains

Reconstruction du signal :

6 6 6 6 62 8 8 4 41 -1

9 7 3 5

Vincent Nozick Analyse frequentielle 73 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Avec les mains

Reconstruction du signal :

6 6 6 6 62 8 8 4 41 -1

9 7 3 5

Vincent Nozick Analyse frequentielle 73 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Avec les mains

Reconstruction du signal :

6 6 6 6 62 8 8 4 41 -1 9 7 3 5

Vincent Nozick Analyse frequentielle 73 / 83

DCT DFT Principes Filtres Implementation Ondelettes

En 2d ?

Haar :

Vincent Nozick Analyse frequentielle 74 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Pour les images

Haar :

Transformation :

• B1 = 14(A1+A2+A3+A4)

• B2 = 14(A1−A2+A3−A4)

• B3 = 14(A1+A2−A3−A4)

• B4 = 14(A1−A2−A3+A4)

Transformation inverse :

• A1 = B1 +B2 +B3 +B4

• A2 = B1−B2 +B3−B4

• A3 = B1 +B2−B3−B4

• A4 = B1−B2−B3 +B4

Vincent Nozick Analyse frequentielle 75 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Pour les images

Vincent Nozick Analyse frequentielle 76 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Pour les images

Vincent Nozick Analyse frequentielle 77 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Pour les images

Vincent Nozick Analyse frequentielle 78 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Pour les images

residu

level 5 level 4 level 3 level 2 level 1

Vincent Nozick Analyse frequentielle 79 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Pour les images

residu level 5

level 4 level 3 level 2 level 1

Vincent Nozick Analyse frequentielle 79 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Pour les images

residu level 5 level 4

level 3 level 2 level 1

Vincent Nozick Analyse frequentielle 79 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Pour les images

residu level 5 level 4 level 3

level 2 level 1

Vincent Nozick Analyse frequentielle 79 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Pour les images

residu level 5 level 4 level 3 level 2

level 1

Vincent Nozick Analyse frequentielle 79 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Pour les images

residu level 5 level 4 level 3 level 2 level 1

Vincent Nozick Analyse frequentielle 79 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Pour les images

Debruitage : sur les niveaux 1 et 2

→ suppression de quelques artefacts jpeg.

Vincent Nozick Analyse frequentielle 80 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Pour les images

Debruitage : sur les niveaux 1 et 2

→ suppression de quelques artefacts jpeg.

Vincent Nozick Analyse frequentielle 80 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Ondelettes

Autres fonctions :

Vincent Nozick Analyse frequentielle 81 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Ondelettes vs. Fourier

Fourier 1D :

• 1 somme sur la base de fonctions

Ondelettes 1D :

• 1 somme sur les niveaux de resolution

• 1 somme sur l’espace

Vincent Nozick Analyse frequentielle 82 / 83

DCT DFT Principes Filtres Implementation Ondelettes

Ondelettes

Applications :

• compression d’images

• filtre de bruit

• detection (de visages, etc.)

• comparaison d’images

• ...

Vincent Nozick Analyse frequentielle 83 / 83