Fast and Accurate Goal- Directed Motion Synthesis For Crowds Mankyu Sung Lucas Kovar Michael Gleicher University of Wisconsin- Madison
The Goal : Motion synthesis for crowds High-level behaviors (Musse 2001, Ucliney 2002, Faranc 1990, Sung 2004, Braun 2003) High-level behaviors (Musse 2001, Ucliney 2002, Faranc 1990, Sung 2004, Braun 2003) Low-level motion synthesis Our goal
The Goal: Motion synthesis for crowds Problem : Constrained motion synthesis Positions, Orientation, Poses, Time duration Requirement Fast performance Accurate meeting constraints High quality motions Collision avoidance Complicated environment Pose Orientation Position Time duration Target Initial
An example
Our approach : Synthesize crowds one individual at a time Motion graphs for low-level synthesis ( Kovar et al. ‘02, Lee et al. ‘02, Arikan and Forsyth ’02, Gleicher et al. ’03) Must adapt to crowds Individual motions must be found very quickly Pure discrete synthesis cannot meet continuous constraints
Adapting Graph based synthesis : Two-level synthesis Coarse search for global path planning Finer search for detailed motion synthesis Quickly find long motions in complex environments Incorporate continuous motion adjustment Discrete search to roughly satisfy constraints Additional displacements for precision Improves speed and accuracy
Contents Related work Synthesis Algorithms Demos Limitation
Related Work (1) Graph based motion synthesis (e.g. Arikan 2002, Arikan 2003, Gleicher 2003, Kovar 2002, Hue 2004, Lee 2002, Lee 2004, Reitsma 2004 ) Connecting discrete finite clips with simple interpolation or displacement mapping -Create new motion strictly by attaching clips → Hard to satisfy constraints exactly - Do not consider crowds.
Related Work (2) Planning Biped Locomotion (Choi 2003) Build a PRM (Probability Roadmap Method) based on sampled footprints configurations. Given initial and target constraint, the PRM is searched to find a path that is able to connect with motion clips. Motions are adjusted to meet the constraints. -The PRM is tightly coupled with motion clips
Related Work (3) Procedural motion synthesis (Bouvier 1997, Boulic 1990, Sun 2001, Boulic 2004) Controllable but not as realistic as motion capture data Motion Blending (Guo 1996, Park 2004, Petteré 2003) Continuous control over trajectory Limited and computationally costly Crowd Modeling (Musse 2001, Ulicny 2002, Farenc 1999) Focus on high-level behaviors Not have constraints to satisfy
Algorithm 1. Rough planning 1. PRM query 2. Fine planning 1. Greedy search 2. Create seed paths 3. If distance > ε Randomly select and replace a clip 4. Joining with adjustment Example Obstacle Initial Target
Algorithm 1. Rough planning 1. PRM query 2. Fine planning 1. Greedy search 2. Create seed motions 3. If distance > ε Randomly select and replace a clip 4. Joining with adjustment Example Obstacle Initial Target waypoints
Algorithm 1. Rough planning 1. PRM query 2. Fine planning 1. Greedy search 2. Create seed motions 3. If distance > ε Randomly select and replace a clip 4. Joining with adjustment Example Obstacle Initial Target waypoints 1 23
Algorithm 1. Rough planning 1. PRM query 2. Fine planning 1. Greedy search 2. Create seed motions 3. If distance > ε Randomly select and replace a clip 4. Joining with adjustment Example Obstacle Initial Target Backward Motion(M b ) Forward Motion(M f ) Initial’
Algorithm 1. Rough planning 1. PRM query 2. Fine planning 1. Greedy search 2. Create seed motions 3. If distance > ε Randomly select and replace a clip 4. Joining with adjustment Forward motions Backward motions > ε Compare all pair of motions and returns minimum cost Cost function : How close are they? C(M f, M b )
Algorithm 1. Rough planning 1. PRM query 2. Fine planning 1. Greedy search 2. Create seed motions 3. If distance > ε Randomly select and replace a clip 4. Joining with adjustment Old Motionsc Old Motions New motions Random select and Replace a clip < ε
Algorithm 1. Rough planning 1. PRM query 2. Fine planning 1. Greedy search 2. Create seed paths 3. If distance > ε Randomly select and replace a clip 4. Joining with adjustment Example Obstacle Initial Target waypoints Joining
Motion adjustment ε Old Motions New motions Old Motions New motions The error is distributed to the both paths
Demos Time constrained demo A theater Box delivery Big crowds on virtual environment
Performance results Example# of agent Duration (sec) AVG Time (sec) Total Time (sec) Time constrained A theater Box delivery Big crowds
Performance results Speed vs. ε Speed vs. avg. distance between characters
Limitation Not optimal May cause some wandering effect Offline Need searching time Performance depends on environment Density of crowds affects on performance The environment (size and complexity) does matter
Acknowledgement Financial support : NSF CCR and CCR Motion donations : House of Moves Hyun Joon Shin for STM system