Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Animation CS 551 / 651 Chenney/Forsyth Paper Chenney & Forsyth, 2000."— Presentation transcript:

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

2 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

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

4 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

5 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

6 Results Total time 100 atoms100 atoms –RD-1/30 = 0.142, TW = 0.147, CA = 1.15 200 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 = 1.15 200 atoms200 atoms –RD -1/30 = 2.61, TW =.388, CA = 4.74

7 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?

8 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

9 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

10 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?

11 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

12 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

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

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

15 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

16 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

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

18 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

19 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

20 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

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

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

23 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)

24 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”

25 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

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

27 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

28 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

29 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

30 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)

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

32 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

33 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

34 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

35 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

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


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

Similar presentations


Ads by Google