Presentation is loading. Please wait.

Presentation is loading. Please wait.

Flexible Automatic Motion Blending with Registration Curves

Similar presentations


Presentation on theme: "Flexible Automatic Motion Blending with Registration Curves"— Presentation transcript:

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)


Download ppt "Flexible Automatic Motion Blending with Registration Curves"

Similar presentations


Ads by Google