38
Bijective Composite Mean Value Mappings Teseo Schneider University of Lugano joint work with Kai Hormann, Michael S. Floater

Bijective Composite Mean Value Mappings

Embed Size (px)

Citation preview

Bijective Composite Mean Value Mappings Teseo Schneider University of Lugano

joint work with

Kai Hormann, Michael S. Floater

GD/SPM 2013 – Denver – 13 November 2013

Introduction

! special bivariate interpolation problem

! find mapping f between two simple polygons !  bijective

!  linear along edges

GD/SPM 2013 – Denver – 13 November 2013

Motivation

!  image warping

original image warped image mask

GD/SPM 2013 – Denver – 13 November 2013

Barycentric coordinates

! functions with

!  partition of unity

!  linear reproduction

!  Lagrange property

!  interpolation of data fi given at vi

GD/SPM 2013 – Denver – 13 November 2013

Barycentric coordinates

! special case n= 3

! general case !  homogeneous weight functions with

!  barycentric coordinates

GD/SPM 2013 – Denver – 13 November 2013

! Wachspress (WP) coordinates

! mean value (MV) coordinates

! discrete harmonic (DH) coordinates

Examples

GD/SPM 2013 – Denver – 13 November 2013

Barycentric mappings

source polygon target polygon

GD/SPM 2013 – Denver – 13 November 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

GD/SPM 2013 – Denver – 13 November 2013

Mean value mappings

! based on MV coordinates [Floater 2003]

! well-defined for non-convex source

! not bijective, even for convex polygons

GD/SPM 2013 – Denver – 13 November 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

GD/SPM 2013 – Denver – 13 November 2013

Composite barycentric mappings

GD/SPM 2013 – Denver – 13 November 2013

!  is bijective, if [Meisters & Olech 1963]

!  and without self-intersection

!  f bijective on the boundary

! 

Sufficient condition

GD/SPM 2013 – Denver – 13 November 2013

Perturbation bounds

! move one to !  f bijective, if

with

! move all to !  f bijective, if

with

GD/SPM 2013 – Denver – 13 November 2013

Composite barycentric mappings

! continuous vertex paths

!  intermediate polygons

! barycentric mappings

GD/SPM 2013 – Denver – 13 November 2013

Composite barycentric mappings

! partition of [0 ,1 ]

! composite barycentric mapping

! f¿ bijective, if

with

max displacement

max gradient

GD/SPM 2013 – Denver – 13 November 2013

Composite barycentric mappings

GD/SPM 2013 – Denver – 13 November 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

GD/SPM 2013 – Denver – 13 November 2013

Vertex paths

!  by linearly interpolating [Sederberg at al. 1993] !  edges lengths

!  signed turning angles

!  barycentre

!  orientation of one edge

t =0 t =0.25 t =0.5 t =0.75 t =1

GD/SPM 2013 – Denver – 13 November 2013

Uniform steps example 1

GD/SPM 2013 – Denver – 13 November 2013

Uniform steps example 2

GD/SPM 2013 – Denver – 13 November 2013

Uniform steps example 3

GD/SPM 2013 – Denver – 13 November 2013

Adaptive binary partition checkInterval (0, 1)

Jmin = computeJmin ( , )

if Jmin ∙ 0 then c = ( + )/2 ¿ = ¿ [ c checkInterval ( , c) checkInterval (c, ) end

end

¿ ={0, 1}

GD/SPM 2013 – Denver – 13 November 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}

GD/SPM 2013 – Denver – 13 November 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}

GD/SPM 2013 – Denver – 13 November 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}

GD/SPM 2013 – Denver – 13 November 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}

GD/SPM 2013 – Denver – 13 November 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}

GD/SPM 2013 – Denver – 13 November 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}

GD/SPM 2013 – Denver – 13 November 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}

GD/SPM 2013 – Denver – 13 November 2013

Composite barycentric mapping

GD/SPM 2013 – Denver – 13 November 2013

Real time image warping

GD/SPM 2013 – Denver – 13 November 2013

Image warping comparison

mean value composite mean value

GD/SPM 2013 – Denver – 13 November 2013

Infinite barycentric mappings

GD/SPM 2013 – Denver – 13 November 2013

Infinite barycentric mappings

GD/SPM 2013 – Denver – 13 November 2013

Infinite barycentric mappings

1.E-02

1.E-01

1.E+00

1.E+01

100 1000 m

erro

r

10

0

10-1

10-2

GD/SPM 2013 – Denver – 13 November 2013

Infinite barycentric mappings

!  infinite barycentric mapping:

GD/SPM 2013 – Denver – 13 November 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

GD/SPM 2013 – Denver – 13 November 2013