Algoritmo di Mallat
21 giugno 2010
Algoritmo di Mallat
ELABORAZIONE DELLE BIOIMMAGINI
Indice
1 Analisi multirisoluzione 2 Decomposizione come proiezione 3 Algoritmo di decomposizione 4 Algoritmo di ricostruzione 3 6 7 8
Algoritmo di Mallat
ELABORAZIONE DELLE BIOIMMAGINI
Analisi multirisoluzione
Sia L2 (R) lo spazio di Hilbert delle funzioni (nel senso delle classi) denite su R a quadrato sommabile:
L2 (R) = {f : R C : |f |2 integrabile su R}
Sia {Vj }jZ una successione di sottospazi di L2 (R) tali che:
Ogni sottospazio incluso (annidato) nel successivo: Vj Vj+1 , j Z Ogni sottospazio pu essere generato dal precedente per scaling diadico: f (x) Vj f (2x) Vj+1
Si osservi che f (x) Vj f (2j x) V0
L'unione dei sottospazi densa in L2 (R), ovvero
j+
lim ||f (x) fj (x)||L2 (R) = 0 f (x) L2 (R)
jZ
dove fj (x) la proiezione di f (x) su Vj . Si pu anche scrivere:
L2 (R) L'intersezione dei sottospazi vuota: VJ =
jZ
Vj =
Esiste una funzione (x) V0 detta funzione di scala tale che alcune delle
sue repliche opportunamente scalate e traslate sono utilizzabili per creare basi ortonormali per gli spazi Vj :
(x) V0 : se j,n (x) 2 2 (2j x n), j, n Z allora j Z si ha che
j
n Z j,n (x) Vj (x) j,n nZ = Vj j,n1 (x), j,n2 (x) = 0 n1 , n2 Z, n1 = n2 j,n (x), j,n (x) = 1 n Z
In altri termini {j,n (x) Vj .
2 2 (2j x n)}nZ una base ortonormale di
j
Sia ora Wj il complemento ortogonale di Vj in Vj+1 . Pertanto (g. 1.1):
Vj+1 = Vj Wj , j Z
(1.1)
Tali spazi Wj godono delle seguenti propriet: 3
Algoritmo di Mallat
ELABORAZIONE DELLE BIOIMMAGINI
Figura 1.1: Spazio Vj e suo complemento ortogonale Wj in Vj+1
Figura 1.2: Spazio Vj e suo complemento ortogonale in L2 (R)
Sono tra loro ortogonali: Wj1 Wj2 , j1 , j2 Z, j1 = j2 La loro somma diretta densa in L2 (R), ovvero L2 (R) =
jZ
Wj
Esiste una funzione (x) W0 detta wavelet madre tale che alcune delle
sue repliche opportunamente scalate e traslate sono utilizzabili per creare basi ortonormali degli spazi Wj :
j
(x) W0 : se j,n (x) 2 2 (2j x n), j, n Z allora j Z si ha che n Z j,n (x) Wj (x) j,n nZ = Wj j,n1 (x), j,n2 (x) = 0 n1 , n2 Z, n1 = n2 j,n (x), j,n (x) = 1 n Z
In altri termini {j,n (x) Vj .
2 2 (2j x n)}nZ una base ortonormale di
j
Lo spazio L2 (R) pu essere quindi scritto al livello j -esimo come (g. 1.1):
L2 (R) = Vj
i=j +
Wi
da cui segue che ogni funzione f (x) di L2 (R) pu essere cos espansa:
+
f (x) =
nZ
aj (n)j,n (x) +
i=j nZ
di (n)i,n (x)
Algoritmo di Mallat con
aj (n) = aj,n
ELABORAZIONE DELLE BIOIMMAGINI
+ = f (x), j,n (x) = f (x)j,n (x)dx = + f (x)j (x 2j n)dx = [f (x) j (x)]x=2j n
dj (n) = dj,n
+ f (x)j,n (x)dx = = f (x), j,n (x) = + f (x)j (x 2j n)dx = [f (x) j (x)]x=2j n
I coecienti aj (n), risultato della proiezione della funzione sullo spazio Vj , sono detti coecienti di approssimazione del livello j -esimo; i dj (n), risultato della proiezione della funzione sullo spazio Wj , sono invece detti coecienti di dettaglio del livello j -esimo. La funzione ricostruita a partire dai soli coecienti di approssimazione si denota Aj (x) e si chiama approssimazione al livello j esimo; quella ricostruita a partire dai coecienti di dettaglio si denota con Dj (x) e si chiama dettaglio del livello j -esimo. Nella pratica si avr spesso a che fare con funzioni di variabile discreta. Per tali funzioni si considera nulla la proiezione al di fuori di un certo spazio Vj (tipicamente V0 ):
f (x) =
nZ
aj (n)j,n (x)
Ad un dato livello j l'approssimazione data da:
+ +
Aj (x) =
n=
f (x), j,n (x) j,n (x) =
n=
aj (n)j,n (x)
dove
+ + f (x), j,n (x) = f (x)j,n (x)dx = f (x)j (x 2j n)dx =
[f (x) j (x)]x=2j n
Quindi
Aj (x) =
[f (x) j (x)]x=2j n j,n (x)
n=
(1.2)
Dalla relazione (1.2) si capisce che i coecienti dell'approssimazione sono dati dalla convoluzione tra f (x) e j (x) campionata a passi di 2j . Analoga5
Algoritmo di Mallat mente possibile provare che:
+
ELABORAZIONE DELLE BIOIMMAGINI
Dj (x) =
n=
f (x), j,n (x) j,n (x) =
+
[f (x) j (x)]x=2j n j,n (x) (1.3)
n=
Decomposizione come proiezione
L'algoritmo di decomposizione wavelet si ricava proiettando l'approssimazione del livello j + 1, che un elemento di Vj+1 , sugli spazi Vj e Wj del livello di risoluzione inferiore: per far questo necessario stabilire una relazione che leghi le funzioni j+1 , elementi della base di Vj+1 , alle funzioni j e j , elementi delle basi di Vj e Wj . In virt della (1.1) si pu scrivere:
+
j,n (x) = j (x 2j n) =
k=
j,k (x), j+1,n (x) j+1,k (x)
(2.1)
dove
j,k (x), j+1,n (x) =
+ +
j,k (x)j+1,n (x)dx = j (x 2j n)j+1 (x 2(j+1) k)dx =
[j (x) j+1 (x)]x=2(j+1) (2nk)
(2.2)
Poich
j (x) j+1 (x) =
+ +
j (x)j+1 ( x)dx =
+
(2j x)(2j+1 ( x))dx =
(21 )(2j+1 )d =
1 ()(2j+1 )d = [1 () ()]=2j+1
allora
j,k (x), j+1,n (x) = [j (x) j+1 (x)]x=2(j+1) (2nk) = [[1 () ()]=2j+1 x ]x=2(j+1) (2nk) = [1 () ()]=2j+1 (2(j+1) (2nk)) = [1 () ()]=2nk
(2.3) (2.4)
Se deniamo
h(x) = 1 (x) (x)
Algoritmo di Mallat si pu scrivere
+
ELABORAZIONE DELLE BIOIMMAGINI
j,n (x) =
k=
j,k (x), j+1,n (x) j+1,k (x) =
+
h(2n k)j+1,k (x) (2.5)
k=
In modo analogo si ricava
j,k (x), j+1,n (x) = [1 () ()]=2nk
da cui, ponendo
g(x) = 1 (x) (x)
(2.6)
si ottiene
+
j,n (x) =
k=
j,k (x), j+1,n (x) j+1,k (x) =
+
g(2n k)j+1,k (x) (2.7)
k=
Algoritmo di decomposizione
L'approssimazione Aj (x) del livello j pu essere ricavata proiettando quella del livello j + 1 (Aj+1 (x)) sullo spazio Vj : si ha quindi
+
Aj (x) =
n=
Aj+1 (x), j,n (x) j,n (x) =
+ +
aj+1 (k)j+1,k (x) , j,n (x) j,n (x) =
n= k= + +
aj+1 (k) j+1,k (x), j,n (x)
n= k=
j,n (x)
dalla quale, sostituendo j+1,k (x), j,n (x) con l'equazione (2.3) si ricava
+ +
Aj (x) =
n= k=
aj+1 (k)h(2n k) j,n (x) =
+
[aj+1 (k) h(k)]k=2n j,n (x) (3.1)
n=
La relazione (3.1) evidenzia che i coecienti aj (k) dell'approssimazione Aj (x) al livello j possano essere ottenuti ltrando i coecienti aj+1 (k) dell'approssimazione Aj+1 (x) al livello j + 1 mediante il ltro dato dalla (2.4) e successivo sottocampionamento diadico (si prende un campione ogni due):
aj (k) = [aj+1 (k) h(k)]k=2n
Algoritmo di Mallat
ELABORAZIONE DELLE BIOIMMAGINI
Figura 3.1: Algoritmo di decomposizione per il calcolo dei coecienti dell'approssi-
mazione e del dettaglio al livello j a partire dai coecienti dell'approssimazione al livello j + 1
In modo analogo, proiettando Aj+1 (x) sullo spazio Wj possibile esprimere il dettaglio Dj (x) al livello j come:
+
Dj (x) =
n=
Aj+1 (x), j,n (x) j,n (x) = . . . =
+
[aj+1 (k) g(k)]k=2n j,n (x)
n=
per cui
dj (k) = [aj+1 (k) g(k)]k=2n
(3.2)
L'equazione (3.2) evidenzia che i coecienti dj (k) del dettaglio Dj (x) al livello j possano essere ottenuti ltrando i coecienti aj+1 (k) dell'approssimazione Aj+1 (x) al livello j + 1 mediante il ltro dato dalla (2.6) e successivo sottocampionamento diadico.
Algoritmo di ricostruzione
L'approssimazione Aj+1 (x) del livello j+1 pu essere ricavata a partire da quella del livello j (Aj (x)) e dal dettaglio (Dj (x)). Sostituendo in (1.2) l'equazione 8
Algoritmo di Mallat (2.5) si ricava:
+
ELABORAZIONE DELLE BIOIMMAGINI
Aj (x) =
n= + +
aj (n)j,n (x) =
n=
aj (n)
k= +
h(2n k)j+1,k (x)
+
aj (n)h(2n k)j+1,k (x)
n= k= +
=
k= + n=
aj (n)h(2n k)j+1,k (x)
aj (n)h(2n k) j+1,k (x)
k= n=
Denendo quindi h (n)
+ +
h(2n) si ottiene k n) j+1,k (x) = 2
+
Aj (x) =
k= n=
aj (n)h (
[aj (n) h (n)]n= k
2
j+1,k (x)
k=
Analogamente, ricorrendo alla (2.7), per il dettaglio Dj (x) si ha:
+ +
Dj (x) =
n=
dj (n)j,n (x) = =
k=
[dj (n) g (n)]n= k
2
j+1,k (x)
dove g (n) = g(2n). In denitiva:
Aj+1 (x) = Aj (x) + Dj (x) =
+
[aj (n) h (n)]n= k + [dj (n) g (n)]n= k
2 2
j+1,k (x) (4.1)
k=
si ottengono ribaltando (sull'asse delle ascisse) e comprimendo di un fattore 2 i ltri h(n) e g(n). Si osservi che si ottiene un risultato analogo utilizzando in loco di h (n) e g (n) i ltri h(n) e g(n) ribaltati ma non compressi e convolvendoli con le sequenze dei coecienti dilatate di un fattore 2, come in g. 4.1.
j + 1 suciente convolvere i coecienti del livello j con i ltri h (n) e g (n) che
L'equazione (4.1) dimostra che per ricostruire l'approssimazione del livello
Algoritmo di Mallat
ELABORAZIONE DELLE BIOIMMAGINI
Figura 4.1: Algoritmo per la ricostruzione dei coecienti dell'approssimazione al
livello j + 1 a partire dai coecienti dell'approssimazione e del dettaglio al livello j
Figura 4.2: Wavelet di Meyer: Funzioni di scala di livello -1 e 0 e confronto tra il
ltro ottenuto come convoluzione di queste con quello utilizzato da MATLAB
10
Algoritmo di Mallat
ELABORAZIONE DELLE BIOIMMAGINI
Figura 4.3: Wavelet di Meyer: Wavelet di livello -1, funzione di scala di livello
0 e confronto tra il ltro passa alto ottenuto come convoluzione di queste con quello utilizzato da MATLAB.
Figura 4.4: Wavelet di Meyer: Modulo della trasformata di Fourier dei ltri passa
basso e passa alto relativi alla wavelet di Meyer
11