Cap Wavelets
Cap Wavelets
Trasformata di Wavelet
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.
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]
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.
1
una traduzione italiana potrebbe essere “piccole onde, ondine” ma è ormai uso comune
lasciare il termine invariato.
Analisi di immagini @ UniSalento (draft) 37
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.
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
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.
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) .
� +∞
|Ψ(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 �
−∞
La figura 2.6 mostra alcuni esempi tra le wavelet più usate, la cui espressione
analitica è data da:
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.
� +∞
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
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.
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.
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.
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 .
- 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;
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.
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]
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
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]
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
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]
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);
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.
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.
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.