Transcript PowerPoint

Animation
CS 551 / 651
Automatic Joint Parameter
Estimation from Magnetic
Motion Capture Data
James F. O’Brien, Robert E.
Bodenheimer, Gabriel J.
Brostow, Jessica K. Hodgins
Why is Motion Capture Good?
Human and human-like characters
Retains subtle elements of a performer’s
style
Powerful solution when animations must be
generated quickly
• Immersive virtual environments
Why is Motion Capture Bad?
Optical and magnetic systems suffer from
sensor noise
Sensors require careful calibration
Precise measurements of limb lengths
• Taken by hand in a reference pose
• Tedious
• Prone to error
• Often impractical
Measurements of sensors
Sources of error
• Sensors move
– Sweat
– Elastic bands
– High-velocity movements
– Impacts with the ground
What data does mocap provide?
A magnetic mocap system provides
• (x, y, z) and (roll, pitch, yaw) in region around the
magnetic field emitter
• That’s 15 sets of 6-DOFs in the case of this paper
Consider a kinematic character
• How many limbs does is have?
• How long are the limbs?
Our mocap actor
Gabe!
• Mocap sensors are
in green
• Identified joints are
in purple
• Blue is the root
• White skeleton is the
kinematic character
Can we discover the positions of blue and purple
and the connectivity of the white?
Discovering limb lengths
What we know from kinematics
Using data
Consider a simple system
• When given an xi and xP(i) can
we determine li, ci, and Ri?
– We have six numbers
– We need seven numbers
Some algebra
Translate to world coordinates
• The location of the joint on the outboard coordinate system and
the location of the join on the inboard coordinate system should
map to the same place … the joint should stay together
Remember the mismatch in
unknowns
We utilize the fact we have many
observations of sensor positions
Use matrix alegbra
Solve for c and l using least squares
• Use SVD to invert Q matrix
What must be built?
Hierarchy of limbs
• Can we infer what
is connected to
what?
Determining the Body Hierarchy
Finding optimal hierarchy = finding a minimum
spanning tree
• Body = node
• Joint = edge
• Fit error (ei) = edge weight
Select root node t
Minimize ei for all joints in the hierarchy
Residual errors cause joints to move apart during
playback
• Use inferred join locations and create an articulated model
with kinematic joint constraints
Results
Results
No joints
Results
Mechanical Linkage
Results
After doing the
chicken
dance…
Results
Human system
Conclusion
Essentially a process of fitting a
parameterized model to a distribution
• This model was simple…
– Rigid bodies, basic joints, no deformation
– It did poorly on human shoulder where joint is
complicated
• More complicated models could be used
– Elastic deformation of limbs, joints lacking a
simple center of rotation, variation due to inertial
properties
Method Comparison
Some methods
• Joint location determined from weighted average of points
• Concerned with detailed model from data points
– Use multiple markers for redundancy
• Instantaneous joint center from single instant of motion
This method
• Does not require manual processing of data
• More concerned with creating animation
• Not an IK technique since dimensions of skeleton aren’t known
– Could be considered a preliminary step to IK computation
• Joints are reasonable approximation over entire sequence of
motion
Results
Simulated human figure
• Correct hierarchy, errors less than 10-6 m
Wooden mechanical figure with five ball-andsocket joints
• 6 trials (last one markers were moved)
• Maximum error was 1.1cm
• Correct hierarchy in every case
People
• “Exercise” set
• “Walk” set
Results
Male
• Max error 4.1 cm
• Average less than 1 cm (upper arms 1.4cm and 2.2cm for left and
right arms)
Female
• Max error 2.4 cm
• Average greater than 1 cm
Problems
• Upper leg child of other upper leg instead of pelvis
Speed on SGI O2 with 195MHz R10k
• < 4 seconds for 45 seconds of motion capture when hierarchy
specified
• < 14 seconds when hierarchy was not specified
Conclusions
Results are good, given resolution of
sensors
Provides a fast way to accomplish
calibration for magnetic motion capture
systems
Applications where explicit calibration is
infeasible
• “Exercise” could be a pre-show portion of locationbased entertainment experience
Conclusion
Good system for acquiring human limb
lengths
• Automatically create graphical characters with
correct size
• Motion reuse – to match the size of the mocap data
to the size of the characters