![Page 1: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/1.jpg)
CS 231
Inverse Kinematics
Intro to Motion Capture
![Page 2: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/2.jpg)
3D characters
Representation
1) Skeleton
Origin (root)
Joint centers/
bones lengths
2) Keyframes
Pos/Rot Root (x)
Joint Angles (q)
![Page 3: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/3.jpg)
Kinematics – study of static movement
easy to compute intuitive to control
positioning hand/feet
higher-level goals
Forward: x = f(a,b) Inverse: a,b = f-1(x)
a
b
x
![Page 4: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/4.jpg)
?
Base
End Effector
Forward Kinematics
![Page 5: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/5.jpg)
What is it?
Base
End Effector
Inverse Kinematics (IK)
![Page 6: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/6.jpg)
Solving IK
Kinematic equations
Number of equation : 2
Unknown variables : 3
Infinite number of solutions !
![Page 7: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/7.jpg)
Redundancy
System DOF > End Effector DOF
System DOF = 3
End Effector DOF = 2
![Page 8: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/8.jpg)
Redundancy in humans?
A redundant system has infinite number of
solutions
Standard humanoid skeleton has 70 DOF
Super redundant
How to solve highly redundant system?
![Page 9: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/9.jpg)
Some intuition: Naturalness
Based on observation of natural human posture
Neurophysiological/ biomech experiments
ExampleHybrid/analytical solution for human arm
Comfort pose
Planning
![Page 10: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/10.jpg)
Inverse Kinematics Solvers
Analytical - only for simplest systems
Optimization - requires performance criteria
Hybrid - combine heuristic and optimization
![Page 11: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/11.jpg)
Nonlinear Optimization
Optimization Problem
Available Optimization Packages
MATLAB,
Numerical Recipes
Etc...
![Page 12: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/12.jpg)
Base
End Effector
Goal
distancePosition Goal
Goal Potential Function
![Page 13: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/13.jpg)
Jacobian
Jacobian Matrix
Linearly relates end-effector change to joint angle change
![Page 14: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/14.jpg)
Differential Kinematics
3-link arm example
![Page 15: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/15.jpg)
Differential Kinematics
J is not always invertible
Remedy : Pseudo Inverse
Notes: this is the Moore-Penrose Matrix Inverse.
Others exist
![Page 16: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/16.jpg)
Problems with IK
Will G(q) = 0 always obtainable?
No : Unreachable Workspace
Will the solution be always found?
No : Local Minima/Singular Configuration
Will the solution be always unique?
No : Redundancy
![Page 17: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/17.jpg)
o
end effector
Hybrid Solutions
“Elbow Circle”
[Korein and Badler 82]
![Page 18: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/18.jpg)
Constrained optimization with fewer variables
-one-variable parameterization for arms and legs
Hybrid Solutions
Lee and Chen '99
![Page 19: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/19.jpg)
Hybrid solution: IKAN
“Inverse Kinematics using ANalytical Methods” IK for an anthropomorphic arm or leg
Combination of analytic and numerical methods to solve generalized inverse kinematics problems
Results faster and more reliable than conventional inverse jacobian and optimization based techniques.
Download IKAN from SourceForge
![Page 20: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/20.jpg)
![Page 21: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/21.jpg)
Motion Capture Animation Technologies
![Page 22: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/22.jpg)
What is motion capture?
Recording data from the
real world and using it to animate
Usually, one of a few specific
technologies used to capture a
human actor in order to animate
a character
Got its start in biomechanics
![Page 23: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/23.jpg)
Motivation
![Page 24: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/24.jpg)
Why use motion capture?
Captures realistic movements, can be
specific to individuals, good for
athletics and physical activities
Can capture alot of data reasonably quickly
Can capture on-the-fly for real-time
performance and interactivity
![Page 25: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/25.jpg)
Where is motion capture used most?
Many games, capture celebrities, lifelike motion
![Page 26: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/26.jpg)
What are the issues?
Recording the data accurately and quickly
-types of technologies
-running a motion capture shoot
Applying the data to the character
-filtering the data
-fitting to a skeleton
Editing motion data post-mortem
-changing and concatenating
-generalized motion from a
database
![Page 27: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/27.jpg)
Types of technologies - Optical Systems
Vicon (also Motion Analysis)
![Page 28: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/28.jpg)
Types of technologies - Optical Systems
10-24+ cameras
1000 frames/sec at 1280x1024 resolution (!)
4mm size marker @ 10m within < 1mm
Cost: $30-150K+
Plus: High data rate
Best motion in the industry!
Minus: Expense
Occlusion
Relies on software for data resolution
Alternative- Rent a day in the studio: $10-20K
![Page 29: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/29.jpg)
Types of technologies - Active Optical Systems
Ascension's Reactor (Optotrak, PhaseSpace)
![Page 30: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/30.jpg)
Types of technologies - Active Optical Systems
540 cameras
900 measures/second (up to 60 frames/sec)
Capture region: 3x4meters
Cost: ~$50K
Plus: Minimal data loss after occlusion re-identifies
No environment restrictions
Reasonably priced ?
Minus: Low capture rate, small region
![Page 31: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/31.jpg)
Types of technologies - Electromagnetic Systems
Ascension (Polhemus) – tethered and tetherless
![Page 32: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/32.jpg)
Types of technologies - Electromagnetic Systems
18 sensors six dof's
120 frames/sec
<1 cm/~1degree accuracy
3m circular capture area
Cost: ~$50K
Plus: No occlusion
Orientation information recorded
Minus: Environment restrictions
Can be bulky
![Page 33: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/33.jpg)
Types of technologies - Mechanical Systems
Exoskeletons
Joint sensors plus a gyroscope
![Page 34: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/34.jpg)
Types of technologies - Mechanical Systems
500 samples/second
No range limits/Wired system
Cost: ~40K
Plus: Fits a rigid body skeleton well
High data rate
Minus: Tethered
Not accurate in body location/orientation
![Page 35: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/35.jpg)
Types of technologies - Mechanical Systems
Monkeys and other input devices
![Page 36: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/36.jpg)
Still other technologies
Inertial systems - accelerometers and gyros
Markerless camera systems (esp. face capture)
Inside out-camera motion systems(http://research.microsoft.com/en-us/um/people/takaakis/publications/mocap/)
![Page 37: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/37.jpg)
Types of technologies - Kinect
RGB camera plus range scanner
![Page 38: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/38.jpg)
Types of technologies - Kinect
60? samples/second
Small range limits
Cost: $150
Plus: Very Inexpensive
Depth information
Minus: Noisy
Limits on good tools
![Page 39: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/39.jpg)
The Pipeline
Bodenheimer et al
![Page 40: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/40.jpg)
On limbs vs joints – neither is ideal
Over tight clothing or thin skin
In repeatable 'landmarks'
Using standard marker sets
Marker placement
![Page 41: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/41.jpg)
Marker placement
Magnetic Optical
![Page 42: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/42.jpg)
Using marker data - mapping
Problems: no perfect match, joint-center and rigid-body assumptions,
limits on ranges of motion, aesthetic and production requirements
![Page 43: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/43.jpg)
Using marker data - skeleton estimation
O’Brien et al
![Page 44: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/44.jpg)
Sources of noise
Outliers
Joints are approximated as pivots
Simplifications (like a rigid back)
Markers move on the skin, clothing
Errors may accumulate
![Page 45: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/45.jpg)
Filtering
Gets rid of outliers
Smoothes data
But removes important details!
All data is filtered
![Page 46: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/46.jpg)
Some notes about IK and mocap
Full-body IK starting from root
places feet on the ground – assumes body
root is correct, (foot slide becomes a new
problem)
Frame-to-frame coherence achieved
by initializing frame with previous
![Page 47: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/47.jpg)
Known problems with the data
Correcting errors
Modifying data to fit your character
Edit the data to do something new
Connecting data sequences
Generalize a pool of data
![Page 48: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/48.jpg)
![Page 49: CS 231 Inverse Kinematics Intro to Motion Capturevbz/cs231f15/lecture03-15.pdf · Inverse Kinematics Solvers Analytical - only for simplest systems Optimization - requires performance](https://reader031.vdocument.in/reader031/viewer/2022022018/5b8da39509d3f231458c5958/html5/thumbnails/49.jpg)
Project Proposal (3-5 pgs)
1) Introduce the idea
2) Describe the scope
3) Challenges
4) Lower bound
5) Additional extensions
6) Paper name and one alternate to
present (author, title, venue, year)