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 m1 Using the Curvelet Transform: ~ f fm 2 2 O m2 log 3 m O m2 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-s2-s. For each square, wQ is a displacement of w localized near Q. Multiplying s f with wQ (QQs) 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 QQ s Reconstruction: wQ hQ QQ s 2 w Q h h QQ s Parserval relation: h QQ s 2 Q 2 w QQ s 2 Q h 2 w QQ 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-2s2-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 nn elements cannot be fully reconstructed from nn coefficients. The DRT uses n2n 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 QQ s Q hQ Sub-band Recomposition f P0 P0 f s s f s Example: Roy Lichtenstein: “In The Car” 1963 Original Image (256256) 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