10 - arap and linear blend skinning - new york universitypanozzo/gp/10 - arap and linear blend...•...
Post on 20-Jan-2021
4 Views
Preview:
TRANSCRIPT
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
10 - ARAP and Linear Blend Skinning
Acknowledgements: Olga Sorkine-Hornung
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
As Rigid As Possible
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Demo• Libigl demo 405
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
As-Rigid-As-Possible Deformation• Preserve shape of cells covering
the surface • Ask each cell i to transform
rigidly by best-fitting rotation Ri
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
As-Rigid-As-Possible Deformation• Optimal Ri is uniquely defined by ,
• so-called shape-matching problem, solved by a 3x3 SVD
Ri is a nonlinear function of x
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Optimal Rotation
Rotation group
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Shape Matching Problem
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Shape Matching Problem
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Shape Matching Problem
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Shape Matching Problem
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Shape Matching Problem• Align two point sets
• Find a translation vector t and rotation matrix R so that
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Shape Matching – Solution• Solve for translation first (w.r.t. R, p, and q)
Point sets {qi} and {Rpi} have the same center of mass
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Finding the Rotation R • To find the optimal R, we bring the centroids of
both point sets to the origin
• We want to find R that minimizes
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Finding the Rotation R
These terms do not depend on R, so we can ignore them in the minimization
I
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Finding the Rotation R
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Finding the Rotation R
R=
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
=
Finding the Rotation R
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Finding the Rotation R • Find R that maximizes
• SVD:
orthonormal matrix
Take a look at the Matrix Cookbook!
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Finding the Rotation R • We want to maximize
M: orthonormal matrix all entries ≤ 1
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Finding the Rotation R
• Our best shot is mii = 1, i.e. to make M = I
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Summary of Rigid Alignment• Translate the input points to the centroids
• Compute the “covariance matrix”
• Compute its SVD:
• The optimal orthonormal R is
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Sign Correction• It is possible that : sometimes
reflection is the best orthonormal transform
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Sign Correction• It is possible that : sometimes
reflection is the best orthonormal transform
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Sign Correction• To restrict ourselves to rotations only:
take the last column of U (corresponding to the smallest singular value) and invert its sign.
• Why? See http://igl.ethz.ch/projects/ARAP/svd_rot.pdf
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
As-Rigid-As-Possible Deformation• Optimal Ri is uniquely defined by ,
• so-called shape-matching problem, solved by a 3x3 SVD
Ri is a nonlinear function of x
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
As-Rigid-As-Possible Deformation• Total ARAP energy: sum up for all the cells i
• Treat x and R as separate sets of variables • Simple local-global iterative optimization process • Decreases the energy at each step
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
As-Rigid-As-Possible Deformation• Total ARAP energy: sum up for all the cells i
• Local step: keep x’ fixed, find optimal Ri per cell i • Global step: keep Ri fixed, solve for x’ –
quadratic minimization problem
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
As-Rigid-As-Possible Deformation• Total ARAP energy: sum up for all the cells i
• Local step: keep x’ fixed, find optimal Ri per cell i • Global step: keep Ri fixed, solve for x’ –
quadratic minimization problem • The matrix L stays fixed, can pre-factorize
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Initial Guess• Can use naïve Laplacian editing
initial guess 1 iteration 2 iterations
1 iterations 4 iterationsinitial guess
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Initial Guess• Can also use the
previous frame • Replace all handle vertex
positions by the currently prescribed ones
• Fast convergence
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Large Rotations• Use previous frame as the initial guess
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Examples
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Discussion• Nonlinear deformation that models
a kind of elastic behavior • Very simple to implement, no parameters to tune
except number of iterations • Each step is guaranteed to not increase the energy • Compare with Gauss-Newton…
• Each iteration is relatively cheap, no matrix re-factorization necessary
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Discussion• Works fine on small meshes • On larger meshes: slow convergence • Each iteration is more expensive • Need more iterations because the conditioning of the system
becomes worse as the matrix grows • Material stiffness depends on the cell size • lots of wrinkles for fine meshes when using 1-rings as cells
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Acceleration using Subspace Techniques
• Subspace created by influence weight functions for each handle • Drastically reduces the number of degrees of freedom in the
optimization
Alec Jacobson, Ilya Baran, Ladislav Kavan, Jovan Popović, and Olga Sorkine. “Fast Automatic Skinning Transformations,” 2012.
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Acceleration using Subspace Techniques
• Subspace created by influence weight functions for each handle • Drastically reduces the number of degrees of freedom in the
optimization
Alec Jacobson, Ilya Baran, Ladislav Kavan, Jovan Popović, and Olga Sorkine. “Fast Automatic Skinning Transformations,” 2012.
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Acceleration using Subspace Techniques
• Subspace created by influence weight functions for each handle • Drastically reduces the number of degrees of freedom in the
optimization
Alec Jacobson, Ilya Baran, Ladislav Kavan, Jovan Popović, and Olga Sorkine. “Fast Automatic Skinning Transformations,” 2012.
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Demo• Libigl demo 406
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Linear Blend Skinning
Acknowledgements: Alec Jacobson
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
LBS generalizes to different handle types
skeletons regions points cages
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Linear Blend Skinning rigging preferred for its real-time performance
place handles in shape
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Linear Blend Skinning rigging preferred for its real-time performance
place handles in shape paint weights
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Linear Blend Skinning rigging preferred for its real-time performance
place handles in shape paint weights deform handles
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Linear Blend Skinning rigging preferred for its real-time performance
place handles in shape paint weights deform handles
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Linear Blend Skinning rigging preferred for its real-time performance
place handles in shape paint weights deform handles
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Challenges with LBS
• Weight functions wj
• Need intuitive, general and automatic weights
• Degrees of freedom Tj
• Let the energy decide! • Richness of achievable
deformations • Want to avoid common LBS pitfalls –
candy wrapper, collapses
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Bounded Biharmonic WeightsAlec Jacobson, Ilya Baran, Jovan Popović, Olga Sorkine-Hornung
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Automatic weights that unify points, skeletons and cages
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Weights should be smooth, shape-aware, positive and intuitive
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Weights must be smooth everywhere, especially at handles
Bounded Biharmonic Weights Extension of Harmonic Coordinates [Joshi et al. 2005]
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Weights must be smooth everywhere, especially at handles
Bounded Biharmonic Weights Extension of Harmonic Coordinates [Joshi et al. 2005]
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Shape-awareness ensures respect of domain’s features
Non-shape-aware methods e.g. [Schaefer et al. 2006]
Bounded Biharmonic Weights
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Non-negative weights are necessary for intuitive response
Unconstrained biharmonic [Botsch and Kobbelt 2004]
Bounded Biharmonic Weights
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Weights must maintain other simple, but important properties
Handle vertices
Interpolation of handlesPartition of unity
is linear along cage faces
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
How about wj (x0) = d (x0, Hj)–1 ?
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Inverse distance methods inherently suffer from fall-off effect
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Inverse distance methods inherently suffer from fall-off effect
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Inverse distance methods inherently suffer from fall-off effect
Approaching 0.5
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Inverse distance methods inherently suffer from fall-off effect
Inverse- distance weights
BBW
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Bounded biharmonic weights enforce properties as constraints to minimization
is linear along cage faces
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Bounded biharmonic weights enforce properties as constraints to minimization
is linear along cage faces
Constant inequality constraints
Partition of unity
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Bounded biharmonic weights enforce properties as constraints to minimization
is linear along cage faces
Constant inequality constraints
Solve independently and normalize
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
FEM discretization 2D ! Triangle mesh 3D ! Tet mesh
is linear along cage faces
Weights optimized as precomputation at bind-time
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Weights optimized as precomputation at bind-time
Sparse quadratic programming with constant inequality constraints
2D ! less than second per handle 3D ! tens of seconds per handle
is linear along cage faces
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Some examples of BBW in action
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Some examples of BBW in action
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Some examples of BBW in action
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
3D Characters
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Demo• Libigl demo 403
CSCI-GA.3033-018 - Geometric Modeling - Daniele Panozzo
Thank you
top related