Il 0% ha trovato utile questo documento (0 voti)
7 visualizzazioni22 pagine

Cap Wavelets

Il capitolo discute la trasformata di wavelet, una tecnica efficace per la compressione delle immagini e il riconoscimento di pattern, particolarmente utile per segnali con transizioni rapide. A differenza della trasformata di Fourier, che non fornisce informazioni temporali, le wavelet offrono una rappresentazione locale in tempo e frequenza, permettendo di analizzare segnali non stazionari. Viene inoltre presentata la generazione delle wavelet attraverso la dilatazione e traslazione di una funzione madre, evidenziando le proprietà di ammissibilità necessarie per la loro applicazione.

Caricato da

lisciotto.nicola
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
7 visualizzazioni22 pagine

Cap Wavelets

Il capitolo discute la trasformata di wavelet, una tecnica efficace per la compressione delle immagini e il riconoscimento di pattern, particolarmente utile per segnali con transizioni rapide. A differenza della trasformata di Fourier, che non fornisce informazioni temporali, le wavelet offrono una rappresentazione locale in tempo e frequenza, permettendo di analizzare segnali non stazionari. Viene inoltre presentata la generazione delle wavelet attraverso la dilatazione e traslazione di una funzione madre, evidenziando le proprietà di ammissibilità necessarie per la loro applicazione.

Caricato da

lisciotto.nicola
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

Capitolo 2

Trasformata di Wavelet

Un considerevole interesse si è sviluppato nell’ultimo decennio per un particolare


tipo di trasformata, che va sotto il nome di wavelet transform, che si è rivelata
molto efficace per risolvere problemi sia di compressione delle immagini che di
pattern recognition (rivelazione di bordi o di oggetti particolari nelle immagini
o, in generale, di transienti in segnali di qualsiasi dimensionalità).

Il successo di queste trasformate è anche legato al fatto che tutti i segnali che cor-
rispondono a rapide transizioni ([Link]. un eco su un segnale da un radar rotante,
oppure i bordi di un oggetto o una linea di costa in una immagine) sono mal
rappresentati dalla trasformata di Fourier e da ogni altra trasformazione che usi
una base costituita da funzioni a supporto non compatto (cioè funzioni che si
estendono da −∞ a +∞). Queste sono infatti inadeguate a descrivere (e quindi
rivelare) efficientemente i segnali transienti molto localizzati come, per esempio,
l’accendersi di una lampada in una scena.

In linea di principio la trasformata di Fourier è in grado di rappresentare qual-


siasi funzione analitica, e quindi anche un transiente, usando una base di seni e
coseni. Il prezzo che si paga è di generare un gran numero di sinusoidi non nulle,
sfasate in modo tale da annullarsi a vicenda in quasi tutto lo spazio ad eccezione
della regione in cui si presenta il segnale transiente. Una situazione del genere,
vista dal lato dello spettro di Fourier, appare molto confusa perchè la potenza del
segnale si distribuirà su moltissime frequenze rendendo difficile la ricostruzione
del segnale di partenza a partire dal campionamento.

Per evitare inconvenienti di questo tipo diventa uso comune scegliere funzioni di
base che abbiano un supporto compatto e che possano variare sia in posizione

35
36 [Link]

che in frequenza. Si tratta cioè di funzioni di estensione limitata (nello spazio o


nel tempo a seconda del tipo di segnale analizzato) dette wavelets 1 .

La Fig 2.1 mostra la differenza tra onda sinusoidale ed una wavelet alla stessa
frequenza. Sia con funzioni seno e coseno che con funzioni di wavelet si possono
realizzare basi ortogonali su cui proiettare segnali. La differenza sta nel fatto
che le funzioni seno e coseno, usate nella trasformata di Fourier, si estendono su
un intervallo infinito mentre le wavelet sono diverse da zero solo su una regione
finita, caratteristica quest’ultima che apre interessanti possibilità nell’analisi dei
segnali.

Figura 2.1: Confronto tra una sinusoide ed una wavelet di pari frequenza. Tutte e due le
funzioni sono utilizzabili per valutare il contenuto in frequenza di un segnale, ma la wavelet è
localizzata mentre la sinusoide si estende all’infinito.

2.1 Il Piano Tempo-Frequenza


L’analisi di Fourier ci permette di indagare il contenuto in frequenza di un seg-
nale, ma non dà alcuna informazione sulla loro collocazione temporale o spaziale.
Questo aspetto è particolarmente rilevante avendo a che fare con segnali non
stazionari come illustrato in Figura 2.2 che mostra due segnali che, pur essendo
chiaramente diversi (grafici a sinistra) appaiono all’analisi di Fourier come prati-
camente sovrapponibili (grafici a destra). Lo spettro di frequenza ottenuto nei
due casi mostra correttamente che il contenuto in frequenza è simile, ma non dà
alcuna informazione sull’istante in cui si presentano le diverse [Link]
tipo di problema riguarda quindi tutti i segnali che contengano delle componenti
transitorie che per loro natura sono irregolari e localizzate.

1
una traduzione italiana potrebbe essere “piccole onde, ondine” ma è ormai uso comune
lasciare il termine invariato.
Analisi di immagini @ UniSalento (draft) 37

Per questo tipo di segnali possiamo intuitivamente immaginare un piano tempo-


frequenza in cui ognuna di queste componenti occupa una diversa posizione come
è mostrato in Figura 2.3 in cui un segnale monodimensionale (in funzione del
tempo) contiene due impulsi transitori di diversa frequenza. Nella stessa figura
è mostrato come questi impulsi possano essere rappresentati su un piano tempo-
frequenza in modo da mantenere l’informazione sia sulle frequenze che sulla loro
localizzazione nel tempo.

Figura 2.2: Segnali costituiti da sinusoidi non localizzate (sopra) e localizzate (sotto). Lo
spettro di Fourier (a destra) individua correttamente le frequenze presenti ma non dà alcuna
informazione sulla loro localizzazione.

Figura 2.3: Un segnale contenente due frequenze localizzate nel tempo (sopra) è rappresentato
nel piano tempo-frequenza (sotto) come due picchi centrati ai tempi e frequenze corrispondenti.

Un esempio di questo approccio è mostrato dallo schema usato in musica (Fig. 2.4)
che, introducendo il pentagramma, orienta il tempo lungo l’asse x e le frequenze
(le note che nel nostro linguaggio sono i transienti) lungo l’asse y. La durata dei
38 [Link]

transienti è poi indicata dal carattere della nota invece che dalla sua estensione
temporale, ma è solo una differenza di notazione.

Figura 2.4: Un esempio di diagramma tempo-frequenza: il pentagramma.

Analogamente nel caso di segnali 2-D come le immagini potremo rappresentare


due diversi oggetti dell’immagine analizzando spazio-frequenza lungo le due di-
mensioni dell’immagine rappresentando quindi i transienti presenti in una terza
dimensione che rappresenti la frequenza. Si immagini quindi una rappresen-
tazione grafica del tipo mostrato in Figura 2.5. Gli oggetti appaiono già separati
spazialmente, ma per evidenziare il loro diverso contenuto in frequenza filtriamo
l’immagine f(x,y) con filtri a frequenza variabile in modo tale da realizzare una
pila di immagini h1 (x, y), h2 (x, y), ... filtrate a diverse frequenze. La separazione
in frequenza può cosı̀ avvenire lungo la pila delle immagini filtrate.

Figura 2.5: Le frequenze contenute in un’immagine sono rappresentabili come un un set


di piani allineati all’immagine, ognuno contenente le ampiezze ad una data frequenza nella
corrispondente regione dell’immagine.

2.1.1 Trasformate
Abbiamo visto che vi sono tre diversi, ma imparentati, approcci che utilizzano la
trasformata di Fourier: la trasformata integrale, l’espansione in serie, la trasfor-
mata discreta.
Analisi di immagini @ UniSalento (draft) 39

La trasformata integrale, insieme alla sua trasformata inversa, associa due


funzioni continue (il segnale ed il suo spettro) ed in una dimensione è data da
� +∞
F (s) = f (x)e−j2πxs dx
−∞
� +∞
f (s) = F (s)ej2πxs ds
−∞
L’espansione in serie di Fourier rappresenta, attraverso una serie di coeffi-
cienti, una funzione periodica. Si ottiene rendendo la frequenza s = nΔs una
variabile discreta, cosı̀ che dalla precedente abbiamo:
� L
Fn = F (nΔs) = f (x)e−j2πnΔs x dx
0


f (s) = Δs Fn ej2πnΔs x
n=0
dove L rappresenta il periodo e Δs = 1/L.

La trasformata discreta infine mette in relazione una funzione campionata


con il suo spettro di Fourier, anch’esso campionato, con il numero di campi-
oni indipendenti (detti anche gradi di libertà) uguale nei corrispondenti domini.
Questa trasformata è ottenuta rendendo discreto lo spazio: x = iΔx, con i in-
tero. Allora, se g(x) è band-limited (cioè il segnale contiene solo un intervallo di
frequenze limitato) ed il campionamento spaziale soddisfa il teorema del campi-
onamento (cioè la frequenza di campionamento è doppia rispetto alla frequenza
massima presente nel segnale) allora gi = g(iΔx) e avremo:
N −1
1 � −j2πk i
Gk = √ gi e N
N i=0
N −1
1 � k
gi = √ Gk ej2πk N
N k=0
In tutte e tre queste trasformazioni:
- la base ortonormale è formata da seni e coseni di differenti frequenze
- ciascun coefficiente delle trasformazioni è determinato dal prodotto interno
(ovvero la proiezione) della funzione da trasformare con una delle funzioni
che formano la base.
40 [Link]

- la trasformata inversa corrisponde a sommare le funzioni della base, ognuna


pesata dai coefficienti della trasformazione. Queste somme diventano un
integrale nel caso della trasformata continua.

Questo tipo di architettura è comune a tutte le trasformate, indipendentemente


dalla base usata, per cui le tecniche di calcolo ed i conceti sottostanti sono molto
simili in tutte le trasformazioni. Inoltre, nei casi incui la base è costituita da
funzioni reali la trasformata inversa è identica a quella diretta.

Wavelets
Le stesse operazioni si possono definire per la trasformata con wavelet e cioè: una
trasformata continua, un’espansione in serie, una trasformata discreta. Tuttavia
una differenza sostanziale esiste perchè le basi della trasformata con wavelets
possono anche non essere ortonormali. In altre parole questo significa che un’es-
pansione in serie di wavelets non ortonormali potrebbe richiedere una serie di
termini (o coefficienti) molto più lunga (e quindi, in generale, non ottimale) per
rappresentare una funzione band-limited. Se la sequenza di termini viene tronca-
ta ad un numero finito di termini allora la funzione originale sarà rappresentata
con un certo grado di approssimazione.

Per introdurre i concetti consideriamo il caso di segnali unidimensionali rappre-


sentabili da funzioni a quadrato integrabile sull’asse reale. L’insieme di queste
funzioni viene comunemente indicato con L2 (R) e quindi dire che f (x) ∈ L2 (R)
significherà che
� +∞
|f (x)|2 dx < ∞ (2.1)
−∞

La tecnica usata nell’analisi con le wavelet per generare una base è di scegliere una
funzione prototipo ψ(x) per poi dilatarla e traslarla per generare gli elementi della
base. Questa funzione generatrice è di solito una funzione oscillante, solitamente
centrata sull’origine, che tende rapidamente a zero per |x| → ∞. Questa scelta
fa si che gli integrali siano finiti e quindi che ψ(x) ∈ L2 (R) .

2.1.2 Wavelets e trasformata continua


Se ψ(x) è una funzione reale con spettro di Fourier dato da Ψ(s), allora potrà
essere una generatrice di wavelet se soddisfa al seguente criterio, detto di ammis-
sibilità:
Analisi di immagini @ UniSalento (draft) 41

� +∞
|Ψ(s)|2
Cψ = ds < ∞ (2.2)
−∞ |s|
Si noti che, a causa della presenza di s al denominatore, per evitare la divergenza
nell’origine dovrà anche essere:
� +∞
Ψ(0) = 0 che a sua volta implica → ψ(x)dx = 0. (2.3)
−∞
Quest’ultima proprietà deriva dal fatto che l’ampiezza dello spettro di Fourier a
frequenza zero è pari al valor medio della funzione, da cui segue la (2.3).

Inoltre, poichè dovrà anche essere Ψ(∞) = 0 ci rendiamo conto che una wavelet
ammissibile non potrà contenere frequenze altissime e quindi il suo spettro sarà
abbastanza simile a quello di un filtro passa banda. Invertendo questo argomento
potremmo anche dire che ogni filtro passa banda a media zero può generare una
base di wavelet.
In pratica, il set di wavelet che costituiscono una base è generato traslando e
dilatando una certa funzione generatrice ψ(x) come in:
� �
1 x−b
ψa,b = √ ψ (2.4)
a a
dove a, b sono numeri reali con a > 0. Per le relazioni che intercorrono tra queste
funzioni la ψ viene detta mother wavelet e le ψa,b sono le daughter wavelets2 .
Il ruolo di a è di dilatare o comprimere la scala, mentre quello di b è di produrre
una√ traslazione della funzione, in questo caso lungo l’asse x. Il fattore di scala
1/ a assicura che la norma delle funzioni di base (le wavelet) sia sempre la stessa,
indipendentemente dalla scala, poichè:
� � �� �� +∞ � � ��2 �1/2
� x − b � � x − b � √
�ψ �= �ψ � dx = a �ψ(x)� (2.5)
� a � � a �
−∞

dove l’integrale è risolto dalla sostituzione (x − b)/a = dy. Questo mette in


evidenza un’altra proprietà della base che, essendo generata da una funzione a
media nulla, sarà costitutita da elementi tutti a media zero. Questa caratteristica
implica che l’informazione sulla media del segnale f (x) dovrà essere considerata
separatamente non potendo essere codificata con funzioni di base a media nulla3 .
2
dette anche baby wavelets
3
diversamente dal caso di Fourier in cui la media del segnale è codificata nella componente
a frequenza zero della trasformata.
42 [Link]

La figura 2.6 mostra alcuni esempi tra le wavelet più usate, la cui espressione
analitica è data da:

ψ(x) = 1 (0 ≤ x < 1); −1 (1 ≤ x ≤ 2); 0 (altrove) Haar


2 2
ψ(x) = 1/2 1/4 (1 − x2 )e−x /2 Mexican Hat
3 π
2
ψ(x) = e−x /2 cos(5 x) Morlet

Si noti come tutte siano a media zero e quindi le loro trasformate di Fourier,
mostrate in sulla destra di Figura 2.6, saranno nulle a frequenza zero.

Figura 2.6: Esempi di wavelets di uso comune. A sinistra, dall’alto verso il basso: (a) Haar, (b)
Mexican Hat, (c) Morlet wavelet. A destra sono mostrate le corrispondenti rappresentazioni
nelle spazio di Fourier. Si noti che le wavelets sono tutte a media zero e pertanto nello spazio
di Fourier valgono zero a frequenza zero. Nel caso Morlet la trasformata di Fourier è mostrata
per più valori del parametro di scala che regola la frequenza di indagine della wavelet.

Formalmente, per esprimere la trasformata continua di una funzione f (x) rispetto


ad una wavelet ψ(x), scriviamo:

� +∞
Wf (a, b) =< f, ψa,b >= f (x)ψa,b (x)dx (2.6)
−∞
Analisi di immagini @ UniSalento (draft) 43

Come si vede i coefficienti delle trasformazione sono dati dal prodotto interno
<>4 della funzione da trasformare con ciascuna delle funzioni della base.
Si può mostrare5 che la trasformazione inversa è data da:
� +∞ � +∞
1 da
f (x) = Wf (a, b)ψa,b (x)db 2 (2.7)
Cψ 0 −∞ a

con ψa,b (x) data dalla (2.4).

Il caso continuo in 2D
Abbiamo visto che la trasformata di wavelet di una funzione f (x) 1D è una fun-
zione W (a, b) di due variabili, a (scala) e b (shift), al variare delle quali è possibile
indagare il contenuto di un segnale sia in tempo (o spazio) che in frequenza. In
conseguenza, per rappresentare la trasformata di wavelet di un segnale 1D abbi-
amo bisogno di uno spazio 2D. Analogamente per una immagine, che è un segnale
bidimensionale, l’operazione di trasformazione aumenta la dimensionalità di uno:
� +∞ � +∞
Wf (a, bx , by ) = f (x, y)ψa,bx ,by (x, y)dbx dby (2.8)
−∞ −∞

con bx , by che specificano le traslazioni nelle due dimensioni. Si noti che qui il
parametro di scala è stato assunto uguale nelle due dimensioni.
La corrispondente trasformazione inversa è data da:
� +∞ � +∞ � +∞
da
f (x, y) = Wf (a, bx , by )ψa,bx ,by (x, y)dbx dby 3 (2.9)
0 −∞ −∞ a
Nelle precedenti:
� �
1 x − bx y − by
ψa,bx ,by (x, y) = ψ , (2.10)
|a| a a
con ψ(x, y) wavelet generatrice della base bidimensionale.

Interpretazione in termini di “filter bank”


Un possibile modo di interpretare la trasformata di wavelet continua è di im-
maginarla come una serie di filtri che vengono applicati al segnale da analizzare.
4
questo prodotto corrisponde alla proiezione di un elemento dello spazio (una funzione o un
segnale) su un elemento della base (una wavelet)
5
Grossman & Morlet, Decomposition of Hardy Function into Square Integrable Wavelets,
[Link]. 15, 723 (1984)
44 [Link]

Questa possibilità nasce dal fatto che le wavelet, essendo funzioni a media zero,
nello spazio di Fourier appaiono come filtri “passa-banda”, che possono essere
sintonizzati su frequenze particolari al variare della scala della wavelet. Questo
aspetto è evidente in Figura 2.6 che nei riquadri a destra mostra le bande passanti
nei vari casi. In particolare nel caso della Morlet wavelet si vede come la banda
passante cambia al variare della scala.

Per questo torniamo a considerare la trasformata di Fourier del nostro segnale


ed immaginiamo di poter suddividere lo spettro delle frequenze in parti, ciascuna
corrispondente ad un certo intervallo di frequenze.

Come abbiamo visto, se con ψ indichiamo la funzione “mother”, possiamo gener-


are una base esprimendone gli elementi attraverso la relazione (vedi l’eq. 2.4 con
b=0)
1
ψa (x) = √ ψ(x/a). (2.11)
a
Si tratta di una operazione di scaling (rispetto alla
√ scala rappresentata da a) e di
normalizzazione (ottenuta moltiplicando per 1/ a allo scopo di ottenere la stessa
norma alle varie scale). Per come sono state definite, le wavelets cosı̀ generate
avranno larghezza tanto più grande quanto più a sarà grande, mantenendo sempre
valor medio nullo e norma costante (come richiesto dalle eq. 2.3, 2.4, 2.5).
Per evidenziare l’equivalenza tra la trasformata di wavelet e l’operazione di con-
voluzione, definiamo la complessa-coniugata-riflessa di una wavelet come:
1
ψ̃a (x) = ψ ∗ (−x) = √ ψ ∗ (−x/a) (2.12)
a

che permette di riscrivere la trasformata continua rendendo evidente il legame


con la convoluzione (qui indicata dall’asterisco ∗):
� +∞
Wf (a, b) = f (x)ψ̃a (b − x)dx = f ∗ ψ̃a (2.13)
−∞

Quindi, per ottenere la trasformata di wavelet ad una data scala a possiamo usare
la convoluzione della funzione f (x) con la coniugata riflessa della wavelet alla
scala scelta. Ripetere questa operazione per più valori della scala corrisponde in
definitiva a filtrare il segnale f (x) con filtri a diversa frequenza, e quindi scegliendo
opportunamente le scale da indagare (e quindi le frequenze coinvolte) saremo in
grado di coprire l’intero spettro delle frequenze. Questo approccio è illustrato
nella Figura 2.7 che mostra una copertura dello spettro di frequenza ottenuta con
Analisi di immagini @ UniSalento (draft) 45

una successione di bande passanti adiacenti le une alle altre, ognuna generata dal
corrispondente livello della suddivisione in wavelets (qui diadiche6 ).

Figura 2.7: Dall’alto verso il basso: una mother wavelet, al livello 0, che genera due livelli
successivi di daughter wavelets. Nel corrispondente spazio di Fourier, mostrato in basso, sono
rappresentate le regioni corrispondenti alle frequenze indagate. H0 corrisponde alla banda di
frequenza maggiore indagata dalla wavelet di livello 0 (mother), H1 ed H2 sono le bande relative
alle daughter wavelets dei due livelli successivi. La rappresentazione qui è diadica ed i valori
sovrapposti alle bande rappresentano i fattori di normalizzazione ai vari livelli.

La trasformazione inversa, che ricostruisce il segnale, sarà data da


� +∞ � +∞ � +∞
1 da 1 da
f (x) = [f ∗ ψ̃](b)ψa (b − x)db 2 = [f ∗ ψ̃ ∗ ψa ] 2 (2.14)
CV 0 −∞ a CV 0 a

Inoltre, in analogia alla proprietà di similarità che vale per la trasformata di


Fourier7 :
1
F{f (ax)} = F (s/a) (2.15)
a
si può ricavare per la trasformata di wavelet la relazione:

Ψa (s) = F{ψa (x)} = aΨ(as) (2.16)
6
fattore di scala che varia di un fattore 2 passando da una scala alla successiva
7
ad una contrazione in un dominio corrisponde una espansione nell’altro
46 [Link]

che mostra come un aumento della scala a corrisponda ad indagare una frequenza
più bassa (Figura 2.7).
Questa proprietà introduce naturalmente l’idea che, dato un segnale, la sua con-
voluzione con una wavelet di estensione fissata equivale ad estrarre, dallo stesso
segnale, le sole frequenze corrispondenti alla scala di wavelet usata. In questo
senso possiamo quindi intendere l’analisi in wavelet come una scomposizione del
segnale nelle sue diverse frequenze, associate alle diverse scale indagate dal set di
wavelet scelto. È come usare una serie di filtri in frequenza che costituiscono il
cosiddetto “filter bank” rappresentato nella parte bassa della Figura 2.7 .

2.1.3 Wavelets discrete


La trasformata continua è utile per intuire le similitudini con l’approccio di Fouri-
er ma presenta una serie di inconvenienti che suggeriscono come più efficiente una
analisi “discreta”. In breve:

- la base è ridondante: si può infatti notare che nella (2.6) la wavelet viene
traslata e scalata in modo continuo implicando quindi che inevitabilmente
le wavelets (e quindi le frequenze passanti) andranno a sovrapporsi con
continuità le une alle altre e non possono quindi costituire una base or-
togonale8 . A meno che non vengano traslate e scalate di quantità discrete
opportunanmente scelte per non sovrapporsi le una alle altre, consentendo
quindi di costruire una base ortogonale su cui “proiettare” i segnali. In altri
termini si può dire che usare wavelet continue per trasformare un segnale
è un’operazione inefficiente in quanto si dovranno calcolare un gran nu-
mero di coefficienti che, essendo ridondanti, conterranno informazioni già
parzialmente presenti nei coefficienti adiacenti. Dal lato delle frequenze
sarebbe come costruire un “filter bank” in cui le regioni esplorate dai filtri,
invece di essere complementari, si sovrappongono a quelle dei filtri adiacenti
replicando quindi più volte la stessa informazione;

- il numero di wavelets necessarie ad indagare il segnale è virtualmente in-


finito;
8
Nel caso di Fourier la funzioni continue sin e cos costituiscono una base perchè il loro
prodotto integrato su tutto il dominio è nullo. Qui invece le funzioni sono finite ed il loro
prodotto si annulla solo in particolari condizioni che vengono soddisfatte con una opportuna
scelta delle wavelet discretizzate e dello scaling applicato.
Analisi di immagini @ UniSalento (draft) 47

- la maggior parte delle funzioni di wavelet usate non permettono soluzioni


analitiche per le proiezioni e richiedono quindi metodi numerici per il cal-
colo.

Diventa quindi più conveniente usare un approccio discreto, che viene detto dis-
crete wavelet transform o DWT, che utilizza forme appropriate di wavelet,
alcune delle quali mostrate in Fig. 2.6. Queste hanno le proprietà matematiche
giuste per poter formare basi ortogonali quando usate secondo uno schema discre-
to, consentendo quindi una decomposizione efficiente del segnale cosı̀ come una
sua fedele ricostruzione.

Essenzialmente possiamo dire che la decomposizione in wavelet è un modo di


analizzare il contenuto di un segnale utilizzando due forme particolari di coeffi-
cienti (che poi saranno delle funzioni da calcolare) che rappresentano specifiche
componenti (additive) dello stesso segnale. Il senso che avranno queste compo-
nenti sarà quello di rappresentare rispettivamente la scala ed il dettaglio del
segnale. Queste sono infatti le informazioni che emergono dal filtrare il segnale
con

- un filtro passa basso φ(t) che corrisponde ai coefficienti di scala (scaling).

- un filtro passa alto ψ(t), che mette in evidenza le componenti ad alta


frequenza (dettagli);

Reiterando questo approccio su tutte le scale da indagare si ottengono una serie


di segnali filtrati utili per una successiva analisi che potrà individuare non solo
la presenza di una data frequenza ma anche il tempo nel quale questa si presenta
(vedi anche Figura 2.3).

La tabella 2.1 che segue vuole essere un aiuto a superare le difficoltà che possono
insorgere per l’uso di una terminologia non sempre chiarissima che si ritrova
nell’ampia e varia letteratura in questo campo. In tabella sono riassunti i termini
più frequentemente incontrati in letteratura per indicare proprietà e senso fisico
dei due filtri passa-basso e passa-alto appena citati.
48 [Link]

Caratteristica φ(t) ψ(t)


tipo di funzione scaling function wavelet function

nome attribuito father wavelet mother wavelet

corrispondenza con scale coefficient detail function

componente investigata deterministic stochastic

azione prodotta scaling ψ halves bandpass filter


dalla dicretizzazione the bandwidth of φ scaled and shifted

filtro equivalente low pass scaling high pass details

Tabella 2.1: Caratteri e nomenclatura corrispondente usata per descrivere l’azione delle
wavelets.

Discretizzazione diadica
In generale una famiglia di wavelet viene descritta a partire dalla mother wavelet,
rappresentata dalla ψ(x), che soddisfa a queste condizioni:

�ψ(x)�2 dx = 1 normalizzazione

|ψ(x)| dx < ∞ finitezza

ψ(x)dx = 0 media zero

Nelle applicazioni la “mother” wavelet viene replicata in una forma scalata e


traslata generando cosı̀ le daughter wavelets, anch’esse normalizzate, che vanno
ad analizzare il segnale e che sono ricavate dalla mother wavelet secondo la (2.4).
Una scelta molto adottata è di porre a = 2−j e b = 2−j k, con j e k interi, in
modo che, sostituendo nella (2.4), le wavelet che si ottengono sono della forma:

ψ(x) = 2j/2 ψ(2j x − k) (2.17)


Con questa particolare scelta, che permette di rappresentare il segnale senza ri-
dondanza e anche di coprire lo spazio delle frequenze con completezza, cambiare
j di una unità corrisponde a cambiare la scala a di un fattore 2, mentre cam-
biare k di una unità corrisponde a cambiare lo shift b di una quantità pari ad 1/2j .
Analisi di immagini @ UniSalento (draft) 49

In pratica il segnale analizzato verrà scansionato da wavelet successive, la cui es-


tensione cambia secondo un fattore 1/2j e che vengono traslate a passi di 1/2j (al
variare di k). In questo caso le wavelet vengono dette diadiche9 a causa dell’uso
del 2 alla base della scelta di a e b. Nel gergo comune si dice che il valore di j
determina il livello di scaling indagato che è rappresentato in Figura 2.7.

Un esempio di suddivisione diadica semplice da illustrare è dato in Figura 2.8 che


mostra il caso della wavelet di Haar.

Figura 2.8: Stadi successivi per le wavelet di Haar. In colonna (i) lo spazio del segnale viene
coperto alle diverse scale (livelli) della wavelet. Nelle colonne (ii) ed (iii) è mostrato lo schema
di suddivisione diadica con cui sono realizzati i tre livelli: ad ogni salto di scala l’estensione
della wavelet raddoppia, dimezzando il numero di coefficienti da calcolare per realizzare la
convoluzione.

Dalla proprietà delle wavelet di avere media nulla si intuisce facilmente come
la convoluzione con un segnale costante darebbe invariabilmente zero a tutte le
scale e su tutti i punti. Lo stesso risutato si avrebbe se le eventuali variazioni
del segnale indagato fossero presenti solo a scale maggiori (quindi a frequenze
più basse) della wavelet piu ampia usata ! Nasce quindi l’esigenza di completare
l’analisi compensando la mancanza di informazione alle frequenze al disotto di
quella più bassa indagata. A questo scopo viene introdotta la father wavelet
che, rappresentata dalla φ(x), svolge il ruolo di un filtro passa-basso e soddisfa

9
si dice anche che l’analisi è fatta per “ottave”, in riferimento al fatto che un’ottava superiore
(inferiore) corrisponde al raddoppio (dimezzamento) della frequenza
50 [Link]

alle seguenti proprietà:



�φ(x)�2 dx = 1 normalizzazione

φ(x)dx = 1 area unitaria

φ(x)φ(x − n)dx = δ(n) ortogonalità

dove n rappresenta un dato livello di scaling. L’ultima relazione dice che due filtri
passa-basso corrispondenti a due diversi livelli di scaling (e quindi di risoluzione)
non sono sovrapposti (il loro prodotto è nullo). In pratica, dopo aver esplorato
lo spazio delle frequenze con le daughter wavelets fino alla frequenza più bassa,
rimarrà sempre inesplorata un’ultima porzione di frequenze ancora più basse, fino
alla frequenza zero. Lo scopo della father wavelet è proprio quello di salvaguardare
questa informazione attraverso il fatto che il suo spettro di frequenza è proprio
di tipo passa-basso e quindi in grado di codificare le approssimazioni a più bassa
frequenza del segnale.

Multirisoluzione
Supponiamo di aver scelto una campionamento diadico per analizzare il nos-
tro segnale e di procedere al calcolo dei coefficienti, di scaling(low-pass) e di
wavelet(band-pass), corrispondenti alle traslazioni necessarie a coprire tutta l’esten-
sione del segnale. Il segnale potrà quindi essere rappresentato, usando i coefficieni
ottenuti, come:

� J �

f (x) = cJk φJk + djk ψjk (x) (2.18)
k j=1 k

Nella precedente j rappresenta il livello dell’analisi, J l’ultimo livello analizzato,


k tutte le traslazioni necessarie a coprire il segnale per ogni livello j della wavelet.
Quindi: cJk sono i coefficienti di scaling (ricavati dalla father wavelet) corrispon-
denti all’ultima scala J indagata, e djk sono i coefficienti di wavelet (daughter
wavelets) ottenuti alle varie scale j per tutte le traslazioni k. Il primo termine
a destra dell’equazione contiene una somma sulle traslazioni k riferita alla sola
ultima scala (J) indagata: si tratta dei termini legati alla father wavelet che re-
alizzano una approssimazione del segnale alla più bassa risoluzione. Il secondo
termine invece contiene informazione sui dettagli a partire da quelli a più alta
frequenza, estratti dal segnale originale, fino a quelli a frequenze via via minori
Analisi di immagini @ UniSalento (draft) 51

risultanti man mano che si procede verso all’ultimo livello di risoluzione J.

Questo modo di procedere è rappresentato schematicamente nella Figura 2.9 e


prende il nome di “multirisoluzione”. Si tratta di applicare iterativamente i filtri
passa-basso (in figura: h0 ) e passa-banda (h1 ) al segnale originale (livello 0) e,
successivamente, in cascata alle parti dello spettro di bassa frequenza risultanti
dall’applicazione dei filtri al livello precedente.

Figura 2.9: Il segnale X viene filtrato al primo livello 0 con un filtro passa-alto (h1 , wavelet) ed
uno passa-basso (h0 , scaling). Lo spettro di frequenza corrispondente è mostrato in basso con
linea continua. L’analisi prosegue al livello 1 con il segnale di bassa frequenza, risultante dal
livello 0, filtrato dai nuovi h0 ed h1 che lo suddividono in due ulteriori componenti a bassa ed
alta frequenza del livello 1. Iterando il processo si può quindi indagare fino ad un livello finale
J scelto per terminare l’analisi.

Si noti che nella figura, per ogni livello di indagine, la linea a tratto continuo in-
dica le regioni dello spettro di frequenze che sono interessate dal calcolo, mentre
la linea tratteggiata mostra le regioni già indagate ai livelli precedenti.
Adottando uno scaling diadico, l’ampiezza delle regioni di frequenza indagate si
dimezza ogni volta che il processo passa al livello successivo perchè la scala di
wavelet si raddoppia ad ogni passaggio di livello (vedi anche Fig. 2.8). Si noti
che l’uso di uno scaling diadico ha una giustificazione nel teorema del campiona-
mento10 , già incontrato nella sezione 1.4.1 che, in breve, stabilisce che una data
frequenza potrà essere rivelata solo se il campionamento del segnale avviene ad
una frequenza almeno doppia. Diventa quindi naturale che il livello 0 della analisi
10
detto di Nyquist o di Shannon a seconda che ci si riferisca al dominio del segnale o a quello
delle frequenze
52 [Link]

debba partire da una ampiezza di wavelet di almeno 2 campionamenti: [Link]. se


un segnale è campionato ogni secondo, il dettaglio più fine che possiamo estrarre
saranno fluttuazioni con periodo di almeno 2 secondi e quindi di frequenza minore
o uguale a 1/2 s−1 .
Supponiamo allora di analizzare il nostro segnale con una wavelet di Haar che
meglio si presta ad esemplificare. Per estrarre la frequenza più alta sarà necessario
usare al livello 0 una wavelet che si estende su 2 campionamenti adiacenti e viene
shiftata (convoluta) col segnale a salti di 2 campionamenti. Questa operazione
produrrà quindi un numero di coefficienti pari ai passi necessari per esplorare
tutto il segnale con la wavelet di ampiezza data.
La Figura 2.8 aiuta a visualizzare questi passaggi: un segnale formato da N cam-
pioni al livello 0 sara’ coperto da una successione di N/2 wavelets, ognuna che
si estende su due punti, ottenendo quindi N/2 coefficienti. Passando al livello
successivo la wavelet raddoppia la scala (diadica) e si estende ora su 4 punti
cosicchè il segnale sarà coperto da un numero di passi pari ad 1/4 dei punti del
segnale. Iterando la procedura, ad ogni livello rimarrà comunque una parte dello
spettro alle basse frequenze non indagata che viene però recuperata dalla “scaling
function” (anche detta “father wavelet”) che ha proprio lo scopo di raccogliere
l’informazione a tutte le frequenze minori dell’ultima frequenza analizzata con
le wavelet usate. Per questo lo spettro in frequenza di una father wavelet cor-
risponde ad un filtro passa-basso (come si vede in Fig. 2.9).

Adottando la wavelet di Haar per esemplificare i vari livelli dell’analisi abbiamo


lo schema seguente che ha il suo riferimento nelle Figure 2.8 e 2.9:

liv.0 cominciamo con la scala più piccola che corrisponde alla frequenza più al-
ta. Per il teorema del campionamento la scala più piccola deve coinvolgere
almeno 2 punti ed i coefficienti di approssimazione e dettaglio saranno cal-
colati da father and doughter wavelet traslate con una successione di 2
punti fino a coprire il segnale. Si otterranno quindi N/2 coefficienti sia per
l’approssimazione (father, basse frequenze);

liv.1 la scala si raddoppia e la wavelet si estende ora su 4 punti, dimezzando


l’intervallo di frequenze indagato. Con wavelet su 4 punti saranno neces-
sarie N/4 traslazioni per coprire tutto il segnale cosicchè si otterranno N/4
coefficienti sia per l’approssimazione che per il dettaglio;

liv.2 iterando il processo ad ogni ulteriore passo si dimezzano i coefficienti nec-


essari a codificare le nuove frequenze (sempre più basse) indagate.
Analisi di immagini @ UniSalento (draft) 53

Questo è l’essenza dell’approccio detto a multirisoluzione che comunque vale per


qualsiasi altra forma di wavelet.

Il caso delle immagini

Un procedimento come quello appena descritto, sviluppato per un segnale ad


una dimensione, è estensibile alle immagini e permette quindi di separare l’infor-
mazione in frequenza alle varie scale spaziali. Per questo intoduciamo funzioni
di wavelet ψa (x, y) che ora dipendono da due variabili. Con queste si possono
estrarre versioni filtrate alle varie frequenze attraverso la convoluzione dell’im-
magine di partenza, sempre usando le proprietà di scaling e traslazione delle
wavelets, e quindi estendendo il concetto del “filter bank” al caso delle 2 dimen-
sioni.

Per gli stessi motivi visti nel caso 1D, è conveniente usare una suddivisione diad-
ica delle scale di wavelet cosı̀ da dimezzare il numero di coefficienti che, ad ogni
cambio di scala, vengono calcolati per ognuna delle 2 dimensioni. La wavelet di
Haar è rappresentata nei due casi 1D e 2D in Figura 2.10, dove notiamo facil-
mente che il prodotto tra mother e father wavelets rimane sempre nullo, rendendo
questa wavelet adatta a costituire una base ortonormale anche nel caso 2D.

Infatti, se applichiamo la convoluzione diadica ad un’immagine con dimensioni


NxN otterremo N2 /4 coefficienti in corrispondenza degli N/2 passi di 2 pixel nec-
essari per indagare lungo un’intera riga e degli altri N/2 passi di 2 pixel necessari
per passare da una coppia di righe alla successiva. Un meccanismo di questo tipo
produrrà un numero di valori pari ad 1/4 dei pixel di partenza ogni volta che
procediamo al livello successivo nell’analisi di una immagine. Una volta ottenuti
gli N2 /4 valori filtrati alle varie frequenze indagate dalle wavelet al livello 0, è
naturale rappresentarli in forma di una nuova immagine costituita dallo stesso
numero di pixel, ma questa volta suddivisa in 4 quadranti, ognuno dei quali cor-
rispondente ad una delle wavelet con cui è stata filtrata l’immagine.

Un modo per illustrare questo approccio è di usare una immagine standard, nota
come immagine di Lena e mostrata in Figura 2.11, per rappresentare visivamente
come avviene la suddivisione delle frequenze.
Questo procedimento porta quindi a separare le varie frequenze che compongono
un’immagine utilizzando una rappresentazione che riorganizza l’informazione sud-
dividendola in una serie di sottoimmagini costruite attraverso una sequenza or-
54 [Link]

Figura 2.10: La wavelet di Haar nella sua forma 1D (a sinistra) e 2D (a destra). Le funzioni φ
e ψ indicano father e mother wavelets Le altezze delle varie funzioni sono scalate in modo da
rispettare le prescrizioni su media (=0) e norma (=1).

dinata di passi.

Cominciando l’analisi dalle frequenze più alte e assumendo per semplicità che
l’immagine sia quadrata (N pixel x N pixel) fissiamo a 2 x 2 le dimensioni del-
la wavelet che analizza le frequenze più alte nell’immagine. Tenendo conto che
adottiamo le wavelets di Haar (Figura 2.10) verranno calcolate separatamente le
frequenze lungo le righe, le colonne, e lungo la diagonale della Figura 2.11.

Si otterranno quindi sia i coefficienti a bassa frequenza (anche detti “approssi-


mazione”) dell’immagine, sia quelli ad alta frequenza (detti “dettagli”) lungo
righe, colonne, diagonale. Notiamo che la scelta di usare wavelet di dimensione
2x2 pixel, alla fine della procedura ci farà calcolare per ogni wavelet N/2 x N/2
valori su tutta l’immagine in modo tale che, per ogni wavelet, basteranno 1/4
dei pixel originali per rappresentare i coefficienti. In questo modo vengono gen-
erate tutte le sottoimmagini che in Figura 2.12 vengono indicate con due lettere
il cui significato è riferito a righe e colonne indicando che: LL sono rappresen-
tati i coefficienti alle basse frequenze calcolati dalla φ (father wavelet), LH ed
Analisi di immagini @ UniSalento (draft) 55

Figura 2.11: Immagine di Lena, un’immagine di test largamente usata come riferimento per
illustrare e confrontare gli effetti delle diverse tecniche di analisi sviluppate.

HL mostrano le alte frequenze emergenti dalla scansione rispettivamente lun-


go le colonne e lungo le righe, HH infine sono le componenti ad alta frequenza
estratte dall’ultima wavelet 2D in Figura 2.10. La Figura 2.12 mostra come le
varie componenti dell’immagine si possono organizzare a formare un’immagine di
uguale dimensione ma che mostra ben separate le varie componenti in frequenza.
È intuitivo che una volta ottenuta questa scomposizione si potrà lavorare su una
specifica componente alla ricerca di particolari dettagli interessanti ai fini della
specifica tematica affrontata.
56 [Link]

Figura 2.12: Decomposizione a diversi livelli di risoluzione di un’immagine. Il primo passo è


illustrato in alto a sinistra con la coppia di lettere LL (Low-Low) per indicare che sia le righe
che le colonne contengono l’informazione a bassa frequenza al livello 0. Si noti che, per effetto
dello scaling diadico, il numero di punti in cui la componente di bassa frequenza è stata valutata
è dimezzato sia in X che in Y e quindi per rappresentare la bassa frequenza basterà usare 1/4
dell’area dell’immagine di partenza. Lo stesso vale per le altre 3 parti che rappresentano i
coefficienti delle alte frequenza ottenuti analizzando le sole righe (HL), le sole colonne (LH),
sia righe che colonne (HH). Lo schema di suddivisione è poi replicato sul livello 1 (in alto a
destra) e 2 (in basso a destra). L’ultimo riquadro in basso a sinistra mostra il risultato finale
sull’immagine 2.11.

Potrebbero piacerti anche