CS 775: Advanced Computer Graphics. Lecture 11 : Motion Editing

Similar documents
Computer Animation. Lecture 2. Basics of Character Animation

Motion Retargetting and Transition in Different Articulated Figures

CS 4204 Computer Graphics

Motion Capture Assisted Animation: Texturing and Synthesis

Graphics. Computer Animation 고려대학교 컴퓨터 그래픽스 연구실. kucg.korea.ac.kr 1

Kinematics & Dynamics

This week. CENG 732 Computer Animation. Challenges in Human Modeling. Basic Arm Model

Interactive Computer Graphics

CSE 167: Lecture 13: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example.

CHAPTER 6 TEXTURE ANIMATION

Motion Capture Assisted Animation: Texturing and Synthesis

Using Autodesk HumanIK Middleware to Enhance Character Animation for Games

Kinematical Animation

Short Presentation. Topic: Locomotion

CHAPTER 1 Splines and B-splines an Introduction

Today. Keyframing. Procedural Animation. Physically-Based Animation. Articulated Models. Computer Animation & Particle Systems

IMD4003 3D Computer Animation

Procedural animation for glove puppet show. Chih-Chung Lin and Tsai-Yen Li*

3. Interpolation. Closing the Gaps of Discretization... Beyond Polynomials

CG T17 Animation L:CC, MI:ERSI. Miguel Tavares Coimbra (course designed by Verónica Orvalho, slides adapted from Steve Marschner)

Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau

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

Mocap in a 3D Pipeline

(Refer Slide Time: 1:42)

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model

Quaternions. Jason Lawrence CS445: Graphics. Acknowledgment: slides by Misha Kazhdan, Allison Klein, Tom Funkhouser, Adam Finkelstein and David Dobkin

animation animation shape specification as a function of time

A simple footskate removal method for virtual reality applications

Computer Animation. Computer Animation. Principles of Traditional Animation. Outline. Principles of Traditional Animation

B4 Computational Geometry

On-line Motion Retargetting

Modeling Curves and Surfaces

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur

Geometric Constraints

Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. M.Sc. in Advanced Computer Science. Friday 18 th January 2008.

Spatial Pose Trees: Creating and Editing Motions Using a Hierarchy of Low Dimensional Control Spaces

Using Nonlinear Dimensionality Reduction in 3D Figure Animation

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Physically Based Motion Transformation

IV. Student Performance Objectives: Upon successful completion of this course, the student will have met the following objectives:

Computer Puppetry: An Importance-Based Approach

ANIMATION I :: SYLLABUS

Computer Animation: Art, Science and Criticism

NURBS Drawing Week 5, Lecture 10

Essential Mathematics for Computer Graphics fast

Life Settlement Pricing

Scripted Operator Shoulder

Computer Animation. CS 445/645 Fall 2001

3D Modeling, Animation, Compositing, and Special Effects ITP 215x (2 Units)

Learning an Inverse Rig Mapping for Character Animation

Character Animation Tutorial

NURBS Drawing Week 5, Lecture 10

Character Animation from 2D Pictures and 3D Motion Data ALEXANDER HORNUNG, ELLEN DEKKERS, and LEIF KOBBELT RWTH-Aachen University

B2.53-R3: COMPUTER GRAPHICS. NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions.

INTERACTIVELY RESPONSIVE ANIMATION OF HUMAN WALKING IN VIRTUAL ENVIRONMENTS

COMPUTATIONAL ENGINEERING OF FINITE ELEMENT MODELLING FOR AUTOMOTIVE APPLICATION USING ABAQUS

the points are called control points approximating curve

animation shape specification as a function of time

Performance Driven Facial Animation Course Notes Example: Motion Retargeting

PERFORMANCE OF BÉZIER CURVES RENDERING IN WEB BROWSERS

Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.

Whole-body dynamic motion planning with centroidal dynamics and full kinematics

Goldsmiths, University of London. Computer Animation. Goldsmiths, University of London

3D Modeling, Animation, and Special Effects ITP 215x (2 Units)

Introduction to the Finite Element Method (FEM)

Course Syllabus. Tuesday 4 pm to 5 pm & Thursday 4 to 5 pm

Curves and Surfaces. Goals. How do we draw surfaces? How do we specify a surface? How do we approximate a surface?

User Guide Installing the 3D Studio plug-ins

Fundamentals of Computer Animation

Animating reactive motion using momentum-based inverse kinematics

BayesX - Software for Bayesian Inference in Structured Additive Regression

Project 2: Character Animation Due Date: Friday, March 10th, 11:59 PM

Animation. Persistence of vision: Visual closure:

Basic Cutout Animation Tutorial

D animation. Advantages of 2-D2. Advantages of 3-D3. Related work. Key idea. Applications of Computer Graphics in Cel Animation.

Copyrighted Material. Chapter 1 DEGREE OF A CURVE

CS130 - Intro to computer graphics. Dr. Victor B. Zordan vbz@cs.ucr.edu Objectives

What s New RobotStudio

APPLICATIONS AND MODELING WITH QUADRATIC EQUATIONS

Duality in General Programs. Ryan Tibshirani Convex Optimization /36-725

Computer Animation and Visualisation. Lecture 1. Introduction

The Line of Action: an Intuitive Interface for Expressive Character Posing

Creative Cloud for Web Design

2.5 Physically-based Animation

Metrics on SO(3) and Inverse Kinematics

Karen Liu's Concept of Virtual Characters

Chapter 4 One Dimensional Kinematics

MOBILE ROBOT TRACKING OF PRE-PLANNED PATHS. Department of Computer Science, York University, Heslington, York, Y010 5DD, UK

Figure 2.1: Center of mass of four points.

NEW YORK STATE TEACHER CERTIFICATION EXAMINATIONS

Thnkwell s Homeschool Precalculus Course Lesson Plan: 36 weeks

SECOND DERIVATIVE TEST FOR CONSTRAINED EXTREMA

Finite Element Formulation for Plates - Handout 3 -

Quadratics - Build Quadratics From Roots

Lesson Plan. Performance Objective: Upon completion of this assignment, the student will be able to identify the Twelve Principles of Animation.

Geometric Modelling & Curves

Background Animation Generator: Interactive Scene Design based on Motion Graph

Constrained curve and surface fitting

Lecture 8: Signal Detection and Noise Assumption

Transcription:

CS 775: Advanced Computer Graphics Lecture 11 : Motion Editing

Working with motion data: Captured on a single perfomer How to use to motion to animate different characters? How to change the motion? How to join different motion clips together? The Animator's Survival Kit, Richard Williamns, Faber & Faber, 2002

Motion editing in general Take a good motion and change something about it Course on Motion Editing, SIGGRAPH 2000, http://www.cs.wisc.edu/graphics/motionediting/sigcourse00/

Motion Editing Changing a motion clips so that it satisfies new constraints. E.g. Given a walking motion on flat ground generate walking motion when the ground is uneven. A Hierarchical Approach to Interactive Motion Editing for Human-like Figures, J. Lee and S. Y. Shin, SIGGRAPH 1999

Motion Editing Editing in (Joint) Parameter Space p t Edit Parameter Curve Original Motion FK p t Edited Motion FK

Motion Editing Editing in (Joint) Parameter Space Preserving parameters may not give correct motion!

Motion Editing Editing in End-effector Space p t Original Motion FK Edit End effector Position p t Edited Motion IK

Motion Editing What to preserve in the original motion? No simple answer Depends on the specific case Low Level Tweak timing, parameters Med. Level Change geometry of character, physics High Level Make the punch angrier or friendlier! Find a motion that Meets specific constraints (1) Is as similar as possible to the original (2) Pose as a constrainted optimization: subject to some constraints (1), minimize some objective (2)

Motion Editing What is important? Constraints are important Frequency content of the input signal is important. We avoid altering high frequencies of the lack thereof.

Motion Editing Elbows do not bend backwords Arms Swing Balance F=ma Feet start on floor Knees Bend Feet end on floor. No skidding. Geometric Constraints add as constraints Signal Characteristics get from original signal Other Constraints can be added later

Motion Editing with Geometric Constraints 1 2 3 4 Establish constraints in original motion Transplant constraints to new motion Solve a constrainted optimization (global or local) to re establish constraints. Translate root of character to get approximate starting point for optimization.

How to find constraints? Automatic Manually Motion Reuse, Synthesis and Scripting for Character Animation, Shrinath Shanbag, PhD Thesis, IIT Bombay, 2007

Motion Editing with Geometric Constraints: Method 1 Cast the entire problem as a huge non-linear optimization over the entire motion clip as: min g x subject to f x =c x is a vector that represents the parameters of motion g is the objective function f is a function of the constraints Spacetime optimization Motion Editing with Spacetime Constraints, Michael Gleicher, Symposium on Interactive 3D Graphics, (I3D) 1997.

Motion Editing as a Spacetime optimization m t, x =m o t, x o d t, x m t, x is a function that returns a vector of joint parameters given a time t and a vector of parameters x that defines the motion. m o t, x o is the original motion signal d t, x is a new motion curve added to the original to get the new motion.

Motion Editing as a Spacetime optimization f m t c, x =c f is the constraint function that exists for the frame at time t c.

Motion Editing as a Spacetime optimization Objective function: g x = 1 2 x T S x We try to minimize the difference between the original and new motion, i.e., we try to minimize d t, x =m t, x m o t, x o This is would mean minimizing an integral over a duration if we use cubic splines to represent the curve then this can be approximated by minimizing the sum of norm of the end-point vectors.

Solving a Non-linear optimization min g x = 1 2 xt G x g x subject to f x =J x=c Solve using Sequential Quadratic Programming (SQP). g x i x =g x i g x 1 2 xt G x f x i x = f x i J x G= 2 g x 2 g= g x J = f x

Solving a Non-linear optimization min g x = 1 2 xt G x g x subject to f x =J x=c Solve the SQP by using Lagrange multipliers (for e.g.). Use the value of x to search for a step length, s.t., minimizes some merit function. x i x This is cumbersome and difficult to get right but it does work. Real-time only for smaller length clips.

Motion Editing with Geometric Constraints: Method 2 Edit the motion at some keyframes so that they satisfy the new constraints. Smoothen and propogate the effects of the edit to the frames around the keyframe by fitting a piecewise cubic b-spline to the motion parameters. Generally this is easier to solve. A Hierarchical Approach to Interactive Motion Editing for Humanlike Figures, J. Lee and S. Y. Shin, SIGGRAPH 1999

Motion Editing as Hierarchical Spline fitting to edited keyframes p n = q 1 q p0 1 q 0 n q 0 v0 v 1 p 0 v 0 q 0 1 exp v 1 n = v q n 0 exp v n m t =m 0 t d t d t is a set of b-spline curves with one curve for each parameter value.

Hierarchical B-Splines Fit splines to a set of data points, P={t i, x i } Initially we get a b-spline curve given by such that we may get a 1 deviation t i, x i P at each point x i =x i f o t i Use another spline function,,to approximate the difference 1 D 1 ={t i, x i } Then the sum f 0 f 1 yields a smaller deviation 2 x i =x i f o t i f 1 t i At any level k of the hierarchy the function f k is derived to k approximate D k ={t i, x i } where l=k 1 k x i = x i f l t i l=0 The finest approximation function is given as f 1 f 0 h f = k =0 f k

Hierarchical B-Splines Between each level k and k 1 we double the density of knots. What is the effect of increasing knot density? Remember: For a b-spline, The basis function N j,h (t) is zero outside the knot span y j y j+ h

Hierarchical B-Splines Knot every 4 th frame Knot every 6 th frame Knot every 12 th frame

Motion Editing with Hierarchical B-Splines m 0 INPUT: Original motion, the set Cof constraints m h OUTPUT: Edited motion, for k =1 to hdo D=0 for each t j,c j C do m t j =IK_solver C j, m k 1 t j d t j t =m j m k 1 t j D=D t j, d t j end for Compute d k by fitting a curve to D m k =m k 1 d k end for

Motion Editing with Hierarchical B-Splines This is easier to do than spacetime optimization. Solve smaller local optimizations and then spreads the solution to nearby frames. Reduces to spacetime optimization when the edit in one frame effects constraints on all other frames.

Motion Retargetting Retarget the motion to a new character This is just another form of editing. Figure out constraints to be satisfied for the new character Edit motion to fit new constraints.

Other methods and forms of motion editing Physically-based editing Motion joining Motion grafting Parametric controllers and priotitized constraints Layered, interactive motion editing