Interactive Control of Avatars Animated with Human Motion Data By: Jehee Lee, Jinxiang Chai, Paul S. A. Reitsma, Jessica K. Hodgins, Nancy S. Pollard Presented.

Slides:



Advertisements
Similar presentations
Heuristic Search techniques
Advertisements

22C:19 Discrete Math Graphs Fall 2014 Sukumar Ghosh.
Texture Synthesis on [Arbitrary Manifold] Surfaces Presented by: Sam Z. Glassenberg* * Several slides borrowed from Wei/Levoy presentation.
Data Mining Cluster Analysis: Advanced Concepts and Algorithms
Layered Acting for Character Animation By Mira Dontcheva Gary Yngve Zoran Popović presented by Danny House SIGGRAPH 2003.
Face Alignment with Part-Based Modeling
Verbs and Adverbs: Multidimensional Motion Interpolation Using Radial Basis Functions Presented by Sean Jellish Charles Rose Michael F. Cohen Bobby Bodenheimer.
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
Chapter 7 – Classification and Regression Trees
Automating Graph-Based Motion Synthesis Lucas Kovar Michael Gleicher University of Wisconsin-Madison.
GS 540 week 6. HMM basics Given a sequence, and state parameters: – Each possible path through the states has a certain probability of emitting the sequence.
Model: Parts and Structure. History of Idea Fischler & Elschlager 1973 Yuille ‘91 Brunelli & Poggio ‘93 Lades, v.d. Malsburg et al. ‘93 Cootes, Lanitis,
1Notes  Handing assignment 0 back (at the front of the room)  Read the newsgroup!  Planning to put 16mm films on the web soon (possibly tomorrow)
Lecture 6 Image Segmentation
Introduction to Data-driven Animation Jinxiang Chai Computer Science and Engineering Texas A&M University.
Lecture 21: Spectral Clustering
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi Most slides courtesy.
Animation From Motion Capture Motion Capture Assisted Animation: Texturing and Synthesis Kathy Pullen Chris Bregler Motion Capture Assisted Animation:
Data Mining Cluster Analysis: Advanced Concepts and Algorithms Lecture Notes for Chapter 9 Introduction to Data Mining by Tan, Steinbach, Kumar © Tan,Steinbach,
UNC Chapel Hill M. C. Lin Reading Assignments Principles of Traditional Animation Applied to 3D Computer Animation, by J. Lasseter, Proc. of ACM SIGGRAPH.
Semantic text features from small world graphs Jure Leskovec, IJS + CMU John Shawe-Taylor, Southampton.
Basic Data Mining Techniques Chapter Decision Trees.
Face Poser: Interactive Modeling of 3D Facial Expressions Using Model Priors Manfred Lau 1,3 Jinxiang Chai 2 Ying-Qing Xu 3 Heung-Yeung Shum 3 1 Carnegie.
Assignment 2 Motion Graph Date: 2006/10/24 TA: 彭任右 EC 229B Ext:
Animating Human Athletes By J.K. Hodgkins and W.L. Wooten Arjun Rihan CS 99K: Digital Actors.
Interactive Control of Avatars Animated with Human Motion Data Jehee Lee Carnegie Mellon University Seoul National University Jehee Lee Carnegie Mellon.
1cs426-winter-2008 Notes  Text: End of 7.8 discusses flocking 7.13 discusses skinning 7.10 discusses motion capture  Remember online course evaluations.
Behavior Planning for Character Animation Manfred Lau and James Kuffner Carnegie Mellon University.
Dynamic Response for Motion Capture Animation Victor B. Zordan Anna Majkowska Bill Chiu Matthew Fast Riverside Graphics Lab University of California, Riverside.
Vision-based Control of 3D Facial Animation Jin-xiang Chai Jing Xiao Jessica Hodgins Carnegie Mellon University.
A Novel 2D To 3D Image Technique Based On Object- Oriented Conversion.
Network analysis and applications Sushmita Roy BMI/CS 576 Dec 2 nd, 2014.
Computer Vision - A Modern Approach Set: Segmentation Slides by D.A. Forsyth Segmentation and Grouping Motivation: not information is evidence Obtain a.
Radial Basis Function Networks
Multimedia Design. Table of Content 1.Navigational structures 2.Storyboard 3.Multimedia interface components 4.Tips for interface design.
Constraints-based Motion Planning for an Automatic, Flexible Laser Scanning Robotized Platform Th. Borangiu, A. Dogar, A. Dumitrache University Politehnica.
Inductive learning Simplest form: learn a function from examples
Chapter 9 – Classification and Regression Trees
Motion Editing (Geometric and Constraint-Based Methods) Jehee Lee.
1 CSE 980: Data Mining Lecture 17: Density-based and Other Clustering Algorithms.
Clustering Spatial Data Using Random Walk David Harel and Yehuda Koren KDD 2001.
3D Animation 5. Character Animation Dr. Ashraf Y. Maghari Information Technology Islamic University of Gaza Ref. Book: The Art of Maya.
Automated Construction of Parameterized Motions Lucas Kovar Michael Gleicher University of Wisconsin-Madison.
A Clustering Algorithm based on Graph Connectivity Balakrishna Thiagarajan Computer Science and Engineering State University of New York at Buffalo.
University of Amsterdam Search, Navigate, and Actuate - Qualitative Navigation Arnoud Visser 1 Search, Navigate, and Actuate Qualitative Navigation.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
Vision-based human motion analysis: An overview Computer Vision and Image Understanding(2007)
Yoonsang Lee Sungeun Kim Jehee Lee Seoul National University Data-Driven Biped Control.
CS-378: Game Technology Lecture #13: Animation Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
Roee Litman, Alexander Bronstein, Michael Bronstein
Interactive Control of Avatars Animated with Human Motion Data Jehee Lee Carnegie Mellon University Seoul National University Jehee Lee Carnegie Mellon.
Chapter 10 Graph Theory Eulerian Cycle and the property of graph theory 10.3 The important property of graph theory and its representation 10.4.
1cs426-winter-2008 Notes  Will add references to splines on web page.
Graphs A graphs is an abstract representation of a set of objects, called vertices or nodes, where some pairs of the objects are connected by links, called.
Flexible Automatic Motion Blending with Registration Curves
Motion Graphs By Lucas Kovar, Michael Gleicher, and Frederic Pighin Presented by Phil Harton.
Randomized Kinodynamics Planning Steven M. LaVelle and James J
1cs426-winter-2008 Notes. 2 Kinematics  The study of how things move  Usually boils down to describing the motion of articulated rigid figures Things.
The Canopies Algorithm from “Efficient Clustering of High-Dimensional Data Sets with Application to Reference Matching” Andrew McCallum, Kamal Nigam, Lyle.
Understanding Naturally Conveyed Explanations of Device Behavior Michael Oltmans and Randall Davis MIT Artificial Intelligence Lab.
Network Partition –Finding modules of the network. Graph Clustering –Partition graphs according to the connectivity. –Nodes within a cluster is highly.
Dr. Chen, Data Mining  A/W & Dr. Chen, Data Mining Chapter 3 Basic Data Mining Techniques Jason C. H. Chen, Ph.D. Professor of MIS School of Business.
Spanning Trees Dijkstra (Unit 10) SOL: DM.2 Classwork worksheet Homework (day 70) Worksheet Quiz next block.
Clustering [Idea only, Chapter 10.1, 10.2, 10.4].
Qualitative Curve Descriptions
Reading Assignments Principles of Traditional Animation Applied to 3D Computer Animation, by J. Lasseter, Proc. of ACM SIGGRAPH 1987 Computer Animation:
CIS 488/588 Bruce R. Maxim UM-Dearborn
Computer Graphics Lecture 15.
Motion Graphs Davey Krill May 3, 2006.
Presentation transcript:

Interactive Control of Avatars Animated with Human Motion Data By: Jehee Lee, Jinxiang Chai, Paul S. A. Reitsma, Jessica K. Hodgins, Nancy S. Pollard Presented by: Nathan Hoobler

Why do we use motion capture? Get realistic behavior “for free” An easy interface for generating control for high DOF models Can capture behavior far too complicated to model by hand  Kung Fu, Acrobatics, other stylized motion

What is the problem with motion capture? Motion capture data is inherently complicated  Usually far more degrees of freedom than can be easily controlled by hand Not trivial to synthesize new behaviors  Transitions between different types of motion are hard  Often there are redundant behaviors

What does this paper do? Identify distinct behaviors in the motion capture data Allow intuitive control of high DOF data with a small DOF interface Allow seamless transitions between different behaviors

System Overview Loosely-patterned data comes in A probabilistic transition matrix is built Simplified transition graph is used to determine motion

System Overview Various datasets come in

What kind of data can we use? Long, consistent motion recordings are required for good transition generation Does not handle sensor noise well

System Overview Various datasets come in Low-Level transitions are generated

Low-Level Representation At this level, the system is very similar to the Video Textures technique  For each frame, find any other frames in the dataset that are similar  Calculate the probability of a transition from frame j to frame k based on how closely the two frames match

Low-Level: Building the Matrix The probability of transitioning from frame i to frame j is computed as Where D(i, j) is the weighted “distance” from frame i to frame j And d(pi, pj) is

So, how efficient is this? Since the matrix is just a 2D mapping from any one frame to any other, the number of transitions is O(n^2)…

So, how efficient is this? Since the matrix is just a 2D mapping from any one frame to any other, the number of transitions is O(n^2)… … For frames per dataset (!)

So, how efficient is this? Since the matrix is just a 2D mapping from any one frame to any other, the number of transitions is O(n^2)… … For frames per dataset (!) We need to reduce the number of transitions

Low-Level: Pruning We can take advantage of a few useful features of the Motion Capture data  Contact with the world should be similar between transitioning frames  Any interesting data is going to have mostly low- probability transitions  There are many frames that are very similar to others  We want to avoid going down dead-end routes

Low-Level: Pruning (Contact) Criteria 1: Contact  Even if frames are very similar, so not transition if the contact states are different  (Strict interpretation) Only allow transitions during contact states

Low-Level: Pruning (Likelihood) Criteria 2: Likelihood  Throw away transitions whose probability is less than some threshold value

Low-Level: Pruning (Similarity) Criteria 3: Similarity  If a frame has many transitions to states that are all very similar to each other as well, throw away all but the best fitting transition

Low-Level: Pruning (SCC) Criteria 4: Connectedness  In theory, we want to avoid transitions that don’t lead to well-connected nodes  Only add transitions that remain within the largest Strongly Connected Component of the graph  “A maximal subgraph of a directed graph such that for every pair of vertices u, v in the subgraph, there is a directed path from u to v and a directed path from v to u.” (Mathworld)

Low-Level: Blending Need interpolation to avoid discontinuities Problem: sharp changes are allowed at contact points

Low-Level: Blending Need interpolation to avoid discontinuities Problem: sharp changes are allowed at contact points Solution: use a non-linear blend function centered on the contact point and a moving average

Low-Level: Blending Case 1: Follow the incoming frame Case 2: Follow the outgoing frame Case 3: Choose the side closest to the contact point Case 4: Just let the foot slide; it’ll look bad no matter what

Low-Level: Coordinate System Fixed/Global versus Relative  Each has an advantage, depending on the situation  The paper uses both, depending on the example

Fixed/Global Coordinates Advantages  Good for spatial data (the recording environment corresponds strongly with the simulated environment) Disadvantages  Not good for synthesizing motion in new environments

Relative Coordinates Advantages  Much easier to synthesize motions from anywhere in the environment into new behaviors Disadvantages  Ignores orientation and position in three- space, which may be important for some actions

High-Level Representation Low-level representation is far too complicated to interact with Simplify the data by grouping like frames into clusters For each frame, find the possible clusters that can be transitioned to in the near term

High-Level Representation Various datasets come in Low-Level transitions are generated Frames are grouped into clusters

Building Clusters We want a simplified data set  Weight important joints (arms, legs, pelvis, etc.) high  Weight less important joints (neck, etc.) low Using weighted values, find similar frames and group them into clusters

High-Level Representation Various datasets come in Low-Level transitions are generated Frames are grouped into clusters A transition tree is built for each frame

Building the Cluster Forest Each frame has a tree of clusters representing its valid transitions  Find the most probable transition from the current frame to another cluster  If the number of frames required to reach that cluster is within a time threshold, add it to the forest  Repeat

Caveats about Clustering Clustering is not always extremely useful Mostly a user interface issue  Useful for directly selecting the next motion (Direct Choice)  Not as useful for procedurally determining behavior (Path Sketching, Mimic)

Control Methods Several interface methods were used, depending on how well they suited the example  Direct Choice  Sketching  Video-Capture

Direct Choice Display valid states for the avatar, and let the user choose

Path Sketching Allow the user to specify a path to follow Find motions that will put the avatar in the right place

Video Mimic Determine limb and body orientation from video input Find closest matching frame(s), and imitate the user

Results Terrain  Path Sketching Step Stool  Path Sketching  Direct Choice Playground  Direct Choice

Any Questions?