Wavelets (Chapter 7) CS474/674 – Prof. Bebis.

Slides:



Advertisements
Similar presentations
Multimedia Data Compression
Advertisements

University of Ioannina - Department of Computer Science Wavelets and Multiresolution Processing (Background) Christophoros Nikou Digital.
Applications in Signal and Image Processing
Introduction and Overview Dr Mohamed A. El-Gebeily Department of Mathematical Sciences KFUPM
Fourier Transform (Chapter 4)
Extensions of wavelets
Time and Frequency Representations Accompanying presentation Kenan Gençol presented in the course Signal Transformations instructed by Prof.Dr. Ömer Nezih.
Lecture05 Transform Coding.
Chapter 7 Wavelets and Multi-resolution Processing.
Multiresolution Analysis (Section 7.1) CS474/674 – Prof. Bebis.
Wavelet Transform 國立交通大學電子工程學系 陳奕安 Outline Comparison of Transformations Multiresolution Analysis Discrete Wavelet Transform Fast Wavelet Transform.
Short Time Fourier Transform (STFT)
Wavelet Transform A very brief look.
Wavelet Transform. What Are Wavelets? In general, a family of representations using: hierarchical (nested) basis functions finite (“compact”) support.
Basic Concepts and Definitions Vector and Function Space. A finite or an infinite dimensional linear vector/function space described with set of non-unique.
Wavelet Transform. Wavelet Transform Coding: Multiresolution approach Wavelet transform Quantizer Symbol encoder Input image (NxN) Compressed image Inverse.
Multi-Resolution Analysis (MRA)
Introduction to Wavelets
1 Computer Science 631 Lecture 4: Wavelets Ramin Zabih Computer Science Department CORNELL UNIVERSITY.
Wavelet-based Coding And its application in JPEG2000 Monia Ghobadi CSC561 project
Fundamentals of Multimedia Chapter 8 Lossy Compression Algorithms (Wavelet) Ze-Nian Li and Mark S. Drew 건국대학교 인터넷미디어공학부 임 창 훈.
J OURNAL C LUB : Yang and Ni, Xidian University, China “Multimodality medical image fusion based on multiscale geometric analysis of contourlet transform.”
1 © 2010 Cengage Learning Engineering. All Rights Reserved. 1 Introduction to Digital Image Processing with MATLAB ® Asia Edition McAndrew ‧ Wang ‧ Tseng.
Introduction to Wavelets -part 2
ECE 501 Introduction to BME ECE 501 Dr. Hang. Part V Biomedical Signal Processing Introduction to Wavelet Transform ECE 501 Dr. Hang.
Fast multiresolution image querying CS474/674 – Prof. Bebis.
Fourier Transforms Revisited
ENG4BF3 Medical Image Processing
CS448f: Image Processing For Photography and Vision Wavelets Continued.
Image Representation Gaussian pyramids Laplacian Pyramids
WAVELET TUTORIALS.
CSE &CSE Multimedia Processing Lecture 8. Wavelet Transform Spring 2009.
The Story of Wavelets.
Lecture 13 Wavelet transformation II. Fourier Transform (FT) Forward FT: Inverse FT: Examples: Slide from Alexander Kolesnikov ’s lecture notes.
1 Chapter 5 Image Transforms. 2 Image Processing for Pattern Recognition Feature Extraction Acquisition Preprocessing Classification Post Processing Scaling.
Wavelet-based Coding And its application in JPEG2000 Monia Ghobadi CSC561 final project
Wavelet transform Wavelet transform is a relatively new concept (about 10 more years old) First of all, why do we need a transform, or what is a transform.
DCT.
1 Using Wavelets for Recognition of Cognitive Pattern Primitives Dasu Aravind Feature Group PRISM/ASU 3DK – 3DK – September 21, 2000.
“Digital stand for training undergraduate and graduate students for processing of statistical time-series, based on fractal analysis and wavelet analysis.
Wavelets and Multiresolution Processing (Wavelet Transforms)
Time frequency localization M-bank filters are used to partition a signal into different frequency channels, with which energy compact regions in the frequency.
The Wavelet Tutorial: Part2 Dr. Charturong Tantibundhit.
Wavelet Transform Yuan F. Zheng Dept. of Electrical Engineering The Ohio State University DAGSI Lecture Note.
Fourier Transform.
The Discrete Wavelet Transform for Image Compression Speaker: Jing-De Huang Advisor: Jian-Jiun Ding Graduate Institute of Communication Engineering National.
By Dr. Rajeev Srivastava CSE, IIT(BHU)
Wavelets (Chapter 7).
In The Name of God The Compassionate The Merciful.
Wavelets Introduction.
Presenter : r 余芝融 1 EE lab.530. Overview  Introduction to image compression  Wavelet transform concepts  Subband Coding  Haar Wavelet  Embedded.
Chapter 13 Discrete Image Transforms
Wavelets Chapter 7 Serkan ERGUN. 1.Introduction Wavelets are mathematical tools for hierarchically decomposing functions. Regardless of whether the function.
Fourier Transform (Chapter 4) CS474/674 – Prof. Bebis.
Short Time Fourier Transform (STFT) CS474/674 – Prof. Bebis.
Multiresolution Analysis (Section 7.1) CS474/674 – Prof. Bebis.
Wavelets (Chapter 7) CS474/674 – Prof. Bebis. STFT - revisited Time - Frequency localization depends on window size. –Wide window  good frequency localization,
Wavelet Transform Advanced Digital Signal Processing Lecture 12
Wavelets Transform & Multiresolution Analysis
Multiresolution Analysis (Chapter 7)
Multi-resolution image processing & Wavelet
Wavelets : Introduction and Examples
The Story of Wavelets Theory and Engineering Applications
CS Digital Image Processing Lecture 9. Wavelet Transform
Multi-resolution analysis
Researchlab 4 Presentation
The Story of Wavelets Theory and Engineering Applications
Wavelet transform Wavelet transform is a relatively new concept (about 10 more years old) First of all, why do we need a transform, or what is a transform.
Chapter 15: Wavelets (i) Fourier spectrum provides all the frequencies
Wavelet Analysis Objectives: To Review Fourier Transform and Analysis
Presentation transcript:

Wavelets (Chapter 7) CS474/674 – Prof. Bebis

STFT (revisited) Time/Frequency localization depends on window size. Once you choose a particular window size, it will be the same for all frequencies. Many signals require a more flexible approach - vary the window size to determine more accurately either time or frequency.

The Wavelet Transform Overcomes the preset resolution problem of the STFT by using a variable length window: Narrower windows are more appropriate at high frequencies (better time localization) Wider windows are more appropriate at low frequencies (better frequency localization)

The Wavelet Transform (cont’d) Wide windows do not provide good localization at high frequencies.

The Wavelet Transform (cont’d) A narrower window is more appropriate at high frequencies.

The Wavelet Transform (cont’d) Narrow windows do not provide good localization at low frequencies.

The Wavelet Transform (cont’d) A wider window is more appropriate at low frequencies.

What is a wavelet? It is a function that “waves” above and below the x-axis; it has (1) varying frequency, (2) limited duration, and (3) an average value of zero. This is in contrast to sinusoids, used by FT, which have infinite energy. Sinusoid Wavelet

Wavelets Like sine and cosine functions in FT, wavelets can define basis functions ψk(t): Span of ψk(t): vector space S containing all functions f(t) that can be represented by ψk(t).

Wavelets (cont’d) There are many different wavelets: Morlet Haar Daubechies

Basis Construction - Mother Wavelet (dyadic/octave grid)

Basis Construction - Mother Wavelet (cont’d) scale =1/2j (1/frequency) j k

Continuous Wavelet Transform (CWT) scale parameter (measure of frequency) translation parameter, measure of time Forward CWT: Mother wavelet (window) normalization constant scale =1/2j=1/frequency

CWT: Main Steps Take a wavelet and compare it to a section at the start of the original signal. Calculate a number, C, that represents how closely correlated the wavelet is with this section of the signal. The higher C is, the more the similarity.

CWT: Main Steps (cont’d) 3. Shift the wavelet to the right and repeat steps 1 and 2 until you've covered the whole signal.

CWT: Main Steps (cont’d) 4. Scale the wavelet and repeat steps 1 through 3. 5. Repeat steps 1 through 4 for all scales.

Coefficients of CTW Transform Wavelet analysis produces a time-scale view of the input signal or image.

Continuous Wavelet Transform (cont’d) Inverse CWT: note the double integral!

FT vs WT weighted by F(u) weighted by C(τ,s)

Properties of Wavelets Simultaneous localization in time and scale - The location of the wavelet allows to explicitly represent the location of events in time. - The shape of the wavelet allows to represent different detail or resolution.

Properties of Wavelets (cont’d) Sparsity: for functions typically found in practice, many of the coefficients in a wavelet representation are either zero or very small. Adaptability: Can represent functions with discontinuities or corners more efficiently. Linear-time complexity: many wavelet transformations can be accomplished in O(N) time.

Discrete Wavelet Transform (DWT) (forward DWT) (inverse DWT) where

DFT vs DWT FT expansion: WT expansion one parameter basis or two parameter basis

Multiresolution Representation using fine details wider, large translations j coarse details

Multiresolution Representation using fine details j coarse details

Multiresolution Representation using fine details narrower, small translations j coarse details

Multiresolution Representation using high resolution (more details) j … low resolution (less details)

Prediction Residual Pyramid - Revisited In the absence of quantization errors, the approximation pyramid can be reconstructed from the prediction residual pyramid. Prediction residual pyramid can be represented more efficiently. (with sub-sampling)

Efficient Representation Using “Details” details D3 details D2 details D1 L0 (without sub-sampling)

Efficient Representation Using Details (cont’d) representation: L0 D1 D2 D3 in general: L0 D1 D2 D3…DJ A wavelet representation of a function consists of a coarse overall approximation detail coefficients that influence the function at various scales.

Reconstruction (synthesis) H3=H2+D3 H2=H1+D2 details D3 details D2 H1=L0+D1 details D1 L0 (without sub-sampling)

Example - Haar Wavelets Suppose we are given a 1D "image" with a resolution of 4 pixels: [9 7 3 5] The Haar wavelet transform is the following: L0 D1 D2 D3 (with sub-sampling)

Example - Haar Wavelets (cont’d) Start by averaging the pixels together (pairwise) to get a new lower resolution image: To recover the original four pixels from the two averaged pixels, store some detail coefficients. [9 7 3 5] 1

Example - Haar Wavelets (cont’d) Repeating this process on the averages (i.e., low resolution image) gives the full decomposition: 1 Harr decomposition:

Example - Haar Wavelets (cont’d) We can reconstruct the original image by adding or subtracting the detail coefficients from the lower-resolution versions. 1 -1 2

Example - Haar Wavelets (cont’d) Detail coefficients become smaller and smaller as j increases. Dj Dj-1 How to compute Di ? D1 L0

Multiresolution Conditions If a set of functions can be represented by a weighted sum of ψ(2jt - k), then a larger set, including the original, can be represented by a weighted sum of ψ(2j+1t - k): high resolution j low resolution

Multiresolution Conditions (cont’d) If a set of functions can be represented by a weighted sum of ψ(2jt - k), then a larger set, including the original, can be represented by a weighted sum of ψ(2j+1t - k): Vj: span of ψ(2jt - k): Vj+1: span of ψ(2j+1t - k):

Nested Spaces Vj Basis functions: Vj : space spanned by ψ(2jt - k) f(t) ϵ Vj ψ(2t - k) V1 … Vj ψ(2jt - k) Multiresolution conditions  nested spanned spaces: i.e., if f(t) ϵ V j then f(t) ϵ V j+1

How to compute Di ? (cont’d) f(t) ϵ Vj IDEA: define a set of basis functions that span the difference between Vj+1 and Vj

Orthogonal Complement Wj Let Wj be the orthogonal complement of Vj in Vj+1 Vj+1 = Vj + Wj

How to compute Di ? (cont’d) If f(t) ϵ Vj+1, then f(t) can be represented using basis functions φ(t) from Vj+1: Vj+1 Alternatively, f(t) can be represented using two sets of basis functions, φ(t) from Vj and ψ(t) from Wj: Vj+1 = Vj + Wj

How to compute Di ? (cont’d) Think of Wj as a means to represent the parts of a function in Vj+1 that cannot be represented in Vj differences between Vj and Vj+1 Vj Wj

How to compute Di ? (cont’d)  using recursion on Vj: Vj+1 = Vj + Wj Vj+1 = Vj-1+Wj-1+Wj = …= V0 + W0 + W1 + W2 + … + Wj if f(t) ϵ Vj+1 , then: V0 W0, W1, W2, … basis functions basis functions

Summary: wavelet expansion (Section 7.2) Wavelet decompositions involve a pair of waveforms (mother wavelets): encode low resolution info encode details or high resolution info φ(t) ψ(t) scaling function wavelet function

1D Haar Wavelets φ(t) ψ(t) Haar scaling and wavelet functions: computes average computes details

1D Haar Wavelets (cont’d) V0 represents the space of one pixel images Think of a one-pixel image as a function that is constant over [0,1) width: 1 Example: 0 1

1D Haar Wavelets (cont’d) V1 represents the space of all two-pixel images Think of a two-pixel image as a function having 21 equal-sized constant pieces over the interval [0, 1). Note that Examples: 0 ½ 1 width: 1/2 e.g., + =

1D Haar Wavelets (cont’d) V j represents all the 2j-pixel images Functions having 2j equal-sized constant pieces over interval [0,1). Note that Examples: width: 1/2j ϵ Vj e.g., ϵ Vj

1D Haar Wavelets (cont’d) V0, V1, ..., V j are nested i.e., VJ … V1 V0 fine details coarse details

Define a basis for Vj Mother scaling function: Let’s define a basis for V j : 1 0 1 note alternative notation:

Define a basis for Vj (cont’d)

Define a basis for Wj (cont’d) Mother wavelet function: Let’s define a basis ψ ji for Wj : 1 -1 0 1/2 1 note alternative notation:

Define a basis for Wj Note that the dot product between basis functions in Vj and Wj is zero!

Define a basis for Wj (cont’d) Basis functions ψ ji of W j Basis functions φ ji of V j form a basis in V j+1

Define a basis for Wj (cont’d) V3 = V2 + W2

Define a basis for Wj (cont’d) V2 = V1 + W1

Define a basis for Wj (cont’d) V1 = V0 + W0

Example - Revisited f(x)= V2

Example (cont’d) f(x)= φ2,0(x) φ2,1(x) φ2,2(x) φ2,3(x) V2

Example (cont’d) φ1,0(x) φ1,1(x) ψ1,0(x) ψ1,1(x) V1and W1 V2=V1+W1 (divide by 2 for normalization) V1and W1 φ1,0(x) φ1,1(x) ψ1,0(x) ψ1,1(x) V2=V1+W1

Example (cont’d)

Example (cont’d) φ0,0(x) ψ0,0(x) ψ1,0 (x) ψ1,1(x) V0 ,W0 and W1 (divide by 2 for normalization) V0 ,W0 and W1 φ0,0(x) ψ0,0(x) ψ1,0 (x) ψ1,1(x) V2=V1+W1=V0+W0+W1

Example

Example (cont’d)

Filter banks The lower resolution coefficients can be calculated from the higher resolution coefficients by a tree-structured algorithm (i.e., filter bank). Subband encoding (analysis) h0(-n) is a lowpass filter and h1(-n) is a highpass filter

Example (revisited) [9 7 3 5] (9+7)/2 (3+5)/2 (9-7)/2 (3-5)/2 low-pass, down-sampling high-pass, down-sampling (9+7)/2 (3+5)/2 (9-7)/2 (3-5)/2 V1 basis functions

Filter banks (cont’d) Next level:

Example (revisited) [9 7 3 5] (8+4)/2 (8-4)/2 V1 basis functions low-pass, down-sampling high-pass, down-sampling V1 basis functions (8+4)/2 (8-4)/2

Convention for illustrating 1D Haar wavelet decomposition x x x x x x … x x average detail … re-arrange: V1 basis functions re-arrange:

Examples of lowpass/highpass (analysis) filters Haar h1 h0 Daubechies h1

Filter banks (cont’d) The higher resolution coefficients can be calculated from the lower resolution coefficients using a similar structure. Subband encoding (synthesis)

Filter banks (cont’d) Next level:

Examples of lowpass/highpass (synthesis) filters Haar (same as for analysis): g1 g0 Daubechies g1 +

2D Haar Wavelet Transform The 2D Haar wavelet decomposition can be computed using 1D Haar wavelet decompositions. i.e., 2D Haar wavelet basis is separable Two decompositions (i.e., correspond to different basis functions): Standard decomposition Non-standard decomposition

Standard Haar wavelet decomposition Steps (1) Compute 1D Haar wavelet decomposition of each row of the original pixel values. (2) Compute 1D Haar wavelet decomposition of each column of the row-transformed pixels.

Standard Haar wavelet decomposition (cont’d) average (1) row-wise Haar decomposition: detail re-arrange terms … … x x x … x … … . x x x ... x … … … . … … . …

Standard Haar wavelet decomposition (cont’d) average (1) row-wise Haar decomposition: detail row-transformed result … … … … … … . … … . …

Standard Haar wavelet decomposition (cont’d) average detail (2) column-wise Haar decomposition: row-transformed result column-transformed result … … … … … … … . … … . … …

Example … … … . row-transformed result … … … . re-arrange terms

Example (cont’d) column-transformed result … … … … . …

2D Haar basis for standard decomposition To construct the standard 2D Haar wavelet basis, consider all possible outer products of 1D basis functions. φ0,0(x) ψ0,0(x) ψ1,0(x) ψ1,1(x) Example: V2=V0+W0+W1

2D Haar basis for standard decomposition To construct the standard 2D Haar wavelet basis, consider all possible outer products of 1D basis functions. φ00(x), φ00(x) ψ00(x), φ00(x) ψ10(x), φ00(x)

2D Haar basis of standard decomposition V2

Non-standard Haar wavelet decomposition Alternates between operations on rows and columns. (1) Perform one level decomposition in each row (i.e., one step of horizontal pairwise averaging and differencing). (2) Perform one level decomposition in each column from step 1 (i.e., one step of vertical pairwise averaging and differencing). (3) Repeat the process on the quadrant containing averages only (i.e., in both directions).

Non-standard Haar wavelet decomposition (cont’d) one level, horizontal Haar decomposition: one level, vertical Haar decomposition: … … x x x … x … … . x x x . . . x … … … … . … … . … …

Non-standard Haar wavelet decomposition (cont’d) re-arrange terms … … one level, vertical Haar decomposition on “green” quadrant one level, horizontal Haar decomposition on “green” quadrant … … . … … … … … … … . …

Example re-arrange terms … … … … . … …

Example (cont’d) … … … … . …

2D Haar basis for non-standard decomposition Defined through 2D scaling and wavelet functions:

2D Haar basis for non-standard decomposition (cont’d) V2

2D Haar basis for non-standard decomposition (cont’d) Three sets of detail coefficients (i.e., subband encoding) LL: average LL Detail coefficients LH: intensity variations along columns (horizontal edges) HL: intensity variations along rows (vertical edges) HH: intensity variations along diagonals

2D DWT using filter banks (analysis) LL LH HL HH

2D DWT using filter banks (analysis) LL H LH V HL D HH LL LH LL HL HH The wavelet transform is applied again on the LL sub-image

2D DWT using filter banks (analysis)

2D Inverse DWT using filter banks (synthesis) H LH V HL D HH

Wavelets Applications Noise filtering Image compression Fingerprint compression Image fusion Recognition G. Bebis, A. Gyaourova, S. Singh, and I. Pavlidis, "Face Recognition by Fusing Thermal Infrared and Visible Imagery", Image and Vision Computing, vol. 24, no. 7, pp. 727-742, 2006. Image matching and retrieval Charles E. Jacobs Adam Finkelstein David H. Salesin, "Fast Multiresolution Image Querying", SIGRAPH, 1995.

Fast Multiresolution Image Querying painted low resolution target queries Charles E. Jacobs Adam Finkelstein David H. Salesin, "Fast Multiresolution Image Querying", SIGRAPH, 1995.