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.