Universit`a di Pisa
Transcript
Universit`a di Pisa
Università di Pisa Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Matematica Anno Accademico 2005/2006 Elaborato finale METODI DI REGOLARIZZAZIONE WAVELET PER IL DEBLURRING DI IMMAGINI Candidato Giuseppe Ottaviano Relatore Prof. Dario Bini Indice 1 Introduzione 1.1 Il problema del deblurring 1.2 Il modello . . . . . . . . . 1.3 Malcondinzionamento . . 1.4 Regolarizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 2 3 2 Wavelet ortonormali e analisi multirisoluzione 2.1 Analisi tempo-frequenza, serie di Fourier e wavelet 2.2 La wavelet di Haar . . . . . . . . . . . . . . . . . . 2.3 Analisi multirisoluzione di L2 . . . . . . . . . . . . 2.3.1 Definizione e proprietà . . . . . . . . . . . . 2.3.2 Costruzione della base wavelet . . . . . . . 2.4 La Trasformata Wavelet Discreta . . . . . . . . . . 2.5 Wavelet ortonormali a supporto compatto . . . . . 2.6 Wavelet e immagini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 7 8 8 9 12 13 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Regolarizzazione con vincoli di sparsità in una base le 3.1 Vincoli non-quadratici . . . . . . . . . . . . . . . . . 3.2 Un algoritmo iterativo . . . . . . . . . . . . . . . . . 3.2.1 Funzionali surrogati . . . . . . . . . . . . . . 3.2.2 Minimizzazione dei funzionali surrogati . . . 3.2.3 Convergenza del metodo . . . . . . . . . . . . 3.2.4 Stabilità . . . . . . . . . . . . . . . . . . . . . 3.2.5 Sviluppi . . . . . . . . . . . . . . . . . . . . . ortonorma. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 17 18 18 19 21 23 24 A Implementazione del metodo e risultati sperimentali A.1 Caso finito . . . . . . . . . . . . . . . . . . . . . . . . . A.1.1 Condizioni al contorno . . . . . . . . . . . . . . A.1.2 Complessità della Fast Wavelet Transform . . . A.1.3 Complessità del metodo . . . . . . . . . . . . . A.2 Implementazione in Matlab . . . . . . . . . . . . . . . A.2.1 Sfocatura e rumore . . . . . . . . . . . . . . . . A.2.2 Implementazione dell’algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 25 25 26 27 27 28 28 Bibliografia 31 i Notazioni H L2 (V ) f, g K Ff , fˆ (ϕγ )γ∈Γ φ ψ DWT ∆(f ) SUR Φw,p , Φw,p Sw,p Sw,p T f = Θ(g(n)), f ∈ Θ(g(n)) Spazio di Hilbert dotato del prodotto scalare h·, ·i e della sua norma indotta k · k Spazio delle funzioni V −→ C con modulo quadrato integrabile quozientate per le funzioni nulle quasi ovunque Elementi di H Endomorfismo di H Trasformata di Fourier R normalizzata di f : (Ff )(ξ) = fˆ(ξ) = √12π R f (t)e−iξt dt Base ortonormale di H Funzione di scaling di un’analisi multirisoluzione Wavelet madre Trasformata wavelet discreta Discrepanza dall’immagine osservata g: kf − Kgk Funzionali H −→ R Funzione di restringimento Operatore di restringimento Operatore di iterazione f e g sono asintoticamente equivalenti, cioè (n) limn→∞ fg(n) = c con 0 < c < ∞ iii Capitolo 1 Introduzione 1.1 Il problema del deblurring In molte situazioni ci si trova a lavorare con immagini sfocate o mosse, di cui non è possibile ottenere versioni più dettagliate. Le motivazioni possono essere molteplici: ad esempio, se l’immagine riprende un evento non riproducibile. Altro caso, per errori di progettazione della strumentazione: un caso celebre è quello del telescopio Hubble, mandato in orbita con un disegno dello specchio sbagliato. Finché l’errore non è stato corretto, le immagini sono state fruibili solo grazie agli algoritmi di deblurring, alcuni dei quali creati appositamente (si veda [1]). Spesso è addirittura intrinsecamente impossibile ottenere immagini più dettagliate per limiti tecnologici o fisici: è il caso delle strumentazioni mediche quali la TAC, in cui diffrazioni e interferenze rendono l’immagine inutilizzabile senza un’adeguata elaborazione. 1.2 Il modello Per risolvere il problema, bisogna innanzitutto chiedersi cosa significhi matematicamente “sfocare” un’immagine e, prima ancora, cosa sia un’“immagine”. Nel nostro modello, una immagine è un elemento f di uno spazio di Hilbert reale H. Nelle applicazioni, trattandosi di immagini digitali, H è sempre Rm×n , dove m e n sono rispettivamente la risoluzione orizzontale e verticale dell’immagine (m × n è il numero totale di pixel). Una sfocatura (o blurring) è un operatore lineare limitato K : H −→ H Un’immagine osservata è quindi l’immagine g da cui vogliamo ricostruire un’approssimazione di f . Idealmente, sarebbe g = Kf ma purtroppo è praticamente impossibile misurare g senza incorrere in errori numerici (tra cui quelli di troncamento, il rumore del sensore, etc. . . ), quindi si assume che l’immagine osservata g sia g = Kf + η 1 2 Introduzione dove η è la componente del rumore. η si può modellare come rumore gaussiano (bianco) o poissoniano, a seconda delle applicazioni, ed esistono algoritmi statistici in letteratura che tengono conto di questa informazione con metodi bayesiani o di massima verosomiglianza (si veda ad esempio [11]). Nel seguito η sarà solo una correzione di norma piccola. Perché ha senso assumere che K sia lineare? Nel nostro modello supponiamo che l’immagine reale sia planare e che non ci siano abberrazioni ottiche, cosı̀ che la sfocatura è invariante per traslazioni. L’idea è che ogni punto di Kf è la media pesata del punto corrispondente in g e dei suoi vicini, con pesi indipendenti dalla sua posizione. Più precisamente, Kf è la convoluzione di f con un altro elemento di H, chiamato PSF (Point Spread Function), che misura quanto un punto è influenzato dai suoi vicini, è cioè l’immagine che si ottiene sfocando un punto isolato. Si ha quindi: g = f ∗ P SF + η come illustrato in Figura 1.1. ∗ + = Figura 1.1: Il modello della sfocatura La PSF dipende specificamente dall’applicazione. Nel caso della sfocatura “classica”, cioè provocata da lenti fotografiche non a fuoco, si può modellare come un disco netto, o come una gaussiana, o una sinc, a seconda che ci sia o no diffrazione causata dal diaframma. Nel caso di immagini mosse, sarà simile ad un segmento. Questo modello, chiamato modello lineare, è estremamente semplice, ma sorprendentemente fedele alla realtà, e ci permette quindi di dare soluzioni soddisfacenti ai problemi sopra esposti, grazie ai potenti mezzi messi a disposizione dall’algebra lineare numerica. 1.3 Malcondinzionamento Supponiamo adesso di avere l’immagine osservata g, l’operatore K (o, equivalentemente, la sua PSF) e di voler ricostruire f , o almeno una sua approssimazione. Se K fosse invertibile, si potrebbe essere tentati di invertirlo e valutarlo su g cosı̀ da ottenere f . Non dimentichiamo però che la misurazione è affetta da errore, quindi si ottiene f˜ = K −1 g = K −1 (Kf + η) = f + K −1 η Quanto conta quel termine additivo? Intuitivamente, si può pensare che K −1 “creda” che η sia sfocato, e cerchi di rimetterlo a fuoco. Il rumore è però nitido 1.4 Regolarizzazione 3 e ricco di alte frequenze, e viene quindi amplificato enormemente, dominando completamente l’immagine (K −1 η viene chiamato rumore invertito). Questo ragionamento euristico si può formalizzare notando che K è una convoluzione, quindi viene diagonalizzato dalla base di Fourier, e opera come un filtro sulle alte frequenze, cioè i suoi autovalori saranno prossimi ad 1 sulle basse frequenze e a 0 su quelle alte. K è quindi un operatore malcondizionato. Anche quando K non è invertibile, percorrere strade come la soluzione di f˜ = argmin ∆(f ) (1.3.1) f ∈H dove ∆(f ) = kg − Kf k2 è detta la discrepanza, porta a problemi come quello sopra esposto, e quindi non danno risultati soddisfacenti. Ad esempio il metodo di Landweber, un metodo iterativo classico, converge verso il minimo del funzionale definito in (1.3.1). Quasi sempre, però, il risultato è dominato dal rumore invertito, come testimonia la Figura 1.2. L’immagine è nitida, ma praticamente illegibile a causa del rumore. Figura 1.2: L’immagine in Figura 1.1 dopo 1000 iterazioni del metodo di Landweber non regolarizzato 1.4 Regolarizzazione Regolarizzare la soluzione vuol dire imporre dei vincoli suggeriti da una conoscenza a priori dell’immagine f . Cioè, imporre che K f˜ sia vicina a g, ed inoltre che f˜ sia “bella”, dove la definizione di bellezza ci è data dalla conoscenza a priori che abbiamo sull’immagine. Per esempio, potremmo stabilire che un’immagine è bella se è continua o regolare, o è di norma o variazione limitata. Un metodo classico è la regolarizzazione alla Tikhonov, che consiste nella minimizzazione f˜ = argmin ∆(f ) + α2 kf k2 f ∈H (1.4.1) 4 Introduzione In questo caso, si sa a priori che il rumore invertito aumenta la norma della soluzione, e quindi si aggiunge un fattore che penalizza le soluzioni di norma troppo grande, secondo un parametro di regolarizzazione α. Altri metodi privilegiano continuità e regolarità delle soluzioni e quindi aggiungono termini come la variazione totale al funzionale (1.3.1). Questi metodi riescono effettivamente a ridurre il rumore, ma introducono altri artefatti come effetto Gibbs (che si manifesta come ringing, cioè presenza di aloni nei pressi delle discontinuità) e mancanza di dettaglio, come in Figura 1.3. Per una presentazione generale sui problemi inversi nell’elaborazione delle immagini si veda [3]. Figura 1.3: L’immagine in Figura 1.1 dopo 1000 iterazioni del metodo di Landweber con regolarizzazione alla Tikhonov con parametro α2 = 0.05 Il metodo che verrà esposto cerca di dare una soluzione ai problemi sopra citati, ed è motivato dall’osservazione empirica che le immagini fotografiche hanno una rappresentazione “sparsa”, cioè con molti coefficienti prossimi a zero, in alcune particolari basi di H, chiamate basi wavelet, motivo per cui queste basi vengono adoperate con successo nella compressione delle immagini (e in numerose altre applicazioni, si veda ad esempio [16]. Per noi, quindi, una immagine sarà bella nel caso abbia una rappresentazione sparsa in queste basi. Capitolo 2 Wavelet ortonormali e analisi multirisoluzione 2.1 Analisi tempo-frequenza, serie di Fourier e wavelet In elaborazione dei segnali un segnale è visto come una funzione f in un qualche spazio di Hilbert, solitamente L2 (Rn ). Un segnale viene elaborato in tre passi: analisi, elaborazione e sintesi. Nell’analisi, il segnale viene decomposto in una successione di coefficienti; nell’elaborazione, i coefficienti vengono modificati; nella sintesi dai nuovi coefficienti si ricostruisce un nuovo segnale. Nel linguaggio matematico, data una famiglia (ϕγ )γ∈Γ (spesso ortonormale), P l’analisi consiste nel trovare una successione di coefficienti aγ tali che γ∈Γ ak ϕγ approssima (possibilmente eguaglia) f , l’elaborazione è un operatore che agisce P sugli ak e la sintesi è la serie γ∈Γ ãk ϕγ , cioè il segnale ottenuto dai coefficienti elaborati. Questo procedimento è motivato dal fatto che un segnale si può pensare come la sovrapposizione di più segnali elementari. Un brano musicale è la sovrapposizione di note di strumenti musicali, un’immagine è la sovrapposizione dei riflessi dei raggi di luce che colpiscono gli oggetti. Storicamente ha avuto un ruolo fondamentale l’analisi di Fourier: un segnale viene decomposto in una somma di seni e coseni. Nell’elaborazione dei segnali tradizionale, quest’analisi è più che soddisfacente: i filtri analogici (ad esempio passa-basso, passa-banda, etc. . . ) sono convoluzioni, diagonalizzate quindi dalla base di Fourier. Le loro controparti discrete non sono altro che operatori che agiscono coefficiente per coefficiente nel “dominio delle frequenze”, cioè nella base di Fourier. In tempi recenti ci si è però resi conto che l’analisi di Fourier, al di fuori delle elaborazioni puramente frequenziali, non è adeguata. Il difetto più grande è la mancanza di località spaziale: variazioni locali in un segnale provocano variazioni globali nella sua trasformata. Per questo, nelle applicazioni il segnale è usualmente diviso in piccoli pezzi (ad esempio nel JPEG la trasformata dei coseni è applicata a blocchi di 8x8 pixel), producendo però artefatti nei punti di incollamento dei pezzi e perdendo informazioni sulla struttura del segnale visto 5 6 Wavelet ortonormali e analisi multirisoluzione in pezzi più grandi (in una immagine analizzata in blocchi 8x8, quali sono le frequenze in un blocco 16x16?). La mancanza di località spaziale è facilmente visualizzabile tramite il piano tempo-frequenza. Come si vede in Figura 2.1, i rettangoli di Heisenberg della base di Fourier occupano tutto lo spazio.1 ξ .. . ξ e20πit/T e18πit/T e16πit/T e14πit/T e12πit/T e10πit/T e8πit/T e6πit/T e4πit/T e2πit/T σt ˆ |f(ξ)| σξ t |f (t)| (a) Il rettangolo di Heisenberg di una funzione è centrato sulla media della funzione e su quella della sua trasformata di Fourier ed ha per lati le rispettive deviazioni standard T t (b) Rettangoli di Heisenberg della base di Fourier sull’intervallo T Figura 2.1: Piani tempo-frequenza Queste considerazioni hanno portato a cercare famiglie di funzioni che fossero localizzate sia in spazio che in frequenza, degli atomi tempo-frequenza. Nei lavori di Gabor, Grossman e Morlet ([12, 13]) sono state introdotte le wavelet, cioè funzioni ψ ∈ L2 (R) tali che Z ψ(t) dt = 0. (2.1.1) R Le famiglie considerate sono le traslate e le scalate di ψ, detta wavelet madre 1 √ ψ a x−b a (2.1.2) (a,b)∈R>0 ×R Queste famiglie, dipendendo da due parametri continui, sono chiaramente molto ridondanti. Per quanto, con opportune assunzioni, sia possibile definire una trasformata wavelet continua invertibile (si veda ad esempio [7]), interessante dal punto di vista teorico, per scopi computazionali siamo costretti a considerare trasformate discrete. Scopo di questo capitolo è mostrare come sia possibile costruire famiglie di wavelet che varino su un reticolo numerabile e che formino una base ortonormale. 1 Sarebbe utile poter disporre di funzioni arbitrariamente localizzate nello spazio e nel tempo. Sfortunatamente il princio di indeterminazione di Heisenberg nega l’esistenza di tali funzioni, asserendo che σt2 σξ2 ≥ 14 . (Per la dimostrazione si veda [16]) 2.2 La wavelet di Haar 2.2 7 La wavelet di Haar φ(x) Un esempio classico è la base di Haar . Si parte dalla funzione, detta wavelet padre o funzione di scaling ( 1 se 0 ≤ t < 1 φ(t) = (2.2.1) 0 altrimenti 1 0 1 x Figura 2.2: La funzione di scaling di Haar A partire da questa, si definiscono le funzioni j φj,k (t) = 2 2 φ(2j t − k) con (j, k) ∈ Z2 ed i sottospazi di L2 (R) Vi = span ((φi,k )k∈Z ). Vi è quindi lo spazio delle funzioni a scala con gradini di ampiezza 2−i e quadrato integrabile. Sia inoltre Wi il complemento ortogonale di Vi in Vi+1 . Si può vedere facilmente che [ L2 (R) = Vi , i∈Z quindi L2 (R) = M Wi . i∈Z Se troviamo basi ortonormali dei Wi , la loro unione sarà una base ortonormale di L2 . Per costruirle, notiamo che φ(t) = φ(2t) + φ(2t − 1) e quindi φ(t − k) = φ(2t − 2k) + φ(2t − 2k − 1) da cui segue che hφ0,k , φ1,l i = 2 1 2 ( 1 2− 2 φ(t − k)φ(2t − l) dt = 0 R Z se l = 2k, 2k + 1 altrimenti (2.2.2) 8 Wavelet ortonormali e analisi multirisoluzione Se f appartiene a W0 appartiene a V1 e quindi X f (t) = ak φ(2t − k), k∈Z inoltre è ortogonale a V0 se e solo se è ortogonale a tutte le φ0,k X 0 = (f (t), φ0,k (t)) = ak (φ(2t − k), φ(t − k)). k∈Z Per la (2.2.2) f appartiene a W0 se e solo se ak + ak+1 = 0, cioè X X f (t) = a2k (φ(2t − 2k) − φ(2t − 2k − 1)) = a2k ψ0,k (t) k∈Z k∈Z dove si è posto ψ0,k (t) = (φ(2t − 2k) − φ(2t − 2k − 1)). Allo stesso modo si può j dimostrare che le (2 2 ψ(2j t − k))k∈Z formano una base ortonormale di Wj , dove ψ è la ψ0,0 appena definita: 1 se 0 ≤ t < 1/2 ψ(t) = −1 se 1/2 ≤ t < 1 0 altrimenti ψ(x) ψ(t) è detta la wavelet di Haar . 1 0 1 2 1 x −1 Figura 2.3: La wavelet di Haar 2.3 2.3.1 Analisi multirisoluzione di L2 Definizione e proprietà La seguente costruzione, ideata da Mallat in [15] ci permette di generalizzare quanto visto con la base di Haar: Definizione 2.3.1 Una analisi multirisoluzione di L2 (Rn ) è una successione crescente di sottospazi lineari chiusi Vj , j ∈ Z di L2 (Rn ): · · · ⊂ V−2 ⊂ V−1 ⊂ V0 ⊂ V1 ⊂ V2 ⊂ . . . che soddisfa le seguenti proprietà: 2.3 Analisi multirisoluzione di L2 9 (i) L’intersezione è banale e l’unione è densa in L2 (Rn ): \ [ Vj = {0}, j∈Z Vj = L2 (Rn ) (2.3.1) j∈Z (ii) Per ogni f ∈ L2 (Rn ) ed ogni j ∈ Z, f (x) ∈ Vj ⇐⇒ f (2x) ∈ Vj+1 (2.3.2) (iii) Per ogni f ∈ L2 (Rn ) ed ogni k ∈ Zn , f (x) ∈ V0 ⇐⇒ f (x − k) ∈ V0 (2.3.3) (iv) Esiste una funzione g(x) ∈ V0 tale che (g(x − k))k∈Zn è una base ortonormale di V0 Enunciamo alcune proprietà delle analisi multirisoluzione: Dalla (ii) segue immediatamente che f (x) ∈ V0 ⇐⇒ f (2j x) ∈ Vj . Da (ii), (iii) e (iv) segue che j (2 2 g(2j x − k))k∈Zn ) è una base ortonormale di Vj . j Definizione 2.3.2 Sia φ(x) = g(x) e φj,k (x) = 2 2 φ(2j x − k). φ è detta funzione di scaling dell’analisi multirisoluzione. È possibile rilassare la condizione (iv) richiedendo che (g(x − k))k∈Zn sia una Base di Riesz , cioè una famiglia di elementi le cui combinazioni lineari finite sono dense in V0 ed esistono due costanti C 0 > C > 0 tali che per ogni successione di scalari α0 , α1 , . . . si ha C X |αk |2 1/2 ≤k X αk ek k ≤ C 0 X |αk |2 1/2 In questo caso la costruzione di φ è più complessa, per i dettagli si veda [18]. Sia f ∈ L2 (Rn ). Un’analisi multirisoluzione ci permette di vedere f a diversi gradi di approssimazione: poiché i sottospazi Vj sono chiusi, è possibile considerare la proiezione ortogonale di f su Vj per diversi j: Definizione 2.3.3 Sia Pj l’operatore di proiezione ortogonale su Vj . Pj f è detta approssimazione di f al livello j. La differenza Pj+1 f − Pj f consiste nel dettaglio perso proiettando da Vj+1 a Vj . La proprietà fondamentale delle analisi multirisoluzione è che è possibile rappresentare questa differenza in una base di wavelet ortonormali. 2.3.2 Costruzione della base wavelet Definendo Wj come il complemento ortogonale di Vj in Vj+1 : Vj+1 = Vj ⊕ Wj segue che, per j < J VJ = Vj ⊕ J M i=j+1 Wi 10 Wavelet ortonormali e analisi multirisoluzione e quindi, come conseguenza di (2.3.1), L2 (Rn ) = M Wj . j∈Z Limitiamoci adesso al caso n = 1. Dimostreremo che esiste una wavelet madre ψ tale che (ψj,k )k∈Z è una base di Wj . Come conseguenza si ottiene che (ψj,k )(j,k)∈Z2 è una base di L2 (R) Osserviamo che (Fψ(2t))(ξ) = 21 ψ̂( 2ξ ). I rettangoli di Heisenberg di (ψj,k )k∈Z si presentano quindi come in Figura 2.4, tassellando il piano tempo-frequenza con rettangoli limitati in entrambe le direzioni. Le ψj,k sono quindi localizzate sia in spazio che in frequenza. .. . ψ1,0 (t) .. . ψ2,3 (t) ψ2,0 (t) .. . ψ2,2 (t) .. . ψ2,1 (t) ξ ψ1,1 (t) ψ0,0 (t) t Figura 2.4: Rettangoli di Heisenberg di una base wavelet ortonormale su un compatto La ψ eredita dall’analisi multirisoluzione la proprietà che ψ(x) ∈ Wj ⇐⇒ ψ(2x) ∈ Wj+1 . Per dimostrare che (ψj,k )k∈Z è una base ortonormale di Wj ci basta quindi porre j ψj,k (x) = 2 2 ψ0,0 (2j x − k) e dimostrare che (ψ0,k )k∈Z è una base ortonormale di W0 . Enunciamo prima il seguente lemma, che caratterizza FV0 , lo spazio delle trasformate di Fourier delle funzioni f ∈ V0 . Lemma 2.3.4 Ogni funzione g ∈ FV0 si può scrivere nella forma g(ξ) = m(ξ)φ̂(ξ), dove m(ξ) appartiene a L2 ([0, 2π]) e Z 2π kgk2 = 2 1/2 |m(ξ)| dξ (2.3.4) 0 cioè l’operatore U : FV0 −→ L2 ([0, 2π]) U(m(ξ)φ̂(ξ)) = m(ξ) è un’isometria. (2.3.5) 2.3 Analisi multirisoluzione di L2 11 Dim. Poichè (φ(x − k))k∈Z genera V0 , si ha che per ogni funzione f ∈ V0 X f (x) = αk φ(x − k) k Applicando la trasformata di Fourier: ! X g(ξ) = −ikξ αk e φ̂(ξ) = m(ξ)φ̂(ξ) k dove g(ξ) è la trasformata di Fourier di f (x). Poichè quindi m(ξ) si scrive in serie di Fourier2 , essa appartiene a L2 ([0, 2π]). Infine !1/2 Z 1/2 2π X kgk2 = kf k2 = |αk | = |m(ξ)|2 dξ 0 k dove la seconda uguaglianza deriva dal fatto che (φ(x − k))k∈Z è ortonormale, per l’identità di Parseval. Teorema 2.3.5 Sia (Vi )i∈Z un’analisi multirisoluzione di L2 (R), φ la sua funzione di scaling e Wi il complemento ortogonale di Vi in Vi+1 . Allora esiste ψ ∈ L2 (R), detta wavelet madre, tale che, definita j ψj,k (t) = 2 2 ψ(2j t − k), (2.3.6) (ψi,k )k∈Z è una base ortonormale di Wi . Inoltre esiste (hk )k∈Z tale che X hk φj+1,k (2.3.7) φj,0 = k∈Z e la ψ soddisfa l’equazione ψj,0 = X gk φj+1,k (2.3.8) k∈Z dove gk = (−1)k−1 h̄−k−1 . Dim. La (2.3.7) è una semplice conseguenza dell’inclusione Vj ⊂ Vj+1 . Per il Lemma 2.3.4 e la (2.3.2) si ha inoltre FV−1 = {m(2ξ)φ̂(2ξ) : m ∈ L2 ([0, 2π])}. Poiché φ(t/2) ∈ V0 , sempre per il lemma precedente esiste una m0 (ξ) tale che φ̂(2ξ) = m0 (ξ)φ̂(ξ), da cui FV−1 = {m(2ξ)m0 (ξ)φ̂(ξ) : m ∈ L2 ([0, 2π])}. Per l’unitarietà di U, per studiare il complemento ortogonale di FV−1 in FV0 determineremo il complemento ortogonale di UFV−1 in UFV0 . Cerchiamo cioè tutte le funzioni di L2 ([0, 2π]) che sono ortogonali a tutte le m(2ξ)m0 (ξ) con m(ξ) ∈ L2 ([0, 2π]). Perché m(ξ) ∈ L2 ([0, 2π]) verifichi questa condizione, si deve avere Z 2π m(2ξ)m0 (ξ)¯l(ξ)dξ = 0 0 per ogni m(ξ), che per la 2π-periodicità di m(ξ) si può scrivere Z π m(2ξ) m0 (ξ)¯l(ξ) + m0 (ξ + π)¯l(ξ + π) dξ = 0 0 2 Per una trattazione approfondita sulle serie di Fourier si veda [20]. 12 Wavelet ortonormali e analisi multirisoluzione che è equivalente a m0 (ξ)¯l(ξ) + m0 (ξ + π)¯l(ξ + π) = 0. In altre parole, il vettore (l(ξ), l(ξ + π)) è ortogonale in C2 a (m0 (ξ), m0 (ξ + π)), e quindi è proporzionale al vettore (m̄0 (ξ + π), −m̄0 (ξ)), cioè si ha l(ξ) = e−iξ m̄0 (ξ + π)λ(ξ) dove λ(ξ) = (l(ξ)m0 (ξ + π) − l(ξ + π)m0 (ξ))eiξ . Si noti che λ(ξ) è π-periodica, e appartiene a L2 ([0, π]). Si può dimostrare che l’operatore L : L2 ([0, 2π]) −→ L2 ([0, π]) che manda l(ξ) in λ(ξ) è una isometria. Per composizione, quindi, W−1 è isometrico tramite LUF a L2 ([0, π]). Scelta allora una base ortonormale di quest’ultimo spazio, è possibile riportarla indietro invertendo gli operatori, ottenendo una base ortonormale di W−1 . Se si sceglie la base di Fourier una base di UFW−1 è data da e−iξ m̄0 (ξ + π)e2kiξ . Invertendo U possiamo definire ψ(ξ) in W0 come ψ̂(2ξ) = e−iξ m̄0 (ξ + π)φ̂(ξ) Resta da invertire F, ottenendo (sempre per il Lemma 2.3.4) X t+1 1 = ψ h̄−k (−1)k φ(t − k), 2 2 k∈Z da cui, col cambio di variabile t 7→ 2t − 1, si ottiene subito la tesi. 2.4 La Trasformata Wavelet Discreta Un’analisi multirisoluzione, quando sono noti i coefficienti hn , ci fornisce un metodo veloce per il calcolo dei coefficienti wavelet di una funzione. Supponiamo di conoscere un’approssimazione di una funzione f al livello I, e di volerla decomporre in X X aj,k ψj,k . P I f = Pi f + i≤j<I k∈Z A partire dai coefficienti aj+1,k è possibile calcolare i coefficienti hf, ψj,k i. Per la (2.3.8) j ψj,k (t) = 2 2 ψ(2j t − k) j X 1 = 22 2 2 gn φ(2j+1 t − 2k − n) n∈Z = X gn φj+1,2k+n (t) n∈Z = X gn−2k φj+1,n (t). n∈Z Allo stesso modo, per la (2.3.7) φj,k = X n∈Z hn−2k φj+1,n (t). 2.5 Wavelet ortonormali a supporto compatto 13 Per linearità, quindi a1j,k = hf, ψj,k i = X ḡn−2k aj+1,n (2.4.1) h̄n−2k aj+1,n (2.4.2) n∈Z e a0j,k = hf, φj,k i = X n∈Z Il procedimento non è altro che un cambiamento di base tra basi ortonormali, quindi è un automorfismo unitario di `2 , rappresentato dalla matrice .. .. . . · · · h̄−1 h̄ h̄ 2 3 · · · ḡ−1 ḡ2 ḡ3 = h̄0 h̄1 · · · h̄−3 · · · ḡ−3 ḡ0 ḡ1 .. .. .. . . . .. .. 0. . aj+1,−1 aj,0 a1j,0 a = MDWT j+1,0 a0 aj+1,1 j,1 a1j,1 .. .. . . MDWT .. . .. . h̄0 ḡ0 h̄−2 ḡ−2 .. . .. . h̄1 ḡ1 h̄−1 ḡ−1 .. . · · · · · · · · · · · · (2.4.3) Iterando il procedimento su (a0k )k∈Z si può scendere ad un livello i arbitrario. Trattandosi di una trasformazione unitaria, l’inversa è l’aggiunta, quindi è sufficiente trasporre la matrice. Per trasformare un segnale discreto, cioè una successione (fk )k∈Z , si suppone che gli fk siano i coefficienti di scaling ad un livello arbitrario, ad esempio 0, e si applica la trasformata sopra descritta fino al livello desiderato. In questo modo si decompone un segnale discreto in coefficienti di scaling ad un livello più basso, e coefficienti wavelet dei livelli intermedi. Questo procedimento prende il nome di Trasformata Wavelet Discreta o DWT . 2.5 Wavelet ortonormali a supporto compatto Nella nostra ricerca di analisi multirisoluzione ci farebbe piacere se solo un numero finito di hn fosse diverso da zero, rendendo più semplici le operazioni di calcolo dei coefficienti trasformati (se il numero di hn è costante la trasformata ha complessità lineare nel numero di componenti del vettore da trasformare). Inoltre, soddisfacendo questa condizione, le wavelet ottenute sarebbero a supporto compatto risultando quindi localizzate nello spazio. La prima costruzione di famiglie di wavelet ortonormali a supporto compatto si deve a Daubechies in [6], in cui introduce le wavelet db1, db2, db3. . . a seconda del numero di momenti che si annullano. La wavelet di Haar è un caso particolare, la db1. In Figura 2.5 sono riportati i grafici delle prime 8 db. 14 Wavelet ortonormali e analisi multirisoluzione t db1 φ(t) db1 ψ(t) t db2 φ(t) db2 ψ(t) t db3 φ(t) db3 ψ(t) t db4 φ(t) db4 ψ(t) t db5 φ(t) db5 ψ(t) t db6 φ(t) db6 ψ(t) t db7 φ(t) db7 ψ(t) t db8 φ(t) db8 ψ(t) Figura 2.5: Le prime 8 wavelet a supporto compatto di Daubechies 2.6 Wavelet e immagini 2.6 15 Wavelet e immagini A questo punto abbiamo delle basi di L2 (R) ed un algoritmo per calcolare i coefficienti. Nel nostro modello, però, le immagini sono funzioni di L2 (R2 ). È possibile trovare una base wavelet di questo spazio in due modi: • Partire da una analisi multirisoluzione qualunque di L2 (R2 ) e costruire a partire da questa una base wavelet. • Estendere una base di L2 (R) tramite prodotto tensore. Il primo richiede una generalizzazione del Teorema 2.3.5, che si può trovare in [18]. Quello più usato nelle applicazioni è invece il secondo. A partire da una analisi multirisoluzione (Vi )i∈Z di L2 (R), da cui tramite il Teorema 2.3.5 otteniamo la funzione di scaling φ e la wavelet madre ψ, definiamo l’analisi multirisoluzione di L2 (R2 ) Vi = Vi ⊗ Vi . La funzione di scaling di V0 è quindi φ(x)φ(y), cioè una sua base ortonormale è (φ(x − k)φ(y − l))(k,l)∈Z2 . Sia W0 ⊂ V1 il complemento ortogonale di V0 in V1 . Per definizione V1 = V1 ⊗ V1 = (V0 ⊕ W0 ) ⊗ (V0 ⊕ W0 ). Sfruttando la proprietà distributiva V1 = (V0 ⊗ V0 ) ⊕ (V0 ⊗ W0 ) ⊕ (W0 ⊗ V0 ) ⊕ (W0 ⊗ W0 ) = V0 ⊕ (V0 ⊗ W0 ) ⊕ (W0 ⊗ V0 ) ⊕ (W0 ⊗ W0 ). Se con W0 indichiamo il complemento ortogonale di V0 in V1 , si ha quindi W0 = W0,1 ⊕ W1,0 ⊕ W1,1 , dove W0,1 = (V0 ⊗ W0 ), W1,0 = (W0 ⊗ V0 ) e W1,1 = (W0 ⊗ W0 ). Si può ottenere una base wavelet di W0 prendendo l’unione delle tre famiglie (φ(x − k)ψ(y − l))(k,l)∈Z2 , (ψ(x − k)φ(y − l))(k,l)∈Z2 e (ψ(x − k)ψ(y − l))(k,l)∈Z2 . Anche l’algoritmo della DWT si può adattare al caso bidimensionale. Sia f ∈ V1 . Allora f è descritta da una matrice di coefficienti (ak,l ) X f (t) = ak,l φ(2t − k)φ(2t − l) = (k,l)∈Z2 X φ(2t − k) k∈Z X ak,l φ(2t − l). l∈Z Applicando la DWT monodimensionale per riga si ottengono per ogni k due successioni a0k,l e a1k,l ! f (t) = X φ(2t − k) k∈Z = X l∈Z X a0k,l φ(t − l) + l∈Z φ(t − l) X k∈Z a0k,l φ(2t − k) + X a1k,l ψ(t − l) l∈Z X l∈Z ψ(t − l) X k∈Z a1k,l φ(2t − k). 16 Wavelet ortonormali e analisi multirisoluzione Riapplicando la DWT, stavolta per colonna, alle due successioni prima ottenute si ottiene X f (t) = a00 k,l φ(t − k)φ(t − l) (k,l)∈Z2 + X a01 k,l φ(t − k)ψ(t − l) (k,l)∈Z2 + X a10 k,l ψ(t − k)φ(t − l) (k,l)∈Z2 + X a11 k,l ψ(t − k)ψ(t − l). (k,l)∈Z2 Come nella DWT monodimensionale, iterando il procedimento su a00 si può scendere ad un livello arbitrario. Quando le matrici sono finite, le Aii = (aii k,l ) hanno dimensioni dimezzate rispetto alla A = (ak,l ), quindi si usa rappresentarle nella forma 00 A A01 . (2.6.1) DWTA = A10 A11 Un esempio si può vedere in Figura 2.63 . L’immagine rappresenta una decomposizione al secondo livello: l’immagine è stata inizialmente decomposta come nella (2.6.1), dopo di che A00 è stato a sua volta decomposto. Si noti che il numero di pixel prossimi allo 0 (cioè al nero) è molto elevato, confermando l’ipotesi che questa immagine ha una rappresentazione sparsa nella base wavelet. Figura 2.6: Una decomposizione dell’immagine in Figura 1.1 al secondo livello con la wavelet db4 3 Per rendere l’immagine leggibile è stato aumentato il contrasto e preso il valore assoluto dei pixel. Capitolo 3 Regolarizzazione con vincoli di sparsità in una base ortonormale Il metodo che presenteremo è stato introdotto da Daubechies, Defrise e De Mol in [8], e successivamente generalizzato da Anthoine (e applicato ad immagini astronomiche) in [2]. Seguiremo l’approccio dell’articolo originale, accennando successivamente alle generalizzazioni. Similmente ai metodi classici di regolarizzazione si riconduce il problema alla minimizzazione di un funzionale che è la somma della discrepanza e di un termine di penalizzazione, che diversamente dalla regolarizzazione alla Tikhonov non è un termine quadratico ma una norma `p , con p ≥ 2, sui coefficienti di una particolare base ortonormale di H. Più precisamente, fissata una base ortonormale (ϕγ )γ∈Γ ed una successione di pesi strettamente positivi w = (wγ )γ∈Γ , si definisce il funzionale p Φw,p (f ) = kg − Kf k2 + |||f |||w,p , dove p |||f |||w,p = X wγ | hf, ϕγ i |p . γ∈Γ 3.1 Vincoli non-quadratici Nel seguito con fγ si denoterà hf, ϕγ i, cioè il coefficiente di f associato a ϕγ , poiché la base è ortonormale. Facendo variare p da 2 a 1, gradualmente si penalizzano i coefficienti “piccoli”, cioè |fγ | < 1, e si riduce la penalizzazione sui coefficienti “grandi”, cioè |fγ | > 1. In pratica si promuove la sparsità di f nella base ortonormale. Per minimizzare Φw,p si può provare a cercare un punto stazionario annullando le derivate parziali in γ ∈ Γ, ottenendo l’equazione variazionale hK ∗ Kf, ϕγ i − hK ∗ g, ϕγ i + 17 wγ p |fγ |p−1 sign(fγ ) = 0. 2 (3.1.1) 18 Regolarizzazione con vincoli di sparsità in una base ortonormale Se K non è diagonale nella base ortonormale, non è chiaro come risolvere l’equazione. È però possibile adoperare un metodo iterativo che passa per la minimizzazione di una successione di “funzionali surrogati”, che converge ad una soluzione di (3.1.1). 3.2 Un algoritmo iterativo Quando K non è diagonale nella base (ϕγ )γ∈Γ , non è banale trovare un minimo di Φw,p . In [8] viene presentato un metodo iterativo che converge al minimo in un caso abbastanza generale. 3.2.1 Funzionali surrogati Fissata una costante C tale che kK ∗ Kk < C ed un a ∈ H, si definisce Ξ(f ; a) = Ckf − ak2 − kKf − Kak2 . Sia K che g possono essere normalizzati, quindi possiamo assumere C = 1. Vedremo nel seguito che questa normalizzazione può essere sfruttata per accelerare la convergenza del metodo. Aggiungendo Ξ(f ; a) a Φw,p (f ) otteniamo il funzionale surrogato SUR Φw,p (f ; a) = Φw,p (f ) + Ξ(f ; a) X = kKf − gk2 + wγ |fγ |p − kKf − Kak2 + kf − ak2 . γ∈Γ SUR Poiché Ξ(f ; a) è strettamente convesso in f e Φw,p (f ) è convesso, Φw,p (f ; a) è strettamente convesso e quindi ha un unico minimo in H. Supponendo che tutte le funzioni siano reali, possiamo sfruttare l’identità ka + bk2 = kak2 + 2 ha, bi + kbk2 ottenendo SUR Φw,p (f ; a) = kf k2 − 2 hf, a + K ∗ g − K ∗ Kai + X + wγ |fγ |p + kgk2 + kak2 − kKak2 (3.2.1) γ∈Γ = X fγ2 − 2fγ (a + K ∗ g − K ∗ Ka)γ + wγ |fγ |p + γ∈Γ + kgk2 + kak2 − kKak2 . (3.2.2) I termini in Kf si cancellano, quindi le disequazioni variazionali si disacSUR coppiano. Inoltre, poiché Ξ(f ; f ) = 0, risulta Φw,p (f, f ) = Φw,p (f ). Questo risultato suggerisce di cercare un punto fisso della ricorrenza SUR fn = argmin Φw,p (f ; fn−1 ) (3.2.3) f ∈H con f0 arbitrario. Resta adesso da vedere se calcolare il minimo del funzionale surrogato è effettivamente più semplice che minimizzare il funzionale originario, e se le iterate convergono ad un minimo di Φw,p (f ). Vedremo la risposta è affermativa in entrambi i casi. 3.2 Un algoritmo iterativo 3.2.2 19 Minimizzazione dei funzionali surrogati SUR È possibile trovare una formula esplicita per la minimizzazione di Φw,p (f ; a). Il caso p = 1 è leggermente diverso dal caso p > 1, quindi per allegerire la notazione introduciamo la funzione di restringimento: Definizione 3.2.1 La funzione di restringimento Sw,p : R −→ R è definita per casi: • Per p = 1 si ha x − w/2 Sw,1 (x) = 0 x + w/2 se x ≥ w/2 se |x| < w/2 se x ≤ −w/2 (3.2.4) • Per p > 1 si ha Sw,p = (Fw,p )−1 dove Fw,p (x) = x + wp sign(x)|x|p−1 . 2 In entrambi i casi, l’ operatore di restringimento Sw,p è definito come X Sw,p (f ) = Swγ ,p ϕγ . (3.2.5) (3.2.6) Sw,1 γ∈Γ −w/2 w/2 x Figura 3.1: La funzione di restringimento Sw,1 Proposizione 3.2.2 Sia K : H −→ H un operatore lineare e g un elemento di H. Sia (ϕγ )γ∈Γ una base ortonormale di H, e w = (wγ )γ∈Γ una successione di reali strettamente positivi. Sia p ≥ 1 e a ∈ H. Allora SUR (i) Φw,p (f ; a) ha un unico minimo in H, SUR (ii) il minimo f ? di Φw,p (f ; a) è dato da f ? = Sw,p (a + K ∗ (g − Ka)), (3.2.7) (iii) per ogni h ∈ H SUR SUR Φw,p (f ? + h; a) ≥ Φw,p (f ? ; a) + khk2 . (3.2.8) 20 Regolarizzazione con vincoli di sparsità in una base ortonormale Dim. È sufficiente dimostrare (iii). Dalla (3.2.1) si ottiene SUR SUR Φw,p (f ? + h; a) − Φw,p (f ? ; a) = = khk2 − 2 hf ? , hi − 2 hf ? + h, a + K ∗ g − K ∗ Kai + X X + wγ |fγ? + hγ |p − 2 hf ? , a + K ∗ g − K ∗ Kai + wγ |fγ? |p γ∈Γ γ∈Γ = khk2 + 2 hh, f ? − a − K ∗ (g − Ka)i + X wγ (|fγ? + hγ |p − |fγ? |p ) γ∈Γ = khk2 + X hγ (fγ? − aγ − (K ∗ (g − Ka))γ ) + wγ (|fγ? + hγ |p − |fγ? |p ) . (3.2.9) | {z } γ∈Γ δ(fγ? ,hγ ) Il caso p > 1 è leggermente diverso dal caso p = 1, quindi lo analizziamo a parte. Per la (3.2.7) fγ? = Sw,p (aγ + (K ∗ (g − Ka))γ ). Se p > 1 applicando la Fw,p definita in (3.2.5) ad entrambi i membri si ottiene 2fγ? + pwγ sign(fγ? )|fγ? |p−1 = 2(aγ + (K ∗ (g − Ka))γ ). (3.2.10) Sostituendo f ? in δ(fγ? , hγ ) si ottiene p wγ |fγ? + hγ |p − |fγ? |p − hγ sign(fγ? )|fγ? |p−1 ≥ 0 2 da cui segue la tesi. Sia invece p = 1. Se fγ? 6= 0 continua a valere l’equazione (3.2.10), quindi è sufficiente spezzare la sommatoria in (3.2.9): SUR SUR Φw,p (f ? + h; a) − Φw,p (f ? ; a) = X X ∗ = khk2 + δ(fγ? , hγ ). −2hγ (aγ + (K (g − Ka))γ ) + wγ |hγ | + | {z } γ∈Γ γ∈Γ ? =0 fγ δ0 (hγ ) ? 6=0 fγ (3.2.11) Se fγ? = 0, per la (3.2.4) 2|aγ + (K ∗ (g − Ka))γ | ≤ wγ 2|hγ ||aγ + (K ∗ (g − Ka))γ | ≤ |hγ |wγ da cui segue che δ0 (hγ ) = −2hγ (aγ + (K ∗ (g − Ka))γ ) + |hγ |wγ ≥ 0. 3.2 Un algoritmo iterativo 21 Per semplicità di notazione indichiamo l’operatore definito in (3.2.7) con T: Tf = Sw,p (f + K ∗ (g − Kf )). (3.2.12) Alla luce della proposizione precedente possiamo allora riscrivere il metodo iterativo. Corollario 3.2.3 Il metodo iterativo definito in (3.2.3) si può scrivere come fn = Tn f0 (3.2.13) dove f0 è un elemento arbitrario di H. Osservazione 3.2.4 Il metodo esposto generalizza due algoritmi noti da tempo: (i) Se p = 2 e wγ = α2 per ogni γ, il funzionale diviene Φw,2 = kg − Kf k2 + α2 kf k2 e l’iterazione 1 (fn−1 + K ∗ (g − Kfn−1 )), 1 + α2 cioè il metodo di Landweber regolarizzato visto nell’introduzione. fn = (ii) Se p = 1 e K è l’identità si ha fn = Sw,1 g, quindi il metodo converge alla prima iterazione. Questo metodo è noto in letteratura col nome di soft-tresholding ed è usato per l’eliminazione del rumore (si veda ad esempio [10, 9]). 3.2.3 Convergenza del metodo In questa sezione dimostreremo la convergenza del metodo iterativo restringendoci al caso in cui H è di dimensione finita e K è iniettivo. Il metodo è convergente anche rilassando queste condizioni, ma la dimostrazione richiede strumenti di analisi funzionale più avanzati. Inoltre nell’applicazione trattata in questa esposizione, il deblurring, sono ipotesi ragionevoli: H è Rm×n e le sfocature sono solitamente iniettive. Per la dimostrazione nel caso generale si rimanda a [8]. Lemma 3.2.5 L’operatore Sw,p è debolmente contrattivo, cioè per ogni f, f 0 ∈ H kSw,p f − Sw,p f 0 k ≤ kf − f 0 k. Dim. Per la (3.2.6) e l’ortonormalità di (ϕγ )γ∈Γ si ha kSw,p f − Sw,p f 0 k2 = X |Sw,p (fγ ) − Sw,p (fγ0 )|2 , γ∈Γ quindi ricordando che tutti i w sono strettamente positivi è sufficiente dimostrare che, per ogni x, y ∈ R, vale |Sw,p (x) − Sw,p (y)| ≤ |x − y|. 22 Regolarizzazione con vincoli di sparsità in una base ortonormale Se p > 1, Sw,p (x) è l’inversa di Fw,p che è una funzione derivabile con derivata inferiormente limitata da 1, quindi Sw,p (x) è una funzione derivabile con derivata superiormente limitata da 1, quindi lipschitziana con costante di Lipschitz minore o uguale di 1, da cui segue la tesi. Sia invece p = 1. Senza perdita di generalità possiamo assumere |x| ≥ |y|. La funzione Sw,1 (x) è derivabile in R\{−w/2, w/2}, e lipschitziana di costante 1 o 0 sulle componenti connesse, quindi se x e y appartengono alla stessa componente la tesi è vera. Rimangono solo i casi: • |x| ≥ w/2 e |y| ≤ w/2 implica |(x − sign(x)w/2) − 0| = |x| − w/2 ≤ |x| − |y| ≤ |x − y|; • |x| ≥ w/2 e |y| ≥ w/2 e x, y in componenti diverse implica |x − y| − w ≤ |x − y|. Proposizione 3.2.6 Sia H di dimensione finita, K iniettivo e T come definito in (3.2.12). Allora T ha un unico punto fisso f ? e fn = Tn f0 converge a f ? . Dim. A meno di scegliere una base possiamo assumere che H sia Rd , per un qualche d, dotato del prodotto scalare standard (la norma è quindi la norma 2). Per il Lemma 3.2.5, per ogni f, f 0 ∈ H, kTf − Tf 0 k = kSw,p (f + K ∗ g − K ∗ Kf ) − Sw,p (f 0 + K ∗ g − K ∗ Kf 0 )k ≤ kf − K ∗ Kf − (f − K ∗ Kf )k ≤ kI − K ∗ Kkkf − f 0 k. Poichè abbiamo assunto che kK ∗ Kk < 1 e K iniettivo, gli autovalori di K ∗ K sono compresi strettamente tra 0 e 1. Lo stesso vale quindi per quelli di I −K ∗ K. Se l è il minimo autovalore di K ∗ K si ha quindi kTf − Tf 0 k ≤ (1 − l)kf − f 0 k, (3.2.14) cioè T è una contrazione forte, ammette un unico punto fisso f ? e la successione delle iterate Tn f0 vi converge indipendentemente dalla scelta di f0 . Osservazione 3.2.7 Dalla (3.2.14) segue che kfn − f ? k ≤ (1 − l)n kf0 − f ? k. Quanto più l è vicino a 1, tanto più sarà veloce la convergenza dell’algoritmo. Come osservato prima, avendo delle stime sulla norma di K ∗ K, possiamo precondizionare il sistema adoperando K̃ = AK e g̃ = Ag con A opportuna matrice di precondizionamento in modo che K̃ ∗ K̃ abbia norma minore di 1 e minimo autovalore il più possibile prossimo ad 1. Nell’implementazione useremo come precondizionatore la matrice scalare cI con c ∈ R. Proposizione 3.2.8 Un punto fisso di T è un minimo di Φw,p . 3.2 Un algoritmo iterativo 23 Dim. Se f ? = Tf ? , per la Proposizione 3.2.2 sappiamo che f ? è un minimo di SUR Φw,p (f, f ? ), e che SUR SUR Φw,p (f ? + h, f ? ) ≥ Φw,p (f ? , f ? ) + khk2 = Φw,p (f ? ) + khk2 . SUR Inoltre, per definizione di Φw,p , SUR Φw,p (f ? + h, f ? ) = Φw,p (f ? + h) + khk2 − kKhk2 da cui segue che Φw,p (f ? + h) ≥ Φw,p (f ? ) + kKhk2 , cioè f ? è un minimo di Φw,p . 3.2.4 Stabilità Accertato che il metodo converge e che l’iterazione è algoritmicamente calcolabile, è lecito chiedersi quanto siano buoni i risultati. In particolare sarebbe auspicabile che piccole perturbazioni dei dati iniziali causassero piccole variazioni nei risultati, e che quindi la soluzione del problema perturbato dal rumore fosse vicina a quello privo di rumore. Non è ovvio che questo accada; ad esempio in [19] viene presentato un metodo per certi versi simile a quello presentato qui: è un metodo iterativo in cui ad ogni iterazione viene imposta una soglia ai coefficienti wavelet. Il metodo è stato adoperato con successo ad immagini astronomiche, ma soffre di problemi di instabilità: in [2] vengono esibiti dei casi patologici in cui il metodo, applicato a dati affetti da rumore, converge ad un’immagine molto distante dall’immagine originale. Per il metodo qui esposto è invece vero il seguente risultato, per la cui dimostrazione si rimanda a [8]: Proposizione 3.2.9 Si assuma che esiste c > 0 tale che wγ ≥ c, e che K sia iniettivo o p sia maggiore di 1. Per ogni g ∈ H e µ > 0 si definisce fµw,p il minimo di Φµw,p . Se lim µ(ε) = 0 ε→0 e ε2 =0 ε→0 µ(ε) lim allora, per ogni f0 ∈ H, ! lim ε→0 sup kfµw,p − f † k = 0, kg−Kf0 k≤ε dove f † = K † f0 con K † inversa generalizzata di K. In pratica, se la norma dell’errore tende a zero, facendo tendere a zero anche i pesi w il minimo del funzionale Φw,p tende alla soluzione del problema ai minimi quadrati kf − Kf0 k. Cioè, se K è iniettivo, a f0 . 24 Regolarizzazione con vincoli di sparsità in una base ortonormale 3.2.5 Sviluppi In [8] viene analizzato solo il caso in cui (ϕγ )γ∈Γ è ortonormale e reale. Nel caso del trattamento delle immagini spesso l’ortonormalità causa degli artefatti, provocati principalmente dalla mancanza di invarianza per traslazione della trasformata wavelet; cioè, la trasformata di un segnale traslato non è il traslato della trasformata del segnale. Per superare il problema sono state proposte diverse soluzioni. Una è l’uso delle wavelet complesse (si veda ad esempio [14]). Un’altra è l’uso dei frame, cioè famiglie (ϕγ )γ∈Γ per cui esistono A, B ∈ R tali che per ogni f ∈ H X Akf k2 ≤ | hf, ϕγ i |2 ≤ Bkf k2 ; γ∈Γ si possono ottenere dei frame tramite l’unione di più basi ortonormali. Per un approccio simile si veda [5]. In [2] viene dimostrato che con piccole modifiche è possibile adoperare il metodo iterativo anche con queste basi. Appendice A Implementazione del metodo e risultati sperimentali A.1 A.1.1 Caso finito Condizioni al contorno Nella teoria è solitamente comodo immaginare che segnali ed immagini siano di lunghezza infinita. Sfortunatamente nell’applicazione ci si trova a trattare immagini finite, che quindi riprendono solo una porzione rettangolare finita dell’immagine reale. f PSF Figura A.1: PSF su un’immagine finita Volendo applicare una convoluzione all’immagine discreta e finita, ci si accorge subito che è impossibile calcolare i valori dei pixel vicini al bordo (quanto vicini dipende dalla grandezza del supporto della PSF). È quindi necessario porre delle condizioni al contorno, cioè assumere a priori i (o un’approssimazione ragionevole dei) pixel all’esterno dell’immagine. Per ricondurci quindi al caso studiato nella teoria, si estendono segnali e immagini all’infinito, cosı̀ da poter applicare la convoluzione sull’estensione. Le possibili estensioni sono principalmente tre: 25 26 Implementazione del metodo e risultati sperimentali (i) Contorno nullo (Condizioni di Dirichlet): l’immagine si assume nera al di fuori della parte osservata, ipotesi ragionevole ad esempio nelle immagini astronomiche, ma poco realistica nel caso generale, poichè introduce discontinuità ai bordi, causando effetti di ringing (anelli sui bordi). La matrice della sfocatura ha forma BTTB (Block Toeplitz with Toeplitz Blocks) (ii) Periodica: l’immagine si estende periodicamente. Come nel caso precedente introduce discontinuità, ma è calcolabile in maniera efficiente poichè la struttura della matrice è BCCB (Block Circulant with Circulant Blocks); le matrici con tale struttura vengono diagonalizzate dalla Trasformata Discreta di Fourier bidimensionale, quindi il prodotto matrice-immagine e l’inversione sono efficienti. Per questa proprietà tali matrici sono spesso usate come precondizionatori. (iii) Riflettente (Condizioni di Neumann): l’immagine si estende per riflessione, come in Figura A.2. Questa estensione non introduce discontinuità, quindi si comporta molto bene nel caso generale. La matrice risultante ha struttura BTpHTpHB (Block Toeplitz-plus-Hankel with Toeplitz-plus-Hankel blocks). In [17, 4] viene presentato un algoritmo basato sulla DCT (trasformata dei coseni) che, quando la PSF è simmetrica, diagonalizza la matrice consentendo quindi un prodotto matrice-immagine efficiente quanto nel caso circolante. Nell’implementazione verranno adoperate queste ultime condizioni. Figura A.2: L’immagine in Figura 1.1 estesa per riflessione A.1.2 Complessità della Fast Wavelet Transform Siano m, n le dimensioni dell’immagine. Senza perdita di generalità si può assumere che m e n siano potenze di 2, poiché qualora non lo siano si può estendere A.2 Implementazione in Matlab 27 l’immagine (padding), aumentando le dimensioni di un fattore costante limitato da 4. Un passo della FWT monodimensionale, cioè la decomposizione di un vettore di lunghezza n in coefficienti di scaling e coefficienti wavelet espressa dalle equazioni (2.4.2) e (2.4.1), si può vedere come la convoluzione del vettore con gli h̄n e i ḡn seguita da una decimazione o subcampionamento diadico, cioè si scartano gli indici dispari. Poiché abbiamo scelto wavelet a supporto compatto, il numero di coefficienti ḡn e h̄n è costante, di conseguenza le convoluzioni hanno costo Θ(n). Nel caso della FWT bidimensionale si applica il passo monodimensionale prima per riga e poi per colonna, ottenendo un costo di Θ(mn). Per scendere ad un livello arbitrario nella decomposizione, si riapplica ricorsivamente l’algoritmo ai coefficienti di scaling, che ad ogni passo hanno dimensione dimezzata. Se F (m, n) è il costo della FWT, è verificata l’equazione di ricorrenza ( F (1, 1) = Θ(1) (A.1.1) F (m, n) = Θ(mn) + F (m/2, n/2) che ha soluzione F (m, n) = Θ(mn). La FWT ha quindi costo lineare nel numero di pixel dell’immagine, cioè è asintoticamente ottimale. A.1.3 Complessità del metodo Sia l il numero di iterazioni. Le operazioni iniziali di precalcolo dei pesi, conversione dell’immagine, etc. sono al più lineari in mn, quindi trascurabili. Il costo dell’algoritmo è allora Θ(lT (m, n)), dove T (m, n) è il costo di una singola iterazione. Ricordiamo la formula dell’iterazione: Tf = Sw,p (f + K ∗ (g − Kf )) Assumendo PSF simmetrica e condizioni al contorno riflettenti, la moltiplicazione matrice-immagine di K e K ∗ ha costo Θ(mn log(mn)). Somme e differenze sono lineari in mn, quindi il costo totale della parte tra parentesi è Θ(mn log(mn)). L’applicazione dell’operatore Sw,p consiste nella decomposizione del vettore risultante nella base wavelet seguita da una funzione in formula chiusa applicata ai singoli coefficienti (con costo quindi lineare) e dalla ricomposizione dell’immagine, con costo complessivo (per quanto detto precedentemente) di Θ(mn). Il costo totale dell’algoritmo è quindi Θ(mn log(mn)), cioè è dominato dal prodotto matrice-immagine. A.2 Implementazione in Matlab Visto il diffuso utilizzo delle Wavelet esistono librerie che ne implementano le trasformate per praticamente ogni linguaggio di programmazione. In particolare Matlab offre il Wavelet Toolbox, che combinato all’Image Toolbox per il trattamento delle immagini ha reso immediata l’implementazione del metodo, poichè fornisce funzioni ad alto livello molto vicine alla notazione matematica, per cui l’implementazione si è ridotta ad una mera traduzione delle formule nel suo linguaggio. 28 Implementazione del metodo e risultati sperimentali A.2.1 Sfocatura e rumore Scelta una PSF, l’applicazione KPSF ad essa associata può essere calcolata tramite la funzione imfilter . Successivamente si aggiunge un rumore gaussiano (bianco) di varianza σ 2 tramite la funzione randn. 1 2 3 4 5 6 7 % Esegue una sfocatura dell’immagine I tramite la convoluzione con % PSF ed aggiunge un rumore bianco di varianza σ 2 % function Ibn = s f o c a e d i s t u r b a ( I , PSF , sigma ) I b = i m f i l t e r ( I , PSF , ’ symmetric ’ ) ; Ibn = I b + sigma ∗ randn ( s i z e ( I ) ) ; end Listato A.1: Sfocatura e disturbo A.2.2 Implementazione dell’algoritmo L’implementazione è divisa in tre funzioni, descritte nei listati A.2, A.4 e A.3. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 % Calcola le soglie wγ per l’immagine I, supponendo che la % decomposizione venga fatta con la wavelet wfamily al livello level % function w = c a l c o l a p e s i ( I , l e v e l , wfamily , mu) % S contiene le informazioni sulla disposizione dei coefficienti % wavelet in C [ C o e f f , S ] = wavedec2 ( I , l e v e l , w f a m i l y ) ; % I coefficienti di scaling non vengono livellati. w = zeros ( 1 , prod ( S ( 1 , : ) ) ) ; f o r i =2: s i z e ( S , 1 )−1 % coeff è il coefficiente di soglia al livello i. % Può essere scelto costante o crescente in i c o e f f = mu ; % oppure coeff = mu*i... w = [ w c o e f f ∗ o n e s ( 1 , 3 ∗ prod ( S ( i , : ) ) ) ] ; end end Listato A.2: Calcolo dei pesi di soglia Come prima, l’applicazione della sfocatura è affidata a imfilter , mentre decomposizione e ricomposizione sono eseguite tramite le funzioni del Wavelet Toolbox wavedec2 e waverec2, che eseguono la FWT e l’inversa. 1 2 3 4 5 6 7 8 9 10 11 12 13 % Esegue n iterazioni del metodo. Gli altri argomenti sono gli % stessi di iterazione % function f n = e s e g u i n i t e r a z i o n i ( n , g , PSF , w, C, wfamily , l e v e l ) % Si parte dall’immagine nulla f n = zeros ( s i z e ( g ) ) ; for i = 1 : n i f n = i t e r a z i o n e ( f n , g , PSF , w, C, wfamily , l e v e l ) ; % Mostro l’immagine ad ogni iterazione imshow ( f n ) ; end end Listato A.3: Implementazione del metodo iterativo A.2 Implementazione in Matlab 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 29 % Esegue una iterazione del metodo all’immagine fn , con immagine % osservata g, funzione di√spread PSF, soglie w, coefficiente % di precondizionamento c, wavelet wfamily al livello level % function f n p 1 = i t e r a z i o n e ( f n , g , PSF , w, c , wfamily , l e v e l ) % Chiamando K l’operatore associato alla sfocatura con PSF, % calcolo Kfn Kf n = i m f i l t e r ( f n , PSF , ’ c o r r ’ , ’ symmetric ’ ) ; gmKf n = g − Kf n ; % La convoluzione è la trasposta della correlazione, quindi % cosı̀ calcolo A = K ∗ (g − Kfn ) A = i m f i l t e r ( gmKf n , PSF , ’ conv ’ , ’ symmetric ’ ) ; Nf = f n + ( c . ∗ A) ; % Calcolo la decomposizione wavelet di N f [ Nfw , S ] = wavedec2 ( Nf , l e v e l , w f a m i l y ) ; % Eseguo il soft-thresholding sui coefficienti wavelet, con le soglie w Nfw1 = ( ( Nfw . ∗ ( Nfw > w/ 2 ) )−w/ 2 ) + ( ( Nfw . ∗ ( Nfw < −w/ 2 ) )+w/ 2 ) ; % fn+1 = Sw,1 (f n + CK ∗ (fn − Kfn ) f n p 1 = waverec2 ( Nfw1 , S , w f a m i l y ) ; end Listato A.4: Singola iterazione dell’algoritmo Avendo a disposizione queste funzioni, e supponendo che esista un’immagine lena.pgm nella directory corrente, si può provare l’algoritmo con i seguenti comandi: f = PSF g = w = fst im2double ( imread ( ’ l e n a . pgm ’ ) ) ; = f s p e c i a l ( ’ disk ’ , 10) ; s f o c a e d i s t u r b a ( f , PSF , 0 . 0 1 ) ; c a l c o l a p e s i ( g , 8 , ’ db5 ’ , 0 . 0 0 0 7 ) ; = e s e g u i n i t e r a z i o n i ( 3 0 0 , g , PSF , w, 1 , ’ db5 ’ , 8 ) ; In Figura A.3 sono riportati i risultati. È stato necessario arrestare l’algoritmo prima che arrivasse a convergenza per evitare che gli artefatti wavelet, già evidenti adesso, rendessero l’immagine illegibile. Le cause di questi artefatti sono probabilmente quelle descritte nella sezione 3.2.5. Confrontato con i deblurring dell’introduzione il risultato è comunque interessante. 30 Implementazione del metodo e risultati sperimentali (a) L’immagine di partenza (b) L’immagine osservata (c) L’immagine ottenuta dopo 300 iterazioni (d) L’immagine ottenuta dopo 300 iterazioni del metodo di Landweber dell’algoritmo Figura A.3: Risultati sperimentali Bibliografia [1] Hans-Martin Adorf, Hubble space telescope image restoration in its fourth year, Inverse Problems 11 (1995), 639–653. [2] Sandrine Anthoine, Different wavelet-based approaches for the separation of noisy and blurred mixtures of components. application to astrophysical data, Ph.D. thesis, École Polytechnique, August 2005. [3] Mario Bertero and Patrizia Boccacci, Introduction to inverse problems in imaging, Institute of Physics Publishing, Bristol, 1998. [4] Raymond H. Chan, Michael K. Ng, and Wun-Cheung Tang, A fast algorithm for deblurring models with Neumann boundary conditions, SIAM J. Sci. Comput. 21 (1999), no. 3, 851–866. [5] Ronald Coifman and David L. Donoho, Translation invariant denoising, Tech. Report 475, Dept. of Statistics, Stanford University, May 1995. [6] Ingrid Daubechies, Orthonormal bases of compactly supported wavelets, Comm. Pure Appl. Math. 41 (1988), no. 7, 909–996. [7] , Ten lectures on wavelets, CBMS-NSF Regional Conference Series in Applied Mathematics, vol. 61, Society for Industrial and Applied Mathematics (SIAM), Philadelphia, PA, 1992. [8] Ingrid Daubechies, Michel Defrise, and Christine De Mol, An iterative thresholding algorithm for linear inverse problems with a sparsity constraint, Comm. Pure Appl. Math. 57 (2004), no. 11, 1413–1457. [9] David L. Donoho, De-noising by soft-thresholding, IEEE Trans. Inform. Theory 41 (1995), no. 3, 613–627. [10] David L. Donoho and Iain M. Johnstone, Ideal spatial adaptation by wavelet shrinkage, Biometrika 81 (1994), no. 3, 425–455. [11] Mario A. T. Figueiredo and Robert D. Nowak, An EM algorithm for wavelet-based image restoration, IEEE Transactions on Image Processing (2003). [12] Dennis Gabor, Theory of communication, J. Inst. Electr. Eng. 93 (1946), 429–457. [13] Alex Grossman and Jean Morlet, Decomposition of Hardy functions into square integrable wavelets of constant shape, SIAM J. Math. Anal. 15 (1984), no. 4, 723–736. 31 32 BIBLIOGRAFIA [14] Nick Kingsbury, Image processing with complex wavelets, Phil. Trans. Royal Society London A 357 (1999), 2543–2560. [15] Stéphane Mallat, A theory for multiresolution signal decomposition: The wavelet representation., IEEE Trans. Pat. Anal. Mach. Intell. 11 (1989), 674–693. [16] , A wavelet tour of signal processing, Academic Press Inc., San Diego, CA, 1998. [17] Stephen A. Martucci, Symmetric convolution and the discrete sine and cosine transforms, IEEE Transactions on Signal Processing 42 (1994), no. 5, 1038–1051. [18] Yves Meyer, Wavelets and operators, Cambridge Studies in Advanced Mathematics, vol. 37, Cambridge University Press, Cambridge, 1992. [19] Fionn Murtagh, Jean-Luc Starck, and Albert Bijaoui, Multiresolution in astronomical image processing: A general framework, The International Journal of Image Systems and Technology 6 (1995), 332–338. [20] Georgi P. Tolstov, Fourier series, Translated from the Russian by Richard A. Silverman, Prentice-Hall Inc., Englewood Cliffs, N.J., 1962.