(Haar-Wavelet) 1 1 1 1 1
(Haar-Wavelet) 1 1 1 1 1
(Haar-Wavelet) 1 1 1 1 1
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