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 1 f(y x) Hf(y) = lim dx ε 0 π 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), e 2πixξ. f(x) Ff(ξ)
Invertion of the Fourier Transform Theorem For f good enough, f(x) = Ff(ξ)e 2πixξ dξ = = f(x), e 2πixn e 2πixn n Z f(x), e 2πixξ e 2πixξ dξ.
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(ξ)e 2πixξ dξ = = f(x), e 2πixn e 2πixn = n Z n Z f(x), e 2πixξ e 2πixξ dξ Ff(n)e 2πixn
Fourier Approximation Use partial sums N n= N Ff(n)e 2πixn to approximate f. f(x)
Fourier Approximation Use partial sums N n= N Ff(n)e 2πixn to approximate f. f(x) and 3-term approximation
Fourier Approximation Use partial sums N n= N Ff(n)e 2πixn to approximate f. f(x) and 5-term approximation
Fourier Approximation Use partial sums N n= N Ff(n)e 2πixn to approximate f. f(x) and 11-term approximation
Fourier Approximation Use partial sums N n= N Ff(n)e 2πixn to approximate f. f(x) and 33-term approximation
Fourier Approximation Use partial sums N n= N Ff(n)e 2πixn to approximate f. Gibbs phenomenom f(x) and 33-term approximation
Fourier Approximation Use partial sums N n= N Ff(n)e 2π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 ψ ( ) x b a 1/2 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 ψ ( ) x b a 1/2 a, a, b R. Definition (Wavelet Transform) Given a real-valued function of real variable f : R R, define Wf : R 2 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) = = m Z Wf(a, b)ψ a,b (x) db da a 2 Wf(2 m, n2 m ) ψ 2 m,n2 m(x) n Z
Discretization of the Wavelet Transform Theorem For f good enough, f(x) = = m Z Wf(a, b)ψ a,b (x) db da a 2 Wf(2 m, n2 m ) ψ 2 m,n2 m(x) n Z
Wavelet Approximation Use partial sums M N M N Wf(2 m, n2 m ) ψ 2 m,n2m(x) to approximate f f(x)
Wavelet Approximation Use partial sums M N M N Wf(2 m, n2 m ) ψ 2 m,n2m(x) to approximate f f(x) and 1-term approximation
Wavelet Approximation Use partial sums M N M N Wf(2 m, n2 m ) ψ 2 m,n2m(x) to approximate f f(x) and 2-term approximation
Wavelet Approximation Use partial sums M N M N Wf(2 m, n2 m ) ψ 2 m,n2m(x) to approximate f f(x) and 4-term approximation
Wavelet Approximation Use partial sums M N M N Wf(2 m, n2 m ) ψ 2 m,n2m(x) to approximate f f(x) and 8-term approximation
Wavelet Approximation Use partial sums M N M N Wf(2 m, n2 m ) ψ 2 m,n2m(x) to approximate f 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)
Attempts to solve this problem in the last 10 years Brushlets (Meyer & Coifman, 1997) Ridgelets (Candés, 1998) Curvelets (Candés & Donoho, 1999)
Attempts to solve this problem in the last 10 years Brushlets (Meyer & Coifman, 1997) Ridgelets (Candés, 1998) Curvelets (Candés & Donoho, 1999) Wedgelets (Donoho, 1999)
Attempts to solve this problem in the last 10 years Brushlets (Meyer & Coifman, 1997) Ridgelets (Candés, 1998) Curvelets (Candés & Donoho, 1999) 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) Curvelets (Candés & Donoho, 1999) 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) Curvelets (Candés & Donoho, 1999) 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) Curvelets (Candés & Donoho, 1999) 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) Curvelets (Candés & Donoho, 1999) 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.