The Hitchhiker’s Guide to the Dual-Tree Complex Wavelet Transform
—DON’T PANIC—
October 26, 2007
Outline
The Hilbert Transform Definition The Fourier Transform Definition Invertion Fourier Approximation The Wavelet Transform Definition Invertion Wavelet Approximation The Dual-Tree Complex Wavelet Transform Definition
The Hilbert Transform
Definition (Hilbert Transform)
Given a real-valued function of a real variable, f : R → R, define Hf : R → R by Hf (y) = lim 1 ε→0 π f (y − x) dx x
{|x|>ε}
f (x)
Hf (ξ)
The Fourier Transform
Definition (Fourier Transform)
Given a complex-valued function of real variable f : R → C, define Ff : R → C by
∞
Ff (ξ) =
−∞
f (x)e−2πixξ dx = f (x), e2πixξ .
f (x)
|Ff (ξ)|
Invertion of the Fourier Transform
Theorem
For f “good enough”,
∞ ∞
f (x) =
−∞
Ff (ξ)e2πixξ dξ =
−∞
f (x), e2πixξ e2πixξ dξ.
=
n∈Z
f (x), e2πixn e2πixn
Hilbert Transform via Fourier Transform
f (x)
H
Hf (y)
Ff (ξ)
−i sign(ξ)Ff (ξ)
Hilbert Transform via Fourier Transform
f (x)
H
Hf (y)
F
F
Ff (ξ)
−i sign(ξ)Ff (ξ) FHf (ξ)
Hilbert Transform via Fourier Transform
f (x)
H
Hf (y)
F
F
Ff (ξ)
−i sign(ξ)Ff (ξ)
Hilbert Transform via Fourier Transform
f (x)
H
Hf (y)
F
F
Ff (ξ)
−i sign(ξ)Ff (ξ)
Hilbert Transform via Fourier Transform
f (x)
H
Hf (y)
F
F −1
Ff (ξ)
−i sign(ξ)Ff (ξ)
Discretization of the Fourier Transform
Theorem
For f “good enough”,
∞ ∞
f (x) =
−∞
Ff (ξ)e2πixξ dξ =
−∞
f (x), e2πixξ e2πixξ dξ Ff (n)e2πixn
n∈Z
=
n∈Z
f (x), e2πixn e2πixn =
Fourier Approximation
N
Use partial sums
n=−N
Ff (n)e2πixn to approximate f .
f (x)
Fourier Approximation
N
Use partial sums
n=−N
Ff (n)e2πixn to approximate f .
f (x) and 3-term approximation
Fourier Approximation
N
Use partial sums
n=−N
Ff (n)e2πixn to approximate f .
f (x) and 5-term approximation
Fourier Approximation
N
Use partial sums
n=−N
Ff (n)e2πixn to approximate f .
f (x) and 11-term approximation
Fourier Approximation
N
Use partial sums
n=−N
Ff (n)e2πixn to approximate f .
f (x) and 33-term approximation
Fourier Approximation
N
Use partial sums
n=−N
Ff (n)e2πixn to approximate f .
Gibbs phenomenom
f (x) and 33-term approximation
Fourier Approximation
N
Use partial sums
n=−N
Ff (n)e2πixn to approximate f .
f (x) and 65-term approximation
The Wavelet Transform
Definition (Wavelets)
Functions ψ : R → R satisfying the admissibility condition:
∞
|Fψ(ξ)|2
−∞
dξ |ξ|
= 1.
Denote the shifts and dilations of the wavelet by ψa,b (x) =
1 |a|1/2
ψ
x−b a
,
a, b ∈ R.
The Wavelet Transform
Definition (Wavelets)
Functions ψ : R → R satisfying the admissibility condition:
∞
|Fψ(ξ)|2
−∞
dξ |ξ|
= 1.
Denote the shifts and dilations of the wavelet by ψa,b (x) =
1 |a|1/2
ψ
x−b a
,
a, b ∈ R.
Definition (Wavelet Transform)
Given a real-valued function of real variable f : R → R, define Wf : R2 → R by
∞
Wf (a, b) =
−∞
f (x)ψa,b (x) dx = f, ψa,b .
Invertion of the Wavelet Transform
Theorem
For f “good enough”,
∞ ∞ −∞
f (x) =
−∞
Wf (a, b)ψa,b (x) db da a2
=
m∈Z n∈Z
Wf (2−m , n2m ) ψ2−m ,n2m (x)
Discretization of the Wavelet Transform
Theorem
For f “good enough”,
∞ ∞ −∞
f (x) =
−∞
Wf (a, b)ψa,b (x) db da a2
=
m∈Z n∈Z
Wf (2−m , n2m ) ψ2−m ,n2m (x)
Wavelet Approximation
Use partial sums approximate f
M −M N −N
Wf (2−m , n2m ) ψ2−m ,n2m (x) to
f (x)
Wavelet Approximation
Use partial sums approximate f
M −M N −N
Wf (2−m , n2m ) ψ2−m ,n2m (x) to
f (x) and 1-term approximation
Wavelet Approximation
Use partial sums approximate f
M −M N −N
Wf (2−m , n2m ) ψ2−m ,n2m (x) to
f (x) and 2-term approximation
Wavelet Approximation
Use partial sums approximate f
M −M N −N
Wf (2−m , n2m ) ψ2−m ,n2m (x) to
f (x) and 4-term approximation
Wavelet Approximation
Use partial sums approximate f
M −M N −N
Wf (2−m , n2m ) ψ2−m ,n2m (x) to
f (x) and 8-term approximation
Wavelet Approximation
Use partial sums approximate f
M −M N −N
Wf (2−m , n2m ) ψ2−m ,n2m (x) to
f (x) and 16-term approximation
Wavelet Approximation
1, 024 × 1, 024 = 1, 048, 576 pixels
Wavelet Approximation
1, 024 × 1, 024 = 1, 048, 576 pixels
1 wavelet coefficient
Wavelet Approximation
1, 024 × 1, 024 = 1, 048, 576 pixels
1 + 4 = 5 wavelet coefficients
Wavelet Approximation
1, 024 × 1, 024 = 1, 048, 576 pixels
1 + 4 + 16 = 21 wavelet coefficients
Wavelet Approximation
1, 024 × 1, 024 = 1, 048, 576 pixels
1 + 4 + 16 + 64 = 85 wavelet coefficients
Wavelet Approximation
1, 024 × 1, 024 = 1, 048, 576 pixels
1 + 4 + 16 + 64 + 256 = 341 wavelet coefficients
Wavelet Approximation
1, 024 × 1, 024 = 1, 048, 576 pixels
1 + 4 + 16 + 64 + 256 + 1024 = 1365 wavelet coefficients
Wavelet Approximation
1, 024 × 1, 024 = 1, 048, 576 pixels
1 + 4 + 16 + 64 + 256 + 1024 + 4096 = 5461 wavelet coefficients
Problems with Real Wavelets
Poor Directional Selectivity
The standard tensor-product construction of multi-variate wavelets produces a checkerboard pattern that is simultaneously oriented along several directions. This lack of directional selectivity complicates processing of geometric image features like ridges and edges.
N. Kingsbury: “Complex Wavelets for Shift Invariant Analysis and Filtering of Signals”
Attempts to solve this problem in the last 10 years
Brushlets (Meyer & Coifman, 1997)
Attempts to solve this problem in the last 10 years
Brushlets (Meyer & Coifman, 1997) Ridgelets (Cand´s, 1998) e
Attempts to solve this problem in the last 10 years
Brushlets (Meyer & Coifman, 1997) Ridgelets (Cand´s, 1998) e Curvelets (Cand´s & Donoho, 1999) e
Attempts to solve this problem in the last 10 years
Brushlets (Meyer & Coifman, 1997) Ridgelets (Cand´s, 1998) e Curvelets (Cand´s & Donoho, 1999) e Wedgelets (Donoho, 1999)
Attempts to solve this problem in the last 10 years
Brushlets (Meyer & Coifman, 1997) Ridgelets (Cand´s, 1998) e Curvelets (Cand´s & Donoho, 1999) e Wedgelets (Donoho, 1999) Beamlets (Donoho & Huo, 2001)
Attempts to solve this problem in the last 10 years
Brushlets (Meyer & Coifman, 1997) Ridgelets (Cand´s, 1998) e Curvelets (Cand´s & Donoho, 1999) e Wedgelets (Donoho, 1999) Beamlets (Donoho & Huo, 2001) Surflets (Baraniuk, 2004)
Attempts to solve this problem in the last 10 years
Brushlets (Meyer & Coifman, 1997) Ridgelets (Cand´s, 1998) e Curvelets (Cand´s & Donoho, 1999) e Wedgelets (Donoho, 1999) Beamlets (Donoho & Huo, 2001) Surflets (Baraniuk, 2004) Shearlets (G. Kutyniok, 2005)
Attempts to solve this problem in the last 10 years
Brushlets (Meyer & Coifman, 1997) Ridgelets (Cand´s, 1998) e Curvelets (Cand´s & Donoho, 1999) e Wedgelets (Donoho, 1999) Beamlets (Donoho & Huo, 2001) Surflets (Baraniuk, 2004) Shearlets (G. Kutyniok, 2005) Needlets (P. Petrushev, 2005)
Attempts to solve this problem in the last 10 years
Brushlets (Meyer & Coifman, 1997) Ridgelets (Cand´s, 1998) e Curvelets (Cand´s & Donoho, 1999) e Wedgelets (Donoho, 1999) Beamlets (Donoho & Huo, 2001) Surflets (Baraniuk, 2004) Shearlets (G. Kutyniok, 2005) Needlets (P. Petrushev, 2005) (Your name here)-lets
The Dual-Tree Complex Wavelet Transform
N. Kingsbury: “Complex Wavelets for Shift Invariant Analysis and Filtering of Signals”
The key: “Hilbert Transform pairs”
Use complex-valued functions Ψ : R → C satisfying Ψ(x) = ψ(x) + iHψ(x). where both ψ and Hψ are real-valued.
That’s a neat idea!
If both ψ and Hψ are wavelets, we perform two different wavelet transforms, one with ψ, one with Hψ. For each choice a, b ∈ R, combine the corresponding real-valued wavelet coefficients f, ψa,b and f, Hψa,b to form a single complex-valued coefficient: f, Ψa,b = f, ψa,b + i f, Hψa,b .
That’s a neat idea!
If both ψ and Hψ are wavelets, we perform two different wavelet transforms, one with ψ, one with Hψ. For each choice a, b ∈ R, combine the corresponding real-valued wavelet coefficients f, ψa,b and f, Hψa,b to form a single complex-valued coefficient: f, Ψa,b = f, ψa,b + i f, Hψa,b .
WARNING!
The Dual-Tree Complex Wavelet Transform is not a transform per se. It is a smart way to combine the information we obtain from two transforms.