Approximations of the The Mumford-Shah Functional for Unit Vector Fields Jonas Haehnle

advertisement
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
Download