290 likes | 569 Views
Optimization-Based Animation. Sunil Kamat CIS660, Spring 2009. Agenda. Introduction Optimization Methods Applications Demos Conclusion and Future Work. Introduction. What is Optimization-Based Animation? Why is it useful?. What is Optimization?
E N D
Optimization-Based Animation Sunil Kamat CIS660, Spring 2009
Agenda • Introduction • Optimization Methods • Applications • Demos • Conclusion and Future Work
Introduction • What is Optimization-Based Animation? • Why is it useful?
What is Optimization? “Catching a black cat in a dark room in minimal time” What is Constraint Optimization? “Room full of furniture”
What is Optimization-Based Animation? • Technique to obtain realistic looking animation • Applied to procedural animation models • Considers the ideas of physics, IK and key framing • Used for techniques which are goal oriented
Why is it useful? • It is artist friendly • Computer does the hard part of tedious tweening • Easier than performing complete physical/AI/IK animation calculations
Optimization methods • Basic Principles • Cost functions and Constraints • Solution Methods
Basic Principles • Minimize/Maximize the objective function • Material, installation costs etc • Constraint Solver • Solving is easier if system is in a particular form (e.g. linear constraints) • Specify constraints • Surface, borders, mesh, fields etc
Constraints and Methods • Spacetime Constraints • Sequential Quadratic Programming • Shooting Method
Spacetime Constraints, Andrew Witkin, Michael Kass, 1988 Spacetime Constraint • The complete animation is solved at once. • Standard Problem: Find S that minimizes R(S) subject to Ci(S) • Objective function R(S), where S is the collection of scalar components • Location, color, etc. • Constraint functions Ci(S), where each constraint describes physical and artistic constraints • Solve using Sequential Quadratic Programming • Linear system yields a sparse matrix solved efficiently using a conjugate gradient algorithm
Sequential Quadratic Programming • SQP solves nonlinear program directly • Given a current estimate x(k) of a solution x, constraint g can be approximated by • and solve constraint by g(x) = 0 • The objective function is replaced with a quadratic approximation PDF
Shooting Method • Used for solving boundary value problems by reducing the solution to an initial value problem • Given a problem: • Rewrite it as an initial value problem: • Define F(a) to be the difference from the initial value and the desired value: • Solve for the roots More Details
Solution Methods • Non-linear Inverse Optimization • Spacetime Windows • Optimization Based Physics Simulation
Learning Physics Based Motion Style with Nonlinear Optimization, ZoranPapovic, Karen Liu, 2005 Nonlinear Inverse Optimization • Takes mocap data as input • Algorithm extracts physical parameters from a short motion sequence • Once captured, motions can be generated in same style performing different tasks • Styles can be further edited • Given a motion, determine the joint angle parameters that create it • Inverse optimization • E(XT ; θ) = min E(X ; θ) • Objective function: • G(θ) = E(XT ; θ) – min E(X ; θ) • Determines θ that allows for optimal motion • Optimal motion learning • Iterative non-linear minimization of G(θ) How it works:
Interactive Spacetime Control for Animation, Michael Cohen, 1992 Spacetime Windows • Ability to interact, specify and modify constraints • Each spacetime window represents partial solution to the entire animation • Reduces the optimization process to a smaller subsection • Subset of DOF, time or space in the world • Reduces complexity of individual iterations • Calculates continuity conditions • Faster algorithm • Continuous feedback from GUI • Three Separate Processes • SYM-Symbolic Manipulation Process • GUI-Graphical User Interface • SOS-Spacetime Optimization System
Optimization Based Animation, HaraldSchmdl, Victor Milenkovic, 2002 Optimization Based Physics Simulation • Fixed time step set equal to the frame time • For each step, calculate target position and orientation • Minimize distance from target position subject to non-overlap constraints • Disadvantageous in smaller, simple systems due to computational overhead
Applications • Motion Synthesis • Motion Editing • Motion Analysis
Motion Synthesis • Creating new motions from scratch • Realistic, fast, non-physics based physics simulations • Various choices for constraints • Learning from motion capture data
Motion Analysis • Used in military for ballistics testing • Analyzing high-speed phenomena like hydro dynamic ram • Biomechanics Research • Optimization theory of motion • Walk pattern analysis • Extensions to robotics design • Accurate motion from unrealistic characters
Motion Editing • Editing pre-existing motion such that it meets new needs yet preserves original quality • Adding artistic constraints • Altering mocap data • Re-applying motions to different character types • Interactive motion path control • Provides user feedback
Future Work • Parallelization of optimization techniques • To improve interfaces to allow users to specify constraints quickly and easily • Further improvements to optimization algorithms to support larger constraint sets • Further refinement to improve user friendliness and interactivity • NIO constraint detection improvements
Demo • Demo 1[Synthesizing Physically Realistic Human Motion in Low-Dimensions] • Demo 2[Composition of Complex Optimal Multi-Character Motions] • Demo 3[Constraint-based Motion Optimization Using a Statistical Dynamic Model] • Demo 4[Spacetime Constraints] • Demo 5 [Natural Motion, Sneak Preview]
Summary • Introduction • What is Optimization-Based Animation? • Why is it useful? • Optimization Methods • Basic Idea • Cost Functions and Constraints • Solution Methods • Applications • Motion Synthesis • Motion Editing • Motion Analysis • Future Work
Bibliography • Papers • "Spacetime constraints," Witkin, Andrew, and Michael Kass, SIGGRAPH 1988. • "Interactive space-time control for animation," Cohen, Michael F. , SIGGRAPH 1992. • "Retargetting Motion to new character," Gleicher, Michael. , SIGGRAPH 1998. • "Physically Based Motion Transformation," Popovic and Witkin , SIGGRAPH 1999. • “Interactive Manipulation of Rigid Body Simulations”, Jovan Popovic, Steven M. Seitz, Michael Erdmann, ZoranPopovic, Andrew Witkin Proceedings of SIGGRAPH 2000, pages 209-218 • "Optimization-based animation," Milenkovic, Victor J., and HaraldSchmidl, SIGGRAPH 2001. • "Synthesis of Complex Dynamic Character Motion from Simple Animations," Popovic, Karen Liu , SIGGRAPH 2002. • "Realistic Modeling of Bird Flight Animations," J.-C. Wu and Z. Popovic , SIGGRAPH 2003 • "Learning Physics-based Motion Style with Inverse Optimization," Karen Liu and Aaron Hertzmann, SIGGRAPH 2005. • Websites • http://www.cs.washington.edu/homes/zoran/ • http://en.wikipedia.org/wiki/Shooting_method • http://www.math.mtu.edu/~msgocken/ma5630spring2003/lectures/sqp1/sqp1.pdf • http://aigamedev.com/animation/constraint-motion-optimization • http://people.csail.mit.edu/jovan/ • http://en.wikipedia.org/wiki/Newton%27s_method • http://www.math.utah.edu/~cherk/teach/opt/course.html#topic4 • http://naturalmotion.com/downloads.htm • http://www.cs.wisc.edu/graphics/Papers/Gleicher/California/SpacetimeEditing.pdf
? Questions