1 / 36

Animation CS 551 / 651

Animation CS 551 / 651. Chenney & Forsyth, 2000. Chenney/Forsyth Paper. Results. Applications Atoms: 200 spheres and 100 water molecules in divided box Cars: 4 multibody vehicles and 400 pendula Robots: 20 eight-link manipulators throwing blocks

jennessa
Télécharger la présentation

Animation CS 551 / 651

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AnimationCS 551 / 651 Chenney & Forsyth, 2000 Chenney/Forsyth Paper

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

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

  4. Results • Atoms for 2 seconds • Average integration step • Conservative advancement slows down

  5. Results • Atoms for 2 seconds • Total “work done” per simulated object • Retroactive detection repeats a lot of work

  6. Results • Total time • 100 atoms • RD-1/30 = 0.142, TW = 0.147, CA = 1.15 • 200 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?

  8. Randomness • Many details are ignored by simulations • 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 road

  9. Randomness • Multiple paths is a good thing • examples • Multiple paths is a bad thing • examples

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

  11. Incorporating Uncertainty • pw (A) = probability animation A would occur in the world • non-negative • finite integral over domain • unnormalized • Example: • A 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 • Examples • We now want pw(A | C) • The ball must start here and land there • The ball must go through this point • The initial acceleration must be foo

  13. Ball example • Evaluating pw(A | C) Constraints

  14. Ball example • Evaluating pw(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 model plausible bounces (but will they satisfy constraints) • Sampling from pw (A|C) is too difficult

  16. Loosening requirements • pw(A): probability A occurs in real world • p(A): probability A occurs in world with relaxed constraints (maybe not realistic) • pc(A) = prob A satisfies constraints • Removed conditional probability

  17. Ball example • pw(A) • pc(A) Gaussian function definedon final position of ball, d

  18. Ball example • Sampling • Select animation, A, with high probability • Select 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 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 problem

  20. MCMC for animations • Identify degrees of freedom • 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 variables

  21. MCMC Algorithm Compute p(A0) Use markov model to perturbdegree-of-freedom values from Ai Compute p(Ac)

  22. MCMC Algorithm How likely is change from parameters used to generateAc to parameters used for Ai

  23. Ball example • Transition probability, q • First term = prob of choosing particular set of degrees of freedom to change • Second 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 ( ) • “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 model • Sampling animation from the set of samples produces well-understood plausibility

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

  27. 2D Ball • Lesson learned about standard dev • s too small  most animations are improbable because they don’t land in correct place • s 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) • Pin (initial position) • Constraints • Initial pins up, final pins down • Lesson learned • If 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 work • Nearby points should have similar normals (not independent) • Object bouncing in same place should use same normal each time • Create “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 difficult • 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 time

  32. Review • What’s easy about this? • Getting a simulation • Selecting some degrees of freedom • Building the MCMC algorithm

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

  34. Review • What’s difficult • This 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 • Keyframing • Simulation • Motion capture • Data-driven simulation is a compromise

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

More Related