Analyse multi-échelle et ondelettes
Analyse multi-échelle et ondelettes
Principes et applications
Marco Cagnazzo,
cagnazzo@[Link]
IMA 201
Introduction
Ondelettes
Applications
Outline
Introduction
Transformée en ondelettes
Applications
n
fn,m = fk
N
Transformations linéaires
Rappel : Cas 1D
Dans le cas 1-D, une transformée linéaire est un produit
matriciel. Soit f ∈ CN1 le vecteur d’entrée. En général, le
résultat de la transformée est un vecteur g ∈ CN2 tel que :
N1
!
g = Tf gk = Tk ,n fn
n=1
Transformée inverse
x = T−1 y
si on définit :
" #
t(k , !, 1, 1) . . . t(k , !, 1, M)
[τk ,! ] =
t(k , !, N, 1) . . . t(k , !, N, M)
alors :
!
gk ,! = τk ,! (n, m)f (n, m)
n,m
On définit :
" #
t # (1, 1, k, !) . . . t # (1, M, k, !)
[τ # k ,! ] =
t # (N, 1, k, !) . . . t # (N, M, k, !)
Alors on trouve :
!
F= gk ,! τk# ,!
k ,!
τk ,!
Transformations linéaires en 2D
Propriétés
! Transformée unitaire :
T−1 = TH
T−1 = TT
! Séparable :
! Séparable et symétrique : M = N et
Transformée séparable
Si t(k , !, n, m) = t1 (k , n)t2 (!, m), ils existent deux matrices T1 et T2
telles que :
G = T1 FTT2
Démonstration.
N
!
H = T1 F ⇒ hp,q = T1 (p, n)f (n, q)
n=1
M
!
E = HTT2 ⇒ ek ,! = h(k , m)T2 (!, m)
m=1
N !
! M
ek ,! = T1 (k , n)f (n, m)T2 (!, m)
n=1 m=1
G = T1 FTT2
$ %T
= T1 T2 FT
& 'T
= T2 (T1 F)T
Idées clés
φn [k] = δ[n − k]
temps
Analyse temporelle
k
φn [k] = e−j2π N n
temps
Analyse en fréquence
k
φn,t [k] = e−j2π N n wt [k]
temps
Analyse temps-fréquence
temps
TO
20/78 23.10.20 Une école de l’IMT Analyse multi-échelle
Introduction
Ondelettes
Applications
Outline
Introduction
Transformée en ondelettes
Applications
! Anomalies :
! Variations soudaines du signal, sur une courte durée
! Contributions aux hautes fréquences
! Contours des objets
! Bonne résolution spatiale
! Résolution en fréquence grossière
! Trends :
! Variations lentes du signal, sur une longue durée
! Contributions aux baisses fréquences
! Intérieur des objets
! Résolution spatiale grossière
! Bonne résolution en fréquence
x[k] = c0 [k]
40
20
−20
0 50 100 150 200 250 300 350 400 450 500
80
c1 [k] d1 [k]
60
40
20
−20
0 50 100 150 200 250 300 350 400 450 500
Bancs de filtres 1D
Décomposition
č[k] c[k]
h ↓2
x[k]
ď[k] d [k]
g ↓2
Reconstruction
ĉ[k]
c[k]
↑2 h̃
x̃ [k]
d̂[k]
d [k] ↑2 g̃
! Reconstruction parfaite
! RIF
! Orthogonalité
! Moments nuls
! Symétrie
x[k] x̃ [k]
!
∞
filtre Č (z) = čn z −n = H (z) X (z)
n=−∞
1 & $ 1/2 % $ %'
décimateur C (z) = Č z + Č −z 1/2
2
* +
interpolateur Ĉ (z) = C z 2
* + * +
sortie ) (z) = H
X ) (z) D z 2
) (z) C z 2 + G
& '
) (z) = 1 H
X ) (z) G (z) X (z)
) (z) H (z) + G
2
1 &) '
) (z) G (−z) X (−z)
+ H (z) H (−z) + G
2
H ) (z) G (z) = 2z −!
) (z) H (z) + G Non distorsion
) (z) H (−z) + G
H ) (z) G (−z) = 0 Non aliasing
Forme matricielle
Si les filtres d’analyse sont fixés, les filtres de synthèse sont
univoquement déterminés :
" # ,) - " #
H (z) G (z) H (z) 2z −!
· ) =
H (−z) G (−z) G (z) 0
Filtres de synthèse
Déterminant de la matrice de modulation :
−!
) (z) = 2z G (−z)
H
∆ (z)
−!
) (z) = − 2z H (−z)
G
∆ (z)
h(k) = a b c )
h(k) = p -q r -s t
g(k) = p q r s t )(k) = -a
g b -c
Orthogonalité
!
∞
2
!
∞
2
!
∞
2
(xk ) = (ck ) + (dk )
k =−∞ k =−∞ k =−∞
Moments nuls
Symétrie
16
14 0.8
12
0.6
10
8 0.4
6
0.2
4
2 0
0
−0.2
−2
−10 0 10 20 30 −10 0 10 20 30
h*x
16
14
12
10
8
6
4
2
0
−2
−10 0 10 20 30 Expansion des coefficients
39/78 23.10.20 Une école de l’IMT Analyse multi-échelle
Introduction
Ondelettes
Applications
x h*x
PER PER
16 16
14 14
12 12
10 10
8 8
6 6
4 4
2 2
0 0
−2 −2
−10 0 10 20 30 −10 0 10 20 30
x h*x
SYM SYM
16 16
14 14
12 12
10 10
8 8
6 6
4 4
2 2
0 0
−2 −2
−10 0 10 20 30 −10 0 10 20 30
Orthogonalité et biorthogonalité
Reconstruction parfaite pour signaux de durée finie
Filtre de Haar
h(k) = 1 1 )
h(k) = 1 1
g(k) = 1 -1 )(k) = -1
g 1
! Symétrique
! Orthogonal (normalisation)
! Nombre de moments nuls = 1
! Capable de représenter uniquement les signaux constants
par morceaux
Filtres biorthogonaux
Filtres Cohen-Daubechies-Fauveau
)ap
Pour les filtres biorthogonaux, si h a p MN et h ) MN, le
)
support est au moins p + p − 1.
Ils existent des filtres biorthogonaux (CDF) qui :
! Sont symétriques (phase linéaire)
! Ont le maximum de MN pour une durée fixée
! Sont “quasi” orthogonaux (conservation de l’énergie) :
) similaires
filtres h et h
Ces filtres sont les plus communément utilisés dans le codage
d’images.
Coefficients du filtre :
n 0 ±1 ±2 ±3 ±4
h[l] 0.852699 0.377403 −0.110624 −0.023849 0.037828
)
h[l] 0.788486 0.418092 −0.040689 −0.064539
Analyse multirésolution 1D
Décomposition
h 2↓ c3 [k]
h 2↓ c2 [k]
g 2↓ d3 [k]
h 2↓ c1 [k]
g 2↓ d2 [k]
c0 [k]
g 2↓ d1 [k]
Multiresolution Analysis 1D
60
c0 [k]
40
20
0
-20
0 50 100 150 200 250 300 350 400 450 500
80
c1 [k] d1 [k]
60
40
20
0
-20
0 50 100 150 200 250 300 350 400 450 500
80 d2 [k] d1 [k]
60 c2 [k]
40
20
0
-20
0 50 100 150 200 250 300 350 400 450 500
150
100 c4 [k] d4 [k] d3 [k] d2 [k] d1 [k]
50
0
-50
0 50 100 150 200 250 300 350 400 450 500
Reconstruction
c3 [k] 2↑ )
h
c2 [k] 2↑ )
h
d3 [k] 2↑ )
g
c1 [k] 2↑ )
h
d2 [k] 2↑ )
g c0 [k]
d1 [k] 2↑ )
g
AMR 2D
h[k] (2, 1) ↓
H [n, m]
dj+1
g[!] (1, 2) ↓
aj [n, m]
V [n, m]
dj+1
h[!] (1, 2) ↓
g[k] (2, 1) ↓
D [n, m]
dj+1
g[!] (1, 2) ↓
Interprétation fréquentielle
fhor
(A) (V)
(H) (D)
fver
Exemple
Exemple
a3
a2 d3H
d3V
a1 d2H
d3D
d2V
a0 d1H
d2D
d1V
d1D
(A) (V3)
(H3) (D3)
(V2)
fhor
(V1)
(H2) (D2)
(H1) (D1)
fver
Exemple
Exemple
Exemple
Exemple
Exemple
Exemple
Outline
Introduction
Transformée en ondelettes
Applications
Compression
Débruitage
Motivations
Limites de JPEG
! Effets de blocs
! Limites des représentations progressives (scalabilité)
! Analyse spatio-fréquentielle : ≈ STFT
! Modèle d’images : trends + anomalies
! La résolution en fréquence devrait varier avec la fréquence
! Pas de description à résolutions multiples
TO et compression
JPEG2000
Nouvelles fonctionnalités
Algorithme
! Transformation en ondelettes
! Partition en blocs
! EBCOT:
! Quantification
! Codage entropique
! Allocation de débit (optimisation RD)
! Ondelettes utilisées :
! mode “sans perte” : biorthogonales 5/3 (lifting entiers vers
des entiers)
! mode “avec perte” : Daubechies biorthogonales 9/7
Débruitage
Principes
Modèle : On observe un signal r (t) qui est la somme d’un signal utile
inconnu s(t) et d’un bruit aléatoire b(t).
Après décomposition sur un base d’ondelettes on a :
Hypothèses :
! base orthonormale,
! décomposition orthogonale,
! signal original (résolution j = 0) de taille multiple de 2jmax
! RSB élevé en bande d’approximation :
asjmax ≈ arjmax
Débruitage
Principes
Exemples
σ = 10
Exemples
Sousbande d’approximation
SNR: 46.4 dB
Exemples
Sousbande de détail
SNR: 15.2 dB
Notion de seuillage
c ŝ c ŝ
χ cr χ cr
Notion de seuillage
Approche minimax
∀z ∈ R, µ(z) = Ce−h(z)
χm ∼ χU = h−1 (ln Km )
√
! Dans le cas gaussien, χU = σ 2 ln Km
! χU est appelé seuil universel