Mesh-Based Inverse Kinematics

Similar documents
SCAPE: Shape Completion and Animation of People

CS 523: Computer Graphics, Spring Shape Modeling. Skeletal deformation. Andrew Nealen, Rutgers, /12/2011 1

Deformation Transfer for Detail-Preserving Surface Editing

Skeletal deformation

Computational Design. Stelian Coros

Example-Based Skeleton Extraction. Scott Schaefer Can Yuksel

Def De orma f tion orma Disney/Pixar

Computing and Processing Correspondences with Functional Maps

Easy modeling generate new shapes by deforming existing ones

Advanced Computer Graphics

10 - ARAP and Linear Blend Skinning

Assignment 5: Shape Deformation

Real-Time Shape Editing using Radial Basis Functions

Inverse Kinematics for Reduced Deformable Models

CSE452 Computer Graphics

Animation Lecture 10 Slide Fall 2003

Inverse Kinematics for Reduced Deformable Models

Assignment 4: Mesh Parametrization

CS 775: Advanced Computer Graphics. Lecture 4: Skinning

As-Rigid-As-Possible Shape Manipulation

Inverse Kinematics II and Motion Capture

Skeleton Based As-Rigid-As-Possible Volume Modeling

CSE 554 Lecture 7: Deformation II

2D Shape Deformation Using Nonlinear Least Squares Optimization

Skinning Mesh Animations

Dynamic Geometry Processing

Deformation Transfer for Triangle Meshes

Laplacian Meshes. COS 526 Fall 2016 Slides from Olga Sorkine and Yaron Lipman

Image Coding with Active Appearance Models

arxiv: v1 [cs.gr] 5 Sep 2017

Skeleton-Based Shape Deformation using Simplex Transformations

Effective Derivation of Similarity Transformations for Implicit Laplacian Mesh Editing

Animation of 3D surfaces.

For each question, indicate whether the statement is true or false by circling T or F, respectively.

Animation. CS 4620 Lecture 33. Cornell CS4620 Fall Kavita Bala

Homework 2 Questions? Animation, Motion Capture, & Inverse Kinematics. Velocity Interpolation. Handing Free Surface with MAC

Kinematics. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University

Motion Capture. Motion Capture in Movies. Motion Capture in Games

Shape Modeling and Geometry Processing

Free-Form Deformation and Other Deformation Techniques

Bounded Distortion Mapping and Shape Deformation

05 - Surfaces. Acknowledgements: Olga Sorkine-Hornung. CSCI-GA Geometric Modeling - Daniele Panozzo

Geometric Modeling Assignment 5: Shape Deformation

Animation. CS 465 Lecture 22

Geometric Registration for Deformable Shapes 3.3 Advanced Global Matching

Animations. Hakan Bilen University of Edinburgh. Computer Graphics Fall Some slides are courtesy of Steve Marschner and Kavita Bala

CS 231. Basics of Computer Animation

Surface Parameterization

Discrete Geometry Processing

animation computer graphics animation 2009 fabio pellacini 1 animation shape specification as a function of time

animation computer graphics animation 2009 fabio pellacini 1

T6: Position-Based Simulation Methods in Computer Graphics. Jan Bender Miles Macklin Matthias Müller

Animation of 3D surfaces

CageIK: Dual-Laplacian Cage-Based Inverse Kinematics

3D Active Appearance Model for Aligning Faces in 2D Images

Texturing and Deforming Meshes with Casual Images. I-Chao Shen Yi-Hau Wang Yu-Mei Chen Bing-Yu Chen. National Taiwan University

Transformation. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

Clothed and Naked Human Shapes Estimation from a Single Image

Kinematics. Why inverse? The study of motion without regard to the forces that cause it. Forward kinematics. Inverse kinematics

Gradient-based Shell Generation and Deformation

Improving Shape retrieval by Spectral Matching and Meta Similarity

Locally Injective Mappings

Computer Graphics: Geometric Transformations

Surface Registration. Gianpaolo Palma

On the Dimensionality of Deformable Face Models

CS 523: Computer Graphics, Spring Shape Modeling. Differential Geometry of Surfaces

Practical Least-Squares for Computer Graphics

Fast and Reliable Example-Based Mesh IK for Stylized Deformations

Geometric Modeling and Processing

3D Geometry and Camera Calibration

QP-Collide: A New Approach to Collision Treatment

Programming, numerics and optimization

04 - Normal Estimation, Curves

Video based Animation Synthesis with the Essential Graph. Adnane Boukhayma, Edmond Boyer MORPHEO INRIA Grenoble Rhône-Alpes

Georgia Institute of Technology, August 17, Justin W. L. Wan. Canada Research Chair in Scientific Computing

Trajectory Optimization

CS 130 Final. Fall 2015

Computational Fluid Dynamics - Incompressible Flows

Collision Detection between Dynamic Rigid Objects and Static Displacement Mapped Surfaces in Computer Games

Distance Functions 1

Style-based Inverse Kinematics

Geometric modeling 1

Sketching Articulation and Pose for Facial Meshes

Subdivision Surfaces. Course Syllabus. Course Syllabus. Modeling. Equivalence of Representations. 3D Object Representations

CS354 Computer Graphics Rotations and Quaternions

Sketch Based Image Deformation

Introduction to Robotics

Interactive Deformation with Triangles

Subdivision. Outline. Key Questions. Subdivision Surfaces. Advanced Computer Graphics (Spring 2013) Video: Geri s Game (outside link)

Non-rigid Image Registration

Registration of Dynamic Range Images

Motion Control (wheeled robots)

Edge and local feature detection - 2. Importance of edge detection in computer vision

Surfaces, meshes, and topology

3D Geometry and Camera Calibration

Lecture 4: Transforms. Computer Graphics CMU /15-662, Fall 2016

This week. CENG 732 Computer Animation. Warping an Object. Warping an Object. 2D Grid Deformation. Warping an Object.

Encoding Meshes in Differential Coordinates

Pose Space Deformation A unified Approach to Shape Interpolation and Skeleton-Driven Deformation

Computer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics

Transcription:

CS468, Wed Nov 9 th 2005 Mesh-Based Inverse Kinematics R. W. Sumner, M. Zwicker, C. Gotsman, J. Popović SIGGRAPH 2005

The problem 1

General approach Learn from experience... 2

As-rigid-as-possible shape interpolation [ACL00] 3

Outline Related work Overview of the method The method step by step Numerics Experiments 4

Related work Subdivision [ZSS97, KCVS98, KBS00, GSS99] 5

Related work Skeleton-based kinematics [JT05, ASKTR05] 6

Relation to mesh editing Inverse kinematics coating transfer mesh transplanting 7

Related work Intrinsic mesh editing methods Laplacian (or differential) coordinates [SLCARS04] 8

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 9m, 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

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 linear (3x3 matrix) the triangle onto its image in M i : p R 3, φ j := T j p + t j translation vector 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 1 v 3 v 4 v 2 v 3 v 4 φ j v 1 v 2 10

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 linear (3x3 matrix) the triangle onto its image in M i : p R 3, φ j := T j p + t j translation vector 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 T j = [v 1 v 4, v 2 v 4, v 3 v 4 ] [ v 1 v 4, v 2 v 4, v 3 v 4 ] 1 t j = v 4 T j v 4 10

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 linear (3x3 matrix) the triangle onto its image in M i : p R 3, φ j := T j p + t j translation vector 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 T j = [v 1 v 4, v 2 v 4, v 3 v 4 ] [ v 1 v 4, v 2 v 4, v 3 v 4 ] 1 t j = v 4 T j v 4 10

Feature vectors Given i 1, f i encodes the deformation gradients of the piecewise affine map from M 0 to M i (3 3) T j = [v 1 v 4, v 2 v 4, v 3 v 4 ] [ v 1 v 4, v 2 v 4, v 3 v 4 ] 1 linear in v 1, v 2, v 3, v 4 11

Feature vectors Given i 1, f i encodes the deformation gradients of the piecewise affine map from M 0 to M i (3 3) T j = [v 1 v 4, v 2 v 4, v 3 v 4 ] [ v 1 v 4, v 2 v 4, v 3 v 4 ] 1 G j := T j := G j x T j x T j y T j z G j y G j z linear in v 1, v 2, v 3, v 4 f i j := T j x T T j y T T j z T R 9 (9 12) = G j v 1 x. v 4 x v 1 y. v 4 y v 1 z. v 4 z R 12 11

Feature vectors Given i 1, f i encodes the deformation gradients of the piecewise affine map from M 0 to M i (3 3) T j = [v 1 v 4, v 2 v 4, v 3 v 4 ] [ v 1 v 4, v 2 v 4, v 3 v 4 ] 1 f i := G := f i 1. f i m G x G y = G v G z linear in v 1, v 2, v 3, v 4 f i j := T j x T T j y T T j z T R 9 (9 12) = G j v 1 x. v 4 x v 1 y. v 4 y v 1 z. v 4 z R 12 11

Feature vectors Given i 1, f i encodes the deformation gradients of the piecewise affine map from M 0 to M i (3 3) T j = [v 1 v 4, v 2 v 4, v 3 v 4 ] [ v 1 v 4, v 2 v 4, v 3 v 4 ] 1 f i := R 9m G := f i 1. f i m G x linear in v 1, v 2, v 3, v 4 R 3(n+m) = G v (9m 3(n + m)) G y G z (3m (n + m)) f i j := T j x T T j y T T j z T R 9 (9 12) = G j v 1 x. v 4 x v 1 y. v 4 y v 1 z. v 4 z R 12 11

Feature vectors Inverse transformation f = G v R 3(n+m) R 9m (9m 3(n + m)) v = G 1 f 12

Feature vectors Inverse transformation f = G v R 3(n+m) R 9m (9m 3(n + m)) v = G 1 f 9m > 3(n + m) G is not a square matrix To a feature vector f R 9m corresponds 1 tranformed mesh (up to translation) By fixing one vertex, one reduces the dim. to zero 12

Feature vectors Inverse transformation f = G v R 3(n+m) R 9m (9m 3(n + m)) v = G 1 f 9m > 3(n + m) G is not a square matrix To a feature vector f R 9m 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 v G v f most plausible positions 12

Linear feature space Σ := Span(f 1,, f k ) To every vector w of coordinates in the basis a feature vector f w = i w i f i R 9m ( f 1,, f k) corresponds Once one or more vertex positions are set, compute v, w = arg min G v (f 1,, f k ) w v,w 13

Linear feature space Σ := Span(f 1,, f k ) To every vector w of coordinates in the basis a feature vector f w = i w i f i R 9m ( f 1,, f k) corresponds 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 as the origin: f w = f + k i=1 w i f i and compute: v, w = arg min v,w G v f ( f 1,, f k ) w + α w 13

Linear feature space 14

Linear feature space f ( 1 3, 2 3 ) f 1 f 2 14

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: T i j (w) := k R i j w i k w i S i j R 2 θ = R 2θ i=1 i=1 15

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: T i j (w) := k R i j w i k w i S i j R 2 θ = R 2θ i=1 i=1 For non-integer w i, use the exponential map: ( k ) Tj i (w) := exp w i log Rj i i=1 k w i Sj i i=1 15

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: T i j (w) := k R i j w i k w i S i j R 2 θ = R 2θ i=1 i=1 For non-integer w i, use the exponential map: ( k ) Tj i (w) := exp w i log Rj i i=1 k w i Sj i i=1 To retrieve v, w, solve the following least squares problem: v, w = arg min v,w G v f w non-linear ( ) 15

scale/shear Nonlinear feature space linear interpolation exponential map rotational 16

Numerics To solve ( ), use Gauss-Newton algorithm reduces ( ) to solving a linear least squares problem at each iteration of the algorithm ( 6 iterations in practice) To accelerate the resolution of the linear least squares problem, use Cholesky decomposition see details in the paper 17

Experimental results one iteration Cholesky Pentium IV @ 3.4 GHz 2GB RAM 18

Conclusion MeshIK is an easy-to-use mesh manipulation tool, based on an intuitive interface the algorithm adapts to each model by learning from example meshes the method is effective in practice and provides interactive timings What about meshes of genus > 0? Try other feature spaces, to enhance the feature interpolation Try other numerical techniques, to enhance speed 19