near exhaustive precomputation of secondary cloth effects
play

Near-exhaustive Precomputation of Secondary Cloth Effects Doyub Kim - PowerPoint PPT Presentation

Near-exhaustive Precomputation of Secondary Cloth Effects Doyub Kim 1,3 , Woojong Koh 2 , Rahul Narain 2 , Kayvon Fatahalian 1 , Adrien Treuille 1 , and James F . OBrien 2 1 Carnegie Mellon University, 2 UC Berkeley, 3 Microsoft Real-time Cloth


  1. Near-exhaustive Precomputation of Secondary Cloth Effects Doyub Kim 1,3 , Woojong Koh 2 , Rahul Narain 2 , Kayvon Fatahalian 1 , Adrien Treuille 1 , and James F . O’Brien 2 1 Carnegie Mellon University, 2 UC Berkeley, 3 Microsoft

  2. Real-time Cloth Animation Made Possible by Near-exhaustive Precomputation 29,654 vertices cloth mesh 4,550 CPU-hours of precomputation 66 MB run-time footprint

  3. Data-driven Simulation Run low-res simulation and add detail • Wang et al. 2010, Kavan et al. 2010, Feng et al. 2010 Model reduction • Treuille et al. 2006, Wicke et al. 2009 Tabulate the dynamics • James and Fatahalian 2003 Wang et al. 2010 Treuille et al. 2006 Curse of dimensionality • System under very controlled settings • Low resolution / limited quality James and Fatahalian 2003

  4. Leverage modern scale computing system to solve really hard problems • Computer vision, speech recognition, machine translation, etc May not be possible to have everything , but possible to have almost important data • Halevy and Norvig, “The Unreasonable E ff ectness of Data”, 2009

  5. Goals High-quality cloth animation on a human character • As good as any o ff -line simulator High-performance real-time implementation • Real-time execution on resource-constrained devices Approach • Leverage massive-scale precomputation to explore space of cloth dynamics • Compactly represent the result of precomputation in a motion graph

  6. Representing Cloth Dynamics

  7. Input: Traditional Motion Graph 12 motion capture clips 3,115 frames Source from HDM05

  8. Primary Motion Graph Character Skeleton Pose State

  9. Secondary Cloth Motion Graph Cloth state (vertex position and velocity)

  10. Secondary Cloth Motion Graph Unrolled Tree View

  11. Secondary Cloth Motion Graph Dead-end (leaf node) Unrolled Tree View

  12. Secondary Cloth Motion Graph Back-links Find the closest neighbor node in same primary state. If found, merge by adding back-link. Unrolled Tree View

  13. No Back-link Blending

  14. No Back-link Blending

  15. With Blending

  16. With Blending + Error Visualization

  17. Secondary Cloth Motion Graph Error A Back-links Find the closest neighbor node in Error B same primary state. If found, merge by adding back-link. B A Unrolled Tree View

  18. Secondary Graph Expansion Error A Continually run additional simulations to remove largest errors in secondary graph Error B B A Unrolled Tree View

  19. Secondary Graph Expansion Error A B A Simulation Work Queue Sort the order of the dead-ends based on Error B the merge error. B A : Sim. work to extend from node A A Unrolled Tree View

  20. Secondary Graph Expansion Error A C A Simulation Work Queue Sort the order of the dead-ends based on the merge error. Then, pop-out the highest-error node and Error C extend the graph. A C Unrolled Tree View

  21. Secondary Graph Expansion Error E D E C Error D Simulation Work Queue Sort the order of the dead-ends based on the merge error. Then, pop-out the highest-error node and Error C extend the graph. C D E Unrolled Tree View

  22. Quantifying Transition Error Error E Error Function Max vertex position + Error D time-scaled velocity di ff erence Error C C D E Unrolled Tree View

  23. [Stage-0 with Blending Video]

  24. Geometric + Custom Error Metric Error E D E C Error D Error C C D E Unrolled Tree View

  25. Geometric + Custom Error Metric Error E D E C Error D Classification We can categorize the states with arbitrary metric, such as hood’s state. For example, E is merging two di ff erent Error C state of the hood (up and down). C D E Unrolled Tree View

  26. 225 CPU-hours 4,906 Frames

  27. 1,653 CPU-hours 36,073 Frames [Stage-2 Video]

  28. 4,554 CPU-hours 99,352 Frames [Stage-3 Video]

  29. Geometric + Custom Error Metric Error E E D C Error D Classification We can categorize the states with arbitrary metric, such as hood’s state. For example, E is merging two di ff erent Error C state of the hood (up and down). C D E Unrolled Tree View

  30. 24 GB 16 GB 33 GB 8 GB 0 GB Colored Edges Color-coded character motion type (e.g. run, jump, cartwheel, etc) Gray Edges Back-links

  31. Secondary Graph Compression

  32. Out-of-core SVD Compression Original Dataset D [ ] ... 33 GB Basis B [ ] ... b 1 b 2 b n 143 MB Coe ffi cients C = B T D [ ] ... c 1 c 2 c 3 c 4 c m 66 MB Quantization

  33. 10 Bases 3.6 MB

  34. 200 Bases (66 MB) Reference (33,614 MB)

  35. Live Demo

  36. Summary Secondary Graph Compression Interactive Playback Generation Primary Motion Graph 66 MB 70 FPS on my laptop 100k frames over 4,500 CPU-hours Cloth Simulator Error Metric

  37. Future Work Secondary Graph Compression Interactive Playback Generation Primary Motion Graph 66 MB 70 FPS on my laptop 100k frames over 4,500 CPU-hours • More predictive error metrics Cloth Simulator • Integration with real-time simulator • Generalization to other phenomena Error Metric Error Metric

  38. Potential for Precomputing the Behavior of Complex Physical Systems Massive-scale computation Intelligent exploration of complex phase portrait

  39. Thanks to... Alexander Roshetov and Alexi Soupikov • Cloth simulator optimization Juan Miguel de Joya • Cloth and character modeling Intel Science and Technology Center for Visual Computing • Intel research cluster NSF Grants, UC Lab Fees Research Program Grant Samsung, Google, Qualcomm, Adobe, Pixar, and the Okawa Foundation

  40. Thank You

Recommend


More recommend