As-Rigid-As-Possible Surface Modeling Olga Sorkine Marc Alexa TU Berlin
Surface deformation – motivation Interactive shape modeling Digital content creation Scanned data Modeling is an interactive, iterative process Tools need to be intuitive (interface and outcome) Allow quick experimentation
What do we expect from surface deformation? Smooth effect on the large scale As-rigid-as-possible effect on the small scale (preserves details)
Previous work FFD (space deformation) Pros: Cons: Lattice-based (Sederberg & Parry 86, Coquillart 90, …) Curve-/handle-based (Singh & Fiume 98, Botsch et al. 05, …) Cage-based (Ju et al. 05, Joshi et al. 07, Kopf et al. 07) Pros: efficiency almost independent of the surface resolution possible reuse Cons: space warp, so can’t precisely control surface properties images taken from [Sederberg and Parry 86] and [Ju et al. 05]
“On Linear Variational Surface Deformation Methods” Previous work Surface-based approaches Multiresolution modeling Zorin et al. 97, Kobbelt et al. 98, Lee 98, Guskov et al. 99, Botsch and Kobbelt 04, … Differential coordinates – linear optimization Lipman et al. 04, Sorkine et al. 04, Yu et al. 04, Lipman et al. 05, Zayer et al. 05, Botsch et al. 06, Fu et al. 06, … Non-linear global optimization approaches Kraevoy & Sheffer 04, Sumner et al. 05, Hunag et al. 06, Au et al. 06, Botsch et al. 06, Shi et al. 07, … “On Linear Variational Surface Deformation Methods” M. Botsch and O. Sorkine to appear at IEEE TVCG NEW! images taken from PriMo, Botsch et al. 06
Surface-based approaches Pros: direct interaction with the surface control over surface properties Cons: linear optimization suffers from artifacts (e.g. translation insensitivity) non-linear optimization is more expensive and non-trivial to implement
Direct ARAP modeling Preserve shape of cells covering the surface Cells should overlap to prevent shearing at the cells boundaries Equally-sized cells, or compensate for varying size
Direct ARAP modeling Let’s look at cells on a mesh
Cell deformation energy Ask all star edges to transform rigidly by some rotation R, then the shape of the cell is preserved vj2 vi vj1
Cell deformation energy If v, v׳ are known then Ri is uniquely defined So-called shape matching problem Build covariance matrix S = VV׳T SVD: S = UWT Ri = UWT (or use [Horn 87]) v׳j2 vj2 vi v׳i v׳j1 Ri vj1 Ri is a non-linear function of v׳
Total deformation energy Can formulate overall energy of the deformation: We will treat v׳ and R as separate sets of variables, to enable a simple optimization process
Energy minimization Alternating iterations Given initial guess v׳0, find optimal rotations Ri This is a per-cell task! We already showed how to define Ri when v, v׳ are known Given the Ri (fixed), minimize the energy by finding new v׳
Uniform mesh Laplacian Energy minimization Alternating iterations Given initial guess v׳0, find optimal rotations Ri This is a per-cell task! We already showed how to define Ri when v, v׳ are known Given the Ri (fixed), minimize the energy by finding new v׳ Uniform mesh Laplacian
The advantage Each iteration decreases the energy (or at least guarantees not to increase it) The matrix L stays fixed Precompute Cholesky factorization Just back-substitute in each iteration (+ the SVD computations)
First results Non-symmetric results
Need appropriate weighting The problem: lack of compensation for varying shapes of the 1-ring
Need appropriate weighting Add cotangent weights [Pinkall and Polthier 93]: Reformulate Ri optimization to include the weights (weighted covariance matrix) vi ij ij vj
Weighted energy minimization results This gives symmetric results
Initial guess Can start from naïve Laplacian editing as initial guess and iterate initial guess 1 iteration 2 iterations initial guess 1 iterations 4 iterations
Initial guess Faster convergence when we start from the previous frame (suitable for interactive manipulation)
Some more results Demo
Discussion Works fine on small meshes fast propagation of rotations across the mesh On larger meshes: slow convergence slow rotation propagation A multi-res strategy will help e.g., as in Mean-Value Pyramid Coordinates [Kraevoy and Sheffer 05] or in PriMo [Botsch et al. 06]
More discussion Our technique is good for preserving edge length (relative error is very small) No notion of volume, however “thin shells for the poor”? Can easily extend to volumetric meshes
Conclusions and future work Simple formulation of as-rigid-as-possible surface-based deformation Iterations are guaranteed to reduce the energy Uses the same machinery as Laplacian editing, very easy to implement No parameters except number of iterations per frame (can be set based on target frame rate) Is it possible to find better weights? Modeling different materials – varying rigidity across the surface
Acknowledgement Alexander von Humboldt Foundation Leif Kobbelt and Mario Botsch SGP Reviewers
Thank you! Olga Sorkine sorkine@gmail.com Marc Alexa marc@cs.tu-berlin.de