Wavelets &
Applications
N. Malmurugan
[email protected]
Fourier analysis
Decompose image/signal into sinusoids
+
F (w) =
f ( x ) [ cos( 2 w x ) + j sin( 2 w x ) dx ]
Fourier Transform
F
Fourier
Transform
Frequency
Time
Case -1 Stationary signal
1 250
0.8
0.6 200
0.4
0.2 150
0
-0.2 100
-0.4
-0.6 50
-0.8
-1 0
0 0.2 0.4 0.6 0.8 1 0 20 40 60 80 100
time frequency
Fourier Transform (FT)
Time-domain Frequency-domain
Fourier transform and non-
stationary signals
The Fourier transform does not provide information concerning
the time interval(s) where a given frequency component exist.
Not a problem with stationary signals
(The frequency components of the signal then exist at all times )
Not suited for non-stationary signals
Neither suited for signals with discontinuities and sharp peaks
(like EKG or EEG signals)
1
0.8
0.6
0.4
0.2
-0.2
Stationary -0.4
signal -0.6
-0.8
-1
0 100 200 300 400 500 600 700 800 900 1000
Non -
stationary
signal
The obtained Fourier spectra
Case - 2 Signal varying with time
Ambiguity exists in the analysis
1 1.5
0.8
0.6
0.4 1
0.2
0
-0.2
-0.4 0.5
-0.6
-0.8
-1 0
0 50 100 150 200 250 300 350 400 0 50 100 150 200
time frequency
What about
instantaneous
frequency ?
Problem with FT
FT contains only frequency information
No Time information is retained
Works fine for stationary signals
Non-stationary or changing signals cause problems
FT shows frequencies occurring at all times instead of
specific times
Solution: STFT
How can we still use FT, but handle non-stationary
signals?
How can we include time?
Idea: Break up the signal into discrete windows
Each signal within a window is a stationary signal
Take FT over each part
Short Time Fourier Transform ( STFT )
- Divide the signal into sections using windows
- Calculate the Fourier transform each section
- Display the results as a joint function of the frequency and time
-j2 ft
The STFT is defined as x ( t ) w( t ) e dt
X(f, ) =
where x(t) is the signal to be analysed , w(t) is the window function,
the process is illustrated in the next figure.
STFT maps a 1 -D time domain signal to a 2 -D plane (t , f )
Analysis depends on the type of window chosen
Windowed Fourier transform
Sliding time window is used
Heisenberg uncertainty relations are playing!
One cannot know the exact time-frequency representation of a signal.
STFT Contd..
( w)
STFT
X (t , f ) = [x(t ) w * (t t ' )] e j 2ft
dt
t
Heisenburg Uncertainty Principle
Originally applied to the momentum and location
of moving signals
Can be applied to the time-frequency information
of a signal
Meaning
Cannot know what spectral components exist at what
instances in time
Example of STFT
Perform it in the same non-stationary signal as
before
Example of STFT (continued)
Gaussian Window with different amounts of support
STFT with a = 0.01 (narrowest
window)
Well separated in
time
Peaks correspond
to a band of
frequencies
STFT with a = 0.0001
(3rd widest window)
Time resolution is
becoming poorer
Frequency
resolution is
improving
STFT with a = 0.00001
(widest window)
Poor time
resolution
Excellent
frequency
resolution
Time-Frequency Tiles: STFT
Single window used for all
frequencies
Resolution analysis is the
same at all locations
Conclusions: STFT
Developed as an alternative to the FT
STFT is application dependant
Better time or frequency resolution?
Choice of window is crucial
Wheres the problem?
How do you pick an appropriate window?
Too small = poor frequency resolution
Too large may result in violation of stationary
condition
Different resolutions at different frequencies?
Alternative basis functions
Anyone heard about
wavelets?
What are wavelets?
Waves : Waves are oscillating functions of
time or space or both.
Wavelets : Wavelets are small waves.
A wavelet has oscillating wave-like characteristics.
Its energy is concentrated in time over relatively small
intervals.
A wavelet can look like..
0.1
0.08
0.06
0.04
0.02
-0.02
-0.04
-0.06
0 500 1000 1500 2000 2500
The Continuous Wavelet Transform
(CWT)
CWT decomposes f(t) into a set of basis wavelet
functions:
( s, ) = f (t ) dt
*
s ,
Wavelets are generated from a mother wavelet (t )
1 t
s , =
s s
Wavelet properties
Admissibility condition:
IfIfsatisfied
satisfiedthen
then
the
the waveletscan
wavelets can
2 be used
be used toto
( ) analyze
analyzeand
and
d < then
thenreconstruct
aasignal
reconstruct
signalwithout
without
loss of
loss of
information
information
Implication:
( ) =0 = 0 (t )dt = 0
Oscillatory
Oscillatory! !
Must
Mustbebeaawave
wave
Some Common Wavelets
Wavelet Transform
Sine Wave Mother Wavelet (db10)
Signal Signal
Sine wave at different freq Translated and Dilated
Mother Wavelet
scale decreases frequency
increases
Local outlook
Multi resolution analysis
Analysis between scales
Time-scale analysis
Evaluating the Continuous Wavelet Transform
signal
step -1
step -2
*
*
step - N
Each wavelet (t) is associated with a scaling function (t)
The scaling function provides the scaling characterestic to the
wavelet and the choice of the scaling function depends on the
wavelet.
1
1
(t) HAAR Wavelet
-1
a. wavelet function (t) = 1; 0 < t < 1/2
1 = -1; 1/2 < t < 1
(t)
(t) = 1; 0 < t < 1
1
b. scaling function
other wavelet families include Daubechies, Morlet , Coiflets , Symlets , Biorthogonal wavelets
Chirped signal
and CWT
CWT Example
Non-stationary Signal
CWT Example
Poor scale
resolution at
high scales
Interpreted as:
good frequency
resolution at
lower scales
Time-frequency Tiles: CWT
Image recaps
everything we have
gone through
Areas of the boxes are
also determined by
Heisenburgs
Uncertainty Principle
Sunspot activity for 500 months
250
200
150
Activity
100
50
0
0 50 100 150 200 250 300 350 400 450 500
time
250
CWT transform
200
150
100
50
0
0 50 100 150 200 250 300 350 400 450 500
Problems with the CWT
Redundancy - The scaled wavelets need not
be an orthogonal basis
An infinite number of wavelets in the
transform
For most functions no analytical expressions
exist for the wavelet transform
Fast algorithms are needed to exploit the
power of the transform
Discrete wavelets
The
Thewavelet
wavelet
itself
itselfisisnot
j ,k (t ) = ( s t k 0 )
j not
discrete
discrete butititisis
but
0
scaled
scaledand and
translated
translatedin in
discrete steps
discrete steps
Usual choices:
s0 = 2 and 0 = 1 (dyadic sampling)
Orthogonal basis
Wavelets that are orthogonal to their own
dilations and translations demands special
choices of the mother wavelets
Multiresolutional Analysis
Analyzing according to scale
Designed to give:
Good time resolution and poor frequency resolution at
high frequencies
Good frequency resolution and poor time resolution at
low frequencies
How many scales are needed?
Compression in time stretches the spectrum and shifts it
upwards:
1
F { f (at )} = F
a a
Using dilated wavelets we can cover the signal spectrum
The scaling function
An infinite number of wavelets is needed to cover
the spectrum down to zero
Solution: Use a scaling function as cork plug
Iterated filter bank
Iteratively split the signal in two
a low-pass and a high-pass signal
The wavelet transform is equivalent with a
subband coding scheme
Closer look at the filter scheme
Twice as many data as we started!
x0 x0 + x7 x0 x7
x lowpass x + x highpass x0 x1
1 0 1
x2 x1 + x2 x1 x2
x 1 x2 + x3 1 x2 x3
X = 3 l X = Hl X = h X = Hh X =
x4 2 x3 + x4 2 x3 x4
4x + x5 4x x5
x5
x6 x5 + x6 x5 x6
x6 + x7 x6 x7
x7
Reconstruction: X = lX +hX
Downsampling
Can the signal still
be reconstructed ?
x0 + x7 x0 x7
x + x
1 1 x2 x1
X l = DH l X = 2 1 X h = DH h X =
2 x4 x3
2 x4 + x3
x + x x
6 x5
6 5
Reconstruction
Upsampling:
x0 + x7 x0 x7
0 0
x2 + x1 x2 x1
1 0 1 0
UX l = UX =
2 x4 + x3 h
2 x4 x3
0 0
x6 + x5 x6 x5
x0 + x7 x7 x0
0 0
lowpass x + x highpass x x
2 1 1 2
x2 + x1 x2 x1
1 x4 + x3 1 x3 x4
l * UX l =
2 x4 + x3
h UX h =
2 x4 x3
S = l UX l + h UX h
6x + x5
x
5 6 x
x + x x x
6 5
6 5
x0 + x7 0
x x 7
Quadrature mirror filters
Analysing filters:
1 0 0 0 1
0 0 0 1 0 0 0 0 0 0 1
1 1 0 0 0
0 0 0 1 1 0 0 0 0 0 0
0 1 1 0 0
0 0 0 0 1 1 0 0 0 0 0
1 0 0 1 1 0
0 0 0 1 0 0 1 1 0 0 0 0
Hl = Hh =
2 0 0 0 1 0
1 0 0 2 0 0 0 1 1 0 0 0
0 0 0 0 1
0 1 0 0 0 0 0 1 1 0 0
0 0 0 0 0
0 1 1 0 0 0 0 0 1 1 0
0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1
Synthesis filters:
1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0
0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0
0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0
t 1 0 0 0 1 1 0 0 0 t 1 0 0 0 1 1 0 0 0
Hl = Hh =
2 0 0 0 0 1 1 0 0 2 0 0 0 0 1 1 0 0
0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0
0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1
1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1
The discrete wavelet transform
Often the signal will be discrete due to sampling
Will a digital filter bank do the job?
Two-scale relation:
(2 t ) = h j +1 (k ) (2 t k )
j j +1
Scaling function at one scale can be expressed from translated
scaling functions at the next smaller scale!
Haar Wavelets
The Haar wavelet system
Haar Wavelets
The Haar wavelet system
Haar Wavelets
The Haar wavelet system (example1)
Haar Wavelets
The Haar wavelet system (example)
Signals : 37, 35, 28, 28, 58, 18, 21, 15
Haar Wavelets
The Haar wavelet system
Signals : 37, 35, 28, 28, 58, 18, 21, 15
Decomposition (analysis) :
37 35 28 28 58 18 21 15
36 28 38 18 1 0 20 3
32 28 4 10 1 0 20 3
30 2 4 10 1 0 20 3
Averaging Differencing
(37+35)/2=36, (37-35)/2=1
(28+28)/2=28, (28-28)/2=0
(58+18)/2=38, (58-18)/2=20
(21+18)/2=15 (21-18)/2=3
Haar Wavelets
The Haar wavelet system
Signals : 37, 35, 28, 28, 58, 18, 21, 15
Reconstruction (synthesis) :
30 2 4 10 1 0 20 3
32 28 4 10 1 0 20 3
36 28 38 18 1 0 20 3
37 35 28 28 58 18 21 15
30 + 2 = 32, 30 2 = 28
Haar Wavelets
The Haar wavelet system
Signals : 37, 35, 28, 28, 58, 18, 21, 15
Threshold = 2 :
37 35 28 28 58 18 21 15
30 2 4 10 1 0 20 3
Haar Wavelets
The Haar wavelet system
Signals : 37, 35, 28, 28, 58, 18, 21, 15
Threshold = 2 :
37 35 28 28 58 18 21 15
30 2 4 10 1 0 20 3
30 0 4 10 0 0 20 3
30 30 4 10 0 0 20 3
34 26 40 20 0 0 20 3
34 34 26 26 60 20 23 17
Truncate!
Haar Wavelets
The Haar wavelet system (example)
Threshold = 2 :
37 35 28 28 58 18 21 15
34 34 26 26 60 20 23 17
Application of Wavelets
Data Compression
Wavelets have good energy concentration properties.
Most DWT coefficients usually are very small.
They can be discarded without incorporating a
significant error in the reconstruction stage.
Application of Wavelets
Denoising
Donoho & Johnstone have devised the wavelet
shrinkage denoising(WSD).
Noise will show itself at finer scales.
Discarding the coefficients that falls below a
certain threshold at these scales will remove the
noise.
Application of Wavelets
Denoising
Denoising
Raw OCT image
(false color coded)
Denoising using
wavelet transform
and soft thresholding
Soft Skin on the Palm
Depth
Averaging over
One scan per position
ten scans per position
Speckle noise is not
removed here!
Denoising using
wavelet decomposition
Hidden structured
low high regions are extracted !
Different Denoising Scale Levels
low high
Compression using DWT
Compression ratio: 26:1
Demonstration the Quality of a
Compressed Image
Original: left side
Compression Ratio of
100:1 no degradation is
visible
Demonstration the Quality of a
Compressed Image (2)
Comparison of
compression tools
Wavelet compressor
80:1; left inset
JPEG 80:1; right inset
Applications -Medical Imaging
Tumor detection, Microcalcification detection
Two Dimensional Wavelets
High Pass and Low Pass Combinations
High and Low Pass in Horizontal and Vertical Directions of the
Image Data
Low Pass Vertical High Pass Vertical In Each Quadrant
Low Pass Horizontal Low Pass Horizontal - One-Quarter Original Image
- Down-sampled X/2 by X/2
Low Pass Vertical High Pass Vertical
High Pass Horizontal High Pass Horizontal
Current Researchers Organizations
Lawrence Livermore National Laboratory
BellLabs
Rice University
Schools such as
Yale
Berkley
Dartmouth
Georgia Tech
Individual Researchers
Ingrid Daubechies still exploring the area of
wavelets
Chris Brislawn current developer for the wavelet
compression used by the FBI
Ali N. Akansu working at the NJCMR working on
wavelets and subband coding
For Further Information
http://engineering.rowan.edu/~polikar/WAVELETS/
WTtutorial.html (Wavelet tutorial)
www.wavelet.org (wavelet digest)
www.dsp.rice.edu (publications in the area of signal
processing)
http://www.mt.mevis.de/products/MT-WICE/ (for
high quality wavelet image compression software)
http://www.cosy.sbg.ac.at/~uhl/wav.html (excellent
link for references, papers, java applets)
http://www.amara.com/current/wavelet.html
(excellent resource page of links)
http://perso.wanadoo.fr/polyvalens/clemens/wavelets/
wavelets.html - A really friendly guide to wavelets
Wavelet Books
Wavelets and Subband Coding by Martin Vetterli and
Jelena Kovacevic (Prentice Hall,1995)
Wavelets and Filter Banks by Gilbert Strang and Truong
Nguyen (Wellesley-Cambridge Press, 1996)
Wavelets in Medicine and Biology edited by Akram Aldroubi
and Michael Unser (CRC Press, 1996)
A Wavelet Tour of Signal Processing by Stphane Mallat
(AcademicPress,1998)
Introduction to Wavelets and Wavelets
Transforms
by C. Sidney Burrus (Contributor), et al
(Prentice-Hall 1997)
A Friendly Guide to Wavelets
by Gerald Kaiser (Springer Verlag June 1994)
Fundamentals of Wavelets : Theory,
Algorithms, and Applications
by Jaideva C. Goswami & Andrew K. Chan
(Wiley-Interscience April 1999)
Courtesy
Dr.Murali Krishna. P
[email protected]
Dr. Robi Polikar
[email protected]
Mr.Min Wang
[email protected]
That is all, folks
Thank you for your patience!
Ja
ck
ie
THANK YOU