CS468, Wed Nov 9th 2005 Mesh-Based Inverse Kinematics R. W. Sumner, M. Zwicker, C. Gotsman, J. Popovi´ c SIGGRAPH 2005
The problem 1 Mesh-Based Inverse Kinematics — R. W. Sumner, M. Zwicker, C. Gotsman, J. Popovi´ c
General approach Learn from experience... 2 Mesh-Based Inverse Kinematics — R. W. Sumner, M. Zwicker, C. Gotsman, J. Popovi´ c
As-rigid-as-possible shape interpolation [ACL00] 3
Outline • Related work • Overview of the method • The method step by step • Numerics • Experiments 4 Mesh-Based Inverse Kinematics — R. W. Sumner, M. Zwicker, C. Gotsman, J. Popovi´ c
Related work Subdivision [ZSS97, KCVS98, KBS00, GSS99] 5 Mesh-Based Inverse Kinematics — R. W. Sumner, M. Zwicker, C. Gotsman, J. Popovi´ c
Related work Skeleton-based kinematics [JT05, ASKTR05] 6 Mesh-Based Inverse Kinematics — R. W. Sumner, M. Zwicker, C. Gotsman, J. Popovi´ c
Relation to mesh editing Inverse kinematics mesh transplanting coating transfer 7 Mesh-Based Inverse Kinematics — R. W. Sumner, M. Zwicker, C. Gotsman, J. Popovi´ c
Related work Intrinsic mesh editing methods Laplacian (or differential) coordinates [SLCARS04] 8 Mesh-Based Inverse Kinematics — R. W. Sumner, M. Zwicker, C. Gotsman, J. Popovi´ c
Overview of the method Let M 0 , · · · , M k be the input meshes ( M 0 is the reference mesh). 1. map each transformation T i ( i ≥ 1 ) to a feature vector f i ∈ R 9 m , where m is the number of triangles of the base mesh 2. define the space Σ of admissible transformations as the span of the { f i } i ≥ 1 3. given a set of specified vertex positions v 1 , · · · , v l , find a feature vector f close to Σ that maps each constrained vertex ¯ v j to a point close to its specified position v j 9 Mesh-Based Inverse Kinematics — R. W. Sumner, M. Zwicker, C. Gotsman, J. Popovi´ c
Feature vectors from [SP04] Given i ≥ 1 , f i encodes the deformation gradients of the piecewise affine map from M 0 to M i For the j th triangle of M 0 , let φ j be the affine transformation that maps the triangle onto its image in M i : linear (3x3 matrix) translation vector ∀ p ∈ R 3 , φ j := T j p + t j • only the gradient of φ j is encoded: D φ j ( p ) = T j • to make T j unique, a 4 th vertex is added to the j th triangle, along the normal direction v 3 v 4 v 1 ¯ φ j v 1 v 3 ¯ v 2 ¯ v 4 ¯ v 2 10 Mesh-Based Inverse Kinematics — R. W. Sumner, M. Zwicker, C. Gotsman, J. Popovi´ c
Feature vectors Given i ≥ 1 , f i encodes the deformation gradients of the piecewise affine map from M 0 to M i For the j th triangle of M 0 , let φ j be the affine transformation that maps the triangle onto its image in M i : linear (3x3 matrix) translation vector ∀ p ∈ R 3 , φ j := T j p + t j • only the gradient of φ j is encoded: D φ j ( p ) = T j • to make T j unique, a 4 th vertex is added to the j th triangle, along the normal direction v 4 ] − 1 T j = [ v 1 − v 4 , v 2 − v 4 , v 3 − v 4 ] · [¯ v 1 − ¯ v 4 , ¯ v 2 − ¯ v 4 , ¯ v 3 − ¯ t j = v 4 − T j ¯ v 4 10 Mesh-Based Inverse Kinematics — R. W. Sumner, M. Zwicker, C. Gotsman, J. Popovi´ c
Feature vectors Given i ≥ 1 , f i encodes the deformation gradients of the piecewise affine map from M 0 to M i For the j th triangle of M 0 , let φ j be the affine transformation that maps the triangle onto its image in M i : linear (3x3 matrix) translation vector ∀ p ∈ R 3 , φ j := T j p + t j • only the gradient of φ j is encoded: D φ j ( p ) = T j • to make T j unique, a 4 th vertex is added to the j th triangle, along the normal direction v 4 ] − 1 T j = [ v 1 − v 4 , v 2 − v 4 , v 3 − v 4 ] · [¯ v 1 − ¯ v 4 , ¯ v 2 − ¯ v 4 , ¯ v 3 − ¯ t j = v 4 − T j ¯ v 4 10 Mesh-Based Inverse Kinematics — R. W. Sumner, M. Zwicker, C. Gotsman, J. Popovi´ c
Feature vectors Given i ≥ 1 , f i encodes the deformation gradients of the piecewise affine map from M 0 to M i v 4 ] − 1 T j = [ v 1 − v 4 , v 2 − v 4 , v 3 − v 4 ] · [¯ v 1 − ¯ v 4 , ¯ v 2 − ¯ v 4 , ¯ v 3 − ¯ ( 3 × 3 ) linear in v 1 , v 2 , v 3 , v 4 11 Mesh-Based Inverse Kinematics — R. W. Sumner, M. Zwicker, C. Gotsman, J. Popovi´ c
Feature vectors Given i ≥ 1 , f i encodes the deformation gradients of the piecewise affine map from M 0 to M i v 4 ] − 1 T j = [ v 1 − v 4 , v 2 − v 4 , v 3 − v 4 ] · [¯ v 1 − ¯ v 4 , ¯ v 2 − ¯ v 4 , ¯ v 3 − ¯ ( 3 × 3 ) v 1 x linear in v 1 , v 2 , v 3 , v 4 . . T jx . T jy T j := v 4 x T jz T v 1 y T jx . T = G j f i . j := T jy . G jx T T jz v 4 y G jy G j := v 1 z ∈ R 9 G jz . . . (9 × 12) v 4 z ∈ R 12 11 Mesh-Based Inverse Kinematics — R. W. Sumner, M. Zwicker, C. Gotsman, J. Popovi´ c
Feature vectors Given i ≥ 1 , f i encodes the deformation gradients of the piecewise affine map from M 0 to M i v 4 ] − 1 T j = [ v 1 − v 4 , v 2 − v 4 , v 3 − v 4 ] · [¯ v 1 − ¯ v 4 , ¯ v 2 − ¯ v 4 , ¯ v 3 − ¯ ( 3 × 3 ) v 1 x linear in v 1 , v 2 , v 3 , v 4 . . . f i 1 v 4 x . f i := . = G v T v 1 y . T jx . f i T = G j f i . j := T jy . m T T jz v 4 y G x v 1 z ∈ R 9 G := G y . . . (9 × 12) G z v 4 z ∈ R 12 11 Mesh-Based Inverse Kinematics — R. W. Sumner, M. Zwicker, C. Gotsman, J. Popovi´ c
Feature vectors Given i ≥ 1 , f i encodes the deformation gradients of the piecewise affine map from M 0 to M i v 4 ] − 1 T j = [ v 1 − v 4 , v 2 − v 4 , v 3 − v 4 ] · [¯ v 1 − ¯ v 4 , ¯ v 2 − ¯ v 4 , ¯ v 3 − ¯ ( 3 × 3 ) v 1 x linear in v 1 , v 2 , v 3 , v 4 . . . f i 1 v 4 x ∈ R 3( n + m ) . f i := . = G v T v 1 y . T jx ∈ R 9 m . f i T = G j f i . j := T jy (9 m × 3( n + m )) . m T T jz v 4 y G x v 1 z ∈ R 9 G := G y . . . (9 × 12) G z v 4 z (3 m × ( n + m )) ∈ R 12 11 Mesh-Based Inverse Kinematics — R. W. Sumner, M. Zwicker, C. Gotsman, J. Popovi´ c
Feature vectors Inverse transformation ∈ R 3( n + m ) ” v = G − 1 f ” f = G v ∈ R 9 m (9 m × 3( n + m )) 12 Mesh-Based Inverse Kinematics — R. W. Sumner, M. Zwicker, C. Gotsman, J. Popovi´ c
Feature vectors Inverse transformation ∈ R 3( n + m ) ” v = G − 1 f ” f = G v ∈ R 9 m (9 m × 3( n + m )) 9 m > 3( n + m ) ⇒ G is not a square matrix To a feature vector f ∈ R 9 m corresponds ≤ 1 tranformed mesh (up to translation) By fixing one vertex, one reduces the dim. to zero 12 Mesh-Based Inverse Kinematics — R. W. Sumner, M. Zwicker, C. Gotsman, J. Popovi´ c
Feature vectors Inverse transformation ∈ R 3( n + m ) ” v = G − 1 f ” f = G v ∈ R 9 m (9 m × 3( n + m )) 9 m > 3( n + m ) ⇒ G is not a square matrix To a feature vector f ∈ R 9 m corresponds ≤ 1 tranformed mesh (up to translation) By fixing one vertex, one reduces the dim. to zero If too many constraints (or imprecisions), the set of solutions can be empty least squares problem: v ∗ = arg min � G v − f � most ”plausible” positions v 12 Mesh-Based Inverse Kinematics — R. W. Sumner, M. Zwicker, C. Gotsman, J. Popovi´ c
Linear feature space Σ := Span ( f 1 , · · · , f k ) � f 1 , · · · , f k � To every vector w of coordinates in the basis corresponds i w i f i ∈ R 9 m a feature vector f w = � Once one or more vertex positions are set, compute � � v ∗ , w ∗ = arg min � G v − ( f 1 , · · · , f k ) w � � � v , w 13 Mesh-Based Inverse Kinematics — R. W. Sumner, M. Zwicker, C. Gotsman, J. Popovi´ c
Linear feature space Σ := Span ( f 1 , · · · , f k ) � f 1 , · · · , f k � To every vector w of coordinates in the basis corresponds i w i f i ∈ R 9 m a feature vector f w = � Once one or more vertex positions are set, compute � � v ∗ , w ∗ = arg min � G v − ( f 1 , · · · , f k ) w � � � v , w To penalize solutions that are far from the f i , take the mean ¯ f of the f i i as the origin: f w = ¯ f + � k i =1 w i ¯ f and compute: � � v ∗ , w ∗ = arg min 1 , · · · , ¯ k ) w � G v − ¯ f − (¯ � + α � w � f f � � v , w 13 Mesh-Based Inverse Kinematics — R. W. Sumner, M. Zwicker, C. Gotsman, J. Popovi´ c
Linear feature space 14 Mesh-Based Inverse Kinematics — R. W. Sumner, M. Zwicker, C. Gotsman, J. Popovi´ c
Linear feature space f ( 1 3 , 2 3 ) f 1 f 2 14 Mesh-Based Inverse Kinematics — R. W. Sumner, M. Zwicker, C. Gotsman, J. Popovi´ c
Nonlinear feature space For each triangle j of M 0 , separate the rotational component from the scale and shear components of T j by polar decomposition: T j := R j S j Interpolate the S i j linearly, but the T i j by composition: k k w i · R 2 � � θ = R 2 θ ” T i R i w i S i j ( w ) := j ” j i =1 i =1 15 Mesh-Based Inverse Kinematics — R. W. Sumner, M. Zwicker, C. Gotsman, J. Popovi´ c
Recommend
More recommend