Motion Capture Motion Capture. Motion Capture Motion capture, Motion Tracking or Mocap, is a technique of digitally recording movements for entertainment,

Slides:



Advertisements
Similar presentations
Animating Speed Position and Orientation Presented by Kailash Sawant Hemanth Krishnamachari.
Advertisements

Layered Acting for Character Animation By Mira Dontcheva Gary Yngve Zoran Popović presented by Danny House SIGGRAPH 2003.
Spacetime Constraints David Coyne Joe Ishikura. The challenge of kinematics Successful animation requires control, but looks real Traditional principles.
Verbs and Adverbs: Multidimensional Motion Interpolation Using Radial Basis Functions Presented by Sean Jellish Charles Rose Michael F. Cohen Bobby Bodenheimer.
Optimization of thermal processes2007/2008 Optimization of thermal processes Maciej Marek Czestochowa University of Technology Institute of Thermal Machinery.
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
3/5/2002Phillip Saltzman Video Motion Capture Christoph Bregler Jitendra Malik UC Berkley 1997.
Forward and Inverse Kinematics CSE 3541 Matt Boggus.
Trajectory Generation
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
1Notes  Handing assignment 0 back (at the front of the room)  Read the newsgroup!  Planning to put 16mm films on the web soon (possibly tomorrow)
Physically Based Motion Transformation Zoran Popović Andrew Witkin SIGGRAPH ‘99.
Motion Editing and Retargetting Jinxiang Chai. Outline Motion editing [video, click here]here Motion retargeting [video, click here]here.
UNC Chapel Hill M. C. Lin Reading Assignments Principles of Traditional Animation Applied to 3D Computer Animation, by J. Lasseter, Proc. of ACM SIGGRAPH.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
Kinematics. ILE5030 Computer Animation and Special Effects2 Kinematics The branch of mechanics concerned with the motions of objects without regard to.
CS274 Spring 01 Lecture 5 Copyright © Mark Meyer Lecture V Higher Level Motion Control CS274: Computer Animation and Simulation.
CSCE 689: Forward Kinematics and Inverse Kinematics
Retargetting Motion to New Characters Michael Gleicher SIGGRAPH 98.
Oct 3, Fall 2005 Game Design 1 Animation Low-Level behaviors Overview Keyframing Motion Capture Simulation.
Chapter 5: Path Planning Hadi Moradi. Motivation Need to choose a path for the end effector that avoids collisions and singularities Collisions are easy.
Advanced Topics in Optimization
Inverse Kinematics (part 1) CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2005.
1cs426-winter-2008 Notes  SIGGRAPH crunch time - my apologies :-)
Introduction to ROBOTICS
Definition of an Industrial Robot
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.
Advanced Programming for 3D Applications CE Bob Hobbs Staffordshire university Human Motion Lecture 3.
Inverse Kinematics.
A PPLIED M ECHANICS Lecture 02 Slovak University of Technology Faculty of Material Science and Technology in Trnava.
Simulation and Animation
CSC418 Computer Graphics n Animation Principles n Keyframe Animation.
MEGN 537 – Probabilistic Biomechanics Ch.7 – First Order Reliability Methods Anthony J Petrella, PhD.
Robotics Chapter 5 – Path and Trajectory Planning
Muhammad Al-Nasser Mohammad Shahab Stochastic Optimization of Bipedal Walking using Gyro Feedback and Phase Resetting King Fahd University of Petroleum.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Optimization & Constraints Add mention of global techiques Add mention of calculus.
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Automatic Joint Parameter Estimation from Magnetic Motion CaptureData James F.O”Brien Robert E. Bodenheimer Gabriel J Brostow Jessica K. Hodgins Presented.
ZMP-BASED LOCOMOTION Robotics Course Lesson 22.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Computer Animation 고려대학교 컴퓨터 그래픽스 연구실.
Lecture 3 Intro to Posture Control Working with Dynamic Models.
Kinematic Redundancy A manipulator may have more DOFs than are necessary to control a desired variable What do you do w/ the extra DOFs? However, even.
1cs426-winter-2008 Notes  Will add references to splines on web page.
Spacetime Constraints Andrew Witkin Michael Kass Presenter: Fayun Luo.
Trajectory Generation
Rick Parent - CIS681 Motion Capture Use digitized motion to animate a character.
Rick Parent - CIS681 Reaching and Grasping Reaching control synthetic human arm to reach for object or position in space while possibly avoiding obstacles.
1cs426-winter-2008 Notes. 2 Kinematics  The study of how things move  Usually boils down to describing the motion of articulated rigid figures Things.
-BY SAMPATH SAGAR( ) ABHISHEK ANAND( )
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Spacetime Constraints Chris Moore CS 552. Purpose Physically Accurate Realistic Motion.
Fundamentals of Computer Animation Motion Synthesis.
Fundamentals of Computer Animation
CSE Advanced Computer Animation Short Presentation Topic: Locomotion Kang-che Lee 2009 Fall 1.
Physics-Based Simulation: Graphics and Robotics Chand T. John.
ME451 Kinematics and Dynamics of Machine Systems Dynamics of Planar Systems December 9, 2010 Solving Index 3 DAEs using Newmark Method © Dan Negrut, 2010.
Physically-Based Motion Synthesis in Computer Graphics
CSCE 441: Computer Graphics Forward/Inverse kinematics
Trajectory Generation
Character Animation Forward and Inverse Kinematics
Computer Animation cgvr.korea.ac.kr.
CAPTURING OF MOVEMENT DURING MUSIC PERFORMANCE
Reading Assignments Principles of Traditional Animation Applied to 3D Computer Animation, by J. Lasseter, Proc. of ACM SIGGRAPH 1987 Computer Animation:
CSCE 441: Computer Graphics Forward/Inverse kinematics
Synthesis of Motion from Simple Animations
Computer Graphics Lecture 15.
Chapter 4 . Trajectory planning and Inverse kinematics
Computer Animation Algorithms and Techniques
Presentation transcript:

Motion Capture Motion Capture

Motion Capture Motion capture, Motion Tracking or Mocap, is a technique of digitally recording movements for entertainment, sports, medical applications… Way of using a physical device to control animation

Motion Capture Technology−−magnetic Electromechanical transducers -Polhemus Fastrak Limited range/resolution Tethered Sensitive to metal No identification problem 6 dof information Realtime Low frequency: 30 to 120 Hz Few markers: 10−20

Motion Capture Technology−− Mechanical Capture Systems Any environment Measures joint angles Restricts the motion

Motion Capture Technology−− Optical Capture Systems Place markers on the object or on the actor Passive reflection Active light sources Cameras determine marker positions (Raw Point Data) 8 or more cameras Restricted volume High Frequency (240Hz) Occlusions

Motion Capture Technology Issues: Resolution/range of motion Calibration Occlusion/correspondence Accuracy Marker movement/placement Sensor noise Skew in measurement time Occlusion/correspondence

Motion Capture -- Optical motion capture process Find the skeleton dimensions and exact marker positions on the body Perform a motion trial Compute marker positions from camera images Identify and uniquely label markers Calculate joint angles from markers paths

Motion Capture -- Optical motion capture process Find the skeleton dimensions and exact marker positions on the body

Motion Capture -- Optical motion capture process   Automatic Calibration Design Goals: Fully automatic Any skeleton Accurate

Motion Capture -- Optical motion capture process   Input Generic Skeleton Actor’s kinematics structure, and rough handle positions  Input Calibration Data Initial path data that exercises all of the subject’s DOFs

Motion Capture -- Optical motion capture process Independent Variables DOFs Bone lengths Handle offsets Global scale

Motion Capture -- Optical motion capture process   Marker Identification   At each frame, motion capture gives us a set of points   We would like something more intuitive

Motion Capture -- Optical motion capture process   Marker Identification   Making sense of raw data…

Motion Capture -- Optical motion capture process   Calculate joint angles from marker paths   Inverse Kinematics problem (IK) 1. Create a handle on body - position or orientation 2. Pull on the handle 3. IK figures out how joint angles should change Inputs: An articulated skeleton with handles. Desired positions for handles. Outputs: Joint angles that move handles to desired positions.

Motion Capture Inverse Kinematics problem can be solved using a non-linear optimization technique, which seeks to minimize the deviation between the recorded data and the hierarchical model.

Motion Capture The minimized fitness function can be defined as F(  ) =  p (P j –  P j ) 2 +  O0 (O 0,j –  O 0,j ) 2 +  O1 (O 1,j –  O 1,j ) 2 +  c C j 2 where  is the set of joint angles for the set of joints J. P j is the position of the jth joint given and  P j is the recorded joint position from the capture phase. O 0,j and O 1,j are two vectors defining the orientation of the joint with  O 0,j and  O 1,j being the recorded orientations. Two vectors are used because, together with their cross product, they will form a right-handed coordinate system. The quantities  p,  O0, and  O1 are scalar weights that can be tuned to achieve better results. Additionally, a joint angle constraint term, C j in the form of a penalty function is employed. Joint angle constraints for humans have been measured and can be found in the biomechanical literature

BIOMECHANICAL MOVEMENTS There is a huge amount literature devoted simulating human movements. See, for instance, the seminal paper by A. Witkin and M. Kass, Spacetime Constraints, in proceedings of SIGGRAPH, 1988, [1] [2] and D. C. Brogan, K. P. Granata, and P. N. Sheth, Spacetime constraints for biomechanical movements, in proceedings Applied Modelling and Simulation, 2002 [2]

BIOMECHANICAL MOVEMENTS The authors of the paper [1] use a variant of sequential quadratic programming to perform an iterative, gradient-based optimization. The user provides the algorithm with an initial configuration, a final configuration, and initial guesses to populate the remaining n-2 character configurations and n joint torques. We can represent the algorithm’s elements symbolically by using S to represent the state vector, C to represent the vector of spatial and dynamical constraint violations, and R( S) to represent the objective function. We must solve for S such that C =0 and R( S) is minimized. Provided an initial S, three elements are computed: the constraint violations, C, the Jacobian of the constraint functions,, and the Hessian of the objective function,.

BIOMECHANICAL MOVEMENTS A two-step process first solves for a local change in the state vector, S α, that minimizes the objective function without consideration of constraint violations. To minimize the objective function, the deriviate R'(S) = 0 is used in [2]. A second-order Taylor series expansion is used to approximate R' at S :, Letting S α = X – S, we can solve. Although we know R(S) is minimized at S + S α, spatial and dynamical constraints may be violated.

BIOMECHANICAL MOVEMENTS We must find a second change in the state vector, S β, that preserves the minimization of R while eliminating any constraint violations at S + S α. We pursue a second step that projects S α to the null space of the constraint Jacobian: J (S α + S β ) + C = 0 Note both the constraint vector, C, and the Jacobian, J, are evaluated at S + S α. Solving for S β in: - C = J (S α + S β ) drives C to zero. The new value of S is incremented by (S α + S β ) The algorithm computes new state vectors until the reduction in the objective requires violating constraints.

Biomechanics To better understand human movements, biomechanical models must be developed that accurately describe human physiology and control strategies. The standardized definition of the spacetime constraints state vector, constraints vector, and objective function facilitates the reconfiguration and reuse of biomechanical models.

Biomechanics Experiment To implement a simulation that determines the movement trajectory simultaneously with the optimum activation torques. The simulated walker is placed on a downward-sloped plane such that if it were passively simulated (with no internal torque sources) it would settle into a steady gate. The movement trajectories of the passive- dynamic walker require zero-torque activation and are known to be the optimal trajectories for actively powered walkers. A bipedal walker. Lumped masses are positioned at the hip (m H ) and on each leg (m L ). The spacetime- constraints walker applies torques at the stance foot (A) and at the hip (B).

Biomechanics Experiment The (a passive-dynamic) model a planar knee-less walker included two legs of mass m L, joined by a revolute joint located at the hip with point mass, m H The walker moves along a plane of slope γ with respect to horizontal. A time- dependent vector θ = [θ S, θ N ] T represents the walker configuration where θ S and θ N are the angles of the stance-leg and nonstance-leg versus ground normal. During walking only one foot is in contact with the ground at any time, i.e. single- stance. Ground clearance of the swing-leg is ignored. A bipedal walker. Lumped masses are positioned at the hip (m H ) and on each leg (m L ). The spacetime- constraints walker applies torques at the stance foot (A) and at the hip (B).

Biomechanics Experiment The masses and limb lengths of the spacetime-constraints walker are modeled exactly as the passive-dynamic walker. However, the spacetime constraints algorithms permit non-zero torques about the hip and stance leg contact point and the classical homogeneous forward integration techniques are used to compute constraint violations, not to compute movement explicitly. The state vector, S, contains the entire movement trajectory and is composed of a scalar, dt, and angle vector, θ = [θ S, θ N ] T for every time increment t = 1…n. By including the time increment, dt, as a variable the swing period is permitted to approach an optimum.

Biomechanics Experiment The duration of a walk cycle can vary and resides under the control of the optimization algorithm. Such an extension was unnecessary for computer animators who prefer to specify when events start and end, but human movement certainly capitalizes on efficiencies obtained by changing a movement's pace.

Spacetime Constraints Andrew Witkin, Michael Kass, SIGGRAPH 1988 Early Computer Animations (Pixar’s Luxo, Jr. 1986) Can we hope to generate such motions automatically?

Spacetime Constraints Some aspects of animation are best left to the animator (personality, appeal, etc.) But perhaps we can relieve the animator from the burden of making the motion look physically plausible?   Forward Simulation Solves an initial value problem: Given initial state, forces along the way, and equations describing the system… Integrate the equations.

Spacetime Constraints But What About… What if the animator wants to specify both initial and final conditions? Two-point boundary problems And what about specifying some conditions describing what happens during the motion? And what if some of the forces are unknown?

Spacetime Constraints An example   We have a physical simulation that can be driven as an initial- value problem Given a sequence of torques that are applied by a bicyclist, we can simulate its final path   We don’t have the inverse Given a sequence of landmarks, compute the torques required to make a bicyclist ride through them… make the torques “optimal”

Spacetime Constraints An example   Given a sequence of landmarks, compute the torques required to make a bicyclist ride through them… make the torques “optimal” One could propose trajectories that go through landmarks but require unreasonable amounts of energy One could propose low-energy trajectories that don’t go through landmarks

Spacetime Constraints   Constrained optimization problem:   Physical systems tend to minimize energy   Spatial and physical constraints

Spacetime Constraints   Constrained optimization problem:   Physical systems tend to minimize energy   Spatial and physical constraints

Spacetime Constraints   Example of Boundary Value Problem- moving particle Particle position: x(t) Force on particle: f(t) Equation of motion: m− f− mg = 0 Boundary conditions: x(t 0 ) = a, x(t 1 ) = b Objective function :

Spacetime Constraints   Boundary Value Problem Find f(t), such that the resulting x(t) satisfies the boundary conditions … … subject to the requirement that R is minimal. Possible approach: solve for f(t) and x(t) simultaneously, using the equation of motion as a constraint between them.

Spacetime Constraints   Boundary Value Problem   Discretization Discretize the time interval [t 0,t 1 ] with step h The variables are: x 1, x 2, …x i, … x n and f 1, f 2, …f i, … f n Solve a constrained optimization problem in these unknowns. Enforcing the equation of motion results in n constraints: p i = m(x i-1 -2x i + x i+1 )/h 2 – f i - mg  i, 1  i  n Boundary constraints: c a =x 1 −a = 0, c b =x n −b= 0.

Spacetime Constraints   Constrained Optimization Minimize an objective function: R(s 1,…,s 1 ) in n variables s 1,…,s n subject to m constraints: C i (s 1,…,s n ) = 0 Sequential Quadratic Programming In order to minimize R we must zero its gradient. At the same time, we must also make sure that the constraints are satisfied. Idea: iterate, alternating between zeroing the gradient of R and zeroing C.

Spacetime Constraints Iterative Convergence