Animation CS 551 / 651 Chenney/Forsyth Paper Chenney & Forsyth, 2000.

Slides:



Advertisements
Similar presentations
Active Appearance Models
Advertisements

Partially Observable Markov Decision Process (POMDP)
Monte Carlo Methods and Statistical Physics
SE503 Advanced Project Management Dr. Ahmed Sameh, Ph.D. Professor, CS & IS Project Uncertainty Management.
Markov-Chain Monte Carlo
Probability theory and average-case complexity. Review of probability theory.
Path Following & Motion Control Stephen J. Guy Stephen J. Guy.
CHAPTER 16 MARKOV CHAIN MONTE CARLO
Bayesian Reasoning: Markov Chain Monte Carlo
Bayesian statistics – MCMC techniques
Edge Detection Enhancement Using Gibbs Sampler
1 Vertically Integrated Seismic Analysis Stuart Russell Computer Science Division, UC Berkeley Nimar Arora, Erik Sudderth, Nick Hay.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 24: Motion Capture Ravi Ramamoorthi Most slides courtesy.
Computational statistics 2009 Random walk. Computational statistics 2009 Random walk with absorbing barrier.
The University of Texas at Austin, CS 395T, Spring 2008, Prof. William H. Press IMPRS Summer School 2009, Prof. William H. Press 1 4th IMPRS Astronomy.
Machine Learning CUNY Graduate Center Lecture 7b: Sampling.
1 Hybrid Agent-Based Modeling: Architectures,Analyses and Applications (Stage One) Li, Hailin.
Interactive Manipulation of Rigid Body Simulations Presenter : Chia-yuan Hsiung Proceedings of SIGGRAPH 2000 Jovan Popovi´c, Steven M. Seitz, Michael.
Single Point of Contact Manipulation of Unknown Objects Stuart Anderson Advisor: Reid Simmons School of Computer Science Carnegie Mellon University.
Planning operation start times for the manufacture of capital products with uncertain processing times and resource constraints D.P. Song, Dr. C.Hicks.
Computer vision: models, learning and inference Chapter 10 Graphical Models.
Monte Carlo Methods in Partial Differential Equations.
Introduction to Monte Carlo Methods D.J.C. Mackay.
Bayes Factor Based on Han and Carlin (2001, JASA).
Random Number Generators CISC/QCSE 810. What is random? Flip 10 coins: how many do you expect will be heads? Measure 100 people: how are their heights.
Computational Stochastic Optimization: Bridging communities October 25, 2012 Warren Powell CASTLE Laboratory Princeton University
Free energies and phase transitions. Condition for phase coexistence in a one-component system:
Chapter 4 – Modeling Basic Operations and Inputs  Structural modeling: what we’ve done so far ◦ Logical aspects – entities, resources, paths, etc. 
Machine Learning Lecture 23: Statistical Estimation with Sampling Iain Murray’s MLSS lecture on videolectures.net:
Physics 270 – Experimental Physics. Standard Deviation of the Mean (Standard Error) When we report the average value of n measurements, the uncertainty.
1 Lesson 8: Basic Monte Carlo integration We begin the 2 nd phase of our course: Study of general mathematics of MC We begin the 2 nd phase of our course:
Monte Carlo Methods Versatile methods for analyzing the behavior of some activity, plan or process that involves uncertainty.
Fast Simulators for Assessment and Propagation of Model Uncertainty* Jim Berger, M.J. Bayarri, German Molina June 20, 2001 SAMO 2001, Madrid *Project of.
Copyright © 2010, 2007, 2004 Pearson Education, Inc. Chapter 11 Understanding Randomness.
1 Markov Decision Processes Infinite Horizon Problems Alan Fern * * Based in part on slides by Craig Boutilier and Daniel Weld.
Monté Carlo Simulation  Understand the concept of Monté Carlo Simulation  Learn how to use Monté Carlo Simulation to make good decisions  Learn how.
Section 10.1 Confidence Intervals
CS-378: Game Technology Lecture #13: Animation Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
Lesson 4: Computer method overview
1 Markov Decision Processes Infinite Horizon Problems Alan Fern * * Based in part on slides by Craig Boutilier and Daniel Weld.
Chenney/Forsyth Paper Chenney & Forsyth, 2000 AI CS 416.
The famous “sprinkler” example (J. Pearl, Probabilistic Reasoning in Intelligent Systems, 1988)
1 OUTPUT ANALYSIS FOR SIMULATIONS. 2 Introduction Analysis of One System Terminating vs. Steady-State Simulations Analysis of Terminating Simulations.
Optical Flow. Distribution of apparent velocities of movement of brightness pattern in an image.
An Introduction to Markov Chain Monte Carlo Teg Grenager July 1, 2004.
De novo discovery of mutated driver pathways in cancer Discussion leader: Matthew Bernstein Scribe: Kun-Chieh Wang Computational Network Biology BMI 826/Computer.
CS 188: Artificial Intelligence Bayes Nets: Approximate Inference Instructor: Stuart Russell--- University of California, Berkeley.
CS246 Latent Dirichlet Analysis. LSI  LSI uses SVD to find the best rank-K approximation  The result is difficult to interpret especially with negative.
CSC321 Lecture 5 Applying backpropagation to shape recognition Geoffrey Hinton.
CS774. Markov Random Field : Theory and Application Lecture 15 Kyomin Jung KAIST Oct
Lecture Fall 2001 Controlling Animation Boundary-Value Problems Shooting Methods Constrained Optimization Robot Control.
1 Chapter 8: Model Inference and Averaging Presented by Hui Fang.
Computer Performance Modeling Dirk Grunwald Prelude to Jain, Chapter 12 Laws of Large Numbers and The normal distribution.
Kevin Stevenson AST 4762/5765. What is MCMC?  Random sampling algorithm  Estimates model parameters and their uncertainty  Only samples regions of.
Spacetime Constraints Chris Moore CS 552. Purpose Physically Accurate Realistic Motion.
Computational Physics (Lecture 11) PHY4061. Variation quantum Monte Carlo the approximate solution of the Hamiltonian Time Independent many-body Schrodinger’s.
CS498-EA Reasoning in AI Lecture #19 Professor: Eyal Amir Fall Semester 2011.
Markov Chain Monte Carlo in R
Physically-Based Motion Synthesis in Computer Graphics
Advanced Statistical Computing Fall 2016
Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 12
Reinforcement Learning (1)
Markov chain monte carlo
Markov Networks.
Latent Dirichlet Analysis
Multidimensional Integration Part I
Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 12
Intelligent Systems (AI-2) Computer Science cpsc422, Lecture 12
Presentation transcript:

Animation CS 551 / 651 Chenney/Forsyth Paper Chenney & Forsyth, 2000

Results Applications Atoms: 200 spheres and 100 water molecules in divided boxAtoms: 200 spheres and 100 water molecules in divided box Cars: 4 multibody vehicles and 400 pendulaCars: 4 multibody vehicles and 400 pendula Robots: 20 eight-link manipulators throwing blocksRobots: 20 eight-link manipulators throwing blocks Avalanche: 300 rocks tumbling down mountainsideAvalanche: 300 rocks tumbling down mountainsideApplications Atoms: 200 spheres and 100 water molecules in divided boxAtoms: 200 spheres and 100 water molecules in divided box Cars: 4 multibody vehicles and 400 pendulaCars: 4 multibody vehicles and 400 pendula Robots: 20 eight-link manipulators throwing blocksRobots: 20 eight-link manipulators throwing blocks Avalanche: 300 rocks tumbling down mountainsideAvalanche: 300 rocks tumbling down mountainside

Results Note average integration step vs. time between discontinuitiesNote average integration step vs. time between discontinuities

Results Atoms for 2 seconds Average integration stepAverage integration step –Conservative advancement slows down Atoms for 2 seconds Average integration stepAverage integration step –Conservative advancement slows down

Results Atoms for 2 seconds Total “work done” per simulated objectTotal “work done” per simulated object –Retroactive detection repeats a lot of work Atoms for 2 seconds Total “work done” per simulated objectTotal “work done” per simulated object –Retroactive detection repeats a lot of work

Results Total time 100 atoms100 atoms –RD-1/30 = 0.142, TW = 0.147, CA = atoms200 atoms –RD -1/30 = 2.61, TW =.388, CA = 4.74 Total time 100 atoms100 atoms –RD-1/30 = 0.142, TW = 0.147, CA = atoms200 atoms –RD -1/30 = 2.61, TW =.388, CA = 4.74

Inspect the title Sampling Plausible Solutions to Multi-body Constraint Problems What’s the emphasis of this paper? Sampling Plausible Solutions to Multi-body Constraint Problems What’s the emphasis of this paper?

Randomness Many details are ignored by simulations Randomness will replace these details with something that is good enough (plausible)Randomness will replace these details with something that is good enough (plausible) Do you agree? A driving simulator with a random approximation to a bumpy road will better prepare its users for driving on a real roadA driving simulator with a random approximation to a bumpy road will better prepare its users for driving on a real road Many details are ignored by simulations Randomness will replace these details with something that is good enough (plausible)Randomness will replace these details with something that is good enough (plausible) Do you agree? A driving simulator with a random approximation to a bumpy road will better prepare its users for driving on a real roadA driving simulator with a random approximation to a bumpy road will better prepare its users for driving on a real road

Randomness Multiple paths is a good thing examplesexamples Multiple paths is a good thing examplesexamples Multiple paths is a bad thing examplesexamples Multiple paths is a bad thing examplesexamples

Finding a place for uncertainty Feed-forward simulations Where?Where? Optimal (goal-oriented) simulations What trouble do they cause?What trouble do they cause? Feed-forward simulations Where?Where? Optimal (goal-oriented) simulations What trouble do they cause?What trouble do they cause?

Incorporating Uncertainty p w (A) = probability animation A would occur in the world non-negativenon-negative finite integral over domainfinite integral over domain unnormalizedunnormalizedExample: A ball bounces on flat table i times withA ball bounces on flat table i times with –normal vector mean at 0 degrees –standard deviation 10 degrees p w (A) = probability animation A would occur in the world non-negativenon-negative finite integral over domainfinite integral over domain unnormalizedunnormalizedExample: A ball bounces on flat table i times withA ball bounces on flat table i times with –normal vector mean at 0 degrees –standard deviation 10 degrees

Introducing constraints The randomness must not interfere with constraints ExamplesExamples We now want p w (A | C)We now want p w (A | C) The randomness must not interfere with constraints ExamplesExamples We now want p w (A | C)We now want p w (A | C) The ball must start here and land thereThe ball must start here and land there The ball must go through this pointThe ball must go through this point The initial acceleration must be fooThe initial acceleration must be foo The ball must start here and land thereThe ball must start here and land there The ball must go through this pointThe ball must go through this point The initial acceleration must be fooThe initial acceleration must be foo

Ball example Evaluating p w (A | C) Evaluating p w (A | C) Constraints

Ball example Evaluating p w (A | C) Evaluating p w (A | C)

Ball example Trial and error is bound to fail Easy to start with constraint satisfaction and insert intermediate bounces (but are they plausible)Easy to start with constraint satisfaction and insert intermediate bounces (but are they plausible) Easy to model plausible bounces (but will they satisfy constraints)Easy to model plausible bounces (but will they satisfy constraints) Sampling from p w (A|C) is too difficult Trial and error is bound to fail Easy to start with constraint satisfaction and insert intermediate bounces (but are they plausible)Easy to start with constraint satisfaction and insert intermediate bounces (but are they plausible) Easy to model plausible bounces (but will they satisfy constraints)Easy to model plausible bounces (but will they satisfy constraints) Sampling from p w (A|C) is too difficult

Loosening requirements p w (A): probability A occurs in real world p(A): probability A occurs in world with relaxed constraints (maybe not realistic) p c (A) = prob A satisfies constraintsp c (A) = prob A satisfies constraints Removed conditional probabilityRemoved conditional probability p w (A): probability A occurs in real world p(A): probability A occurs in world with relaxed constraints (maybe not realistic) p c (A) = prob A satisfies constraintsp c (A) = prob A satisfies constraints Removed conditional probabilityRemoved conditional probability

Ball example p w (A) p c (A) p w (A) p c (A) Gaussian function defined on final position of ball, d

Ball example Sampling Select animation, A, with high probabilitySelect animation, A, with high probability Select animation, A, from set with high probabilitiesSelect animation, A, from set with high probabilitiesSampling Select animation, A, with high probabilitySelect animation, A, with high probability Select animation, A, from set with high probabilitiesSelect animation, A, from set with high probabilities

Markov Chain Monte Carlo Markov chain Given a sequence of events, the present state is only dependent on the preceding state and independent of the previous statesGiven a sequence of events, the present state is only dependent on the preceding state and independent of the previous states –Only the present influences the future –The past doesn’t influence the future –A random walk (why?) Monte Carlo Using random numbers to solve a problemUsing random numbers to solve a problem Markov chain Given a sequence of events, the present state is only dependent on the preceding state and independent of the previous statesGiven a sequence of events, the present state is only dependent on the preceding state and independent of the previous states –Only the present influences the future –The past doesn’t influence the future –A random walk (why?) Monte Carlo Using random numbers to solve a problemUsing random numbers to solve a problem

MCMC for animations Identify degrees of freedom What variables are you looking to solve for?What variables are you looking to solve for? –Normal vectors on table, friction over surface, … –The random variables Iteratively search for good values of these variablesIteratively search for good values of these variables Identify degrees of freedom What variables are you looking to solve for?What variables are you looking to solve for? –Normal vectors on table, friction over surface, … –The random variables Iteratively search for good values of these variablesIteratively search for good values of these variables

MCMC Algorithm Compute p(A 0 ) Use markov model to perturb degree-of-freedom values from A i Compute p(A c )

MCMC Algorithm How likely is change from parameters used to generate A c to parameters used for A i

Ball example Transition probability, q First term = prob of choosing particular set of degrees of freedom to changeFirst term = prob of choosing particular set of degrees of freedom to change Second term = prob of choosing any particular value for a degree of freedomSecond term = prob of choosing any particular value for a degree of freedom Transition probability, q First term = prob of choosing particular set of degrees of freedom to changeFirst term = prob of choosing particular set of degrees of freedom to change Second term = prob of choosing any particular value for a degree of freedomSecond term = prob of choosing any particular value for a degree of freedom n ball bounces 10 values for normal (+/- 5)

MCMC Algorithm Key component propose ( )propose ( ) –“designed through intuitive reasoning and experimentation” –“use past experience as a guide” Key component propose ( )propose ( ) –“designed through intuitive reasoning and experimentation” –“use past experience as a guide”

MCMC Algorithm Provable feature of algorithm As i  inf, samples are true reflection of probability distribution of modelAs i  inf, samples are true reflection of probability distribution of model Sampling animation from the set of samples produces well-understood plausibilitySampling animation from the set of samples produces well-understood plausibility Provable feature of algorithm As i  inf, samples are true reflection of probability distribution of modelAs i  inf, samples are true reflection of probability distribution of model Sampling animation from the set of samples produces well-understood plausibilitySampling animation from the set of samples produces well-understood plausibility

2D Ball Probability function Take the log Probability function Take the log

2D Ball Lesson learned about standard dev  too small  most animations are improbable because they don’t land in correct place  too large  most animations are probable because they land within landing region but they miss the exact spot Tuning probability function, p(A) is tricky Lesson learned about standard dev  too small  most animations are improbable because they don’t land in correct place  too large  most animations are probable because they land within landing region but they miss the exact spot Tuning probability function, p(A) is tricky

Bowling Degrees of freedom Ball (diameter, initial position, initial velocity, initial angular velocity)Ball (diameter, initial position, initial velocity, initial angular velocity) Pin (initial position)Pin (initial position)Constraints Initial pins up, final pins downInitial pins up, final pins down Lesson learned If constraints are too strict, iterative perturbations will not frequently “jump” from one legal animation to anotherIf constraints are too strict, iterative perturbations will not frequently “jump” from one legal animation to another Degrees of freedom Ball (diameter, initial position, initial velocity, initial angular velocity)Ball (diameter, initial position, initial velocity, initial angular velocity) Pin (initial position)Pin (initial position)Constraints Initial pins up, final pins downInitial pins up, final pins down Lesson learned If constraints are too strict, iterative perturbations will not frequently “jump” from one legal animation to anotherIf constraints are too strict, iterative perturbations will not frequently “jump” from one legal animation to another

Rolling Dice Normal function (for tabletop) Example from bouncing ball won’t workExample from bouncing ball won’t work –Nearby points should have similar normals (not independent) –Object bouncing in same place should use same normal each time Create “surface” using b-splinesCreate “surface” using b-splines –Degrees of freedom are control point heights, initial pos –Also use restitution and friction values at control points Normal function (for tabletop) Example from bouncing ball won’t workExample from bouncing ball won’t work –Nearby points should have similar normals (not independent) –Object bouncing in same place should use same normal each time Create “surface” using b-splinesCreate “surface” using b-splines –Degrees of freedom are control point heights, initial pos –Also use restitution and friction values at control points

Rolling Dice Lessons learned Creating a good proposal algorithm is difficultCreating a good proposal algorithm is difficult Algorithm finds first constraint satisfying animation (in one hour) and has hard time jumping to another satisfying animation (“many” hours)Algorithm finds first constraint satisfying animation (in one hour) and has hard time jumping to another satisfying animation (“many” hours) Lessons learned Creating a good proposal algorithm is difficultCreating a good proposal algorithm is difficult Algorithm finds first constraint satisfying animation (in one hour) and has hard time jumping to another satisfying animation (“many” hours)Algorithm finds first constraint satisfying animation (in one hour) and has hard time jumping to another satisfying animation (“many” hours)

Rolling Dice Constraints Any position/orientation at any timeAny position/orientation at any timeConstraints

Review What’s easy about this? Getting a simulationGetting a simulation Selecting some degrees of freedomSelecting some degrees of freedom Building the MCMC algorithmBuilding the MCMC algorithm What’s easy about this? Getting a simulationGetting a simulation Selecting some degrees of freedomSelecting some degrees of freedom Building the MCMC algorithmBuilding the MCMC algorithm

Review What’s difficult? Building p(A|C) functionBuilding p(A|C) function –Tuning bouncing ball standard deviation –Authors used Gibbs distribution function to assist Building proposal functionBuilding proposal function –Dice example had simple proposal algorithm What’s difficult? Building p(A|C) functionBuilding p(A|C) function –Tuning bouncing ball standard deviation –Authors used Gibbs distribution function to assist Building proposal functionBuilding proposal function –Dice example had simple proposal algorithm

Review What’s difficult This is a search problemThis is a search problem –Global vs. local search –Requires infinite samples to be perfect ²Simulation time and search space size are realistic constraints on feasibility What’s difficult This is a search problemThis is a search problem –Global vs. local search –Requires infinite samples to be perfect ²Simulation time and search space size are realistic constraints on feasibility

Big Picture How to synthesize animations that accomplish specific goals KeyframingKeyframing SimulationSimulation Motion captureMotion capture Data-driven simulation is a compromise How to synthesize animations that accomplish specific goals KeyframingKeyframing SimulationSimulation Motion captureMotion capture Data-driven simulation is a compromise

Next Class Hodgins, O’Brien, Tumblin. Perception of Human Motion with Different Geometric Models.