Lecture 19/20: Motion Capture

CS-184: Computer Graphics
Lecture #19: Motion Capture
Prof. James O’Brien
University of California, Berkeley
V2009-S-19-1.0
Today
• Motion
Capture
2
Tuesday, November 17, 2009
Motion Capture
• Record
• Use
motion from physical objects
motion to animate virtual objects
Simplified Pipeline:
Setup and calibrate
equipment
Record
performance
Process motion
data
Generate
animation
3
Basic Pipeline
Setup
Record
Process
Animatio
n
From Rose, et al., 1998
Tuesday, November 17, 2009
4
What types of objects?
• Human, whole
• Portions
• Facial
body
of body
animation
• Animals
• Puppets
• Other
objects
5
Capture Equipment
• Passive
Optical
•
Reflective markers
•
IR (typically) illumination
•
Special cameras
•
•
Fast, high res., filters
Triangulate for positions
Images from Motion Analysis
Tuesday, November 17, 2009
6
Capture
Equipment
Capture Equipment
Passive Optical Advantages
Accurate
use many markers
• Passive OpticalMay
Advantages
No
cables
• Accurate
High frequency
• May use many markers
• No cables
Disadvantages
• High frequency
Requires lots of processing
• Disadvantages Expensive (>$100K)
• Requires lots ofOcclusions
processing
• Expensive systems
Marker Swap
• Occlusions
Lighting/camera limitations
• Marker swap
• Lighting / camera limitations
7
Capture Equipment
• Active
Optical
Similar to passive but uses LEDs
• Blink IDs, no marker swap
• Number of markers trades off w/ frame rate
•
Phoenix Technology
Tuesday, November 17, 2009
Phase Space
8
Capture Equipment
• MagneticCapture
Trackers
Equipment
•
Transmitter emits field
•
Trackers sense
field Trackers
Magnetic
•
Trackers report
positionemits
and orientation
Transmitter
field
Trackers sense field
Trackers report location
and orientation
May be wireless
Control
9
Capture Equipment
• Electromagnetic Advantages
• 6 DOF data
• No occlusions
• Less post processing
• Cheaper than optical
• Disadvantages
• Cables
• Problems with metal objects
• Low(er) frequency
• Limited range
• Limited number of trackers
10
Tuesday, November 17, 2009
Capture Equipment
• Electromechanical
Analogus
11
Capture Equipment
• Puppets
Digital Image Design
Tuesday, November 17, 2009
12
Performance Capture
• Many
•
studios regard Motion Capture as evil
•
Synonymous with low quality motion
•
No directive / creative control
•
Cheap
Performance Capture is different
•
Use mocap device as an expressive input device
•
Similar to digital music and MIDI keyboards
13
Manipulating Motion Data
• Basic
tasks
Adjusting
• Blending
• Transitioning
• Retargeting
•
• Building
graphs
14
Tuesday, November 17, 2009
Adjusting
Nature of Motion Data
Why is this task not trivial?
Witkin and Popovic, 1995
Subset of motion curves from
captured walking motion.From Witkin and Popovic, SIGGRAPH 95
15
Adjusting
Adjusting
• IK
IK on single frames will not work
on single frames will not work
Gleicher,
SIGGRAPH
From
Gleicher,
SIGGRAPH 98
98
16
Tuesday, November 17, 2009
Adjusting
• Adjusting
Define desired
motion function in parts
Define desired function with
Adjustment
Inital sampled data
Result after adjustment
17
Adjusting
• Select
•
adjustment function from “some nice space”
Example C2 B-splines
• Spread
•
modification over reasonable period of time
User selects support radius
18
Tuesday, November 17, 2009
Adjusting
IK uses control
points of the Bspline now
Example:
position racket
fix right foot
fix left toes
balance
Witkin and Popovic SIGGRAPH 95
19
Adjusting
Witkin and Popovic SIGGRAPH 95
What if adjustment periods overlap?
20
Tuesday, November 17, 2009
Blending
Blending
• Given two
motions
make a can
motion
that combines
If given
two motions,
we blend
them
of bothto find a motion 1/2 between them?
qualities
• AssumeAssume
same DOFs
same DOFs
• AssumeAssume
same parameter
mappings
same parameter
mappings
21
Blending
• Consider
blending slow-walk and fast-walk
Bruderlin and Williams, SIGGRAPH 95
Tuesday, November 17, 2009
22
Blending
• Define
timewarp
Blending
functions to align features in motion
Define timewarp functions
Normalized time is w
23
Blending
Blending
Blending
in normalized time
• Blend inBlend
normalized
time
Blend in normalized time
Blend playback rate
• Blend playback
rate rate
Blend playback
24
Tuesday, November 17, 2009
Blending
• Blending
may still break features in original motions
Blending
Blending may still break "features" in
original motions
Touchdown for Run
Touchdown for Walk
Blend misses ground and floats
25
Blending
• Add
•
explicit constrains to key points
Blending
Enforce with IK over time
Add explicit constraints to key points
Touchdown for Run
Touchdown for Walk
26
Tuesday, November 17, 2009
Blending / Adjustment
• Short
edits will tend to look acceptable
• Longer
ones will often exhibit problems
• Optimize
to improve blends / adjustments
Add quality metric on adjustment
Minimize accelerations / torques
• Explicit smoothness constraints
• Other criteria...
•
•
27
Multivariate Blending
Blending
• Extend blending to multivariate interpolation
Extend to multivariate interpolation
"Speed"
“Speed”
“Happiness”
"Hippiness"
Weights are now barycentric coordiantes
28
Tuesday, November 17, 2009
Multivariate Blending
Blending
• Extend blending to multivariate interpolation
Extend to multivariate interpolation
"Speed"
If we have other examples
place them in the space also
“Speed”
“Happiness”
"Hippiness"
Becomes standard interpolation problem...
Use standard scattered-data
interpolation methods
29
Transitions
Transitioning
• Transition
from one motion
to another
Transition from motion A to motion B
Perform blend in overlap
region
30
Tuesday, November 17, 2009
Cyclification
• Special
• Both
case of transitioning
motions are the same
• Need
to modify beginning and end of a motion
simultaneously
31
Transition Graphs
Transition Graphs
Run
Flip
Sit
Walk
Stand
Trip
Dance
32
Tuesday, November 17, 2009
Motion Graphs
• Hand
build motion graphs often used in games
•
Significant amount of work required
•
Limited transitions by design
• Motion
graphs can also be built automatically
Transition Graphs
Run
Flip
Sit
Walk
Stand
Trip
Dance
33
Motion 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
34
Tuesday, November 17, 2009
Motion Graphs
• Compute
•
appearbetween
in the ACMall
SIGGRAPH
similarity To
metric
pairs of conference
frames proceedings
Maybe expensive
y objects in the
environ• Preprocessing
step
•
There may be too many good edges
sition and orientation at
Walking
Frame i
Frame j
Running
particular position (and
a specific time.
Walking , frame i
at satisfy the hard conves a graph search. Unmotions, the graph G has
d search of this graph is
ason is the need to enumany perfectly satisfacually well. For example,
end of a room at frame 0
s the room is very large,
onstraints.
Running, frame j
style (such as happy or
Clustering
35
Arikan and Forsyth, 2002
Figure 2: Every edge between two nodes representing different motion clips can be represented as a matrix where the entries correspond to edges. Typically, if there is one edge between two nodes
in our graph, there will be several, because if it is legal to cut from
one frame in the first sequence to another in the second, it will usually also be legal to cut between neighbors of these frames. This
means that, for each pair of nodes in the graph, there is a matrix
representing the weights of edges between the nodes. The i, j’th
entry in this matrix represents the weight for a cut from the i’th
h dynamic programming
the constraints
equally walksframe in the first sequence to the j’th frame in the second sequence.
• Random
The weight matrix for the whole graph is composed as a collection
s between equally valid
of blocks
this form.
Summarizing
graph involves compress• Start
ou dawdle at one
side inofsome part
of theofgraph
and randomly
makethe
transitions
ing
these
blocks
using
clustering.
. This suggests
summa• Avoid
dead ends
rser presentation that is
Useful
for “idling”
If this were not the case, our summary would rule out potential
G! . behaviors
hms are of no•help
here,
paths. In order to insure that this condition holds and because the
• Transitions
graph is very large, we cluster edges connecting every pair of nodes
cal times, we need to do
in G separately.
We cluster unconnected edge
groups of G from the
do the large •scale
moUse blending algorithm
we discussed
Domain of smoothing
P matrices (defined between every pair of nodes) using k-means
e details so that the moDiscontinuity Magnitude
joraxislength
ints as well as possible.
[Bishop 1995]. The number of clusters is chosen as ma
minoraxislength
while allowing us to exfor each group where the axis lengths refer to the ellipse that fits to
e path space. In such a
the cluster (obtained through Principal Component Analysis).
f the one finer level. Let
The nodes of G! are the same as the nodes of G. The edges con0.5
a hierarchical represennecting nodes in G! are cluster centers for clusters of edges connect0
s the finest. We will first
Signal
ing corresponding nodes in G. The centers Smoothed
are computed
by taking
!0.5
hierarchy to a path in G
Smoothing Function
the average of the edges in terms of f romFrame, toFrame and cost
values. At this point, every edge in G! represents many edges in G.
36
Figure
4: In the synthesized
motion,
discontinuities in orientation
We would like to have a tree of graph
representations
whose
root
are inevitable. We deal with these discontinuities using a form of
!
k-means
clustering
to
split
is G , and whose leaves are G. We use
localized smoothing. At the top left, a discontinuous orientation
Tuesday, November
2009
with its discontinuity
shown
at the top right. We now coneach17,
cluster
of edges in half at each signal,
intermediate
level and
obtain
struct
an interpolant
to this discontinuity,
shown on the bottom right
!
!!
!!!
n
can be represented in a
←to· ·the
·←
G ←
Gtofor
a hierarchical representation G ← Gand←addGit back
original
signal
get the continuous version
Motion Graphs
To appear in the ACM SIGGRAPH conference proceedings
Figure 5: Body constraints allow us to put “checkpoints” on the
motion: in the figure, the arrow on the right denotes the required
starting position and orientation and the arrow on the left is the required ending position and orientation. All constraints are also time
stamped forcing the body to be at the constraint at the time stamp.
For these two body constraints, we can generate many motions that
satisfy the constraints in real-time.
Motion graphs
• Match
•
•
•
•
•
•
imposed requirements
Start at a particular location
End at a particular location
Pass through particular pose
Can be solved using dynamic programing
Efficiency issues may require approximate solution
Notion of “goodness” of a solution
37
Suggested Reading
•
Fourier principles for emotion-based human figure animation, Unuma, Anjyo, and
Takeuchi, SIGGRAPH 95
•
Motion signal processing, Bruderlin and Williams, SIGGRAPH 95
•
Motion warping, Witkin and Popovic, SIGGRAPH 95
•
Efficient generation of motion transitions using spacetime constrains, Rose et al.,
SIGGRAPH 96
•
Retargeting motion to new characters, Gleicher, SIGGRAPH 98
•
Verbs and adverbs: Multidimensional motion interpolation, Rose, Cohen, and
Bodenheimer, IEEE: Computer Graphics and Applications, v. 18, no. 5, 1998
38
Tuesday, November 17, 2009
Suggested Reading
•
Retargeting motion to new characters, Gleicher, SIGGRAPH 98
•
Footskate Cleanup for Motion Capture Editing, Kovar, Schreiner, and Gleicher, SCA 2002.
•
Interactive Motion Generation from Examples, Arikan and Forsyth, SIGGRAPH 2002.
•
Motion Synthesis from Annotations, Arikan, Forsyth, and O'Brien, SIGGRAPH 2003.
•
Pushing People Around, Arikan, Forsyth, and O'Brien, unpublished.
•
Automatic Joint Parameter Estimation from Magnetic Motion Capture Data, O'Brien,
Bodenheimer, Brostow, and Hodgins, GI 2000.
•
Skeletal Parameter Estimation from Optical Motion Capture Data, Kirk, O'Brien, and
Forsyth, CVPR 2005.
•
Perception of Human Motion with Different Geometric Models, Hodgins, O'Brien, and
Tumblin, IEEE: TVCG 1998.
39
Tuesday, November 17, 2009