Introduction to Computer Graphics. Animation (1) May 19, 2016 Kenshi Takayama

Similar documents
Rigging / Skinning. based on Taku Komura, Jehee Lee and Charles B.Own's slides

Character animation Christian Miller CS Fall 2011

CS 775: Advanced Computer Graphics. Lecture 4: Skinning

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

10 - ARAP and Linear Blend Skinning

05 Mesh Animation. Steve Marschner CS5625 Spring 2016

Game Programming. Bing-Yu Chen National Taiwan University

Advanced Graphics and Animation

Applications of Dual Quaternions in Three Dimensional Transformation and Interpolation

COMP 175 COMPUTER GRAPHICS. Lecture 10: Animation. COMP 175: Computer Graphics March 12, Erik Anderson 08 Animation

CS354 Computer Graphics Character Animation and Skinning

Inverse Kinematics II and Motion Capture

CMSC 425: Lecture 10 Skeletal Animation and Skinning

Animation. Motion over time

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

COMPUTER ANIMATION 3 KEYFRAME ANIMATION, RIGGING, SKINNING AND CHARACTER ANIMATION. Rémi Ronfard, Animation, M2R MOSIG

Human body animation. Computer Animation. Human Body Animation. Skeletal Animation

计算机图形学. Computer Graphics 刘利刚.

SM2231 :: 3D Animation I :: Basic. Rigging

Animation. CS 465 Lecture 22

CSE452 Computer Graphics

Kinematics & Motion Capture

A skeleton/cage hybrid paradigm for digital animation

Animation of 3D surfaces.

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

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

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

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

Data-driven Approaches to Simulation (Motion Capture)

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

animation computer graphics animation 2009 fabio pellacini 1

12.1 Quaternions and Rotations

Chapter 5.2 Character Animation

Kinematical Animation.

12 - Spatial And Skeletal Deformations. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo

Animation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation

CS 231. Inverse Kinematics Intro to Motion Capture. 3D characters. Representation. 1) Skeleton Origin (root) Joint centers/ bones lengths

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

Quaternions and Rotations

Articulated Characters

Computer Animation Fundamentals. Animation Methods Keyframing Interpolation Kinematics Inverse Kinematics

Quaternions and Rotations

Animation. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 4/23/07 1

Motion Capture & Simulation

MOTION CAPTURE DATA PROCESSING - MOTION EDITING / RETARGETING - MOTION CONTROL / GRAPH - INVERSE KINEMATIC. Alexandre Meyer Master Informatique

Robust Human Body Shape and Pose Tracking

CS 231. Basics of Computer Animation

Stretchable and Twistable Bones for Skeletal Shape Deformation

CS 775: Advanced Computer Graphics. Lecture 3 : Kinematics

Announcements: Quiz. Animation, Motion Capture, & Inverse Kinematics. Last Time? Today: How do we Animate? Keyframing. Procedural Animation

Animation of 3D surfaces

Kinematics: Intro. Kinematics is study of motion

Animation, Motion Capture, & Inverse Kinematics. Announcements: Quiz

Position and Orientation Control of Robot Manipulators Using Dual Quaternion Feedback

Inverse Kinematics (part 1) CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2018

Advanced Computer Graphics

Animation Lecture 10 Slide Fall 2003

Example-Based Skeleton Extraction. Scott Schaefer Can Yuksel

Applications. Systems. Motion capture pipeline. Biomechanical analysis. Graphics research

6.837 Introduction to Computer Graphics Final Exam Tuesday, December 20, :05-12pm Two hand-written sheet of notes (4 pages) allowed 1 SSD [ /17]

Skinning Mesh Animations

CS 231. Inverse Kinematics Intro to Motion Capture

3D Production Pipeline

Transformation. Jane Li Assistant Professor Mechanical Engineering & Robotics Engineering

SCAPE: Shape Completion and Animation of People

MODELING AND HIERARCHY

Skeletal deformation

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

To Do. Advanced Computer Graphics. The Story So Far. Course Outline. Rendering (Creating, shading images from geometry, lighting, materials)

Le s s on 02. Basic methods in Computer Animation

Computational Design. Stelian Coros

Last Time? Animation, Motion Capture, & Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation

SUMMARY. CS380: Introduction to Computer Graphics Track-/Arc-ball Chapter 8. Min H. Kim KAIST School of Computing 18/04/06.

Maya Lesson 8 Notes - Animated Adjustable Desk Lamp

Computer Animation. Algorithms and Techniques. z< MORGAN KAUFMANN PUBLISHERS. Rick Parent Ohio State University AN IMPRINT OF ELSEVIER SCIENCE

Introduction to Robotics

Character Animation COS 426

Quaternions and Rotations

Theory of Robotics and Mechatronics

Why animate humans? Why is this hard? Aspects of the Problem. These lectures. Animation Apreciation 101

Real-Time Universal Capture Facial Animation with GPU Skin Rendering

Motion Synthesis and Editing. Yisheng Chen

Motion Graphs for Character Animation

Animation. CS 4620 Lecture 19. Cornell CS4620 Fall 2013 Lecture Steve Marschner (with previous instructors James/Bala)

Inertial Measurement Units II!

Last Time? Animation, Motion Capture, & Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation

About this document. Introduction. Where does Life Forms fit? Prev Menu Next Back p. 2

Animation II: Soft Object Animation. Watt and Watt Ch.17

Quaternions and Exponentials

Visualization and Analysis of Inverse Kinematics Algorithms Using Performance Metric Maps

Adding Hand Motion to the Motion Capture Based Character Animation

ME 115(a): Final Exam (Winter Quarter 2009/2010)

MOTION CAPTURE DATA PROCESSING - MOTION EDITING / RETARGETING - MOTION CONTROL / GRAPH - INVERSE KINEMATIC. Alexandre Meyer Master Informatique

Last Time? Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation

C O M P U T E R G R A P H I C S. Computer Animation. Guoying Zhao 1 / 66

Free-Form Deformation and Other Deformation Techniques

Anti-commutative Dual Complex Numbers and 2D Rigid Transformation

Lecture 22 of 41. Animation 2 of 3: Rotations, Quaternions Dynamics & Kinematics

Lecture 22 of 41. Animation 2 of 3: Rotations, Quaternions Dynamics & Kinematics

Computer Animation and Visualisation. Lecture 3. Motion capture and physically-based animation of characters

Transcription:

Introduction to Computer Graphics Animation (1) May 19, 2016 Kenshi Takayama

Skeleton-based animation Simple Intuitive Low comp. cost https://www.youtube.com/watch?v=dsonab58qva 2

Representing a pose using skeleton Tree structure consisting of bones & joints Each bone holds relative rotation angle w.r.t. parent joint Whole body pose determined by the set of joint angles (Forward Kinematics) Deeply related to robotics 3

Inverse Kinematics Find joint angles s.t. an end effector comes at a given goal position Typical workflow: Quickly create pose using IK, fine adjustment using FK https://www.youtube.com/watch?v=e1qnz9rv_kw 4

Simple method to solve IK: Cyclic Coordinate Descent Change joint angles one by one S.t. the end effector comes as close as possible to the goal position Ordering is important! Leaf root Easy to implement Basic assignment More advanced Jacobi method (directional constraint) Minimizing elastic energy [Jacobson 12] http://mukai-lab.org/wp-content/uploads/2014/04/ccdparticleinversekinematics.pdf 5

IK minimizing elastic energy Fast Automatic Skinning Transformations [Jacobson SIGGRAPH12] https://www.youtube.com/watch?v=prcxy2lji9i 6

Ways to obtain/measure motion data 7

Optical motion capture Put markers on the actor, record video from many viewpoints (~48) from Wikipedia https://www.youtube.com/watch?v=c6x64lhcuyq 8

Mocap using inexpensive depth camera https://www.youtube.com/watch?v=qc-fdgpjhq8 9

Mocap designed for outdoor scene Motion Capture from Body-Mounted Cameras [Shiratori SIGGRAPH11] 10

Motion database http://mocap.cs.cmu.edu/ 6 categories, 2605 in total Free for research purposes Interpolation, recombination, analysis, search, etc. 11

frame Recombining motions Allow transition from one motion to another if poses are similar in certain frame frame Pose similarity matrix Motion Graphs [Kovar SIGGRAPH02] Motion Patches: Building Blocks for Virtual Environments Annotated with Motion Data [Lee SIGGRAPH06] http://www.tcs.tifr.res.in/~workshop/thapar_igga/motiongraphs.pdf 12

Generating motion through simulation For creatures unsuitable for mocap Too dangerous, nonexistent,... Natural motion respecting body shape Can interact with dynamic environment https://www.youtube.com/watch?v=kf_a1c7zytw Generalizing Locomotion Style to New Animals With Inverse Optimal Regression [Wampler SIGGRAPH14] 13

Creating poses using special devices Tangible and Modular Input Device for Character Articulation [Jacobson SIGGRAPH14] Rig Animation with a Tangible and Modular Input Device [Glauser SIGGRAPH16] https://www.youtube.com/watch?v=vbx47jammn0 14

Many topics about character motion Interaction between multiple persons Grasping motion Crowd simulation Path planning Character motion synthesis by topology coordinates [Ho EG09] Aggregate Dynamics for Dense Crowd Simulation [Narain SIGGRAPHAsia09] Synthesis of Detailed Hand Manipulations Using Contact Sampling [Ye SIGGRAPH12] Space-Time Planning with Parameterized Locomotion Controllers.[Levine TOG11] 15

Skinning 16

17

18

19

20

v i = blend w i,1, T 1, w i,2, T 2, v i Input Vertex positions v i i = 1,, n Transformation per bone T j j = 1,, m Weight from each bone to each vertex w i,j i = 1,, n j = 1,, m Output Vertex positions after deformation v i i = 1,, n Main focus How to define weights w i,j How to blend transformations 21

Simple way to define weights: painting https://www.youtube.com/watch?v=tacb6bx8sn0 22

Automatic weight computation Define weight w j as a smooth scalar field that takes 1 on the j-th bone and 0 on the other bones Minimize 1 st -order derivative Ω w j 2 da [Baran 07] Approximate solution only on surface easy & fast Minimize 2 nd -order derivative Ω Δw j 2 da [Jacobson 11] Introduce inequality constraints 0 w j 1 Quadratic Programming over the volume high-quality Automatic rigging and animation of 3d characters [Baran SIGGRAPH07] Bounded Biharmonic Weights for Real-Time Deformation [Jacobson SIGGRAPH11] Pinocchio demo 23

Simple way to blend transformations: Linear Blend Skinning Represent rigid transformation T j as a 3 4 matrix consisting of rotation matrix R j R 3 3 and translation vector t j R 3 Simple and fast v i = j w i,j R j t j v i 1 Implemented using vertex shader: send v i & w i,j to GPU at initialization, send T j to GPU at each frame Standard method 24

Artifact of LBS: candy wrapper effect Twist one bone Initial shape & two bones Deformation using LBS Linear combination of rigid transformation is not a rigid transformation! Points around joint concentrate when twisted 25

Alternative to LBS: Dual Quaternion Skinning Initial shape & two bones Deformation using LBS Deformation using DQS Idea Quaternion (four numbers) 3D rotation Dual quaternion (two quaternions) 3D rigid motion (rotation + translation) 26

Dual number & dual quaternion Dual number Introduce dual unit ε & its arithmetic rule ε 2 = 0 (cf. imaginary unit i) Dual number is sum of primal & dual components: Dual conjugate: a = a 0 + εa ε = a 0 εa ε a a 0 + εa ε a 0, a ε R Dual quaternion Quaternion whose elements are dual numbers Can be written using two quaternions q q 0 + εq ε Dual conjugate: q = q 0 + εq ε = q 0 εq ε Quaternion conjugate: q = q 0 + εq ε = q 0 + εq ε Geometric Skinning with Approximate Dual Quaternion Blending [Kavan TOG08] 27

Arithmetic rules for dual number/quaternion For dual number a = a 0 + εa ε : 1 Reciprocal = 1 ε a ε a a 0 a2 0 Square root a = a 0 + ε a ε 2 a 0 Trigonometric sin a = sin a 0 + εa ε cos a 0 cos a = cos a 0 εa ε sin a 0 For dual quaternion q = q 0 + εq ε : Norm q = q q = q 0 + ε q 0,q ε q 0 Inverse q 1 = q q 2 Unit dual quaternion satisfies q = 1 q 0 = 1 & q 0, q ε = 0 Easily derived by combining usual arithmetic rules with new rule ε 2 = 0 From Taylor expansion Dot product as 4D vectors Geometric Skinning with Approximate Dual Quaternion Blending [Kavan TOG08] 28

Rigid transformation using dual quaternion Unit dual quaternion representing rigid motion of translation t = t x, t y, t z and rotation q 0 (unit quaternion) : q = q 0 + ε 2 tq 0 Note: 3D vector is considered as quaternion with zero real part Rigid transformation of 3D position v = v x, v y, v z using unit dual quaternion q : v : 3D position after transformation q 1 + εv q = 1 + εv Geometric Skinning with Approximate Dual Quaternion Blending [Kavan TOG08] 29

Rigid transformation using dual quaternion q = q 0 + ε 2 tq 0 q 1 + εv q = q 0 + ε tq 2 0 1 + εv q 0 + ε q 2 0 t = q 0 + ε tq 2 0 q 0 + εvq 0 + ε q 2 0 t = q 0 q 0 + ε tq 2 0q 0 + εq 0 vq 0 + ε q 2 0q 0 t = 1 + ε t + q 0 vq 0 0 + t q 0 = q0 0 + t q 0 2 = 1 = q 0 t 3D position v rotated by quaternion q 0 Geometric Skinning with Approximate Dual Quaternion Blending [Kavan TOG08] 30

Rigid transformation as screw motion Conventional notion: rotation + translation Screw motion Axis direction Any rigid motion is uniquely described as screw motion (Up to antipodality) Geometric Skinning with Approximate Dual Quaternion Blending [Kavan TOG08] 31

Screw motion & dual quaternion Unit dual quaternion q can be written as: q = cos θ 2 + s sin θ 2 θ = θ 0 + εθ ε s = s 0 + εs ε θ 0, θ ε : real number s 0, s ε : unit 3D vector Geometric meaning s 0 : direction of rotation axis θ 0 : amount of rotation θ ε : amount of translation parallel to s 0 s ε : when rotation axis passes through r, it satisfies s ε = r s 0 Geometric Skinning with Approximate Dual Quaternion Blending [Kavan TOG08] 32

Interpolating two rigid transformations Linear interpolation + normalization (nlerp) nlerp q 1, q 2, t 1 t q 1+t q 2 1 t q 1 +t q 2 Note: q & q represent same transformation with opposite path If 4D dot product of non-dual components of q 1 & q 2 is negative, use q 2 in the interpolation 33

Blending rigid motions using dual quaternion blend w 1, q 1, w 2, q 2, w 1 q 1 + w 2 q 2 + w 1 q 1 + w 2 q 2 + Akin to blending rotations using quaternion Same input format as LBS & low computational cost Standard feature in many commercial CG packages Geometric Skinning with Approximate Dual Quaternion Blending [Kavan TOG08] 34

Artifact of DQS: bulging effect Produces ball-like shape around the joint when bended LBS DQS Elasticity-Inspired Deformers for Character Articulation [Kavan SIGGRAPHAsia12] Bulging-free dual quaternion skinning [Kim CASA14] 35

Overcoming DQS s drawback LBS DQS [Kavan12] LBS DQS [Kavan12] Decompose transformation into bend & twist, interpolate them separately [Kavan12] After deforming using DQS, offset vertices along normals [Kim14] Elasticity-Inspired Deformers for Character Articulation [Kavan SIGGRAPHAsia12] Bulging-free dual quaternion skinning [Kim CASA14] 36

Limitation of DQS: Cannot represent rotation by more than 360 Differential Blending for Sketch-based Expressive Posing [Oztireli SCA13] 37

Skinning for avoiding self-intersections Make use of implicit functions https://www.youtube.com/watch?v=rhysgiqegyk Implicit Skinning; Real-Time Skin Deformation with Contact Modeling [Vaillant SIGGRAPH13] 38

Other deformation mechanisms than skinning Unified point/cage/skeleton handles [Jacobson 11] BlendShape https://www.youtube.com/watch?v=p9fqm8vgdb8 https://www.youtube.com/watch?v=bfpaiu8hwq4 Bounded Biharmonic Weights for Real-Time Deformation [Jacobson SIGGRAPH11] 39

References http://en.wikipedia.org/wiki/motion_capture http://skinning.org/ http://mukai-lab.org/category/library/legacy 40