advanced computer graphics (fall 2010) cs 283, lecture 24: motion capture ravi ramamoorthi...

35
Advanced Computer Graphics Advanced Computer Graphics (Fall 2010) (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi http://inst.eecs.berkeley.edu/~cs283/fa10 Most slides courtesy James O’Brien from CS294-13 Fall

Post on 15-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Advanced Computer Graphics Advanced Computer Graphics (Fall 2010)(Fall 2010)

CS 283, Lecture 24:

Motion Capture

Ravi Ramamoorthi

http://inst.eecs.berkeley.edu/~cs283/fa10

Most slides courtesy James O’Brien from CS294-13 Fall 2009

Page 2: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Motion CaptureMotion Capture Record motion from physical actors

Use motion to animate virtual objects Retarget and optimize as needed

General trend of data-driven appearance (BRDF)

Page 3: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Captures “Signature” of ActorCaptures “Signature” of Actor

Page 4: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Types of Objects and MotionsTypes of Objects and Motions

Human, whole body

Portions of body

Facial animation

Animals

Puppets and cartoons

Page 5: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Capture EquipmentCapture Equipment

Page 6: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Types of capture equipmentTypes of capture equipment

Page 7: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Active OpticalActive Optical

Page 8: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Facial MoCapFacial MoCap

Page 9: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Parameter EstimationParameter Estimation

Page 10: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Manipulating Motion DataManipulating Motion Data

WYSIWYG vs WYSIAYG

Basic Tasks Adjusting Blending Transitioning Retargeting

Building graphs

Page 11: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Nature of Motion DataNature of Motion Data

Page 12: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

AdjustingAdjusting

Page 13: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

AdjustmentAdjustment

Define desired motion function in parts

Select adjustment function from nice space, such as C2 B-splines

Spread modification over reasonable time period User selects support radius

Page 14: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

AdjustingAdjusting

Page 15: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

BlendingBlending

Given two motions make a motion that combines qualities of both

Assume same DOFs

Assume same parameter mappings

Page 16: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

BlendingBlending

Blending slow walk and fast walk

Page 17: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Time WarpingTime Warping

Define timewarp functions to align features

Page 18: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Blending in TimeBlending in Time

Blend in normalized time

Blend playback rate

Page 19: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Blending and ContactsBlending and Contacts

Blending may still break features in original motion

Page 20: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

BlendingBlending

Add explicit constraints to key points Enforce with IK over time

Page 21: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Blending / AdjustmentsBlending / Adjustments

Page 22: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Multivariate BlendingMultivariate Blending

Extend blending to multivariate interpolation

Scattered data interpolation methods as needed

Page 23: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

TransitionsTransitions

Transition from one motion to another

Page 24: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

CyclificationCyclification

Special case of transitioning

Both motions are the same

Need to modify beginning and end simultaneously

Page 25: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Motion GraphsMotion Graphs

Hand built motion graphs often used in games Significant amount of work required Limited number of transitions by design

Motion graphs can also be built automatically

Page 26: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Motion GraphsMotion Graphs

Similarity Metric Measurement of how similar two frames of motion are Based on joint angles or point positions Must include some measure of velocity Ideally independent of capture setup and skeleton

Capture a “large” database of motions

Compute similarity between all pairs of frames Can be expensive, but preprocessing step May be many good edges

Page 27: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Motion GraphsMotion Graphs

Random Walks Start in some part of the graph, randomly make transitions Avoid dead ends Useful for “idling” behaviors

Transitions Use blending algorithm we discussed

Page 28: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Motion GraphsMotion Graphs

Can have requirements

Start at particular location, End at particular

Pass through some points

Can be solved using dynamic programming

Efficiency may require approximate solution

Notion of goodness of a solution

Page 29: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

ReorderingReordering

Page 30: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Content TagsContent Tags

Page 31: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Integrating PhysicsIntegrating Physics Simulation added to base motion

Inverse dynamics for matching

Oracle to assess results

Page 32: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Integrating PhysicsIntegrating Physics

Page 33: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Integrating PhysicsIntegrating Physics

Page 34: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Suggested Reading 1Suggested Reading 1

Page 35: Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi cs283/fa10 Most slides courtesy

Suggested Reading 2Suggested Reading 2