Deformation Disney/Pixar
Deformation 2
Motivation Easy modeling generate new shapes by deforming existing ones 3
Motivation Easy modeling generate new shapes by deforming existing ones 4
Motivation Character posing for animation 5
Challenges User says as little as possible algorithm deduces the rest 6
Challenges Intuitive deformation global change + local detail preservation 7
Challenges Intuitive deformation global change + local detail preservation 8
Challenges Efficient! 9
Rules of the Game Shape Deformation Algorithm Deformed Shape Constraints Position: Orientation/Scale: Other shape property: This point goes there The environment of this Curvature, perimeter, point should rotate/scale [ Parameterization is also deformation : constraints = curvature 0 everywhere ] 10
Approaches Surface deformation Shape is empty shell Curve for 2D deformation Surface for 3D deformation Deformation only defined on shape Deformation coupled with shape representation 11
Approaches Space deformation Shape is volumetric Planar domain in 2D Polyhedral domain in 3D Deformation defined in neighborhood of shape Can be applied to any shape representation 12
Approaches Surface deformation Find alternative representation which is deformation invariant Space deformation Find a space map which has nice properties 13
Surface Deformation Setup: Choose alternative representation f(s) Given S find S such that Constraints(S )aretrue are true f(s ) = f(s) (or close) An optimization problem S R R1 R2 R3 14
Shape Representation How good is the representation? ese Representation should always be invariant to: Global translation Global rotation Global scale? Depends on application Shapes we want reachable should have similar representations Almost isometric deformation local translation + rotation Almost conformal deformation local translation + rotation + scale 15
Shape Representation Robustness How hard is it to solve the optimization problem? Can we find the global minimum? Small change in constraints similar shape? Efficiency Can it be solved at interactive rates? 16
Shape Representations Rule of thumb: If representation is a linear function of the coordinates, deformation is: Robust Fast But representation is not rotation invariant! (for large rotations) 17
Surface Representations Laplacian coordinates Edge lengths + dihedral angles Pyramid coordinates Local frames. 18
Laplacian Coordinates [Sorkine et al. 04] Control mechanism Handles (vertices) moved by user Region of influence (ROI) Movie 19
Laplacian Coordinates δ = LV = (I-D -1 A)V I = Identity matrix D = Diagonal matrix [d ii = deg(v i )] A = Adjacency matrix V = Vertices in mesh Approximation to normals - unique up to translation Reconstruct by solving LV = δ for V, with one constraint Poisson equation 20
Deformation Pose modeling constraints for vertices C V v i = u i i C No exact solution, minimize error Laplacian Laplacian User Constraints coordinates of coordinates of original mesh deformed mesh 21
Deformation Laplacian Laplacian User Constraints coordinates of coordinates of original mesh deformed mesh 22
Linear Least Squares Ax = b with m equations, n unknowns Normal equations: (A T A)x = A T b Solution by pseudo inverse: x = A + b= [(A T A) -1 A T ]b If system under determined: x = arg min { x : Ax = b } If system over determined: x = arg min { Ax-b 2 } 23
Laplacian Coordinates Sanity Check Translation invariant? Rotation/scale invariant? δ i δ i δ i 24
Problem 25
input Laplacian coords Rotation invariant coords 26
Rotation Invariant Coords The representation should take into account local rotations + scale δ i =L(v i ) T i δ i =L(v i ) v i v' i δ i δ i T i δ i δ i 27
Rotation Invariant Coords The representation should take into account local rotations + scale δ i =L(v i ) T i δ i =L(v i ) Problem: T i depends on deformed position v i 28
Solution: Implicit Transformations Idea: solve for local transformation and deformed surface simultaneously Transformation of the local frame 29
Similarities Restrict T i to good transformations = rotation + scale similarity transformation Similarity Transformation 30
Similarities Conditions on T i to be a similarity matrix? Linear in 2D: Auxiliary variables Uniform Rotation + scale translation 31
Similarities 2D 32
Similarities 3D case Not linear in 3D: Linearize by dropping the quadratic term Effectively: only small rotations are handled 33
Laplacian Coordinates Realtime? Need to solve a linear system each frame (A T A)x ) = A T b Precompute sparse Cholesky factorization Only back substitution per frame 34
Some Results 35
Some Results 36
Limitations: Large Rotations 37
How to Find the Rotations? Laplacian coordinates solve for them Problem: not linear Another approach: propagate rotations from handles 38
Rotation Propagation Compute handle s deformation gradient Extract rotation and scale/shear components Propagate damped d rotations over ROI 39
Deformation Gradient Handle has been transformed affinely Deformation gradient is: Extract rotation R and scale/shear S 40
Smooth Propagation Construct smooth scalar field [0,1] α(x)=1 Full deformation (handle) α(x)=0( ) 0 No deformation (fixed part) α(x) [0,1] Damp transformation (in between) Linearly damp scale/shear: S(x)= ( ) α(x)s(handle) ( ) ( ) Log scale damp rotation: R(x) ( ) = exp(α(x)log(r(handle)) ( ( )) 41
Limitations Works well for rotations Translations don t change deformation gradient Translation insensitivity 42
The Curse of Rotations Can t solve for them directly using a linear system Can t propagate if the handles don t rotate Some linear methods work for rotations Some work for translations None work for both 43
The Curse of Rotations Non linear methods work for both large rotations and translation only No free lunch: much more expensive 44
Space Deformation Deformation function on ambient space f : n n Shape S deformed by applying f to points of S S = f (S) f (x,y)=(2x,y) S S 45
Motivation Can be applied to any geometry Meshes (= non-manifold, multiple components) Polygon soups Point clouds Volumetric data Complexity decoupled from geometry complexity Can pick the best complexity for required deformation 46
Required Properties Invariant to global operators Global translation Global rotation Smooth Efficient to compute Intuitive deformation? Can pose constraints as in surface deformation 47
MLS Deformation [Schaeffer et al. 06] p i p i 1. Handles p i 2. Target locations 3. Find best affine transformation that maps p i to 4. Deform f (v) = Mv+T 48
MLS Deformation [Schaeffer et al. 06] p i p i 1. Handles p i 2. Target locations 3. Find best affine transformation that maps p i to 4. Deform f (v) = Mv+T Closed form solution 49
Similarity Affine Transformations? Shears! 50
Similarity Transformations p i p i 1. Handles p i 2. Target locations 3. Find best similarity transformation that maps p i to 4. Deform f (v) = Mv+T Closed form solution 51
Rigid Similarity Transformations? Scales! 52
Rigid Transformations p i p i 1. Handles p i 2. Target locations 3. Find best rigid transformation that maps p i to 4. Deform f (v) = Mv+T Closed form solution given best similarity 53
Comparison Thin-Plate [Bookstein 89] Affine MLS Similarity MLS Rigid MLS 54
Examples Before After 55
Examples Horse Giraffe 56
Limitations Deforms all space - is not shape aware 57
The Pants Problem Small Euclidean distance Large geodesic distance 58
The Pants Problem Don t care about distortion outside the shape p 59
Solution: Cages Enclose the shape in a cage Ω n Deformation function defined only on cage Ω f : Ω n New problem: how to build the cage? 60
Deformation with a Cage x g(x) i x f i S F S ={x 1,xx 2,...,xx n } x i f i Source polygon Target polygon g(x) =? Interior? 61
Barycentric Coordinates f i x i x S F wx () i x i x w i (x) : Ω n Barycentric Coords Function 62
Barycentric Coordinates x g(x) i x f i S F 63 wx () i g ( x) = w ( x) f x i= 1 x i n F i i
Example x i w i (x) 64
Example 65
Barycentric Coordinates Required properties Translation invariance (constant precision) x i x f i Reproduction of identity (linear precision) g(x) 66
Barycentric Coordinates Constant + linear precision = affine invariance g ( x) = w( x)( Ax T) Ax + T + i i i i = A w ( x ) x + T w ( x ) = i i i i i x 1 = Ax+ T 67
Barycentric Coordinates Required properties Smoothness at least C1 x i x Interpolation (Lagrange property) f i g(x) 68
Example: Mean Value Coords [3D: Ju et al 05] k ( x ) i = α α i 1 i tan tan + 2 2 x x i x x i+1 α i α i-1 x i w( x) i k ( x ) x i = i-1 k ( x) i i Closed form! 69
Example: Mean Value Coords 70
MV - Limitations Back to the pants problem MV negative on concave polygons 71
MV - Limitations Other leg moves in opposite (!) direction 72
Barycentric Coords Additional property required: w( x) 0 Mean value coords only positive on convex polygons i 73
Solve for w i (x): Harmonic Coordinates [Joshi et al 07] subject to: w i linear on the boundary and 74
Harmonic Coordinates MVC HC 75
Harmonic Coordinates MVC HC 76
Harmonic Coordinates Why does it work? MVC use Euclidean distances HC use resistance distances 77
Harmonic Coordinates Properties: All required properties Smooth, translation + rotation invariant Positive everywhere No closed form, need to solve a PDE 78
References On Linear Variational Surface Deformation Methods [Botsch & Sorkine 08] Tutorial: Interactive Shape Modeling and Deformation [Sorkine & Botsch 09] Image deformation using moving least squares [Schaefer et al 06] Mean Value Coordinates for Closed Triangular Meshes [Ju et al 05] Harmonic coordinates for character articulation [Joshi et al 07] Excellent webpage on barycentric coordinates: http://www.inf.usi.ch/hormann/barycentric/ 79