Motion Capture Use digitized motion to animate a

  • Slides: 38
Download presentation
Motion Capture Use digitized motion to animate a character Rick Parent - CIS 681

Motion Capture Use digitized motion to animate a character Rick Parent - CIS 681

Animation Techniques Keyframe Surface model Procedural - simuleate Model or rules Set initial conditions

Animation Techniques Keyframe Surface model Procedural - simuleate Model or rules Set initial conditions Motion libraries Stitch together e. g. , games Digitize motion Rick Parent - CIS 681

Technologies Passive optical - reflective markers Multiple cameras Need non-reflective environ. Active optical -

Technologies Passive optical - reflective markers Multiple cameras Need non-reflective environ. Active optical - LEDs pulse ID Need power supply Multiple cameras Magnetic - Active sensors Cheaper Need magnetic-neutral environment Need power supply Tether or wireless comm. Smaller work area Mechanical - Rotary Only poses Cheapest Rick Parent - CIS 681

Magnetic Up to 144 Hz 13 -18 6 Do. F sensors Rick Parent -

Magnetic Up to 144 Hz 13 -18 6 Do. F sensors Rick Parent - CIS 681

Passive Optical Motion Capture Rick Parent - CIS 681

Passive Optical Motion Capture Rick Parent - CIS 681

Active Optical Motion Capture Rick Parent - CIS 681

Active Optical Motion Capture Rick Parent - CIS 681

Optical Motion Capture Instrument “talent” Capture 2 D position of markers in multiple cameras

Optical Motion Capture Instrument “talent” Capture 2 D position of markers in multiple cameras Convert multiple 2 D marker positions to 3 D positions Establish correspondence of markers in images Triangulate 3 D position using two or more images Compute joint positions from 3 D positions of multiple surface markers Determine limb lengths from joint coordinates Create synthetic character with those dimensions and animation Rick Parent - CIS 681

Hand Motion Capture Movement too intricate for optical Types of sensors Mechanical Fiber optic

Hand Motion Capture Movement too intricate for optical Types of sensors Mechanical Fiber optic Rick Parent - CIS 681

Facial Motion Capture Motion too detailed for sensing at distance Rick Parent - CIS

Facial Motion Capture Motion too detailed for sensing at distance Rick Parent - CIS 681

Motion Capture Procedure 1. Plan 2. Capture 3. Clean 4. Edit 5. Map Rick

Motion Capture Procedure 1. Plan 2. Capture 3. Clean 4. Edit 5. Map Rick Parent - CIS 681

Problems Dimensions of instrumented talent has to match synthetic charcter Motion captured is what

Problems Dimensions of instrumented talent has to match synthetic charcter Motion captured is what you get - period Limitations on spatial extent of motion Restricted movement because of instrumentation (harness, power supply, physical attachments, etc. ) Limitation on complexity of motion because of sensors (e. g. , severe occlusions, etc. ) Rick Parent - CIS 681

Research Blending from one motion to another Signal processing Space-time constriants Retargeting Modify angles

Research Blending from one motion to another Signal processing Space-time constriants Retargeting Modify angles based on limb lengths Maintain constraints (e. g. foot on floor) Adapting Modify secondary Do. Fs e. g. wave arm while walking Rick Parent - CIS 681

Motion Warping Motion curves Sparse keyframe-like constraints Keep similar to original Warp each curve

Motion Warping Motion curves Sparse keyframe-like constraints Keep similar to original Warp each curve independently Constraints (qi, ti) Time warp constraints (t’j, tj) q’(t’) defined by q’(t) = f(q, t) t= g(t’): smooth, well-behaved Rick Parent - CIS 681

Motion Warping q(t) q’(t) = a(t)q(t) + b(t) User specifies amounts of a(ti) and

Motion Warping q(t) q’(t) = a(t)q(t) + b(t) User specifies amounts of a(ti) and b(ti) Use interpolating spline to define a(t) and b(t) over length of curve t Rick Parent - CIS 681

Motion Warping - time warp Stretch and compress to overlap Use interpolating spline t

Motion Warping - time warp Stretch and compress to overlap Use interpolating spline t q(t) t’ t Linearly interpolate q(t) = aq 1(t) + (1 -a) q 2(t) Rick Parent - CIS 681

Motion Warping Rick Parent - CIS 681

Motion Warping Rick Parent - CIS 681

Motion Warping Rick Parent - CIS 681

Motion Warping Rick Parent - CIS 681

Motion Warping Rick Parent - CIS 681

Motion Warping Rick Parent - CIS 681

Motion Warping Rick Parent - CIS 681

Motion Warping Rick Parent - CIS 681

Motion Editing Multiresolution filtering Cascade of lowpass filters Convolve w/ B-spline 5 x 5

Motion Editing Multiresolution filtering Cascade of lowpass filters Convolve w/ B-spline 5 x 5 filter kernel Subsample image by factor of 2 Until 1 pixel - DC component Bandpass pyramid Repeatedly differencing 2 successive lowpass images Expand subtracted images Image reconstruction: add up all bandpass plus DC Rick Parent - CIS 681

Motion Editing Motion Low frequency; general gross motion High frequency; detail, subtleties, noise Each

Motion Editing Motion Low frequency; general gross motion High frequency; detail, subtleties, noise Each motion parameter => signal Calculate lowpass & bandpass Over # frames by expanding filter Lowpass G 0: solid G 3: dashed Bandpass L 0: solid L 2: dashed Rick Parent - CIS 681

Motion Editing 1. Calculate lowpass sequence 2. Calculate bandpass filter bands 3. Adjust gains

Motion Editing 1. Calculate lowpass sequence 2. Calculate bandpass filter bands 3. Adjust gains and multiply Lk’s by gain values 4. Blend bands 5. Reconstruct signal Rick Parent - CIS 681

Motion Editing Adjusting gains of bands for joint positions Rick Parent - CIS 681

Motion Editing Adjusting gains of bands for joint positions Rick Parent - CIS 681

Motion Editing Multitarget interpolation (like Motion Warping) Rick Parent - CIS 681

Motion Editing Multitarget interpolation (like Motion Warping) Rick Parent - CIS 681

Motion Editing Multitarget motion interpolation using frequency bands Rick Parent - CIS 681

Motion Editing Multitarget motion interpolation using frequency bands Rick Parent - CIS 681

Motion Editing Blending between two walks without (top) and with (bottom) correspondence in time

Motion Editing Blending between two walks without (top) and with (bottom) correspondence in time Rick Parent - CIS 681

Motion Editing Blending two waves without (top) and with (bottom) corresponence in time Rick

Motion Editing Blending two waves without (top) and with (bottom) corresponence in time Rick Parent - CIS 681

Motion Editing 1. 2. 3. 4. 5. Keyframes Interpolate Adjust Recalculate Apply Rick Parent

Motion Editing 1. 2. 3. 4. 5. Keyframes Interpolate Adjust Recalculate Apply Rick Parent - CIS 681

Motion Editing Example of applying displacement curves Rick Parent - CIS 681

Motion Editing Example of applying displacement curves Rick Parent - CIS 681

Retargeting Assume identical structure Use motion displacements m(t) = m 0(t) + d(t) IK

Retargeting Assume identical structure Use motion displacements m(t) = m 0(t) + d(t) IK to enforce constraints can add High-frequence components Use spacetime constraints Rick Parent - CIS 681

Retargeting Minimize difference from original motion Constraints (kinematic) Joint limits Footplants Point at same

Retargeting Minimize difference from original motion Constraints (kinematic) Joint limits Footplants Point at same place Point on character follows another point 2 points at specified distance Vector between points at specified orientation Rick Parent - CIS 681

Spacetime Constraints Consider spacetime particle Position: x(t) Jet-force: f(t) Motion equation: mx -f -

Spacetime Constraints Consider spacetime particle Position: x(t) Jet-force: f(t) Motion equation: mx -f - mg = 0 Constraints x(t 0) = a x(t 1) = b Minimize Find f such that x satisfies the boundary conditions and R is minimized Numerical solution: sequential quadratic programming Rick Parent - CIS 681

Sequential Quadratic Programming Compute second order Newton-Raphson step in R Compute first order Newton-Raphson

Sequential Quadratic Programming Compute second order Newton-Raphson step in R Compute first order Newton-Raphson step in the C’s Combine by projecting the first onto the null space of the second Requires Jacobian of the constraint function and Hessian of the objective function Final update = Sj + Tj Until C’s = 0 and R at minimum Rick Parent - CIS 681

Linear System Solving Use pseudo inverse Use conjugate gradient to compute the pseudo inverse

Linear System Solving Use pseudo inverse Use conjugate gradient to compute the pseudo inverse Rick Parent - CIS 681

Retargeting Rick Parent - CIS 681

Retargeting Rick Parent - CIS 681

Retargeting Rick Parent - CIS 681

Retargeting Rick Parent - CIS 681

Retargeting Rick Parent - CIS 681

Retargeting Rick Parent - CIS 681

Retargeting Rick Parent - CIS 681

Retargeting Rick Parent - CIS 681