Post on 09-Aug-2020
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/