advanced computer graphics (fall 2010) cs 283, lecture 24: motion capture ravi ramamoorthi...
Post on 15-Jan-2016
216 views
TRANSCRIPT
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
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)
Captures “Signature” of ActorCaptures “Signature” of Actor
Types of Objects and MotionsTypes of Objects and Motions
Human, whole body
Portions of body
Facial animation
Animals
Puppets and cartoons
…
Capture EquipmentCapture Equipment
Types of capture equipmentTypes of capture equipment
Active OpticalActive Optical
Facial MoCapFacial MoCap
Parameter EstimationParameter Estimation
Manipulating Motion DataManipulating Motion Data
WYSIWYG vs WYSIAYG
Basic Tasks Adjusting Blending Transitioning Retargeting
Building graphs
Nature of Motion DataNature of Motion Data
AdjustingAdjusting
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
AdjustingAdjusting
BlendingBlending
Given two motions make a motion that combines qualities of both
Assume same DOFs
Assume same parameter mappings
BlendingBlending
Blending slow walk and fast walk
Time WarpingTime Warping
Define timewarp functions to align features
Blending in TimeBlending in Time
Blend in normalized time
Blend playback rate
Blending and ContactsBlending and Contacts
Blending may still break features in original motion
BlendingBlending
Add explicit constraints to key points Enforce with IK over time
Blending / AdjustmentsBlending / Adjustments
Multivariate BlendingMultivariate Blending
Extend blending to multivariate interpolation
Scattered data interpolation methods as needed
TransitionsTransitions
Transition from one motion to another
CyclificationCyclification
Special case of transitioning
Both motions are the same
Need to modify beginning and end simultaneously
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
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
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
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
ReorderingReordering
Content TagsContent Tags
Integrating PhysicsIntegrating Physics Simulation added to base motion
Inverse dynamics for matching
Oracle to assess results
Integrating PhysicsIntegrating Physics
Integrating PhysicsIntegrating Physics
Suggested Reading 1Suggested Reading 1
Suggested Reading 2Suggested Reading 2