Title: Automating Graph-Based Motion Synthesis
1Automating Graph-Based Motion Synthesis
- Lucas Kovar
- Michael Gleicher
- University of Wisconsin-Madison
2Working with Large Data Sets
- Goal convert motion data into a usable form.
Motion data
Motion
User specifications
Motion model
- Can we automate this?
- Must preserve realism and provide control
3Graph-Based Synthesis
- Motion data is static clips of fixed length. How
can we make long sequences of motion?
Typically one uses move trees, built by hand.
walk
stand
Edge clip Node choice point Graph walk
motion
stop
start walking
How can we automate this?
4Outline
- Motion graphs
- Snap-together motion
5Outline
- Motion graphs
- Building motion graphs
- Using motion graphs
- Snap-together motion
6Motion Graphs
Idea automatically add transitions to a data set.
Motion 1
Motion 1
Motion 2
Motion 2
Quality Only transition when motions are similar
(but wherever they are similar).
Control Search for optimal sequences of edges
7Related Work
- Statistical models
- Brand and Hertzmann 01, Li et al. 02
- Looser quality guarantees, less focus on control
- Other motion representations
- Simulation (Lamouret and van de Panne 96)
- Video (Shödl et al. 01, 02)
- Concurrent work
- Arikan and Forsyth 02, Lee et al. 02
8Motion Graphs An Example
9Adding Transitions
- For arbitrary motions, transitions are hard.
?
Create transitions where motions are similar.
10Finding Similar Frames
- Need derivatives (velocity, acceleration, etc.)
- Joint angles are hard to compare directly
- Must account for coordinate invariance
- Effect of perturbation (e.g., rotate shoulder)
depends on pose
- Different camera ? different motion!
11Distance Metric
Derivative information
Initial frames
Align coordinate systems
Body shape, not joint angles
12Finding Transition Points
- Every pair of frames now has a distance.
Motion 1 Frames
Motion 2 Frames
Transitions are local minima below a threshold.
13Finding Transition Points
Transition thresholds control quality vs.
flexibility tradeoff.
Threshold 0 cm
Threshold 8 cm
Threshold 16 cm
14Creating Transitions
Motion data is interpolated with C1 continuity.
Interpolation weights
Result
Initial signals
Constraints are also blended and enforced as a
post-process (Kovar et al. 02).
15Outline
- Motion graphs
- Building motion graphs
- Using motion graphs
- Snap-together motion
16Interacting With Motion Graphs
- Any sequence of edges is a motion!
- Control is harder motion graphs are complex.
Find graph walks that minimize a cost function.
17Searching for Motion
Incrementally search for the optimal motion.
Branch-and-bound speeds the search.
18Path Synthesis
Goal extract motion that follows a path.
Users path ( )
Motions path ( )
Minimize
Can also restrict motion style.
19Results
20Outline
- Motion graphs
- Snap-together motion
21Motion Graphs Advantages/Drawbacks
Motion graphs allow one to create lengthy,
complicated motions with little effort.
- But, their complicated structure is problematic.
- Must use costly search methods
- Synthesized motion is only a best fit
- Graph is hard to reason about
22Structure vs. Unstructured Graphs
23Snap-Together Motion (STM)
Idea help build graphs with simple structure.
- Control small number of hub nodes
- Quality smooth transitions, constraints enforced
- Automation build hubs just by selecting a pose
24STM Preview
25STM Overview
- Find groups of similar frames (match sets) and
make multi-way transitions - Pick a seed frame or have the system suggest
one - Find similar frames and add displacement maps so
motions are identical - Ensure constraints remain enforced
26STM Overview
Original Motion
Snappable Motion
Synthesized Motion
27Creating Match Sets
- Given a pose, find similar poses
- Build distance grid (same metric as before)
- Pose row find 1D local minima below threshold
28Making Transitions
- Goal make each frame in the match set identical.
Add displacement maps so each frame has the
average pose and velocity.
29Making Transitions(cont.)
- Use a two-level displacement map
- Coarse knots for pose
- Denser knots for velocity
Original motion
Posture fitting
Velocity fitting
30Enforcing Constraints
- Two-step process to preserve pose at each hub
- Enforce constraints on frames in the match set.
- Fix these frames, enforce in rest of each clip.
Problem conflicting constraints
Solution group hub nodes with conflicts and find
single constraint position over group.
31Results
32Conclusion
- Simplify graph-based synthesis by automating the
identification and tuning of transitions.