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