Niels Mulder & Floris de Vries Motion Grammars for Character Animation Kyunglyul Hyun, Kyungho Lee, and Jehee Lee Niels Mulder & Floris de Vries
Overview Goal: Creating a (context-free) grammar to describe and animate basketball. Motion grammar Multi-Level Markov Chain Monte Carlo Tactic board
Related work
Constrained optimization The continuous editing of motion is usually formulated as constrained optimization, which minimizes the deviation from the original motion data subject to user-specified constraints and requirements. This formulation has been effective for a wide range of problems, such as retargeting motion to new characters [Gle98], interactive manipulation [LS99], blending a family of similar motions [RCB98], statistical modeling [MCC09,MC12], and incorporating physics-based objectives and constraints [LHP05]. The idea has further been explored to deal with multiple interacting characters in the context of interactive manipulation [KLLT08,KHKL09, KSKL14] Gleicher, M. (1998, July). Retargetting motion to new characters. In Proceedings of the 25th annual conference on Computer graphics and interactive techniques (pp. 33-42). ACM. Kim, M., Hyun, K., Kim, J., & Lee, J. (2009). Synchronized multi-character motion editing. ACM transactions on graphics (TOG), 28(3), 79.
Data structures The combinatorial planning of action sequences often requires an efficient data structure to store and search motion data. The most popular structure is a motion graph [LCR⇤02,KGP02], which is essentially a finite state machine encapsulating the connectivity among motion fragments. The concept of motion graphs has further been elaborated to cope with families of parameterized motions [SO06]. Good segmentation and clustering of motion fragments are key ingredients of building effective motion data structures [BSP⇤04, BCvdPP08]. Provided that such a structure is built, synthesizing novel motion sequences entails combinatorial searching through the connectivity among motion fragments. Temporal sequencing of motion fragments has been addressed by using state-space search [LCR⇤02, KGP02, SH07], dynamic programming [AFO03], min-max search [SKY12], and policy learning [MP07, TLP07]. State-space search methods are closely related to the path planning of three-dimensional characters in highly-constrained and dynamically-changing environments [CKHL11,LLKP11]. Lee, J., Chai, J., Reitsma, P. S., Hodgins, J. K., & Pollard, N. S. (2002, July). Interactive control of avatars animated with human motion data. In ACM Transactions on Graphics (ToG) (Vol. 21, No. 3, pp. 491-500). ACM. Beaudoin, P., Coros, S., van de Panne, M., & Poulin, P. (2008, July). Motion-motif graphs. In Proceedings of the 2008 ACM SIGGRAPH/Eurographics Symposium on Computer Animation (pp. 117-126). Eurographics Association.
Continuous optimization and combinatorial planning integration Lee, Y., Wampler, K., Bernstein, G., Popović, J., & Popović, Z. (2010, December). Motion fields for interactive character locomotion. In ACM Transactions on Graphics (TOG) (Vol. 29, No. 6, p. 138). ACM.
Motion patches Kim, M., Hwang, Y., Hyun, K., & Lee, J. (2012, July). Tiling motion patches. In Proceedings of the ACM SIGGRAPH/Eurographics Symposium on Computer Animation (pp. 117-126). Eurographics Association.
Human action grammar Park, J. P., Lee, K. H., & Lee, J. (2011, December). Finding syntactic structures from human motion data. In Computer Graphics Forum (Vol. 30, No. 8, pp. 2183-2193). Oxford, UK: Blackwell Publishing Ltd.
Grammars
Motion Grammar
Motion Grammar Instantiation Semantics Plausability
Motion Grammar Instantiation Semantics Plausability
Motion Grammar Instantiation Semantics Plausability gparse is a binary boolean function, of which value is 1 if the string Xi has a parse tree and 0 otherwise guser: the following equation evaluates how well X matches the description of an individual player.
Tactic Board
Probability distribution
Multi-Level Markov Chain Monte Carlo
Markov Chain Monte Carlo
Algorithm Metropolis-Hastings
Random walks Motion clips Parse tree subtree Random clips Mean probability of error of children
Parallel Tempering Conversion speed Jump size <> Local extrema frequency
Critical Analysis
The Good Novel idea Good explanation of some the background Structure Good balance of terminology and expertise Pseudo-code, appendix
The Bad Slow Use cases unclear Language structure Weird setup difference Figure (log but no log?) Self-praising without actually testing
Future Work Inferring motion grammars automatically Practical implementation of combination of frameworks Bringing it to real-time
?