How to construct your own directional wavelet frame ? Gerlind Plonka Institute for Numerical and Applied Mathematics University of Göttingen in collaboration with Jianwei Ma Dolomites Research Week on Approximation September, 2014 How to construct your own directional wavelet frame ? Outline • Introduction: well-known wavelet constructions • Wanted properties of a directional wavelet system • What can be learned from the one-dimensional case ? • How to construct curvelets ? • What are α-molecules ? • References 1 Introduction Many wavelet (frame) constructions for image analysis 1) Tensor product wavelets 2) steerable wavelets [Freeman and Adelson ’91] 3) curvelets [Candes, Donoho ’03] 4) shearlets [Labate, Lim, Kutyniok, Weiss ’05] 5) contourlets [Do, Vetterli ’05] 6) Gabor wavelets [Lee ’08] 7) α-molecules [Grohs, Keiper, Kutyniok, Schäfer ’14] 2 Wanted properties of a new wavelet system What is the purpose of the wavelet system? We want a representation system (ψλ )λ∈Λ for images f ∈ f= X 2 2 L (R ) cλ ψ λ λ∈Λ that allows a “sparse representation” of the image f . Best N -term approximation fN ≈ f fN X = argmin f − c ψ λ λ λ∈ΛN where ΛN ⊂ Λ, |ΛN | = N. How to model the image data? 3 How totomodel data? How model image the image data ? 2 2 β E (R ) [Donoho Image model: functions ’01 (β2001 = 2)]( = 2)) Image model:Cartoon-like Cartoon-like functions E (R ) (Donoho; 2 β E (R ), class functions β ∈ (1,by 2], 2 ), The TheGrohs class et E al(R’14: 2 (1, 2],ofofcartoon-like cartoon-like functions is defined is defined by n o 2 2 2 2 2 β 2 (R ))== f f∈2LL(R(R) :) f f= = EE (R f0 f+ f1 f·1χ·B B, , 0+ β -curve, f , f ∈ C β ([0, 1])2 ). where B ⊂ [0, 1]2 , ∂B a closed C 0 1 0 2 where B ⇢ [0, 1] , @B a closed C -curve, f0 , f1 2 C0 ([0, 1]2 ). [Reprinted figure with permission of G. Kutyniok] 4 Wanted properties of a new wavelet system • • • Good space-frequency localization “Simple structure” of the wavelet system {ψλ }λ∈Λ (multiscale approach) Orthonormal basis or Parseval frame of L2 (R2 ), i.e., X hf, ψλ iψλ f= λ∈Λ and X λ∈Λ • |hf, ψλ i|2 = kf k2L2 (R2 ) for all f ∈ L2 (R2 ) (Parseval equation) Good approximation properties: If f is in a certain smoothness class, then f can be well approximated by a sparse wavelet frame expansion, such that e.g. kf − fN k22 ≤ C N −β for (piecewise) Hölder smooth functions of order β. 5 Sparse approximation benchmark Theorem (Donoho ’01) Allowing only polynomial depth search in a dictionary, the approxi2 β mation rate of the best N -term approximation for E (R ), β ∈ (1, 2], cannot exceed 2 −β kf − fN k2 ∼ N . Question: Can this bound be reached? • • • Classical wavelet systems achieve kf − fN k22 ∼ N −1 . Specifically designed directional representation systems can reach this bound up to log-factors. Adaptive wavelet frames can reach this bound. 6 What can be learned from R1 ? • “Simple structure” of the wavelet system: use translations and dilations of only on “mother-wavelet” ψ. ψj,k = 2j/2 ψ(2j · −k), j, k ∈ Z. • Good space-frequency localization: ψ should have compact support or fast decay outside in space and frequency domain. • How to ensure that {ψj,k : j, k ∈ Z} is an orthonormal basis or a (Parseval) frame in L2 (R) ? Try to achieve that ∞ X j=−∞ P∞ |ψ̂(2j ω)|2 = 1 ω ∈ R a.e. (or 0 < A ≤ j=−∞ |ψ̂(2j ω)|2 ≤ B < ∞) and has a good frequency localization. 7 Example: Meyer wavelets Choose ψ̂ with supp ψ̂ ⊂ [−2, −1/2] ∪ [1/2, 2] Hence supp ψ̂(2−j ω) has support [−2j+1 , −2j−1 , ∪[2j−1 , 2j+1 ]. Choose e.g. for ω > 0 π cos[ 2 ν(5 − 6ω)] 1 ψ̂(ω) = π cos[ 2 ν(3ω − 4)] 0 2 3 5 6 4 3 ≤ω≤ ≤ω≤ ≤ω≤ else 5 6 4 3 5 3 where ν is smooth and ν(x) = 0 for x ≤ 0, ν(x) = 1 for x ≥ 1 and ν(x) + ν(1 − x) = 1 for x ∈ [0, 1]. 1 Choose e.g. ν(x) = x · χ[0,1] (x) or ν(x) = (3x2 − 2x3 ) · χ[0,1] etc. 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 8 ψ e = φe1 ⊗ φe2 . Corresponding tiling of the frequency domain se functions serve as the generators for the wavelet system defined below. he frequency plane is illustrated in Figure 1. one-dimensional case: finition 2.1. Let φ0 , φ1 ∈ L2 (R) and ψ e ∈ L2 (R2 ), e ∈ E, be defined as a # 0 2 4 8 16 0 be fixed sampling parameters. The associated wavelet system W φ0 , φ1 ; σ & % # 0 1 $ % (0,0) W φ , φ ; σ, τ = ψ (· − τ k) : k ∈ Z2 ∪ σ j ψ e (σ j · −τ k) : e ∈ E\{(0 two-dimensional case: tensor-product wavelets three types of wavelet functions φ̂(ω1 )ψ̂(ω2 ) ψ̂(ω1 )φ̂(ω2 ) ψ̂(ω1 )ψ̂(ω2 ) 9 How to construct directional wavelet frames ? Idea. use translations, dilations and rotations of one “basic function” ψ. Curvelet construction. 1. Consider polar coordinates in frequency domain 2. Construct curvelet element being locally supported near a wedge. 10 Curvelet constructionq Let ω = (ω1 , ω2 )T , r := ω12 + ω22 and σ := arctan(ω1 /ω2 ). Ansatz for the dilated basic curvelet: ψ̂j,0,0 (r, σ) = 2−3j/4 W (2−j r) VNj (σ), r ≥ 0, σ ∈ [0, 2π), j ∈ N0 with suitable window functions W and VNj , where Nj = 4 · 2dj/2e indicates the number of wedges in the circular ring at scale 2−j . We need: a) W (r) and VNj (σ) = Vper (2−dj/2e σ) should have compact support or exponential decay. b) Partition of frequency domain: ∞ X j=−∞ Nj −1 X l=0 VN2j (σ |W (2j r)|2 = 1 2πl − )=1 Nj for all σ ∈ [0, 2π). 11 Indeed we then have Nj −1 X l=0 Nj −1 X 2πl 2πl 3j/4 2 −j 2 2 |2 ψ̂j,0,0 (r, σ − )| = |W (2 r)| VNj (ω − ) Nj Nj l=0 = |W (2−j r)|2 Examples for Window functions. 1 V (σ) = cos( π2 ν(3|σ| − 1)) 0 π cos[ 2 ν(5 − 6r)] 1 W (r) = π cos[ ν(3r − 4)] 2 0 1 3 2 3 5 6 4 3 |σ| ≤ 31 ≤ |σ| ≤ 23 , else ≤r≤ ≤r≤ ≤r≤ else 5 6 4 3 5 3 with ν as before. 12 1 1 0.9 0.9 0.8 0.8 0.7 0.7 0.6 0.6 0.5 0.5 0.4 0.4 0.3 0.3 0.2 0.2 0.1 0.1 0 -2 -1.5 -1 -0.5 0 0.5 1 1.5 0 0 2 window V 0.5 1 1.5 2 window W 2 1.5 1 1 0.8 0.5 0.6 0 0.4 -0.5 0.2 -1 0 2 1 2 1.5 0 -1.5 1 -1 0.5 -2 0 -2 0 0.5 1 1.5 2 basic curvelet ψ̂0,0,0 in support of ψ̂0,0,0 frequency domain The window VN is obtained by 2π-periodization of V (N σ/2π). 13 With the windows taken above, we have only a small overlap of supports. Maximal supports of ψ̂2,k,0 and ψ̂2,k,5 (dark grey); of ψ̂3,k,6 and ψ̂3,k,13 (light grey); and of ψ̂4,k,0 and ψ̂4,k,11 (grey). The translation k ∈ Z 2 doe not influence the support of the curve let elements. ξ2 32 16 8 −16 −4 32 ξ1 14 Can we do something else ? • The window VN is a low-pass-filter. Any one-dimensional scaling function φ (being suitable localized in time and frequency) can serve as the window V and leads to VNj by 2π-periodization of φ(Nj σ/2π). • The window W is a high-pass filter. Any one-dimensional wavelet function ψ (being suitable localized in time and frequency) can serve as the window W . 15 How many wedges should be taken in one circular ring ? • • • • For curvelet construction, choose Nj = 4 · 2dj/2e wedges in the circular ring with 2j−1/2 ≤ r ≤ 2j+1/2 (scale 2−j ). If the number of wedges in a fixed way leads to steerable wavelets. If the number of wedges increases like 1/scale (like 2j ), we obtain ridgelets. p If the number of wedges increases like 1/scale, we obtain curvelets. 16 The complete set of curvelet elements We employ rotations and translations of the dilated basic curvelet ψj,0,0 . We choose a) Nj = 4 · 2dj/2e equidistant rotation angles at level j θj,l 2πl , := Nj l = 0, . . . , Nj − 1. b) the positions −1 k1 Rθj,l ( j , 2 k2 T bk = := ) 2j/2 with k1 , k2 ∈ Z, Rθ rotation matrix with angle θ. Then the family of curvelet functions is given by j,l bj,l k1 ,k2 j )) = ψ (A ψj,k,l (x) := ψj,0,0 (Rθj,l (x − bj,l 0,0,0 k 2,2 Rθj,l x − k) with j A2,2 = 2j 0 0 2dj/2e . 17 General directional representation systems (Grohs et al. ’14) ↵-Scaling ✓ ◆ s 0 • α-scaling matrix: Aα,s = s α0 , s ∈ R , α ∈ [0, 1] + ↵-Scaling Matrix: A↵,s = 0 s ↵ , s 2 R+ , ↵ 2 [0, 1] 0 s • α =↵1 = 1: • α =↵21 = 1 : 2 • α =↵0 = 0: (Foo and Bar) ↵-Molecules GAMM 2014 5 / 20 18 Directional Representation Systems Basic ingredients. Take a “mother wavelet” g ∈ L2 (R2 ) and consider • Translation p ∈ Λ ⊂ R2 g → g(· − p), • Scaling g → g(Aα,s ·), • Orientation Rotation: g → g(Rθ ·), Shears: We obtain g → g(Sa ·), Aα,s = s 0 0 sα , s ∈ R+ cos θ − sin θ Rθ = , θ ∈ [0, 2π). sin θ cos θ 1 a 1 0 Sa = or Sa = a ∈ R. 0 1 a 1 ψs,θ,p (x) = s(1+α)/2 g(Aα,s Rθ (x − p)). 19 Directional Representation Systems • Ridgelets (Candes, Donoho ’99): Rotations, s = 2, α = 0 • Curvelets (Candes, Donoho ’03): Rotations, s = 2 α = 1/2 • Shearlets (Kutyniok, Labate ’06): Shearings, s = 2, α = 1/2 • α-Shearlets (Kutyniok et al. ’12): Shearings s > 0, α ∈ [0, 1] • α-Curvelets (Grohs et al. ’14): Rotations s > 0, α ∈ [0, 1] Common framework → α-Molecules (Grohs et al. ’14) 20 Our publications • Jianwei Ma, Gerlind Plonka. The curvelet transform: A review of recent applications. IEEE Signal Processing Magazine 27(2) (March 2010), 118-133. • Jianwei Ma, Gerlind Plonka. Computing with Curvelets: From Image Processing to Turbulent Flows. Computing in Science and Engineering 11(2) (2009), 72-80. 21 \thankyou 22