Vous êtes sur la page 1sur 11

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