Download presentation
Published bySophia Bennett Modified over 9 years ago
1
Flexible Automatic Motion Blending with Registration Curves
Lucas Kovar Michael Gleicher University of Wisconsin-Madison
2
Motion Blending Blending combines input motions according to time-varying weights. Interpolation Transitions Continuous Control 1 1 1
3
Automatic Motion Blending
The success of blending depends on the information given about the input motions. What if we’re not given any information? Registration Curves Encapsulate timing, coordinate frame, and constraint relationships Built automatically for arbitrarily many motions (compare with Rose et al. ’98, Park et al. ’02)
4
Outline Overview Building Registration Curves
Blending with Registration Curves Results
5
Outline Overview Building Registration Curves
Blending with Registration Curves Results
6
What is a Registration Curve?
A data structure composed of three elements: Timewarp Curve Timing Coordinate Frame (Root Blending) Alignment Curve Constraint Matches Constraints
7
Registration Curves: Overview
“Straw man” algorithm: linear blending ith blend frame combines ith frame of each input Combine skeletal poses by averaging data values
8
Registration Curves: Overview
9
Outline Overview Building Registration Curves
Blending with Registration Curves Results
10
Building a Registration Curve
A registration curve is composed of three elements, built in order: Timewarp curve Alignment curve Constraint matches
11
Timewarp Curves Each point is a set of corresponding frames
Smooth and strictly increasing: a 1-1 mapping Motion 2 Frame Motion 1 Frame
12
Building Timewarp Curves: Two Motions
Idea: similar poses are more likely to correspond Use the same distance metric as before Make grid of distances; dynamic programming finds minimal-cost path Motion 2 frames Motion 1 frames
13
Dynamic Programming Details
Paths must be “reasonable” valid not strictly increasing not continuous degenerate Can compute path incrementally for better efficiency
14
Fitting the Timewarp Curve
We now have discrete frame correspondenes. Almost a timewarp curve, but not quite. Solution: fit a strictly increasing spline
15
Building Timewarp Curves: More Than Two Motions
Directly generalizing to more motions is costly. For k motions, dynamic timewarping is O(nk) Instead, create pairwise timewarp curves and merge into a single curve. O(k2) Storage is proportional to the number of input frames (not quadratic)
16
Alignment Curves Each point on the timewarp curve gives a set of frames The alignment curve gives transformations that align these frames. “Align”: bodies are centered at the same point and face the same direction.
17
Frame Alignment: Example
18
Building Alignment Curves
Recall: When computing the distance between two frames, we also found an aligning coordinate transformation. Use these to build the alignment curve.
19
Constraint Matches Each motion is labeled with constraints.
Constraint intervals Motion 1 Motion 2 Motion 3 Goal: find sets of logically related constraints.
20
Finding Constraint Matches
Timewarp the constraint intervals Group overlapping constraints, dropping or splitting constraints as needed
21
Outline Overview Building Registration Curves
Blending with Registration Curves Results
22
Blending with Registration Curves
To create a frame of a blend: Select which input frames to combine Position and orient these frames Average skeletal parameters Determine constraints
23
Choosing Frames to Combine
Blend frames are generated in order. For each, a point is chosen on the timewarp curve. Motion 2 Frame Motion 1 Frame Each motion “votes” on how fast to travel Select speed so motion plays at natural rate Average votes based on blend weights
24
Positioning and Orienting Frames
The alignment curve arranges frames into a coherent block that may be rigidly transformed.
25
Positioning and Orienting Frames
Each motion votes on a transformation based on the previous blend frame’s position/orientation + = Intuitively, this is similar to blending root velocities relative to the local coordinate frame.
26
Creating the Blend Frame
1. Merge skeleton poses Average skeletal parameters (averaging and normalizing quaternions works well in practice) 2. Find Constraints Average constraint intervals for each constraint match Motion 2 frames Motion 1 frames
27
Results Building a registration curve for 18 motions (10s each; 1800 frames total) took 3.3s. Storage is 1%-2% of original data. Blends of ~10 motions can be done at ~1000fps.
28
Outline Overview Building Registration Curves
Blending with Registration Curves Results
29
Results
30
Discussion Blending is a powerful and general method.
It usually works when motions are reasonably similar, but no guarantees. Registration curves make it quick and easy to create and experiment with blends From original data to creating blends in a few seconds Essential for large data sets (see next topic)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.