cosè una wavelet applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet...

31

Upload: others

Post on 26-Mar-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano
Page 2: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

• Cos’è una wavelet?

• Applicazioni della trasformata wavelet

• Analisi multirisoluzione

Page 3: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

Tre tecniche:

• Piramidi di immagine

• Trasformata di Haar

• Codifica per sottobande

Page 4: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

Il numero totale di pixel nel caso di una piramide di (𝑃 + 1) livelli è:

𝑁2 1 +1

(4)1+

1

(4)2+ ⋯+

1

(4)𝑃

Usate in coppia: - Piramide di approssimazione - Piramide residua di predilezione

Page 5: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

• L‘immagine viene decomposta in un insieme di componenti, di banda limitata (sottobande).

• La scomposizione viene attuata in modo tale che le sottobande possano poi essere riassemblate per ricostruire l’immagine originale senza errori.

• La scomposizione e la ricostruzione vengono realizzate attraverso

l’uso di filtri digitali

Page 6: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

• Tre componenti principali: ritardi unitari, moltiplicatori e sommatori

• Le K costanti moltiplicative sono dette coefficienti del filtro

• Ogni coefficiente definisce uno dei tap del filtro.

𝑓 𝑛 = 𝑕 𝑘 𝑓(𝑛 − 𝑘)

𝑘= −∞

Page 7: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

Impulso discreto unitario

𝑓 𝑛 = 𝑕 𝑘 𝛿(𝑛 − 𝑘)

𝑘= −∞

= 𝑕(𝑛)

Risposta all’impulso finito (FIR)

Un filtro è completamente descritto fornendo il suo FIR

Page 8: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

• Due banchi di filtri

• Banda dettaglio (𝑓ℎ𝑝(𝑛)) e banda di approssimazione (𝑓𝑙𝑝(𝑛))

• Filtri di ricostruzione perfetti

Page 9: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

Per ottenere la perfetta ricostruzione, i filtri di analisi e sintesi devono essere legati in uno dei seguenti modi:

𝑔0 𝑛 = −1 𝑛𝑕1 𝑛

𝑔1 𝑛 = −1 𝑛+1𝑕0 𝑛

oppure

𝑔0 𝑛 = −1 𝑛+1𝑕1 𝑛

𝑔1 𝑛 = −1 𝑛𝑕0 𝑛

Quattro filtri di Daubechies correlati

Page 10: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

• Questi filtri godono della proprietà di biortogonalità. • Di notevole importanza sono anche i banchi di filtri ortonormali. Filtri 1-D che godono di entrambe queste proprietà possono essere usati come filtri separabili 2-D per l’elaborazione delle immagini.

Page 11: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

Nella figura successiva viene mostrata quella che più avanti chiameremo Trasformata Discreta Wavelet (WDT)

Ma prima… un po’ di matematica!!

Page 12: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

L’analisi multirisoluzione (MRA, Multi Resolution Analysis) è una branca della matematica che prevede l’uso di una funzione di scala per creare una serie di approssimazioni di una funzione/immagine (differenti per un fattore 2) e funzioni, dette wavelet, per codificare la differenza di informazione tra approssimazioni adiacenti.

In genere: • le funzioni di scaling sono indicate con il simbolo 𝜑 • le funzioni wavelet sono indicate con il simbolo 𝜓

Page 13: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

Sia 𝜑 𝑥 𝜖 𝐿2 ℝ

Definiamo *𝜑𝑗,𝑘 𝑥 + dove 𝜑𝑗,𝑘 𝑥 = 2𝑗/2𝜑 2𝑗𝑥 − 𝑘

Definiamo 𝑉𝑗 = 𝑆𝑝𝑎𝑛𝑘*𝜑𝑗,𝑘(𝑥)+

Se 𝑓 𝑥 𝜖 𝑉𝑗 allora 𝑓 2𝑥 𝜖 𝑉𝑗+1

Le funzioni di scaling devono obbedire a 4 requisiti principali: 1. La funzione di scaling deve essere ortogonale rispetto alle

sue traslazioni intere. 2. I sottospazi descritti da funzioni di scaling a scale più basse

vengono annidati all’interno di quelli a scale più alte.

Page 14: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

3. La sola funzione comune a tutti i sottospazi è 𝑓 𝑥 = 0: 𝑉−∞= *0+ 4. Ogni funzione può essere rappresentata con precisione

arbitraria: 𝑉∞ = *𝐿2 ℝ +

𝑉−∞ ⊂ ⋯ ⊂ 𝑉−1 ⊂ 𝑉0 ⊂ 𝑉1 ⊂ ⋯ ⊂ 𝑉∞

Page 15: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

Le funzioni di espansione del sottospazio 𝑉𝑗 possono

essere espresse come somma pesata delle funzioni di espansione del sottospazio 𝑉𝑗+1:

𝜑𝑗,𝑘 𝑥 = 𝛼𝑛 𝜑𝑗+1,𝑛(𝑥)

𝑛

Da cui:

𝜑𝑗,𝑘 𝑥 = 𝑕𝜑(𝑛) 2𝑗+1 2 𝜑(2𝑗+1𝑥 − 𝑛)

𝑛

Questa equazione è fondamentale per l’analisi multirisoluzione!

Le funzioni di espansione di ogni sottospazio possono essere costruite da copie di se stesse a risoluzione doppia, cioè dalle funzioni di espansione del successivo spazio a risoluzione più alta.

Page 16: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

Consideriamo:

𝜑𝑘 𝑥 = 1 0 ≤ 𝑥 < 10 𝑎𝑙𝑡𝑟𝑖𝑚𝑒𝑛𝑡𝑖

Ricordiamo:

𝜑𝑗,𝑘 𝑥 = 2𝑗/2𝜑 2𝑗𝑥 − 𝑘

𝑕𝜑 0 = 𝑕𝜑 1 = 1

2

Infatti: 𝜑 𝑥 =

= 1

2. 𝜑1,0 𝑥 +

1

2. 𝜑1,1 𝑥

Page 17: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

Definiamo 𝜓𝑗,𝑘 𝑥 , dove 𝜓𝑗,𝑘 𝑥 = 2𝑗/2𝜓 2𝑗𝑥 − 𝑘

Definiamo 𝑊𝑗 = 𝑆𝑝𝑎𝑛𝑘*𝜓𝑗,𝑘(𝑥)+

I sottospazi delle funzioni di scaling e wavelet sono legati da 𝑉𝑗+1 = 𝑉𝑗 ⊕ 𝑊𝑗

Una funzione wavelet 𝜓(𝑥) insieme alle sue traslazioni e riduzioni di

scala binarie, ricopre la differenza fra due sottospazi di scaling

adiacenti 𝑉𝑗 e 𝑉𝑗+1.

Tutti i membri di 𝑉𝑗 sono

ortogonali rispetto a quelli di 𝑊𝑗

Page 18: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

Risulta immediato: 𝐿2 ℝ = 𝑉0 ⊕ 𝑊0 ⊕ 𝑊1 ⊕ ⋯

oppure 𝐿2 ℝ = 𝑉1 ⊕ 𝑊1 ⊕ 𝑊2 ⊕ ⋯

o anche

𝐿2 ℝ = ⋯ ⊕ 𝑊−1 ⊕ 𝑊0 ⊕ 𝑊1 ⊕ ⋯

Queste equazioni possono essere generalizzate in 𝐿2 ℝ = 𝑉𝑗0 ⊕ 𝑊𝑗0 ⊕ 𝑊𝑗0+1 ⊕ ⋯

dove 𝑗0 prende il nome di scala iniziale.

Page 19: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

𝜓𝑗,𝑘 𝑥 = 𝑕𝜓(𝑛) 2𝑗+1 2 𝜑(2𝑗+1𝑥 − 𝑛)

𝑛

Si può dimostrare che i coefficienti delle funzioni di scaling e wavelet sono legati dalla seguente relazione:

𝑕𝜓 𝑛 = (−1)𝑛𝑕𝜑(1 − 𝑛)

Gli spazi wavelet risiedano all’interno di spazi ricoperti dalle funzioni di scaling a più alta risoluzione, ciò significa che ogni funzione wavelet, così come avveniva per la sua controparte funzione di scaling, può essere espressa come somma di funzioni di scaling traslate a risoluzione doppia.

Page 20: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

A partire dai coefficienti delle funzioni di scaling dell’esempio precedente, possiamo calcolare i coefficienti delle funzioni wavelet:

𝑕𝜓 0 = 1 2

𝑕𝜓 1 = −1 2

È facile ottenere la funzione wavelet corrispondente:

𝜓 𝑥 = 1 0 ≤ 𝑥 < 0.5

−1 0.5 ≤ 𝑥 < 10 𝑎𝑙𝑡𝑟𝑖𝑚𝑒𝑛𝑡𝑖

Page 21: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

Esistono 3 trasformate wavelet 1D:

Espansione in serie wavelet

Trasformata wavelet discreta

Trasformata wavelet continua

Page 22: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

Ricordiamo che: 𝐿2 ℝ = 𝑉𝑗0 ⊕ 𝑊𝑗0 ⊕ 𝑊𝑗0+1 ⊕ ⋯

e anche:

𝑔 𝑥 𝜖 𝑉𝑗0 ⟹ 𝑔 𝑥 = 𝛼𝑘

𝑘

𝜑𝑗0,𝑘(𝑥)

𝑔 𝑥 𝜖 𝑊𝑗0 ⟹ 𝑔 𝑥 = 𝛼𝑘

𝑘

𝜓𝑗0,𝑘(𝑥)

Una funzione 𝑓 𝑥 può essere rappresentata da un’espansione della funzione di scaling 𝜑 𝑥 nel sottospazio 𝑉𝑗0 e da un certo numero di espansioni della funzione wavelet

𝜓 𝑥 nei sottospazi 𝑊𝑗0 ,𝑊𝑗0+1 … dove 𝑗0 indica una scala iniziale arbitraria:

𝑓 𝑥 = 𝑐𝑗0 𝑘

𝑘

𝜑𝑗0,𝑘 𝑥 + 𝑑𝑗 𝑘 𝜓𝑗,𝑘 𝑥

𝑘

𝑗= 𝑗0

𝑐𝑗0 (coefficienti di approssimazione)

𝑐𝑗0 𝑘 = 𝑓 𝑥 , 𝜑𝑗0,𝑘 𝑥 = 𝑓 𝑥 𝜑𝑗0,𝑘 𝑥 𝑑𝑥

𝑑𝑗 (coefficienti di dettaglio)

𝑑𝑗 𝑘 = 𝑓 𝑥 ,𝜓𝑗,𝑘 𝑥 = 𝑓 𝑥 𝜓𝑗,𝑘 𝑥 𝑑𝑥

Page 23: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

Se la funzione da espandere è discreta (ovvero una sequenza di numeri, come un’immagine) i coefficienti che ne risultano sono detti trasformata wavelet discreta.

𝑊𝜑 𝑗0, 𝑘 = 1

𝑀 𝑓(𝑛)𝜑𝑗0,𝑘 𝑛

𝑛

𝑊𝜓 𝑗0, 𝑘 = 1

𝑀 𝑓(𝑛)𝜓𝑗,𝑘 𝑛

𝑛

𝑝𝑒𝑟 𝑗 ≥ 𝑗0

I valori di 𝜑𝑗0,𝑘 𝑛 e 𝜓𝑗,𝑘 𝑛 usati in queste equazioni sono versioni campionate delle

funzioni di base estraendo 𝑀 campioni ugualmente spaziati all’interno del supporto delle funzioni di base.

𝑓 𝑛 = 1

𝑀 𝑊𝜑 𝑗0, 𝑘 𝜑𝑗0,𝑘 𝑛

𝑘

+ 1

𝑀 𝑊𝜓 𝑗, 𝑘 𝜓𝑗,𝑘 𝑛

𝑘

𝑗=𝑗0

Varianti:

trasformata wavelet veloce (FWT, Fast Wavelet Transform).

trasformata wavelet continua (CWT, Continuous Wavelet Transform)

Con l’espansione in serie wavelet, una funzione continua viene associata ad una sequenza di coefficienti che ne rappresentano la trasformata.

Page 24: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

Nel caso bidimensionale è necessario usare una funzione di scaling bidimensionale 𝜑 𝑥, 𝑦 e tre wavelet bidimensionali 𝜓𝐻 𝑥, 𝑦 , 𝜓𝑉 𝑥, 𝑦 e 𝜓𝐷 𝑥, 𝑦 ottenute come prodotto di due funzioni unidimensionali:

𝜑 𝑥, 𝑦 = 𝜑 𝑥 𝜑 𝑦

𝜓𝐻 𝑥, 𝑦 = 𝜓(𝑥)𝜑(𝑦) 𝜓𝑉 𝑥, 𝑦 = 𝜑 𝑥 𝜓 𝑦 𝜓𝐷 𝑥, 𝑦 = 𝜓(𝑥)𝜓(𝑦)

Definiamo le funzioni di base:

𝜑𝑗,𝑚,𝑛 𝑥, 𝑦 = 2𝑗/2𝜑 2𝑗𝑥 − 𝑚, 2𝑗𝑦 − 𝑛

𝜓𝑖𝑗,𝑚,𝑛

𝑥, 𝑦 = 2𝑗/2𝜓𝑖 2𝑗𝑥 − 𝑚, 2𝑗𝑦 − 𝑛 𝑖 ∈ *𝐻, 𝑉, 𝐷+

Trasformata wavelet discreta dell’immagine 𝑓(𝑥, 𝑦) di dimensioni 𝑀 × 𝑁 :

𝑊𝜑 𝑗0, 𝑚, 𝑛 = 1

𝑀𝑁 𝑓(𝑥, 𝑦)𝜑𝑗0,𝑚,𝑛 𝑥, 𝑦

𝑁−1

𝑦=0

𝑀−1

𝑥=0

𝑊𝜓𝑖 𝑗,𝑚, 𝑛 =

1

𝑀𝑁 𝑓(𝑥, 𝑦)𝜓𝑗,𝑚,𝑛

𝑖 𝑥, 𝑦

𝑁−1

𝑦=0

𝑀−1

𝑥=0

𝑖 ∈ *𝐻, 𝑉, 𝐷+

Antitrasformata:

𝑓 𝑥, 𝑦 = 1

𝑀𝑁 𝑊𝜑 𝑗0, 𝑚, 𝑛 𝜑𝑗0 ,𝑚,𝑛 𝑥, 𝑦

𝑛𝑚

+ 1

𝑀𝑁 𝑊𝜓

𝐻 𝑗,𝑚, 𝑛 𝜓𝑗,𝑚,𝑛𝐻 𝑥, 𝑦

𝑛𝑚

𝑗=𝑗0 𝑖=𝐻,𝑉,𝐷

Page 25: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

Usando funzioni wavelet e scaling bidimensionali, la FWT in due dimensioni può essere calcolata semplicemente prendendo la FWT 1-D delle righe di 𝑓(𝑥, 𝑦) seguita dalla FWT 1-D delle colonne che ne risultano:

Page 26: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano
Page 27: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

La trasformata wavelet discreta (DWT) trova impiego nella compressione JPEG2000 al posto della trasformata discreta del coseno (DCT) usata nel JPEG.

L’uso di questa trasformata permette di operare sull’intera immagine piuttosto che su quadrettoni 8x8, evita quindi il tipico difetto della ‘quadrettatura’.

La DWT può essere sia reversibile (codifica lossless) che irreversibile (codifica lossy).

In JPEG2000 viene usata una trasformazione irreversibile basata sul filtro di Daubechies 9/7 a valori reali.

JPEG2000 rappresenta lo stato dell’arte per la compressione distruttiva e non distruttiva delle immagini, con un risparmio di spazio, a parità di qualità, rispetto allo standard JPEG, che parte da un +20-30%.

Page 28: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

La trasformata wavelet può essere utilizzata come edge detector, al fine di evidenziare gli edge degli oggetti rappresentati in un’immagine

Page 29: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano

Procedura:

Passo 1

Si sceglie una wavelet e un numero di livelli per la scomposizione e si calcola la FWT dell’immagine affetta da rumore.

Passo 2

Si esegue un’operazione di sogliatura (Hard o Soft) sui coefficienti di dettaglio delle scale inferiori (blocchi più grandi).

Passo 3

Si calcola la trasformata wavelet inversa utilizzando i coefficienti di approssimazione inalterati di scala più bassa e quelli di dettaglio modificati di tutte le altre scale.

Page 30: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano
Page 31: Cosè una wavelet Applicazioni della trasformata wavelet ... 4 - codifica wavelet.pdf · wavelet sono legati dalla seguente relazione: 𝜓 =(−1) 𝜑(1− ) Gli spazi wavelet risiedano