Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
โข Cosโรจ una wavelet?
โข Applicazioni della trasformata wavelet
โข Analisi multirisoluzione
Tre tecniche:
โข Piramidi di immagine
โข Trasformata di Haar
โข Codifica per sottobande
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
โข 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
โข 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.
๐ ๐ = ๐ ๐ ๐(๐ โ ๐)
โ
๐= โโ
Impulso discreto unitario
๐ ๐ = ๐ ๐ ๐ฟ(๐ โ ๐)
โ
๐= โโ
= ๐(๐)
Risposta allโimpulso finito (FIR)
Un filtro รจ completamente descritto fornendo il suo FIR
โข Due banchi di filtri
โข Banda dettaglio (๐โ๐(๐)) e banda di approssimazione (๐๐๐(๐))
โข Filtri di ricostruzione perfetti
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
โข 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.
Nella figura successiva viene mostrata quella che piรน avanti chiameremo Trasformata Discreta Wavelet (WDT)
Ma primaโฆ un poโ di matematica!!
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 ๐
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.
3. La sola funzione comune a tutti i sottospazi รจ ๐ ๐ฅ = 0: ๐โโ= *0+ 4. Ogni funzione puรฒ essere rappresentata con precisione
arbitraria: ๐โ = *๐ฟ2 โ +
๐โโ โ โฏ โ ๐โ1 โ ๐0 โ ๐1 โ โฏ โ ๐โ
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.
Consideriamo:
๐๐ ๐ฅ = 1 0 โค ๐ฅ < 10 ๐๐๐ก๐๐๐๐๐๐ก๐
Ricordiamo:
๐๐,๐ ๐ฅ = 2๐/2๐ 2๐๐ฅ โ ๐
๐๐ 0 = ๐๐ 1 = 1
2
Infatti: ๐ ๐ฅ =
= 1
2. ๐1,0 ๐ฅ +
1
2. ๐1,1 ๐ฅ
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 ๐๐
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.
๐๐,๐ ๐ฅ = ๐๐(๐) 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.
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 ๐๐๐ก๐๐๐๐๐๐ก๐
Esistono 3 trasformate wavelet 1D:
Espansione in serie wavelet
Trasformata wavelet discreta
Trasformata wavelet continua
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)
๐๐ ๐ = ๐ ๐ฅ ,๐๐,๐ ๐ฅ = ๐ ๐ฅ ๐๐,๐ ๐ฅ ๐๐ฅ
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.
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 ๐=๐ป,๐,๐ท
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:
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%.
La trasformata wavelet puรฒ essere utilizzata come edge detector, al fine di evidenziare gli edge degli oggetti rappresentati in unโimmagine
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.