Introduction Algorithms Examples Approximations of the The Mumford-Shah Functional for Unit Vector Fields Jonas Haehnle University of Tübingen Warwick, Jan 2009 Introduction Algorithms Examples Introduction The Functional Motivation Algorithms Splitting & Projection Splitting & Penalisation Penalisation without Splitting Examples Comparison: Projection vs. Penalisation Comparison: CB vs. RGB Introduction Algorithms Examples The Functional Motivation Vectorial Mumford-Shah Functional (sphere valued functions) For Ω ⊆ Rd , d ≥ 2, find (v, Γ) := argmin E(u, K ), K ⊂Ω closed, u∈H 1 (Ω\K ,S2 ) E(u, K ) := α 2 Z Ω\K |∇u|2 dx + γ 2 Z Ω |u − g|2 dx + β H d−1 (K ) , g ∈ L∞ (Ω, S2 ): original image, K : edge set (closed). Introduction Algorithms Examples The Functional Motivation Vectorial Mumford-Shah Functional (sphere valued functions) For Ω ⊆ Rd , d ≥ 2, find (v, Γ) := argmin E(u, K ), K ⊂Ω closed, u∈H 1 (Ω\K ,S2 ) E(u, K ) := α 2 Z Ω\K |∇u|2 dx + γ 2 Z Ω |u − g|2 dx + β H d−1 (K ) , g ∈ L∞ (Ω, S2 ): original image, K : edge set (closed). 3 Terms: smoothing, fidelity, edge length. Introduction Algorithms Examples The Functional Motivation Weak Formulation (sphere valued functions) For g ∈ L∞ (Ω; S2 ), u ∈ SBV (Ω, S2 ), minimise E(u) := α 2 Z Ω |∇u|2 dx + γ 2 Z Ω |u − g|2 dx + β H d−1 (Su ∩ Ω) . Introduction Algorithms Examples The Functional Motivation Weak Formulation (sphere valued functions) For g ∈ L∞ (Ω; S2 ), u ∈ SBV (Ω, S2 ), minimise E(u) := α 2 Z Ω |∇u|2 dx + γ 2 Z Ω |u − g|2 dx + β H d−1 (Su ∩ Ω) . Thm: (Carriero-Leaci, 91): ∃ solution u, and (u, S u ) solves original problem. Introduction Algorithms Examples The Functional Motivation Vectorial Ambrosio-Tortorelli Functional (sphere valued functions) For u, g ∈ H 1 (Ω; S2 ), s ∈ H 1 (Ω, [0, 1]), minimise α 2 Z Z γ ATε (u, s) := (s + kε )|∇u| dx + |u − g|2 dx 2 Ω Ω Z 1 +β ε|∇s|2 + (1 − s)2 dx. 4ε Ω 2 2 Introduction Algorithms Examples The Functional Motivation Vectorial Ambrosio-Tortorelli Functional (sphere valued functions) For u, g ∈ H 1 (Ω; S2 ), s ∈ H 1 (Ω, [0, 1]), minimise α 2 Z Z γ ATε (u, s) := (s + kε )|∇u| dx + |u − g|2 dx 2 Ω Ω Z 1 +β ε|∇s|2 + (1 − s)2 dx. 4ε Ω 2 2 s : “phase function”, i.e. K ≈ {s ≈ 0}, Ω \ K ≈ {s ≈ 1}. Introduction Algorithms Examples The Functional Motivation Vectorial Ambrosio-Tortorelli Functional (sphere valued functions) For u, g ∈ H 1 (Ω; S2 ), s ∈ H 1 (Ω, [0, 1]), minimise α 2 Z Z γ ATε (u, s) := (s + kε )|∇u| dx + |u − g|2 dx 2 Ω Ω Z 1 +β ε|∇s|2 + (1 − s)2 dx. 4ε Ω 2 2 s : “phase function”, i.e. K ≈ {s ≈ 0}, Ω \ K ≈ {s ≈ 1}. Thm (Ambrosio-Tortorelli, 90/92): Γ 0 < kε = o(ε) =⇒ ATε (u, s) → E(u, K ). Introduction Algorithms Examples The Functional Motivation Prototype Problem I Non-convex Functional (Mumford-Shah). Introduction Algorithms Examples The Functional Motivation Prototype Problem I Non-convex Functional (Mumford-Shah). I Non-convex constraint (u ∈ S2 ). Introduction Algorithms Examples The Functional Motivation Prototype Problem I Non-convex Functional (Mumford-Shah). I Non-convex constraint (u ∈ S2 ). I With AT: Strong nonlinear coupling between u and s. Introduction Algorithms Examples The Functional Motivation Prototype Problem I Non-convex Functional (Mumford-Shah). I Non-convex constraint (u ∈ S2 ). I With AT: Strong nonlinear coupling between u and s. I Extending work on harmonic maps to S2 (convex functional, non-convex constraint): Alouges (97), Bartels (05), Bartels-Prohl (07). Introduction Algorithms Examples The Functional Motivation Colour Image Segmentation I Chromaticity & Brightness (CB) Colour Model: Introduction Algorithms Examples The Functional Motivation Colour Image Segmentation I Chromaticity & Brightness (CB) Colour Model: RGB image g : Ω → [0, 255]3 ⊂ N3 : I I B := |g|, and C := g/|g| = g/B : Ω → S2 . Introduction Algorithms Examples The Functional Motivation Colour Image Segmentation I Chromaticity & Brightness (CB) Colour Model: RGB image g : Ω → [0, 255]3 ⊂ N3 : I I I B := |g|, and C := g/|g| = g/B : Ω → S2 . Sources: Mumford-Shah (89) Chan-Kang-Shen (01): TV, CB Tang-Sapiro-Caselles (01): Harmonic flow, CB Osher-Vese (04): p-harmonic flow, CB Bartels-Prohl (06): PM, CB Bellettini-Coscia (94), Bourdin (99): MS, grayscale Introduction Algorithms Examples The Functional Motivation Nematic Liquid Crystals I Simplified Ericksen’s energy 1 2 s |∇n|2 + |∇s|2 + W0 (s) dx, Ω2 Z Introduction Algorithms Examples The Functional Motivation Nematic Liquid Crystals I Simplified Ericksen’s energy 1 2 s |∇n|2 + |∇s|2 + W0 (s) dx, Ω2 Z I s ∈ [−1/2, 1]: degree of orientation (often s ≥ 0), n ∈ S2 : director. Introduction Algorithms Examples The Functional Motivation Nematic Liquid Crystals I Simplified Ericksen’s energy 1 2 s |∇n|2 + |∇s|2 + W0 (s) dx, Ω2 Z I s ∈ [−1/2, 1]: degree of orientation (often s ≥ 0), n ∈ S2 : director. I Sources: Lin (89), Lin-Luskin (89) Virga (94), Alouges (97), Bartels-Prohl (07) Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Algorithm 1: Splitting & Projection ? FE Discr. −→ Alouges-Splitting −→ n→∞ h→0 Γ AT on S2 −→ MS on S2 ε→0 Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Algorithm 1: Splitting & Projection ? FE Discr. −→ Alouges-Splitting −→ n→∞ h→0 Γ AT on S2 −→ MS on S2 ε→0 Easy to solve numerically. Exact sphere constraint. Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Algorithm 1: Splitting & Projection I Splitting: In every iteration, minimise first for u, then for s. Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Algorithm 1: Splitting & Projection I Splitting: In every iteration, minimise first for u, then for s. I 1st step, based on Alouges (97): Look for update w s.t. ATε (u − w, s) ≤ ATε (u, s). Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Algorithm 1: Splitting & Projection I Splitting: In every iteration, minimise first for u, then for s. I 1st step, based on Alouges (97): Look for update w s.t. ATε (u − w, s) ≤ ATε (u, s). Only take w s.t. w ⊥ u a.e. I Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Algorithm 1: Splitting & Projection I Splitting: In every iteration, minimise first for u, then for s. I 1st step, based on Alouges (97): Look for update w s.t. ATε (u − w, s) ≤ ATε (u, s). Only take w s.t. w ⊥ u a.e. =⇒ I I I projecting u − w never increases energy existence (u · w = 0 is linear constraint) Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Algorithm 1: Splitting & Projection I Splitting: In every iteration, minimise first for u, then for s. I 1st step, based on Alouges (97): Look for update w s.t. ATε (u − w, s) ≤ ATε (u, s). Only take w s.t. w ⊥ u a.e. =⇒ I I I I projecting u − w never increases energy existence (u · w = 0 is linear constraint) 2nd step: ∃ by convexity & coercivity, 0 ≤ s ≤ 1 by max-principle (or testing with cutoff functions). Introduction Algorithms Examples Properties I Energy decreasing. Splitting & Projection Splitting & Penalisation Penalisation without Splitting Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Properties I Energy decreasing. I (un , sn ) * (u, s) in H 1 (up to subseq). Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Properties I Energy decreasing. I (un , sn ) * (u, s) in H 1 (up to subseq). I un → u in L2 , and wn → 0 in H 1 . Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Properties I Energy decreasing. I (un , sn ) * (u, s) in H 1 (up to subseq). I un → u in L2 , and wn → 0 in H 1 . I Limit fulfils constraints. Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Properties I Energy decreasing. I (un , sn ) * (u, s) in H 1 (up to subseq). I un → u in L2 , and wn → 0 in H 1 . I Limit fulfils constraints. I Problem: Cannot identify limit lim |∇un+1 |2 sn , ϕ , n→∞ so cannot show (u, s) stationary point of ATε (·, ·). Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Discretisation I Polygonal Lipschitz domain, uniform triangulation, continuous, piecewise affine FE. Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Discretisation I Polygonal Lipschitz domain, uniform triangulation, continuous, piecewise affine FE. I Only linear eqns in every iteration. Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Discretisation I Polygonal Lipschitz domain, uniform triangulation, continuous, piecewise affine FE. I Only linear eqns in every iteration. I Energy decreasing, if all int. angles ≤ π/2 (AC). Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Discretisation I Polygonal Lipschitz domain, uniform triangulation, continuous, piecewise affine FE. I Only linear eqns in every iteration. I Energy decreasing, if all int. angles ≤ π/2 (AC). I Sphere constraint exactly fulfilled on nodal points. Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Discretisation I Polygonal Lipschitz domain, uniform triangulation, continuous, piecewise affine FE. I Only linear eqns in every iteration. I Energy decreasing, if all int. angles ≤ π/2 (AC). I Sphere constraint exactly fulfilled on nodal points. I Limit fulfils constraints. Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Discretisation I Polygonal Lipschitz domain, uniform triangulation, continuous, piecewise affine FE. I Only linear eqns in every iteration. I Energy decreasing, if all int. angles ≤ π/2 (AC). I Sphere constraint exactly fulfilled on nodal points. I Limit fulfils constraints. I Problem: As before. Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Algorithm 2: Splitting & Penalisation FE Discr. −→ Splitting −→ n→∞ h→0 Γ Reg. GL-AT −→ MS on S2 ε→0 Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Algorithm 2: Splitting & Penalisation FE Discr. −→ Splitting −→ n→∞ h→0 Γ Reg. GL-AT −→ MS on S2 ε→0 Harder to solve numerically. Approx. sphere constraint. Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Algorithm 2: Splitting & Penalisation I Splitting again. Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Algorithm 2: Splitting & Penalisation I Splitting again. I No projection, but Ginzburg-Landau penalisation: add 1 δε Z |u|2 − 1 Ω 2 dx. Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Algorithm 2: Splitting & Penalisation I Splitting again. I No projection, but Ginzburg-Landau penalisation: add 1 δε I Z |u|2 − 1 2 dx. Ω Identifying limits needs higher regularity of s, so add ηε p Z Ω |4s|p dx. Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Properties I Γ-convergence for proper scalings of δε and ηε (δε slower than ε, ηε much faster). Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Properties I Γ-convergence for proper scalings of δε and ηε (δε slower than ε, ηε much faster). I Solutions exist in each step. Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Properties I Γ-convergence for proper scalings of δε and ηε (δε slower than ε, ηε much faster). I Solutions exist in each step. I Energy decreasing. Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Properties I Γ-convergence for proper scalings of δε and ηε (δε slower than ε, ηε much faster). I Solutions exist in each step. I Energy decreasing. I (un , sn ) * (u, s) in H 2 × W 2,p (up to subseq). Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Properties I Γ-convergence for proper scalings of δε and ηε (δε slower than ε, ηε much faster). I Solutions exist in each step. I Energy decreasing. I (un , sn ) * (u, s) in H 2 × W 2,p (up to subseq). I For p > d, un → u in H 1 , and sn → s in L∞ , so identifying limits works. Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Discretisation/Disadvantages I sn now needs hermite elements (but...). Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Discretisation/Disadvantages I sn now needs hermite elements (but...). I Nonlinear eqns need to be solved. Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Discretisation/Disadvantages I sn now needs hermite elements (but...). I Nonlinear eqns need to be solved. I Sphere constraint only approximated. Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Discretisation/Disadvantages I sn now needs hermite elements (but...). I Nonlinear eqns need to be solved. I Sphere constraint only approximated. I Two additional parameters. Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Algorithm 3: Penalisation without Splitting Γ FE Discr. −→ MS on S2 h→0 Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Algorithm 3: Penalisation without Splitting Γ FE Discr. −→ MS on S2 h→0 Hard to solve numerically. Approx. sphere constraint. Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Penalisation without Splitting I No splitting. Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Penalisation without Splitting I No splitting. I No projection, but Ginzburg-Landau penalisation. Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Penalisation without Splitting I No splitting. I No projection, but Ginzburg-Landau penalisation. I Direct Γ-convergence of 1st -order FE-functional (as in Bellettini-Coscia, 94). Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Penalisation without Splitting I No splitting. I No projection, but Ginzburg-Landau penalisation. I Direct Γ-convergence of 1st -order FE-functional (as in Bellettini-Coscia, 94). I Advantage: No additional regularisation term needed. Introduction Algorithms Examples Splitting & Projection Splitting & Penalisation Penalisation without Splitting Penalisation without Splitting I No splitting. I No projection, but Ginzburg-Landau penalisation. I Direct Γ-convergence of 1st -order FE-functional (as in Bellettini-Coscia, 94). I Advantage: No additional regularisation term needed. I Disadvantage: No convergent algorithm known. Introduction Algorithms Examples Projection Comparison: Projection vs. Penalisation Comparison: CB vs. RGB Introduction Algorithms Examples Comparison: Projection vs. Penalisation Comparison: CB vs. RGB Projection Figure: U0 ≡ g (left) and U10 (right). Introduction Algorithms Examples Projection Comparison: Projection vs. Penalisation Comparison: CB vs. RGB Introduction Algorithms Examples Comparison: Projection vs. Penalisation Comparison: CB vs. RGB Projection Figure: Section at x = 0.5 through U0 ≡ g and U10 . Introduction Algorithms Examples Projection vs. Penalisation Comparison: Projection vs. Penalisation Comparison: CB vs. RGB Introduction Algorithms Examples Comparison: Projection vs. Penalisation Comparison: CB vs. RGB Projection vs. Penalisation Figure: S10 , projection (left) and penalisation (right). Introduction Algorithms Examples Projection vs. Penalisation Comparison: Projection vs. Penalisation Comparison: CB vs. RGB Introduction Algorithms Examples Comparison: Projection vs. Penalisation Comparison: CB vs. RGB Projection vs. Penalisation Figure: Section at y = 0.375 through S10 , projection (left) and penalisation (right). Introduction Algorithms Examples Comparison: Projection vs. Penalisation Comparison: CB vs. RGB Penalisation Min and Max of Norm(u) 1.02 1 0.98 0.96 0.94 0.92 0.9 0.88 0.86 0.84 0.82 min(|u|) max(|u|) 0 1 2 3 4 5 6 7 8 9 10 Figure: Min and max of kUk. Introduction Algorithms Examples Comparison: Projection vs. Penalisation Comparison: CB vs. RGB CB Model ATε (u, v , s) := Z Z γ α (s2 + kε )|∇u|2 dx + |u − g|2 dx 2 ΩZ 2 ΩZ α1 γ1 + (s2 + kε )|∇v |2 dx + |v − b|2 dx 2Z Ω 2 Ω 1 +β ε|∇s|2 + (1 − s)2 dx, 4ε Ω Introduction Algorithms Examples Comparison: Projection vs. Penalisation Comparison: CB vs. RGB CB Model ATε (u, v , s) := Z Z γ α (s2 + kε )|∇u|2 dx + |u − g|2 dx 2 ΩZ 2 ΩZ α1 γ1 + (s2 + kε )|∇v |2 dx + |v − b|2 dx 2Z Ω 2 Ω 1 +β ε|∇s|2 + (1 − s)2 dx, 4ε Ω I g, u: Original and iterate chromaticity, I b, v : Original and iterate brightness, I s: Joint edge-indicator. Introduction Algorithms Examples CB Comparison: Projection vs. Penalisation Comparison: CB vs. RGB Introduction Algorithms Examples Comparison: Projection vs. Penalisation Comparison: CB vs. RGB CB Figure: U0 ≡ G (left) and U10 (right). Introduction Algorithms Examples CB vs. RGB Comparison: Projection vs. Penalisation Comparison: CB vs. RGB Introduction Algorithms Examples Comparison: Projection vs. Penalisation Comparison: CB vs. RGB CB vs. RGB Figure: Crop of U10 , CB (left) and RGB (right). Introduction Algorithms Examples CB vs. RGB Comparison: Projection vs. Penalisation Comparison: CB vs. RGB Introduction Algorithms Examples Comparison: Projection vs. Penalisation Comparison: CB vs. RGB CB vs. RGB Figure: S10 , CB (left) and RGB (right). Introduction Algorithms Examples Comparison: Projection vs. Penalisation Comparison: CB vs. RGB Thank You