Smooth Shape-Aware Functions with Controlled Extrema Alec Jacobson 1 - - PowerPoint PPT Presentation

smooth shape aware functions with controlled extrema
SMART_READER_LITE
LIVE PREVIEW

Smooth Shape-Aware Functions with Controlled Extrema Alec Jacobson 1 - - PowerPoint PPT Presentation

Smooth Shape-Aware Functions with Controlled Extrema Alec Jacobson 1 1 ETH Zurich Tino Weinkauf 2 2 MPI Saarbrcken Olga Sorkine 1 August 9, 2012 Real-time deformation relies on smooth, shape-aware functions input shape + handles August 9,


slide-1
SLIDE 1

Smooth Shape-Aware Functions with Controlled Extrema

Alec Jacobson1 Tino Weinkauf2 Olga Sorkine1

August 9, 2012

1ETH Zurich 2MPI Saarbrücken

slide-2
SLIDE 2

#

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

August 9, 2012 Alec Jacobson 2

input shape + handles

slide-3
SLIDE 3

#

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

August 9, 2012 Alec Jacobson 3

precompute weight functions

slide-4
SLIDE 4

#

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

August 9, 2012 Alec Jacobson 4

deform handles à deform shape

slide-5
SLIDE 5

#

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

August 9, 2012 Alec Jacobson 5

slide-6
SLIDE 6

#

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

August 9, 2012 Alec Jacobson 6

slide-7
SLIDE 7

#

unconstrained [Botsch & Kobbelt 2004]

August 9, 2012 Alec Jacobson 7

local max local min

Spurious extrema cause distracting artifacts

slide-8
SLIDE 8

#

unconstrained [Botsch & Kobbelt 2004]

August 9, 2012 Alec Jacobson 8

local max local min

Spurious extrema cause distracting artifacts

slide-9
SLIDE 9

#

bounded [Jacobson et al. 2011]

August 9, 2012 Alec Jacobson 9

local max local min

Bounds help, but don’t solve problem

slide-10
SLIDE 10

#

bounded [Jacobson et al. 2011]

August 9, 2012 Alec Jacobson 10

local max local min

Bounds help, but don’t solve problem

slide-11
SLIDE 11

#

bounded [Jacobson et al. 2011]

August 9, 2012 Alec Jacobson 11

local max local min

Gets worse with higher-order smoothness

  • scillate too much
slide-12
SLIDE 12

#

bounded [Jacobson et al. 2011]

August 9, 2012 Alec Jacobson 12

local max local min

Gets worse with higher-order smoothness

  • scillate too much
slide-13
SLIDE 13

#

  • ur

August 9, 2012 Alec Jacobson 13

local max local min

We explicitly prohibit spurious extrema

slide-14
SLIDE 14

#

  • ur

August 9, 2012 Alec Jacobson 14

local max local min

We explicitly prohibit spurious extrema

slide-15
SLIDE 15

# August 9, 2012 Alec Jacobson 15

Same functions used for color interpolation

slide-16
SLIDE 16

# August 9, 2012 Alec Jacobson 16

Same functions used for color interpolation

slide-17
SLIDE 17

# August 9, 2012 Alec Jacobson 17

unconstrained [Finch et al. 2011]

Same functions used for color interpolation

Image courtesy Mark Finch

slide-18
SLIDE 18

# August 9, 2012 Alec Jacobson 18

unconstrained [Finch et al. 2011]

Same functions used for color interpolation

slide-19
SLIDE 19

# August 9, 2012 Alec Jacobson 19

unconstrained [Finch et al. 2011]

Same functions used for color interpolation

Our

slide-20
SLIDE 20

#

Want same control when smoothing data

August 9, 2012 Alec Jacobson 20

slide-21
SLIDE 21

#

Want same control when smoothing data

August 9, 2012 Alec Jacobson 21

Exact, but sharp geodesic

slide-22
SLIDE 22

#

Want same control when smoothing data

August 9, 2012 Alec Jacobson 22

Exact, but sharp geodesic

slide-23
SLIDE 23

#

Want same control when smoothing data

August 9, 2012 Alec Jacobson 23

Exact, but sharp geodesic Smooth, but extrema are lost

slide-24
SLIDE 24

#

Want same control when smoothing data

August 9, 2012 Alec Jacobson 24

Exact, but sharp geodesic Smooth and maintain extrema

slide-25
SLIDE 25

#

Ideal discrete problem is intractable

August 9, 2012 Alec Jacobson 25

Interpolation functions:

arg min

f

E(f)

slide-26
SLIDE 26

#

Ideal discrete problem is intractable

August 9, 2012 Alec Jacobson 26

Data smoothing:

arg min

f

E(f)

slide-27
SLIDE 27

#

Ideal discrete problem is intractable

August 9, 2012 Alec Jacobson 27

arg min

f

E(f)

slide-28
SLIDE 28

#

Ideal discrete problem is intractable

August 9, 2012 Alec Jacobson 28

arg min

f

E(f) s.t. fmax = known fmin = known

slide-29
SLIDE 29

#

linear

Ideal discrete problem is intractable

August 9, 2012 Alec Jacobson 29

fj fmax

arg min

f

E(f) s.t. fmax = known fmin = known fj < fmax fj > fmin

slide-30
SLIDE 30

#

nonlinear linear

Ideal discrete problem is intractable

August 9, 2012 Alec Jacobson 30

fi

fj

arg min

f

E(f) s.t. fmax = known fmin = known fj < fmax fj > fmin fi > min

j∈N (i) fj

fi < max

j∈N (i) fj

slide-31
SLIDE 31

#

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

j∈N (i) uj

ui < max

j∈N (i) uj

slide-32
SLIDE 32

#

interior handles

Assume we have a feasible solution

August 9, 2012 Alec Jacobson 32

“Representative function” u

uj < umax uj > umin ui > min

j∈N (i) uj

ui < max

j∈N (i) uj

slide-33
SLIDE 33

#

linear

Copy “monotonicity” of representative

August 9, 2012 Alec Jacobson 33

At least one edge in either direction per vertex

arg min

f

E(f) s.t. fmax = known fmin = known (fi − fj)(ui − uj) > 0 ∀(i, j) ∈ E

slide-34
SLIDE 34

#

Rewrite as conic optimization

August 9, 2012 Alec Jacobson 34

Optimize with MOSEK

QP Conic

slide-35
SLIDE 35

#

We always have harmonic representative

August 9, 2012 Alec Jacobson 35

arg min

u

1 2 Z

kruk2dV

slide-36
SLIDE 36

#

We always have harmonic representative

August 9, 2012 Alec Jacobson 36

arg min

u

1 2 Z

kruk2dV s.t. umax = 1

slide-37
SLIDE 37

#

We always have harmonic representative

August 9, 2012 Alec Jacobson 37

arg min

u

1 2 Z

kruk2dV s.t. umax = 1 s.t. umin = 0

slide-38
SLIDE 38

#

We always have harmonic representative

August 9, 2012 Alec Jacobson 38

arg min

u

1 2 Z

kruk2dV s.t. umax = 1 s.t. umin = 0

Works well when no input function exists

slide-39
SLIDE 39

#

Data energy may fight harmonic representative

August 9, 2012 Alec Jacobson 39

Anisotropic input data

slide-40
SLIDE 40

#

Data energy may fight harmonic representative

August 9, 2012 Alec Jacobson 40

Anisotropic input data Harmonic representative

slide-41
SLIDE 41

#

Data energy may fight harmonic representative

August 9, 2012 Alec Jacobson 41

Anisotropic input data Harmonic representative

slide-42
SLIDE 42

#

Data energy may fight harmonic representative

August 9, 2012 Alec Jacobson 42

Anisotropic input data Harmonic representative

slide-43
SLIDE 43

#

Data energy may fight harmonic representative

August 9, 2012 Alec Jacobson 43

Anisotropic input data Resulting solution with large

slide-44
SLIDE 44

#

If data exists, copy topology, too

August 9, 2012 Alec Jacobson 44

Anisotropic input data [Weinkauf et al. 2010] representative

slide-45
SLIDE 45

#

If data exists, copy topology, too

August 9, 2012 Alec Jacobson 45

Anisotropic input data Resulting solution with large

slide-46
SLIDE 46

#

Final algorithm is simple and efficient

August 9, 2012 Alec Jacobson 46

  • Data smoothing: topology-aware representative

§ Morse-smale + linear solve ~milliseconds

slide-47
SLIDE 47

#

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

slide-48
SLIDE 48

#

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

slide-49
SLIDE 49

#

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

slide-50
SLIDE 50

# August 9, 2012 Alec Jacobson 50

We preserve troublesome appendages

Bounded Our

slide-51
SLIDE 51

# August 9, 2012 Alec Jacobson 51

We preserve troublesome appendages

Bounded Our

slide-52
SLIDE 52

#

We preserve troublesome appendages

Bounded Our

slide-53
SLIDE 53

#

Our weights attach appendages to body

August 9, 2012 Alec Jacobson 53

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

slide-54
SLIDE 54

#

Extrema glue appendages to far-away handles

August 9, 2012 Alec Jacobson 54

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

slide-55
SLIDE 55

#

Extrema glue appendages to far-away handles

August 9, 2012 Alec Jacobson 55

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

slide-56
SLIDE 56

#

Our weights attach appendages to body

August 9, 2012 Alec Jacobson 56

Our method

slide-57
SLIDE 57

#

Our weights attach appendages to body

August 9, 2012 Alec Jacobson 57

Our method

slide-58
SLIDE 58

#

Extrema distort small features

August 9, 2012 Alec Jacobson 58

Unconstrained [Botsch & Kobbelt 2004]

weight of middle point

slide-59
SLIDE 59

#

Extrema distort small features

August 9, 2012 Alec Jacobson 59

Unconstrained [Botsch & Kobbelt 2004]

weight of middle point

slide-60
SLIDE 60

#

Extrema distort small features

August 9, 2012 Alec Jacobson 60

Bounded [Jacobson et al. 2011]

weight of middle point

slide-61
SLIDE 61

#

“Monotonicity” helps preserve small features

August 9, 2012 Alec Jacobson 61

Bounded [Jacobson et al. 2011] Our

slide-62
SLIDE 62

#

Spurious extrema are unstable, may “flip”

August 9, 2012 Alec Jacobson 62

slightly larger region

slide-63
SLIDE 63

#

Spurious extrema are unstable, may “flip”

August 9, 2012 Alec Jacobson 63

slightly larger region

slide-64
SLIDE 64

#

Spurious extrema are unstable, may “flip”

Unconstrained [Botsch & Kobbelt, 2004]

slide-65
SLIDE 65

#

Spurious extrema are unstable, may “flip”

Unconstrained [Botsch & Kobbelt, 2004]

slide-66
SLIDE 66

#

Spurious extrema are unstable, may “flip”

Unconstrained [Botsch & Kobbelt, 2004]

slide-67
SLIDE 67

#

Spurious extrema are unstable, may “flip”

Bounded

slide-68
SLIDE 68

#

Spurious extrema are unstable, may “flip”

Bounded

slide-69
SLIDE 69

#

Lack of extrema leads to more stability

Our

slide-70
SLIDE 70

#

Lack of extrema leads to more stability

Our

slide-71
SLIDE 71

#

Even control continuity at extrema

August 9, 2012 Alec Jacobson 71

Original Direct extension of [Botsch & Kobbelt 2004]

slide-72
SLIDE 72

#

Even control continuity at extrema

August 9, 2012 Alec Jacobson 72

Direct extension of [Botsch & Kobbelt 2004] [Botsch & Kobbelt 2004] + data term Original Direct extension of [Botsch & Kobbelt 2004]

slide-73
SLIDE 73

#

Even control continuity at extrema

August 9, 2012 Alec Jacobson 73

[Botsch & Kobbelt 2004] + data term Our method without data term Original Direct extension of [Botsch & Kobbelt 2004]

slide-74
SLIDE 74

#

Even control continuity at extrema

August 9, 2012 Alec Jacobson 74

Our method without data term Original Direct extension of [Botsch & Kobbelt 2004]

slide-75
SLIDE 75

#

Even control continuity at extrema

August 9, 2012 Alec Jacobson 75

Our method with data term

Original Direct extension of [Botsch & Kobbelt 2004]

slide-76
SLIDE 76

#

Reproduces results of Weinkauf et al. 2010…

August 9, 2012 Alec Jacobson 76

Original noisy data

slide-77
SLIDE 77

#

Reproduces results of Weinkauf et al. 2010…

August 9, 2012 Alec Jacobson 77

Original noisy data

slide-78
SLIDE 78

#

Reproduces results of Weinkauf et al. 2010…

August 9, 2012 Alec Jacobson 78

Original noisy data Simplified and smoothed

slide-79
SLIDE 79

#

Reproduces results of Weinkauf et al. 2010…

August 9, 2012 Alec Jacobson 79

Original noisy data Simplified and smoothed

slide-80
SLIDE 80

#

… but 1000 times faster

Alec Jacobson 80

30K vertices 5 seconds per solve

slide-81
SLIDE 81

#

… but 1000 times faster

Alec Jacobson 81

30K vertices 5 seconds per solve

slide-82
SLIDE 82

#

… but 1000 times faster

Alec Jacobson 82

30K vertices 5 seconds per solve

slide-83
SLIDE 83

#

  • Copy “monotonicity” of harmonic

functions

  • Reduces search-space, but optimization is

tractable

August 9, 2012 Alec Jacobson 83

Conclusion: Important to control extrema

slide-84
SLIDE 84

#

  • Larger, but still tractable subspace?

§ Consider all valid harmonic functions?

August 9, 2012 Alec Jacobson 84

Future work and discussion

slide-85
SLIDE 85

#

  • Larger, but still tractable subspace?

§ Consider all valid harmonic functions?

  • Continuous formulation?

August 9, 2012 Alec Jacobson 85

Future work and discussion

slide-86
SLIDE 86

#

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

slide-87
SLIDE 87

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/