18.07.2014 Aufrufe

(Haar-Wavelet) 1 1 1 1 1

(Haar-Wavelet) 1 1 1 1 1

(Haar-Wavelet) 1 1 1 1 1

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Wavelet</strong>s – Praktische Aspekte<br />

10. Vorlesung


Inhalt<br />

• <strong>Wavelet</strong>s in Matlab<br />

• Bildkompression<br />

• Kantendetektion<br />

• De-Noising von Bildern<br />

• Lösen von Gleichungssystemen<br />

Bildverarbeitung und Mustererkennung 2006 / 2


<strong>Wavelet</strong>s in Matlab<br />

• Matlab‘s <strong>Wavelet</strong> Toolbox besteht aus<br />

– Command line functions<br />

• „help wavelet“ gibt Auskunft über alle Funktionen<br />

– GUI Tool (wavemenu)<br />

• 1D <strong>Wavelet</strong> analysis<br />

• 2D <strong>Wavelet</strong> analysis<br />

• De-Noising<br />

• Image Fusion<br />

• Bild Kompression<br />

• etc…<br />

Bildverarbeitung und Mustererkennung 2006 / 3


<strong>Wavelet</strong> Familien<br />

• Matlab Befehl : waveinfo(‘name‘) gibt Auskunft<br />

über die Eigenschaften eines <strong>Wavelet</strong>s<br />

• Es gibt in Matlab folgenden <strong>Wavelet</strong> Familien:<br />

Bildverarbeitung und Mustererkennung 2006 / 4


<strong>Wavelet</strong> Familien - Beispiele<br />

• „<strong>Haar</strong> – <strong>Wavelet</strong>“<br />

– Ältestes und einfachstes <strong>Wavelet</strong><br />

• „dbN“ – <strong>Wavelet</strong>s<br />

– Ingrid Daubechies<br />

– N … Ordnung<br />

• „mexh“ <strong>Wavelet</strong><br />

– 2. Ableitung der Normalverteilung<br />

Bildverarbeitung und Mustererkennung 2006 / 5


Continuous <strong>Wavelet</strong> Transform (1D)<br />

• Continuous <strong>Wavelet</strong> Transform (nur 1D)<br />

– Die Menge der Positionen und Scales an denen<br />

das <strong>Wavelet</strong> evaluiert wird ist kontinuierlich<br />

– Matlab Befehl: COEFS = cwt(S,SCALES,'wname')<br />

– Beispiel (Koch Fraktal)<br />

Bildverarbeitung und Mustererkennung 2006 / 6


Fast <strong>Wavelet</strong> Transform<br />

• Mallat, 1988<br />

• Klassisches Schema in der Signal-Processing<br />

Community<br />

• Besteht aus Faltungs- und Down(Up)-Sample<br />

Prozeduren<br />

• Verwendung von dyadischen Scales<br />

• Es werden vier Faltungskerne benötigt (in 1D)<br />

– 2 für die Zerlegung (Low and High)<br />

– 2 für die Rekonstruktion (Low and High)<br />

– Beispiel in Matlab:<br />

• [ Lo_D Hi_D Lo_R Hi_R ] = wfilters('haar')<br />

Bildverarbeitung und Mustererkennung 2006 / 7


Fast <strong>Wavelet</strong> Transform<br />

• DWT<br />

• Inverse DWT<br />

Bildverarbeitung und Mustererkennung 2006 / 8


Discrete <strong>Wavelet</strong> Transform (1D)<br />

• Matlab Befehle:<br />

– Single Level<br />

• Decomposition:[cA,cD] = dwt(X,'wname')<br />

• Reconstruction: X = idwt(cA,cD,'wname')<br />

– Multi Level<br />

• Decomposition:[C,L] = wavedec(X,N,'wname')<br />

• Beispiel<br />

• Reconstruction:X = waverec(C,L,'wname')<br />

Bildverarbeitung und Mustererkennung 2006 / 9


Discrete <strong>Wavelet</strong> Transform (2D)<br />

• Besteht aus Horizontalen, Vertikalen und<br />

Diagonalen Koeffizienten und Approximation<br />

Bildverarbeitung und Mustererkennung 2006 / 10


Discrete <strong>Wavelet</strong> Transform (2D)<br />

• Matlab Befehle:<br />

– Single Level<br />

• Decomposition:[cA,cH,cV,cD] = dwt2(X,'wname')<br />

• Reconstruction:X = idwt2(cA,cH,cV,cD,'wname')<br />

– Multi Level<br />

• Decomposition:[C,S] = wavedec2(X,N,'wname')<br />

• Beispiel<br />

• Reconstruction:X = waverec2(C,S,'wname')<br />

Input<br />

Appr | Horiz<br />

Vert | Diag<br />

Bildverarbeitung und Mustererkennung 2006 / 11


<strong>Wavelet</strong> Decomposition<br />

• Mehrfaches Anwenden der Diskreten<br />

<strong>Wavelet</strong> Transformation<br />

Bildverarbeitung und Mustererkennung 2006 / 12


Bildkompression<br />

• Algorithmus:<br />

– Durchführen der <strong>Wavelet</strong> Transformation<br />

– Verwefen kleiner Koeffizienten<br />

– Speichern der verbleibenden Koeffizienten<br />

– D.h. Verlustbehaftete Kompression<br />

Bildverarbeitung und Mustererkennung 2006 / 13


Bildkompression - Beispiel<br />

Kompressionsfaktor: ca. 1:17<br />

Bildverarbeitung und Mustererkennung 2006 / 14


Vergleich <strong>Wavelet</strong> – FFT - Kompression<br />

Bildverarbeitung und Mustererkennung 2006 / 15


Vergleich <strong>Wavelet</strong> – FFT - Kompression<br />

13359 FFT-Koeffizienten<br />

13678 WVLT-Koeffizienten<br />

Bildverarbeitung und Mustererkennung 2006 / 16


Vergleich <strong>Wavelet</strong> – FFT - Kompression<br />

1363 FFT-Koeffizienten<br />

1366 WVLT-Koeffizienten<br />

Bildverarbeitung und Mustererkennung 2006 / 17


Vergleich <strong>Wavelet</strong> – FFT - Kompression<br />

519 FFT-Koeffizienten<br />

532 WVLT-Koeffizienten<br />

Bildverarbeitung und Mustererkennung 2006 / 18


Kantendetektion<br />

Original<br />

<strong>Wavelet</strong>-<br />

Decomposition<br />

Approximation<br />

Teil wird auf 0<br />

gesetzt<br />

<strong>Wavelet</strong>-<br />

Reconstruction<br />

Nur mehr<br />

Kanteninformati<br />

on enthalten<br />

Bildverarbeitung und Mustererkennung 2006 / 19


De-Noising von Bildern<br />

• Ähnlich zur Kompression<br />

• Algorithmus:<br />

– Durchführen der <strong>Wavelet</strong> Transformation<br />

– Thresholding, d.h. Entfernen kleiner Koeffizienten<br />

(Rauschen).<br />

– Rekonstruktion<br />

• Thresholding-Methoden<br />

– Hard Threshold<br />

– Soft Threshold<br />

–etc.<br />

• Matlab: Wavemenu -> De-Noising<br />

Bildverarbeitung und Mustererkennung 2006 / 20


De-Noising von Bildern<br />

Bildverarbeitung und Mustererkennung 2006 / 21


De-Noising von Bildern<br />

Bildverarbeitung und Mustererkennung 2006 / 22


Lösen von Gleichungssystemen<br />

• Lineares Gleichungssystem: Ax=b<br />

• Lösung benötigt A -1<br />

• Große Matrizen A führen zu langen<br />

Rechenzeiten<br />

• Abhängig von der Gestalt der Matrix<br />

A können unterschiedliche<br />

Algorithmen schnellere Laufzeiten<br />

ermöglichen<br />

– Für „sparse“ (schwach besetzte) kann<br />

man besser invertieren.<br />

– Idee: Anwendung einer <strong>Wavelet</strong><br />

Transformation um die Matrix „sparse“<br />

zu machen.<br />

Bildverarbeitung und Mustererkennung 2006 / 23


Lösen von Gleichungssystemen<br />

Ax = b<br />

−1<br />

( ψ Aψ<br />

)( ψx)<br />

=<br />

( ψb)<br />

Erweitern des ursprünglichen Gleichungssystems mit<br />

ψ, was eine <strong>Wavelet</strong>transformation darstellt.<br />

Das neue Gleichungssystem ist dann sparse und<br />

kann schneller gelöst werden.<br />

Der Lösungsvektor (ψx) kann durch die inverse<br />

<strong>Wavelet</strong>transformation (ψ -1 x) in den gesuchten<br />

Lösungsvektor x zurücktransformiert werden.<br />

Bildverarbeitung und Mustererkennung 2006 / 24


Lösen von Gleichungssystemen<br />

Bsp: A … 4x4 Matrix<br />

x,b … 4 Vektor<br />

ψ = (<strong>Haar</strong>-<strong>Wavelet</strong>)<br />

1 1 1 1<br />

1 -1 0 0<br />

1 1 -1 -1<br />

0 0 1 -1<br />

A =<br />

1.9225 0.6175 -0.0200 -0.0200<br />

0.6125 1.9075 -0.0100 -0.0100<br />

-0.0075 -0.0125 4.6600 -2.1400<br />

-0.0175 -0.0225 -2.1300 4.6700<br />

ψAψ -1 =<br />

2.5000 0.0100 0 0<br />

0 1.3000 0.0100 0<br />

-0.0000 0 2.5600 0<br />

0.0000 0 0.0100 6.8000<br />

Bildverarbeitung und Mustererkennung 2006 / 25

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!