animating (human) motion presented by: –yoram atir –simon adar

132
C.Bregler, L.Loeb, E.Chuang, H.Deshpande; "Turning to the Masters: Motion Capturing Cartoons” Animating (human) motion Presented by: Yoram Atir Simon Adar

Upload: daniella-phillips

Post on 17-Dec-2015

222 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C.Bregler, L.Loeb, E.Chuang, H.Deshpande; "Turning to the Masters: Motion Capturing Cartoons”

Animating (human) motion

• Presented by:– Yoram Atir– Simon Adar

Page 2: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C.Bregler, L.Loeb, E.Chuang, H.Deshpande; "Turning to the Masters: Motion Capturing Cartoons”

Applications of computer animation

• Movies

• Advertising

• Games

• Simulators

• …

Page 3: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C.Bregler, L.Loeb, E.Chuang, H.Deshpande; "Turning to the Masters: Motion Capturing Cartoons”

General goals of the work presented

- New methods aimed to save time/money/skills needed.

- Study motion (texture).

Page 4: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C.Bregler, L.Loeb, E.Chuang, H.Deshpande; "Turning to the Masters: Motion Capturing Cartoons”

Agenda

- Basic concepts

- Motion Synthesis/texture using motion capture- Physics/Biomechanics Motion Synthesis

- Cartoon Motion Retargeting.

Page 5: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Basic Concepts

Basic concepts

• Animation world (3D)

• Skeletal model representation

• Model positioning

• Keyframes

• Motion capture

• Frequency bands

• Correlations

Page 6: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Basic Concepts

3D animation world

- (Human) model is animated in Object space- Animated model projected into “global” space- Camera is placed and rotated- Perspective is set- Other…

Page 7: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Basic Concepts

Skeletal representation

- Each model has its own Default Pose

- DOF’s – joint angles/translations relative to Default Pose

- Hierarchical (tree) skeletal representation of model

Picture from Lecture in Computer Graphics course

Department of computer science

University of Washington

Page 8: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Basic Concepts

Creating motion

- Skeletal variations between frames- Overall rotation/Translation between frames- Correlate.

General Problem:

A LOT of work due to the large number of DOFS & high frame rate

Page 9: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Basic Concepts

Figure positioning

- Forward kinematics (simplified): Figure positioning by joint data specification.

Problem:- Tedious trial and error.

Page 10: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Basic Concepts

Figure positioning

Inverse kinematics (simplified)- Joint data is acquired by solving for the final position- In general, This is an optimization problem with a large system

of variables and constraints- Problems often are expressed as minimization problems, and

solved using standard algorithms (gradient decent etc).- Usually, infinite number of possible solutions.- A “good” solution has to be more than “feasible”- Often one is obtained by embedding specific knowledge as

additional constraints, and/or- Using Inverse kinematics as a part of a specific solution.

Page 11: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Basic Concepts

Basic methods for saving labor

Motion captureKeyFrames

Page 12: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Basic Concepts

Keyframes

– Specifying only part of DOFs and frames– Computer interpolation between them

Problem: “smooth” interpolation looks unreal

There are methods to apply “specific noise”

– Term has historical roots

Page 13: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Basic Concepts

Motion capture

– Acquired from “live action”– Copied onto animated character

• Problem: Hard to adapt.• “Motion Editing” – methods to adapt mocap

– Done in studios– Mocap libraries exist

Page 14: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Basic Concepts

Keyframing vs. MocapKeyframing vs. Mocap

Keyframing

Mocap

DisadvantagesAdvantages

•Control

Page 15: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Basic Concepts

Keyframing vs. MocapKeyframing vs. Mocap

Keyframing

Mocap

DisadvantagesAdvantages

•Control•Intuitive

Page 16: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Basic Concepts

Keyframing vs. MocapKeyframing vs. Mocap

Keyframing

Mocap

DisadvantagesAdvantages

•Control•Intuitive

•Detail hard

Page 17: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Basic Concepts

Keyframing vs. MocapKeyframing vs. Mocap

Keyframing

Mocap

DisadvantagesAdvantages

•Control•Intuitive

•Detail hard•Many DOF

Page 18: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Basic Concepts

Keyframing vs. MocapKeyframing vs. Mocap

Keyframing

Mocap

DisadvantagesAdvantages

•Control•Intuitive

•Detail hard•Many DOF

•Detail easy

Page 19: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Basic Concepts

Keyframing vs. MocapKeyframing vs. Mocap

Keyframing

Mocap

DisadvantagesAdvantages

•Control•Intuitive

•Detail hard•Many DOF

•Detail easy•All DOF

Page 20: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Basic Concepts

Keyframing vs. MocapKeyframing vs. Mocap

Keyframing

Mocap

DisadvantagesAdvantages

•Control•Intuitive

•No control

•Detail hard•Many DOF

•Detail easy•All DOF

Page 21: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Basic Concepts

Keyframing vs. MocapKeyframing vs. Mocap

Keyframing

Mocap

DisadvantagesAdvantages

•Control•Intuitive

•No control•Not intuitive

•Detail hard•Many DOF

•Detail easy•All DOF

Page 22: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Keyframe Data vs. Motion Capture DataKeyframe Data vs.

Motion Capture Data

Page 23: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Basic Concepts

Frequency Bands

Right flat Right toe Left flat Left toe

Page 24: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Basic Concepts

Frequency Bands

• Simplifies the form of the data– Low frequency Variations:

Large scale motions.– Higher frequency variations:

individual “noise” / Jitter

Both are important to preserve in order to capture the essence of motion

Page 25: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Basic Concepts

Correlations

• Joints angle/translation data is related to each other

• Joint angles are correlated over time

• Correlation “plot” is– (somewhat) Specific to the type

of motion– Carries “personality” information

(style)

Page 27: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C.Bregler, L.Loeb, E.Chuang, H.Deshpande; "Turning to the Masters: Motion Capturing Cartoons”

Agenda

- Basic concepts

- Motion Synthesis/texture using motion capture- Physics/Biomechanics Motion Synthesis

- Cartoon Motion Retargeting

Page 28: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Goal: Motion Capture Assisted Animation

Goal: Motion Capture Assisted Animation

• Create a method that allows an artist low-level control of the motion

• Combine the strengths of keyframe animation with those of mocap

• Create a method that allows an artist low-level control of the motion

• Combine the strengths of keyframe animation with those of mocap

Motion Capture Assisted Animation – Pullen/Bregler

Page 29: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Goal: Motion Capture Assisted Animation

Goal: Motion Capture Assisted Animation

“Sketch” an animation by keyframing• Animate only a few degrees of freedom

• Set few keyframes

“Enhance” the result with mocap data• Synthesize missing degrees of freedom

• Texture keyframed degrees of freedom

“Sketch” an animation by keyframing• Animate only a few degrees of freedom

• Set few keyframes

“Enhance” the result with mocap data• Synthesize missing degrees of freedom

• Texture keyframed degrees of freedom

Motion Capture Assisted Animation – Pullen/Bregler

Page 30: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C.Bregler, L.Loeb, E.Chuang, H.Deshpande; "Turning to the Masters: Motion Capturing Cartoons”

What is a Motion Texture?

• Every individual’s movement is unique

• Synthetic motion should capture the texture

• To “texture” means to add style to a pre-existing motion

• Technically, texturing is a special case of synthesis

Page 31: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Goal: Motion Capture Assisted Animation

Goal: Motion Capture Assisted Animation

Blue = Keyframed

Purple = Textured/Synthesized

Motion Capture Assisted Animation – Pullen/Bregler

Page 32: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

How an Animator WorksHow an Animator Works

• A few degrees of freedom at first

• Not in detail

• Fill in detail with more keyframes later

• A few degrees of freedom at first

• Not in detail

• Fill in detail with more keyframes later

Motion Capture Assisted Animation – Pullen/Bregler

Page 33: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

The Method in WordsThe Method in Words

• Choose degrees of freedom to drive the animation

• Compare these degrees of freedom from the keyframed data to mocap

• Find similar regions

• Look at what the rest of the body is doing in those regions

• Put that data onto the keyframed animation

• Choose degrees of freedom to drive the animation

• Compare these degrees of freedom from the keyframed data to mocap

• Find similar regions

• Look at what the rest of the body is doing in those regions

• Put that data onto the keyframed animation

Motion Capture Assisted Animation – Pullen/Bregler

Page 34: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Choices the Animator Must Make

1. Which DOF to use as matching angles

2. Which DOF to texture, which to synthesize

3. Which frequency band to use in matching

4. How many frequency bands to use in texturing

5. How many matches to keep

6. How many best paths to keep

1. Which DOF to use as matching angles

2. Which DOF to texture, which to synthesize

3. Which frequency band to use in matching

4. How many frequency bands to use in texturing

5. How many matches to keep

6. How many best paths to keepMotion Capture Assisted Animation – Pullen/Bregler

Page 35: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Before Beginning:Choose Matching Angles

Before Beginning:Choose Matching Angles

Left Hip xLeft Hip yLeft Hip zLeft Knee xLeft Knee yLeft Knee zLeft Ankle xLeft Ankle yLeft Ankle zLeft Ball xLeft Ball yLeft Ball zRight Hip xRight Hip yRight Hip zRight Knee xRight Knee yRight Knee zRight Ankle xRight Ankle yRight Ankle zRight Ball xRight Ball yRight Ball z

Root x transRoot y transRoot z transRoot x rotRoot y rotRoot z rotSpine1 xSpine1 ySpine1 zSpine2 xSpine2 ySpine2 zSpine3 xSpine3 ySpine3 zNeck xNeck yNeck zHead xHead yHead zHead Aim xHead Aim yHead Aim z

Left Clavicle xLeft Clavicle yLeft Clavicle zLeft Shoulder xLeft Shoulder yLeft Shoulder zLeft Elbow xLeft Elbow yLeft Elbow zLeft Wrist xLeft Wrist yLeft Wrist zRight Clavicle xRight Clavicle yRight Clavicle zRight Shoulder xRight Shoulder yRight Shoulder zRight Elbow xRight Elbow yRight Elbow zRight Wrist xRight Wrist yRight Wrist z

Time TimeTime

Page 36: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Matching Angles Drive the SynthesisMatching Angles

Drive the Synthesis

Left Hip xLeft Hip yLeft Hip zLeft Knee xLeft Knee yLeft Knee zLeft Ankle xLeft Ankle yLeft Ankle zLeft Ball xLeft Ball yLeft Ball zRight Hip xRight Hip yRight Hip zRight Knee xRight Knee yRight Knee zRight Ankle xRight Ankle yRight Ankle zRight Ball xRight Ball yRight Ball z

Root x transRoot y transRoot z transRoot x rotRoot y rotRoot z rotSpine1 xSpine1 ySpine1 zSpine2 xSpine2 ySpine2 zSpine3 xSpine3 ySpine3 zNeck xNeck yNeck zHead xHead yHead zHead Aim xHead Aim yHead Aim z

Left Clavicle xLeft Clavicle yLeft Clavicle zLeft Shoulder xLeft Shoulder yLeft Shoulder zLeft Elbow xLeft Elbow yLeft Elbow zLeft Wrist xLeft Wrist yLeft Wrist zRight Clavicle xRight Clavicle yRight Clavicle zRight Shoulder xRight Shoulder yRight Shoulder zRight Elbow xRight Elbow yRight Elbow zRight Wrist xRight Wrist yRight Wrist z

Time TimeTime

Page 37: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Motion Capture DataMotion Capture Data

Left Hip xLeft Hip yLeft Hip zLeft Knee xLeft Knee yLeft Knee zLeft Ankle xLeft Ankle yLeft Ankle zLeft Ball xLeft Ball yLeft Ball zRight Hip xRight Hip yRight Hip zRight Knee xRight Knee yRight Knee zRight Ankle xRight Ankle yRight Ankle zRight Ball xRight Ball yRight Ball z

Root x transRoot y transRoot z transRoot x rotRoot y rotRoot z rotSpine1 xSpine1 ySpine1 zSpine2 xSpine2 ySpine2 zSpine3 xSpine3 ySpine3 zNeck xNeck yNeck zHead xHead yHead zHead Aim xHead Aim yHead Aim z

Left Clavicle xLeft Clavicle yLeft Clavicle zLeft Shoulder xLeft Shoulder yLeft Shoulder zLeft Elbow xLeft Elbow yLeft Elbow zLeft Wrist xLeft Wrist yLeft Wrist zRight Clavicle xRight Clavicle yRight Clavicle zRight Shoulder xRight Shoulder yRight Shoulder zRight Elbow xRight Elbow yRight Elbow zRight Wrist xRight Wrist yRight Wrist z

Time TimeTime

Page 38: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

OverviewOverview

Steps in texture/synthesis method

• Frequency analysis

• Matching

• Path finding

• Joining

Steps in texture/synthesis method

• Frequency analysis

• Matching

• Path finding

• Joining

Motion Capture Assisted Animation – Pullen/Bregler

Page 39: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

In the following series of slides:

Hip angle = matching angle

Spine angle = angle being synthesized

In the following series of slides:

Hip angle = matching angle

Spine angle = angle being synthesized

Example

Motion Capture Assisted Animation – Pullen/Bregler

Page 40: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Frequency Analysis:Break into Bands

Motion Capture Assisted Animation – Pullen/Bregler

Page 41: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Fre

quen

cy

Time

Band-pass decomposition of matching angles

Keyframed Data Motion Capture Data

Frequency Analysis

Motion Capture Assisted Animation – Pullen/Bregler

Page 42: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Fre

quen

cy

Time

Keyframed Data Motion Capture Data

Chosen low frequency band

Frequency Analysis

Motion Capture Assisted Animation – Pullen/Bregler

Page 43: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Keyframed Data Motion Capture Data

Hip angle data (a matching angle)

Chosen Low Frequency Band

Motion Capture Assisted Animation – Pullen/Bregler

Page 44: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Keyframed Data Motion Capture Data

Making Fragments

Break where first derivative changes sign

Motion Capture Assisted Animation – Pullen/Bregler

Page 45: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Keyframed Data Motion Capture Data

Making Fragments

Step through fragments one by one

Motion Capture Assisted Animation – Pullen/Bregler

Page 46: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Matching

KeyframedFragment

Motion Capture Assisted Animation – Pullen/Bregler

Page 47: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Matching

KeyframedFragment

Motion Capture Data

Motion Capture Assisted Animation – Pullen/Bregler

Page 48: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Matching

KeyframedFragment

Motion Capture Data

Motion Capture Assisted Animation – Pullen/Bregler

Page 49: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Matching

Compare to all motion capture fragmentsA

ngle

in d

egre

es

Time

KeyframedMocap

Page 50: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Matching

Resample mocap fragments to be same lengthA

ngle

in d

egre

es

Time

KeyframedMocap

Page 51: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

MatchingUsing some metric on all matching anglesand on their first derivatives:

Keep the K closest matches

Ang

le in

deg

rees

Time

KeyframedMocap

Page 52: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Matching

KeyframedFragment

Motion Capture Data

Motion Capture Assisted Animation – Pullen/Bregler

Page 53: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Matching

KeyframedFragment

Motion Capture Data

CloseMatches

Motion Capture Assisted Animation – Pullen/Bregler

Page 54: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Matching

Hip Angle (Matching Angle)

Spine Angle (For Synthesis)

Motion Capture Assisted Animation – Pullen/Bregler

Page 55: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Matching and Synthesis

Low frequency hip angle data (a matching angle)

Spine angle data to be synthesized

Motion Capture Assisted Animation – Pullen/Bregler

Page 56: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Matching and Synthesis

Low frequency hip angle data (a matching angle)

Spine angle data to be synthesized

Motion Capture Assisted Animation – Pullen/Bregler

Page 57: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Matching and Synthesis

Low frequency hip angle data (a matching angle)

Spine angle data to be synthesized

Motion Capture Assisted Animation – Pullen/Bregler

Page 58: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Matching and Synthesis

Low frequency hip angle data (a matching angle)

Spine angle data to be synthesized

Motion Capture Assisted Animation – Pullen/Bregler

Page 59: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Matching and Synthesis

Low frequency hip angle data (a matching angle)

Spine angle data to be synthesized

Motion Capture Assisted Animation – Pullen/Bregler

Page 60: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Matching and Synthesis

Low frequency hip angle data (a matching angle)

Spine angle data to be synthesized

Motion Capture Assisted Animation – Pullen/Bregler

Page 61: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Possible Synthetic Spine Angle Data

Ang

le in

deg

rees

Time

Page 62: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Path FindingA

ngle

in d

egre

es

Time

We would like to:

• Use as much consecutive fragments as possible

• Stay as close as possible to best fit

Page 63: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Path FindingA

ngle

in d

egre

es

Time

Page 64: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Path FindingA

ngle

in d

egre

es

Time

Page 65: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Path FindingA

ngle

in d

egre

es

Time

Page 66: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Path FindingA

ngle

in d

egre

es

Time

Page 67: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

JoiningA

ngle

in d

egre

es

Time

Page 68: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Enhancing Animations:Texturing and SynthesisEnhancing Animations:Texturing and Synthesis

Keyframed

Textured Synthesized

Not keyframed

Page 69: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Texturing

Synthesize upper frequency bands

Motion Capture Assisted Animation – Pullen/Bregler

Page 70: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Texturing

Band-pass decomposition of keyframed dataF

requ

ency

Time

Page 71: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Texturing

Synthesize upper frequency bandsF

requ

ency

Time

Page 72: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Walking animationsTexturing and Synthesis

Keyframed Sketch

Page 73: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Walking animationsTexturing and Synthesis

Motion Capture Data

Two different styles of walk

Page 74: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Walking animationsTexturing and Synthesis

Enhanced Animation

Upper body is synthesized

Lower body is textured

Page 75: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Otter Animations: TexturingKeyframed data

Page 76: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Otter Animations: TexturingTextured animation

Page 77: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Dance Animations: Texturing and Synthesis

Lazy Keyframed Sketch

Page 78: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Dance Animations: Texturing and Synthesis

Motion Capture Data

Page 79: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Dance Animations: Texturing and Synthesis

Enhanced AnimationBlue = Keyframed

Purple = Textured/Synthesized

Page 80: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Dance Animations: Texturing

Keyframed Sketch With More Detail

Page 81: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Dance Animations: TexturingTextured Animation

Blue = Keyframed

Purple = Textured

Page 82: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Summary of the Method

Keyframed data

Mocap Data

Keyframed Data

Mocap Data Possible Synthetic Data

Matching Angles

Sketch + Mocap

Frequency Analysis Matching

Path Finding JoiningEnhanced Animation

Page 83: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Choices the Animator Must Make

1. Which DOF to use as matching angles

2. Which DOF to texture, which to synthesize

3. Which frequency band to use in matching

4. How many frequency bands to use in texturing

5. How many matches to keep

6. How many best paths to keep

1. Which DOF to use as matching angles

2. Which DOF to texture, which to synthesize

3. Which frequency band to use in matching

4. How many frequency bands to use in texturing

5. How many matches to keep

6. How many best paths to keep

Page 84: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Conclusions and Applications

• Appropriate for an artist interested in a very particular style of motion

• The artist may have a relatively small motion capture set of that style

• The artist may want precise control over parts of the motion

• Appropriate for an artist interested in a very particular style of motion

• The artist may have a relatively small motion capture set of that style

• The artist may want precise control over parts of the motion

Page 85: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

Conclusions and Further Work

• Direct incorporation of hard constraints

• Fundamental units of motion

• Direct incorporation of hard constraints

• Fundamental units of motion

Page 86: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

For more info . . .

http://graphics.stanford.edu/~pullen

Special Thanks to:Reardon Steele, Electronic Arts

Page 87: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C.Bregler, L.Loeb, E.Chuang, H.Deshpande; "Turning to the Masters: Motion Capturing Cartoons”

Agenda

- Basic concepts

- Motion Synthesis/texture using motion capture- Physics, Biomechanics Motion Synthesis

- Cartoon Motion Retargeting

Page 88: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Motivation

• Generate rapid prototyping of realistic character motion

• Avoid simulated human models, that are very complex, and don’t always look realistic

Page 89: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Scope

• Highly dynamic movement such as jumping, kicking, running, and gymnastics.

• Less energetic motions such as walking or reaching will not work well in this framework

Page 90: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Overview of the process

Motion sketch

Character description

Motion DB

User interaction

Constraint & phase detection

Transition pose synthesis

Objective functions Optimization Animation

Momentum control

Page 91: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Overview of the process

• The objective is to transforms simple animations into realistic character motion by applying laws of physics and the biomechanics domain

• The unknowns are: values of joint angles and parameters of angular and linear momentum

Page 92: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Overview of the process

Motion sketch

Character description

Motion DB

User interaction

Constraint & phase detection

Transition pose synthesis

Objective functions Optimization Animation

Momentum control

Page 93: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Constraint and stage detection

• Each input sequence has two parts:– The part that needs to

be improved – The part that needs to

kept intacked

• Automatically extract the positional and sliding constrains

Page 94: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Positional constraint detection

• A positional constraint fixes a specific point on the character to a stationary location for a period of time

• We need to find if all these points lie on a line, plane

• In an articulated character we find the constraints on each body part

Page 95: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Positional constraint detection

• The algorithm looks for fixed points (point, line, plane)

iii xxT

0)( ii xIT

Page 96: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Sliding constraints

i

iilp lpWTDist ),(min ,

Page 97: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Overview of the process

Motion sketch

Character description

Motion DB

User interaction

Constraint & phase detection

Transition pose synthesis

Objective functions Optimization Animation

Momentum control

Page 98: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Transition pose generation

• A transition pose separates constrained and unconstrained stages.

• Two possibilities:– We ask the animator

to draw the transition poses

– We have an estimator to suggest a transition pose

Page 99: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Transition Pose Estimator• DB contains examples of different motions• The input of that DB are the motion

parameters like: flight distance, flight height, takeoff angle, landing angle, spin angle..

• The DB has a simplified representation of the transition poses by three COM’s

• We use IK to obtain the full character’s pose from those three COM’s

• The KNN - K nearest neighbor algorithm• The pose estimator predicts the candidate

pose by interpolating the KNN with the weights that describe the similarity to the input.

2

2AB )C(C

A

B

ABC

CCC

Page 100: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Overview of the process

Motion sketch

Character description

Motion DB

User interaction

Constraint & phase detection

Transition pose synthesis

Objective functions Optimization Animation

Momentum control

Page 101: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Momentum control

• Transition poses constrain the motion at few key points of the animation

• Dynamic constraints ensure realistic motion of each segment

• Linear and angular momentum give us these dynamic constraints

Page 102: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Momentum during unconstrained and constrained stages

• linear momentum - During “flight” the only force is gravity

• Angular momentum - During “flight” there is no change in Angular momentum

• During “ground” stage we avoid computing the momentums and use empirical characteristics

mgdt

qdP

)(

0)(

dt

qdL

Page 103: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Overview of the process

Motion sketch

Character description

Motion DB

User interaction

Constraint & phase detection

Transition pose synthesis

Objective functions Optimization Animation

Momentum control

Page 104: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Objective functions

• There are three Objective functions, the basic idea behind them is power consumption– Minimum mass displacement– Minimal velocity of DOFs– Static balance

Page 105: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Overview of the process

Motion sketch

Character description

Motion DB

User interaction

Constraint & phase detection

Transition pose synthesis

Objective functions Optimization Animation

Momentum control

Page 106: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Putting it all together

• Environment constraints (Ce)• Transition pose constraints (Cp)• Momentum constraints (Cm)• Q are character’s DOFs

subject to )(min i

QqEi

0)(

0)(

0)(

QC

QC

QC

m

p

e

Page 107: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Overview of the process

Motion sketch

Character description

Motion DB

User interaction

Constraint & phase detection

Transition pose synthesis

Objective functions Optimization Animation

Momentum control

Page 108: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Some Results• Wide variety of figures: male, female, child• 51 DOFs • The body dimensions and mass distribution is taken from

biomechanics literature• In some of the cases the animator selects the body parts to be

constraints• The animator can change relative timing between each phase• The optimization was solved by using SNOPT a general

nonlinearly-constrained optimization package• The optimization time depends on the duration of the animation• All of the simple animation took less than five minutes to sketch • For all examples the synthesis process took less than five

minutes

Page 109: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Broad jump

• Only 3 keyframes at takeoff, peak and landing

Page 110: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Running

• The angular momentum constraint creates a counter-body movement by the shoulders and arms to counteract the angular momentum generated by the legs.

• Keyframing 7 DOFs

Page 111: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Hopscotch

• Each hop requires 3 keyframes and has fewer than 7 DOFs

Page 112: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Handspring

• There were no handstands within the DB so the user had to modify the result

Page 113: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

High-bar

• Two constraints stages: the bar and ground

Page 114: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Karate kick

• A second synthesis add a keyframe in the peak

Page 115: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C. Karen Liu & Zoran Popovi´c "Synthesis of Complex Dynamic Character Motion from Simple Animations"

Twist jumps

Page 116: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C.Bregler, L.Loeb, E.Chuang, H.Deshpande; "Turning to the Masters: Motion Capturing Cartoons”

Agenda

- Basic concepts

- Motion Synthesis/texture using motion capture- Physics/Biomechanics Motion Synthesis

- Cartoon Motion Retargeting

Page 117: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C.Bregler, L.Loeb, E.Chuang, H.Deshpande; "Turning to the Masters: Motion Capturing Cartoons”

What is Cartoon Capture & Retargeting

• Cartoon Capture– Track the motion From

2D Animation– Represent the motion

& save

• Retargeting– Translate the motion

representation to another output media

Page 118: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C.Bregler, L.Loeb, E.Chuang, H.Deshpande; "Turning to the Masters: Motion Capturing Cartoons”

Digitized video

Key shapes

Cartoon capture

Output corresponding

key shapes

Motion representation retargeting

Output video

Cartoon motion capture & retargeting scheme

Page 119: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C.Bregler, L.Loeb, E.Chuang, H.Deshpande; "Turning to the Masters: Motion Capturing Cartoons”

Modeling Cartoon motion

Digitized video

Key shapes

Cartoon capture

Output corresponding

key shapes

Motion representation retargeting

Output video

Page 120: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C.Bregler, L.Loeb, E.Chuang, H.Deshpande; "Turning to the Masters: Motion Capturing Cartoons”

Modeling Cartoon motion

• Two types of deformations– Affine deformation

– Key shape deformation

Page 121: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C.Bregler, L.Loeb, E.Chuang, H.Deshpande; "Turning to the Masters: Motion Capturing Cartoons”

Affine Deformation

• Affine parameters

Sdaa

daaSwarpV

y

x

43

21),(

],,,,,[)( 4321 yx ddaaaat

Tiii yxs 1

y

x

Page 122: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C.Bregler, L.Loeb, E.Chuang, H.Deshpande; "Turning to the Masters: Motion Capturing Cartoons”

Key-Shape Deformation

• Sk are the key shapes

kkk

y

xSw

daa

daaSwarpV

43

21),(

3w1w 2w

Page 123: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C.Bregler, L.Loeb, E.Chuang, H.Deshpande; "Turning to the Masters: Motion Capturing Cartoons”

Modeling Cartoon motion

• In total there are 6+K variables that represent the motion

],....,,,,,,,[)( 14321 kyx wwddaaaat

Page 124: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C.Bregler, L.Loeb, E.Chuang, H.Deshpande; "Turning to the Masters: Motion Capturing Cartoons”

Cartoon motion capture

Digitized video

Key shapes

Cartoon capture

Output corresponding

key shapes

Motion representation retargeting

Output video

Page 125: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C.Bregler, L.Loeb, E.Chuang, H.Deshpande; "Turning to the Masters: Motion Capturing Cartoons”

Cartoon motion capture

• contour capture: the input is a sequence of contours

• video capture: the input is the video sequence

Page 126: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C.Bregler, L.Loeb, E.Chuang, H.Deshpande; "Turning to the Masters: Motion Capturing Cartoons”

contour capture

• Two step minimization:– Find Affine parameters

– Find Key-Shape weights

• Iterate

2

1 ),...,,( kSSwarpVErr

2

43

21S

daa

daaVErr

y

xaff

1

43

21 )(

TT

y

x SSSVdaa

daa

2

43

21)( kk

y

xSw

daa

daaVErr

Page 127: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C.Bregler, L.Loeb, E.Chuang, H.Deshpande; "Turning to the Masters: Motion Capturing Cartoons”

Retargeting

Digitized video

Key shapes

Cartoon capture

Output corresponding

key shapes

Motion representation retargeting

Output video

Page 128: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C.Bregler, L.Loeb, E.Chuang, H.Deshpande; "Turning to the Masters: Motion Capturing Cartoons”

Retargeting

• For each Input key-shape an Output key-shape is drawn.

Page 129: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C.Bregler, L.Loeb, E.Chuang, H.Deshpande; "Turning to the Masters: Motion Capturing Cartoons”

Retargeting Process

Key shapes Interpolation

Apply Affine transformation

From motion capture

Retargeted media

Retarget Motion capture

Page 130: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C.Bregler, L.Loeb, E.Chuang, H.Deshpande; "Turning to the Masters: Motion Capturing Cartoons”

Examples

Page 131: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C.Bregler, L.Loeb, E.Chuang, H.Deshpande; "Turning to the Masters: Motion Capturing Cartoons”

Additional constrains & post processing

• Undesirable effects may still appear

• Determine constraints that force the character go through certain position at certain time

• Apply ad-hoc global transformation that fulfill these constraints

Page 132: Animating (human) motion Presented by: –Yoram Atir –Simon Adar

C.Bregler, L.Loeb, E.Chuang, H.Deshpande; "Turning to the Masters: Motion Capturing Cartoons”

Performance

• Quantative performance wasn’t mentioned

• The more complex the motion of the character is, the more key-shapes are needed

• Many of the animations contain jitter, but the overall exaggerated motion dominates