160 likes | 290 Views
The Story of Wavelets Theory and Engineering Applications. Stationary discrete wavelet transform Two-dimensional wavelet transform 2D-DWT using MATLAB Implementation issues Image compressing using 2D-DWT. Stationary Wavelet Transfporm (SWT). DWT is not time invariant… Not Good !
E N D
The Story of WaveletsTheory and Engineering Applications • Stationary discrete wavelet transform • Two-dimensional wavelet transform • 2D-DWT using MATLAB • Implementation issues • Image compressing using 2D-DWT
Stationary Wavelet Transfporm(SWT) • DWT is not time invariant… Not Good ! • What makes DWT time varying? Decimation (down sampling) • DWT can be made time invariant, however, the transform must be redundant!!! • Stationary wavelet transform • -decimated DWT • -decimated DWT??? • At any given level you can have two different DWT, due to choice in discarding even or odd indexed elements during subsampling • At J levels, you can have N=2J different DWTs. The particular DWT chosen can be denoted by =[1 2 … N], j=1, if odd indexed elements are chosen, j=0, if even indexed elements are chosen
cAj+1=a(j+1,n) Hj cAj=a(j,n) cDj+1=d(j+1,n) Gj 2 2 SWT • SWT is defined as the average of all -decimated DWTs • For 6 level DWT64 DWTs • For 10 level DWT 1024 DWTs • …. • An efficient algorithm: where Hj Hj-1 Gj Gj-1 Note: No subsampling is involved!!!.
SWT • Does it work…? MATLAB DEMO
Applications of SWT • Denoising… denoising…denoising • MATLAB demo: noisy doppler & noisy quadchirp • Interval dependent thresholds
1D-DWT2D-DWT • Recall fundamental concepts of 1D-DWT • Provides time-scale (frequency) representation of non-stationary signals • Based on multiresolution approximation (MRA) • Approximate a function at various resolutions using a scaling function, (t) • Keep track of details lost using wavelet functions, (t) • Reconstruct the original signal by adding approximation and detail coeff. • Implemented by using a series of lowpass and highpass filters • Lowpass filters are associated with the scaling function and provide approximation • Highpass filters are associated with the wavelet function and provide detail lost in approximating the signal
2-D DWT • How do we generalize these concepts to 2D? • 2D functions images f(x,y) I[m,n] intensity function • What does it mean to take 2D-DWT of an image? How do we interpret? • How can we represent an image as a function? • How do we define low frequency / high frequency in an image? • How to we compute it? • Why would we want to take 2D-DWT of an image anyway? • Compression • Denoising • Feature extraction
2D Scaling/Wavelet Functions • We start by defining a two-dimensional scaling and wavelet functions: • If (t) is orthogonal to its own translates, is also orthogonal to its own translates. Then, if fo(x,y) is the projection of f(x,y) on the space Vogenerated by s(x,y):
2D-DWT • Just like in 1D we generated an approximation of the 2D function f(x,y). Now, how do we compute the detail lost in approximating this function? • Unlike 1D case there will be three functions representing the details lost: • Details lost along the horizontal direction • Details lost along the vertical direction • Details lost along the diagonal direction • 1D Two sets of coeff.; a(k,n) & d (k,n) • 2D Four sets of coefficients: a(k,n), b(k, n), c(k, n) & d(k,n)
Four Faces of 2D-DWT • One level of 2D DWT reconstruction: Approximation coefficients Detail coefficients along the horizontal direction Detail coefficients along the vertical direction Detail coefficients along the diagonal direction
~ ~ H H 1 2 1 2 ~ ~ G G 1 2 1 2 LLL LLH LH LHL LHH HH HL Implementation of 2D-DWT COLUMNS LL ~ ROWS H 2 1 COLUMNS …… LH INPUT IMAGE COLUMNS ROWS …… HL ~ G 2 1 ROWS HH COLUMNS INPUT IMAGE LLH LH LL LH LL LHL LHH HH HH HL HL
1 2 2 1 1 2 Up and Down … Up and Down Downsample columns along the rows: For each row, keep the even indexed columns, discard the odd indexed columns 2 1 Downsample columns along the rows: For each column, keep the even indexed rows, discard the odd indexed rows Upsample columns along the rows: For each row, insert zeros at between every other sample (column) Upsample rows along the columns: For each column, insert zeros at between every other sample (row)
COLUMN j Implementing 2D-DWT Decomposition ROW i
1 2 1 2 1 2 1 2 2 1 2 1 Reconstruction LL H H LH G ORIGINAL IMAGE HL H G G HH
2-D DWT ON MATLAB Load Image (must be .mat file) Choose wavelet type Hit Analyze Choose display options