Smooth Shape-Aware Functions with Controlled Extrema...Smooth Shape-Aware Functions with Controlled...

Post on 09-Aug-2020

1 views 0 download

transcript

Smooth Shape-Aware Functions with Controlled Extrema Alec Jacobson1

Tino Weinkauf2

Olga Sorkine1

August 9, 2012

1ETH Zurich 2MPI Saarbrücken

#

Real-time deformation relies on smooth, shape-aware functions

August 9, 2012 Alec Jacobson 2

input shape + handles

#

Real-time deformation relies on smooth, shape-aware functions

August 9, 2012 Alec Jacobson 3

precompute weight functions

#

Real-time deformation relies on smooth, shape-aware functions

August 9, 2012 Alec Jacobson 4

deform handles à deform shape

#

Real-time deformation relies on smooth, shape-aware functions

August 9, 2012 Alec Jacobson 5

#

Real-time deformation relies on smooth, shape-aware functions

August 9, 2012 Alec Jacobson 6

#

unconstrained [Botsch & Kobbelt 2004]

August 9, 2012 Alec Jacobson 7

local max

local min

Spurious extrema cause distracting artifacts

#

unconstrained [Botsch & Kobbelt 2004]

August 9, 2012 Alec Jacobson 8

local max

local min

Spurious extrema cause distracting artifacts

#

bounded [Jacobson et al. 2011]

August 9, 2012 Alec Jacobson 9

local max

local min

Bounds help, but don’t solve problem

#

bounded [Jacobson et al. 2011]

August 9, 2012 Alec Jacobson 10

local max

local min

Bounds help, but don’t solve problem

#

bounded [Jacobson et al. 2011]

August 9, 2012 Alec Jacobson 11

local max

local min

Gets worse with higher-order smoothness

oscillate too much

#

bounded [Jacobson et al. 2011]

August 9, 2012 Alec Jacobson 12

local max

local min

Gets worse with higher-order smoothness

oscillate too much

#

our

August 9, 2012 Alec Jacobson 13

local max

local min

We explicitly prohibit spurious extrema

#

our

August 9, 2012 Alec Jacobson 14

local max

local min

We explicitly prohibit spurious extrema

# August 9, 2012 Alec Jacobson 15

Same functions used for color interpolation

# August 9, 2012 Alec Jacobson 16

Same functions used for color interpolation

# August 9, 2012 Alec Jacobson 17

unconstrained [Finch et al. 2011]

Same functions used for color interpolation

Image courtesy Mark Finch

# August 9, 2012 Alec Jacobson 18

unconstrained [Finch et al. 2011]

Same functions used for color interpolation

# August 9, 2012 Alec Jacobson 19

unconstrained [Finch et al. 2011]

Same functions used for color interpolation

Our

#

Want same control when smoothing data

August 9, 2012 Alec Jacobson 20

#

Want same control when smoothing data

August 9, 2012 Alec Jacobson 21

Exact, but sharp geodesic

#

Want same control when smoothing data

August 9, 2012 Alec Jacobson 22

Exact, but sharp geodesic

#

Want same control when smoothing data

August 9, 2012 Alec Jacobson 23

Exact, but sharp geodesic Smooth, but extrema are lost

#

Want same control when smoothing data

August 9, 2012 Alec Jacobson 24

Exact, but sharp geodesic Smooth and maintain extrema

#

Ideal discrete problem is intractable

August 9, 2012 Alec Jacobson 25

Interpolation functions:

argmin

fE(f)

s.t. fmax

= gmax

fmin

= gmin

fj > fmax

fj < fmin

fi > min

j2N (i)fj

fi < max

j2N (i)fj

#

Ideal discrete problem is intractable

August 9, 2012 Alec Jacobson 26

Data smoothing:

argmin

fE(f)

s.t. fmax

= gmax

fmin

= gmin

fj > fmax

fj < fmin

fi > min

j2N (i)fj

fi < max

j2N (i)fj

#

Ideal discrete problem is intractable

August 9, 2012 Alec Jacobson 27

argmin

fE(f)

s.t. fmax

= known

fmin

= known

fj < fmax

fj > fmin

fi > min

j2N (i)fj

fi < max

j2N (i)fj

#

Ideal discrete problem is intractable

August 9, 2012 Alec Jacobson 28

argmin

fE(f)

s.t. fmax

= known

fmin

= known

fj < fmax

fj > fmin

fi > min

j2N (i)fj

fi < max

j2N (i)fj

#

linear

Ideal discrete problem is intractable

August 9, 2012 Alec Jacobson 29

fj

fmax

argmin

fE(f)

s.t. fmax

= known

fmin

= known

fj < fmax

fj > fmin

fi > min

j2N (i)fj

fi < max

j2N (i)fj

#

nonlinear

linear

Ideal discrete problem is intractable

August 9, 2012 Alec Jacobson 30

fi

fj

argmin

fE(f)

s.t. fmax

= known

fmin

= known

fj < fmax

fj > fmin

fi > min

j2N (i)fj

fi < max

j2N (i)fj

#

nonlinear

linear

Assume we have a feasible solution

August 9, 2012 Alec Jacobson 31

interior

handles

u“Representative function”

uj < umax

uj > umin

ui > min

j2N (i)uj

ui < max

j2N (i)uj

#

interior

handles

Assume we have a feasible solution

August 9, 2012 Alec Jacobson 32

“Representative function” u

uj < umax

uj > umin

ui > min

j2N (i)uj

ui < max

j2N (i)uj

#

linear

Copy “monotonicity” of representative

August 9, 2012 Alec Jacobson 33

At least one edge in either direction per vertex

argminf

E(f)

s.t. fmax

= known

fmin

= known

(fi � fj)(ui � uj) > 0 8(i, j) 2 E

#

Rewrite as conic optimization

August 9, 2012 Alec Jacobson 34

Optimize with MOSEK

QP

Conic

#

We always have harmonic representative

August 9, 2012 Alec Jacobson 35

argminu

1

2

Z

kruk2dV

s.t. umax

= 1

s.t. umin

= 0

#

We always have harmonic representative

August 9, 2012 Alec Jacobson 36

argminu

1

2

Z

kruk2dV

s.t. umax

= 1

s.t. umin

= 0

#

We always have harmonic representative

August 9, 2012 Alec Jacobson 37

argminu

1

2

Z

kruk2dV

s.t. umax

= 1

s.t. umin

= 0

#

We always have harmonic representative

August 9, 2012 Alec Jacobson 38

argminu

1

2

Z

kruk2dV

s.t. umax

= 1

s.t. umin

= 0

Works well when no input function exists

#

Data energy may fight harmonic representative

August 9, 2012 Alec Jacobson 39

Anisotropic input data

#

Data energy may fight harmonic representative

August 9, 2012 Alec Jacobson 40

Anisotropic input data Harmonic representative

#

Data energy may fight harmonic representative

August 9, 2012 Alec Jacobson 41

Anisotropic input data Harmonic representative

#

Data energy may fight harmonic representative

August 9, 2012 Alec Jacobson 42

Anisotropic input data Harmonic representative

#

Data energy may fight harmonic representative

August 9, 2012 Alec Jacobson 43

Anisotropic input data Resulting solution with large

#

If data exists, copy topology, too

August 9, 2012 Alec Jacobson 44

Anisotropic input data [Weinkauf et al. 2010] representative

#

If data exists, copy topology, too

August 9, 2012 Alec Jacobson 45

Anisotropic input data Resulting solution with large

#

Final algorithm is simple and efficient

August 9, 2012 Alec Jacobson 46

●  Data smoothing: topology-aware representative §  Morse-smale + linear solve ~milliseconds

#

Final algorithm is simple and efficient

August 9, 2012 Alec Jacobson 47

●  Data smoothing: topology-aware representative §  Morse-smale + linear solve ~milliseconds

●  Interpolation: harmonic representative §  Linear solve ~milliseconds

#

Final algorithm is simple and efficient

August 9, 2012 Alec Jacobson 48

●  Data smoothing: topology-aware representative §  Morse-smale + linear solve ~milliseconds

●  Interpolation: harmonic representative §  Linear solve ~milliseconds

●  Conic optimization §  2D ~milliseconds, 3D ~seconds

#

Final algorithm is simple and efficient

August 9, 2012 Alec Jacobson 49

●  Data smoothing: topology-aware representative §  Morse-smale + linear solve ~milliseconds

●  Interpolation: harmonic representative §  Linear solve ~milliseconds

●  Conic optimization §  2D ~milliseconds, 3D ~seconds

Interpolation: functions are precomputed

# August 9, 2012 Alec Jacobson 50

We preserve troublesome appendages Bounded Our

# August 9, 2012 Alec Jacobson 51

We preserve troublesome appendages Bounded Our

#

We preserve troublesome appendages Bounded Our

#

Our weights attach appendages to body

August 9, 2012 Alec Jacobson 53

Our method [Botsch & Kobbelt 2004, Jacobson et al. 2011]

#

Extrema glue appendages to far-away handles

August 9, 2012 Alec Jacobson 54

[Botsch & Kobbelt 2004, Jacobson et al. 2011]

#

Extrema glue appendages to far-away handles

August 9, 2012 Alec Jacobson 55

[Botsch & Kobbelt 2004, Jacobson et al. 2011]

#

Our weights attach appendages to body

August 9, 2012 Alec Jacobson 56

Our method

#

Our weights attach appendages to body

August 9, 2012 Alec Jacobson 57

Our method

#

Extrema distort small features

August 9, 2012 Alec Jacobson 58

Unconstrained [Botsch & Kobbelt 2004]

weight of middle point

#

Extrema distort small features

August 9, 2012 Alec Jacobson 59

Unconstrained [Botsch & Kobbelt 2004]

weight of middle point

#

Extrema distort small features

August 9, 2012 Alec Jacobson 60

Bounded [Jacobson et al. 2011]

weight of middle point

#

“Monotonicity” helps preserve small features

August 9, 2012 Alec Jacobson 61

Bounded [Jacobson et al. 2011]

Our

#

Spurious extrema are unstable, may “flip”

August 9, 2012 Alec Jacobson 62

slightly larger region

#

Spurious extrema are unstable, may “flip”

August 9, 2012 Alec Jacobson 63

slightly larger region

#

Spurious extrema are unstable, may “flip”

Unconstrained [Botsch & Kobbelt, 2004]

#

Spurious extrema are unstable, may “flip”

Unconstrained [Botsch & Kobbelt, 2004]

#

Spurious extrema are unstable, may “flip”

Unconstrained [Botsch & Kobbelt, 2004]

#

Spurious extrema are unstable, may “flip”

Bounded

#

Spurious extrema are unstable, may “flip”

Bounded

#

Lack of extrema leads to more stability

Our

#

Lack of extrema leads to more stability

Our

#

Even control continuity at extrema

August 9, 2012 Alec Jacobson 71

Original

Direct extension of [Botsch & Kobbelt 2004]

[Botsch & Kobbelt 2004] + data term

Our method without data term

Our method with data term

#

Even control continuity at extrema

August 9, 2012 Alec Jacobson 72

Original

Direct extension of [Botsch & Kobbelt 2004]

[Botsch & Kobbelt 2004] + data term

Our method without data term

Our method with data term

Original

Direct extension of [Botsch & Kobbelt 2004]

[Botsch & Kobbelt 2004] + data term

Our method without data term

Our method with data term

#

Even control continuity at extrema

August 9, 2012 Alec Jacobson 73

Original

Direct extension of [Botsch & Kobbelt 2004]

[Botsch & Kobbelt 2004] + data term

Our method without data term

Our method with data term

Original

Direct extension of [Botsch & Kobbelt 2004]

[Botsch & Kobbelt 2004] + data term

Our method without data term

Our method with data term

#

Even control continuity at extrema

August 9, 2012 Alec Jacobson 74

Original

Direct extension of [Botsch & Kobbelt 2004]

[Botsch & Kobbelt 2004] + data term

Our method without data term

Our method with data term

Original

Direct extension of [Botsch & Kobbelt 2004]

[Botsch & Kobbelt 2004] + data term

Our method without data term

Our method with data term

#

Even control continuity at extrema

August 9, 2012 Alec Jacobson 75

Original

Direct extension of [Botsch & Kobbelt 2004]

[Botsch & Kobbelt 2004] + data term

Our method without data term

Our method with data term

Original

Direct extension of [Botsch & Kobbelt 2004]

[Botsch & Kobbelt 2004] + data term

Our method without data term

Our method with data term

#

Reproduces results of Weinkauf et al. 2010…

August 9, 2012 Alec Jacobson 76

Original noisy data

#

Reproduces results of Weinkauf et al. 2010…

August 9, 2012 Alec Jacobson 77

Original noisy data

#

Reproduces results of Weinkauf et al. 2010…

August 9, 2012 Alec Jacobson 78

Original noisy data Simplified and smoothed

#

Reproduces results of Weinkauf et al. 2010…

August 9, 2012 Alec Jacobson 79

Original noisy data Simplified and smoothed

#

… but 1000 times faster

Alec Jacobson 80

30K vertices 5 seconds per solve

#

… but 1000 times faster

Alec Jacobson 81

30K vertices 5 seconds per solve

#

… but 1000 times faster

Alec Jacobson 82

30K vertices 5 seconds per solve

#

●  Copy “monotonicity” of harmonic functions

●  Reduces search-space, but optimization is tractable

August 9, 2012 Alec Jacobson 83

Conclusion: Important to control extrema

#

●  Larger, but still tractable subspace? §  Consider all valid harmonic functions?

August 9, 2012 Alec Jacobson 84

Future work and discussion

#

●  Larger, but still tractable subspace? §  Consider all valid harmonic functions?

●  Continuous formulation?

August 9, 2012 Alec Jacobson 85

Future work and discussion

#

We thank Kenshi Takayama for his valuable feedback. This work was supported in part by an SNF award 200021_137879 and by a gift from Adobe Systems.

August 9, 2012 Alec Jacobson 86

Acknowledgements

Alec Jacobson (jacobson@inf.ethz.ch)

Tino Weinkauf

Olga Sorkine

Smooth Shape-Aware Functions with Controlled Extrema

MATLAB Demo: http://igl.ethz.ch/projects/monotonic/