Bijective Composite Mean Value Mappings Kai Hormann Universit - - PowerPoint PPT Presentation
Bijective Composite Mean Value Mappings Kai Hormann Universit - - PowerPoint PPT Presentation
Bijective Composite Mean Value Mappings Kai Hormann Universit della Svizzera italiana, Lugano joint work with Michael S. Floater & Teseo Schneider Introduction special bivariate interpolation problem find mapping f between two
1/36 MAIA 2013 – Erice – 30 September 2013
Introduction
- special bivariate interpolation problem
- find mapping f between two simple polygons
- bijective
- linear along edges
2/36 MAIA 2013 – Erice – 30 September 2013
Motivation
- image warping
- riginal image
warped image mask
3/36 MAIA 2013 – Erice – 30 September 2013
Barycentric coordinates
- functions
with
- partition of unity
- linear reproduction
- Lagrange property
- interpolation of data fi given at vi
4/36 MAIA 2013 – Erice – 30 September 2013
Barycentric coordinates
- special case n = 3
- general case
- homogeneous weight functions with
- barycentric coordinates
5/36 MAIA 2013 – Erice – 30 September 2013
- Wachspress (WP) coordinates
- mean value (MV) coordinates
- discrete harmonic (DH) coordinates
Examples
6/36 MAIA 2013 – Erice – 30 September 2013
Barycentric mappings
source polygon target polygon
7/36 MAIA 2013 – Erice – 30 September 2013
Wachspress mappings
- based on WP coordinates
[Wachspress 1975]
- bijective for convex polygons
[Floater & Kosinka 2010]
8/36 MAIA 2013 – Erice – 30 September 2013
Wachspress mappings
- based on WP coordinates
[Wachspress 1975]
- bijective for convex polygons
[Floater & Kosinka 2010]
- not bijective for non-convex target
- not well-defined for non-convex source
9/36 MAIA 2013 – Erice – 30 September 2013
Mean value mappings
- based on MV coordinates
[Floater 2003]
- well-defined for non-convex source
- not bijective
10/36 MAIA 2013 – Erice – 30 September 2013
Mean value mappings
- based on MV coordinates
[Floater 2003]
- well-defined for non-convex source
- not bijective, even for convex polygons
11/36 MAIA 2013 – Erice – 30 September 2013
Barycentric mappings
WP MV convex → convex convex → non-convex non-convex → convex non-convex → non-convex
- general barycentric mappings
[Jacobson 2012]
- not bijective for non-convex target polygon
12/36 MAIA 2013 – Erice – 30 September 2013
Composite barycentric mappings
13/36 MAIA 2013 – Erice – 30 September 2013
- is bijective, if
[Meisters & Olech 1963]
- and without self-intersection
- f bijective on the boundary
- Sufficient condition
14/36 MAIA 2013 – Erice – 30 September 2013
Perturbation bounds
- move one
to
- f bijective, if
with
- move all
to
- f bijective, if
with
15/36 MAIA 2013 – Erice – 30 September 2013
Composite barycentric mappings
- continuous vertex paths
- intermediate polygons
- barycentric mappings
16/36 MAIA 2013 – Erice – 30 September 2013
Composite barycentric mappings
- partition
- f [0,1]
- composite barycentric mapping
- fτ bijective, if
with
max displacement max gradient
17/36 MAIA 2013 – Erice – 30 September 2013
Composite barycentric mappings
18/36 MAIA 2013 – Erice – 30 September 2013
Composite mean value mappings
- use mean value coordinates to define mappings fk
- well-defined, as long as without self-intersections
- bounded for
- if is convex
[Rand et al. 2012]
- if is non-convex ⇒ future work
- constant M* is finite
- fτ bijective for uniform steps
- continuous vertex paths ϕi
- m sufficiently large
19/36 MAIA 2013 – Erice – 30 September 2013
Vertex paths
- by linearly interpolating
[Sederberg at al. 1993]
- edges lengths
- signed turning angles
- barycentre
- orientation of one edge
20/36 MAIA 2013 – Erice – 30 September 2013
Adaptive binary partition
checkInterval (0, 1) Jmin = computeJmin ( , ) if Jmin ≤ 0 then c = ( + )/2 τ = τ ∪ c checkInterval ( , c) checkInterval (c, ) end end τ ={0, 1}
21/36 MAIA 2013 – Erice – 30 September 2013
Adaptive binary partition
checkInterval (0, 1) Jmin = computeJmin (0, 1) if Jmin ≤ 0 then c = ( + )/2 τ = τ ∪ c checkInterval ( , c) checkInterval (c, ) end end τ ={0, 1}
22/36 MAIA 2013 – Erice – 30 September 2013
Adaptive binary partition
checkInterval (0, 1) Jmin = computeJmin (0, 1) if Jmin ≤ 0 then c = (0 + 1)/2 τ = τ ∪ c checkInterval (0, c) checkInterval (c, 1) end end τ ={0, 0.5, 1}
23/36 MAIA 2013 – Erice – 30 September 2013
Adaptive binary partition
checkInterval (0, 0.5) Jmin = computeJmin (0, 0.5) if Jmin ≤ 0 then c = ( + )/2 τ = τ ∪ c checkInterval ( , c) checkInterval (c, ) end end τ ={0, 0.5, 1}
24/36 MAIA 2013 – Erice – 30 September 2013
Adaptive binary partition
checkInterval (0, 0.5) Jmin = computeJmin (0, 0.5) if Jmin ≤ 0 then c = ( + )/2 τ = τ ∪ c checkInterval ( , c) checkInterval (c, ) end end τ ={0, 0.5, 1}
25/36 MAIA 2013 – Erice – 30 September 2013
Adaptive binary partition
checkInterval (0.5, 1) Jmin = computeJmin (0.5, 1) if Jmin ≤ 0 then c = ( + )/2 τ = τ ∪ c checkInterval ( , c) checkInterval (c, ) end end τ ={0, 0.5, 1}
26/36 MAIA 2013 – Erice – 30 September 2013
Adaptive binary partition
checkInterval (0.5, 1) Jmin = computeJmin (0.5, 1) if Jmin ≤ 0 then c = (0.5 + 1)/2 τ = τ ∪ c checkInterval (0.5, c) checkInterval (c, 1) end end τ ={0, 0.5, 0.75, 1}
27/36 MAIA 2013 – Erice – 30 September 2013
Adaptive binary partition
checkInterval (0.5, 1) Jmin = computeJmin (0.5, 1) if Jmin ≤ 0 then c = (0.5 + 1)/2 τ = τ ∪ c checkInterval (0.5, c) checkInterval (c, 1) end end τ ={0, 0.5, 0.75, ..., 1}
28/36 MAIA 2013 – Erice – 30 September 2013
Composite barycentric mapping
29/36 MAIA 2013 – Erice – 30 September 2013
Image warping comparison
mean value
30/36 MAIA 2013 – Erice – 30 September 2013
Image warping comparison
composite mean value
31/36 MAIA 2013 – Erice – 30 September 2013
Infinite barycentric mappings
32/36 MAIA 2013 – Erice – 30 September 2013
Infinite barycentric mappings
33/36 MAIA 2013 – Erice – 30 September 2013
Infinite barycentric mappings
34/36 MAIA 2013 – Erice – 30 September 2013
Infinite barycentric mappings
1.E-02 1.E-01 1.E+00 1.E+01
100 1000
m error
10 10-1 10-2
35/36 MAIA 2013 – Erice – 30 September 2013
Infinite barycentric mappings
- infinite barycentric mapping:
36/36 MAIA 2013 – Erice – 30 September 2013
Conclusion
- construction of bijective barycentric mappings
- composition of intermediate mappings
- theoretical bounds on the displacement
- real-time composite mean value mappings
- construction of the adaptive binary partition
- real-time GPU implementation
- infinite composite mappings
- natural inverse
- empiric result of convergence