Curvelets

advertisement
Introduction to the
Curvelet Transform
By
Zvi Devir and Yanai Shpinner
Introduction
Curvelet Transform is a new multi-scale
representation most suitable for objects with
curves.
Developed by Candès and Donoho (1999).
Still not fully matured.
Seems promising, however.
Approximation Rates
Having an object in the domain [0,1][0,1],
how ‘fast’ can we approximate it using certain
system of functions?
Using the Fourier Transform:
~
f  fm
2
2
 
O m
 12
Using the Wavelet Transform:
~
f  fm
2
2
 
 O m1
Using the Curvelet Transform:
~
f  fm
2
2

  
 O m2 log 3 m  O m2
Point and Curve Discontinuities
A discontinuity point affects all the Fourier coefficients
in the domain.

Hence the FT doesn’t handle points discontinuities well.
Using wavelets, it affects only a limited number of
coefficients.

Hence the WT handles point discontinuities well.
Discontinuities across a simple curve affect all the
wavelets coefficients on the curve.

Hence the WT doesn’t handle curves discontinuities well.
Curvelets are designed to handle curves using only a
small number of coefficients.

Hence the CvT handles curve discontinuities well.
Curvelet Transform
The Curvelet Transform includes four stages:
Sub-band decomposition
Smooth partitioning
Renormalization
Ridgelet analysis
Sub-band Decomposition
f  P0 f , 1 f ,  2 f ,
Dividing the image into resolution layers.
Each layer contains details of different
frequencies:


P0 – Low-pass filter.
1, 2, … – Band-pass (high-pass) filters.
The original image can be reconstructed from
the sub-bands:
f  P0 P0 f     s  s f 
s
Energy preservation
2
2
2
f 2  P0 f 2    s f 2
s
Sub-band
Decomposition
f  P0 f , 1 f ,  2 f ,
f
P0 f
1 f
2 f
Sub-band Decomposition
Low-pass filter 0 deals with low frequencies
near ||1.
Band-pass filters 2s deals with frequencies
near domain ||[22s, 22s+2].

Recursive construction – 2s(x) = 24s (22sx).
The sub-band decomposition is simply
applying a convolution operator:
P0 f   0  f
 s f  2 s  f
Sub-band Decomposition
The sub-band decomposition can be
approximated using the well known wavelet
transform:



Using wavelet transform, f is decomposed into S0,
D1, D2, D3, etc.
P0 f is partially constructed from S0 and D1,
and may include also D2 and D3.
s f is constructed from D2s and D2s+1.
Sub-band Decomposition
P0 f is “smooth” (low-pass), and can be
efficiently represented using wavelet base.
The discontinuity curves effect the high-pass
layers s f. Can they be represented
efficiently?


Looking at a small fragment of the curve, it appears
as a relatively straight ridge.
We will dissect the layer into small partitions.
Smooth Partitioning
Smooth Partitioning
A grid of dyadic squares is defined:
Q s ,k1 ,k2  

k1
2s
,
k1 1
2s
 
k2
2s
,
k 2 1
2s
 Q
s
Qs – all the dyadic squares of the grid.
Let w be a smooth windowing function with
‘main’ support of size 2-s2-s.
For each square, wQ is a displacement of w
localized near Q.
Multiplying s f with wQ (QQs) produces a
smooth dissection of the function into
‘squares’.
h  w  f
Q
Q
s
Smooth Partitioning
The windowing function w is a nonnegative
smooth function.
Partition of the energy:

The energy of certain pixel (x1,x2) is divided
between all sampling windows of the grid.
2
w
 x1  k1, x2  k2   1
Example:


k1 , k 2
An indicator of the dyadic square
(but not smooth!!).
Smooth window function with
an extended compact support:
Expands the number of coefficients.
Smooth Partitioning
Partition of the energy:
2
w
 x1  k1, x2  k2   1
k1 , k 2
2
w
 Q 1
QQ s
Reconstruction:
 wQ  hQ 
QQ s
2
w
 Q h  h
QQ s
Parserval relation:
h
QQ s
2
Q 2

 w
QQ s
2
Q
h  
2
w
QQ s
2
Q
h  h  h 2
2
2
2
Renormalization
Renormalization is centering each dyadic
square to the unit square [0,1][0,1].
For each Q, the operator TQ is defined as:
T f x , x   2 f 2 x  k , 2 x
s
Q
1
s
2
s
1
1
Each square is renormalized:
1
g Q  TQ hQ
2
 k2

Before the Ridgelet Transform
The s f layer contains objects with
frequencies near domain ||[22s, 22s+2].

We expect to find ridges with width  2-2s.
Windowing creates ridges of width  2-2s and
length  2-s.
The renormalized ridges has an aspect ratio
of width  length2.
We would like to encode those ridges
efficiently

Using the Ridgelet Transform.
The Ridgelet Transform
Ridgelet are an orthonormal set {} for L2(2).
Developed by Candès and Donoho (1998).
radius 2s
-s
22-2s
21-s
Ridge in Square



2s
It’s Fourier Transform
2s
divisions
Ridgelet Tiling
Fourier Transform
within Tiling
Divides the frequency domain to dyadic coronae
||[2s, 2s+1].
In the angular direction, samples the s-th corona at
least 2s times.
In the radial direction, samples using local wavelets.
The Ridgelet Transform
The ridgelet element has a formula in the
frequency domain:


ρˆ λ ξ   ξ ψˆ j ,k  ξ  ωi,l θ   ψˆ j ,k  ξ  ωi,l θ  π 
where,
 i,l are periodic wavelets for [-,  ).
 i is the angular scale and l[0, 2i-1–1] is the
angular location.
 j,k are Meyer wavelets for .
 j is the ridgelet scale and k is the ridgelet location.
1
2
 12
Ridgelet Analysis
Each normalized square is analyzed in the
ridgelet system:
αQ,λ   g Q , ρλ



The ridge fragment has an aspect ratio
of 2-2s2-s.
After the renormalization, it has localized
frequency in band ||[2s, 2s+1].
A ridge fragment needs only a very few ridgelet
coefficients to represent it.
Digital Ridgelet Transform (DRT)
Unfortunately, the (current) DRT is not truly
orthonormal.
An array of nn elements cannot be fully
reconstructed from nn coefficients.
The DRT uses n2n coefficients for almost
perfect reconstruction
Still a lot of research need to be done…
Curvelet Transform
The four stages of the Curvelet Transform were:
Sub-band decomposition
f  P0 f , 1 f ,  2 f , 
Smooth partitioning
hQ  wQ   s f
Renormalization
1
g Q  TQ hQ
Ridgelet analysis
αQ,λ   g Q , ρλ
Image Reconstruction
The Inverse of the Curvelet Transform:
Ridgelet Synthesis
gQ   αQ,λ   ρλ
Renormalization
λ
hQ  TQ g Q
Smooth Integration
s f 
w
QQ s
Q
 hQ
Sub-band Recomposition
f  P0 P0 f     s  s f 
s
Example:
Roy Lichtenstein: “In The Car” 1963
Original Image
(256256)
Approximation with only
64 wavelets and 256 curvelets
(about 0.5% of the coefficients)
Example:
Original
Adding Gaussian Noise
Noise Reduction
using Curvelet
transform.
WT + Thresholding
WT + k- Thresholding
Curvelet Transform
Example:
Original
Adding Gaussian Noise
Noise Reduction
using Curvelet
transform.
WT + Thresholding
WT + k- Thresholding
Curvelet Transform
References
[1] D.L. Donoho and M.R. Duncan. Digital Curvelet Transform:
Strategy, Implementation and Experiments; Technical Report,
Stanford University 1999
[2] E.J. Candès and D.L. Donoho. Curvelets – A Surprisingly
Effective Non-adaptive Representation for Objects with Edges;
Curve and Surface Fitting: Saint Malo 1999
[3] Lenna examples from
http://www-stat.stanford.edu/~jstarck/comp.html
Download