Transcript PowerPoint
Animation CS 551 / 651 Dynamics Modeling and Culling Chenney, Ichnowski, and Forsyth The world is full of moving things Cars, people, clouds, leaves on a tree Lasseter believes everything must be moving to look “right” Dynamics • The equations that define how they move Simulation • The process of computing the dynamics Simulation makes the world go ‘round Simulation is expensive • Small timesteps for dynamics computations • Lots of moving limbs • Flexible objects like hair/cloth • Collision checks (n2) Reduce costs of simulation Perception permits simplification • What simulation fidelity is needed? – Out-of-view No need to render correct movements What happens when object returns to view? – Distant or in periphery Some part of simulation must be accurate Other parts can be approximated Building simpilfications How is simplification constructed? • Cull DOFs • Reduce temporal resolution • Permit more collisions Current technology: simplify by hand Preserving accuracy Graceful degradation • Suspension of disbelief – If simplified thing looks unrealistic, belief in “virtual” world may be jeopardized • Accuracy of outcome – If simplified thing behaves differently, outcome of game or training application may be wrong Related work Geometric level of detail (LOD) • Cost of rendering geometry must be justified – Perceptually based perception metrics – Geometric simplification algorithms – Visibility culling • Do these translate to simulation? Funkhouser and Sequin, 1993 In a perfect world For each frame • Compute effect on realism vs. all simplifications • Set “reality” dial on each object to suit its importance Simplifying periodic systems What does periodicity buy us? • Object’s description is a function of where it is relative to one “cycle” – Find “t”, where it is in the cycle – Build f(t), a function mapping t system state Predicting where the blue-line bus is vs. predicting where Osama is Roller coaster Where is the car and what is its orientation? Roller coaster Build mapping, f(t) • Observe position/orientation of car during one cycle – How long is a cycle? • Train neural network to correctly predict mapping – f(t) = x, y, z, roll, pitch, yaw – Neural net is just a function approximator, so it can do this! Roller coaster Using the simplified model • Replace true dynamics with neural network – Just keep track of t and increment A lot like motion capture Roller coaster Are there shortcomings with using motion capture? • Not responsive to changes in environment • Not alterable Does it matter? • Use this simplification when responsiveness and flexibility are not required Simplifying non-periodic systems What does non-periodicity buy us? • People aren’t good at predicting future states – There is room for error/noise/approximation • People get worse at predicting as time elapses – Short lapses are predicted using extrapolation – Longer lapses are predicted using generalization – Really long lapses lack preconceptions Examples of these? Tilt-a-whirl Where are all the cars? • A chaotic system where physics matters Tilt-a-whirl Short time lapses • Use previous state as a basis for prediction of future states – Extrapolation of accelerations and velocities Tilt-a-whirl Medium time lapses • Use previous state as a basis for prediction of future states • Extrapolation only works for small dt • Use neural network to model change in state after dt seconds have passed – f (statet) = statet+dt Tilt-a-whirl Medium time lapses • Training a neural network – Sample system at time t – Sample system at time t + dt – Network has one input for each DOF – Network has one output for each DOF – Train network to predict state after t + dt Tilt-a-whirl Medium time lapses • A particular neural network only predicts state after dt seconds • What if object pops back into view after ½ dt seconds? – Build a second neural network for ½ dt – Build a third neural network for ¼ dt –… Tilt-a-whirl Medium time lapses • Any point in time is approximated by series of neural networks • Ex: Approximate 3.75 seconds – Let NNs exist for dt = .25, .5, and 1.0 – state1 = NN1.0 (state0) – state2 = NN1.0 (state1) – state3 = NN1.0 (state2) – state3.5 = NN0.5 (state3) – state3.75 = NN0.25 (state3.5) Medium time lapses Position after dt True Dynamics Neural Net Approximation Velocity after dt Medium time lapses Difference image masked by stationary distribution image Results Neural Network Prediction Tilt-a-whirl Long time lapses • Previous state is not a starting point for prediction… stochastic • What does the traffic on I-29 look like at 5:00 this afternoon? – I have a basic model, but no bias to previous states Obviously if an accident happened at 4:00, my prediction would be wrong Tilt-a-whirl Long time lapses • How do I build a basic model? – Based on observations – I am more likely to expect system states that occurred frequently in my observations – Some system states will be implausible because of limits on feasibility that I determine Tilt-a-whirl Long time lapses • How do I build a basic model? – State of world is defined by DOFs – DOFs define n-dimensional space – Reduce the space to a finite volume ² Limits on feasibility ² What are min/max for each DOF? Example: state space of two-joint arm Tilt-a-whirl Long time lapses • Discretize state-space volume into cells • Run the simulation for a while – At each timestep, record which cell system is in – Accumulate counters in each cell • Each cell is a assigned a value corresponding to the probability system is in that state Tilt-a-whirl Which model do we use? Extrapolation vs. NN vs. Stochastic • NN is accurate for designated dt – Start using NNs at smallest dt • At some point, knowing exact state at time t doesn’t help – As time passes, state of system begins to match the basic prediction of stationary distribution Tilt-a-whirl Medium time lapses Difference image masked by stationary distribution image Results