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

near exhaustive precomputation of secondary cloth effects
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Near-exhaustive Precomputation of Secondary Cloth Effects

Doyub Kim1,3, Woojong Koh2, Rahul Narain2, Kayvon Fatahalian1, Adrien Treuille1, and James F . O’Brien2

1Carnegie Mellon University, 2UC Berkeley, 3Microsoft

slide-2
SLIDE 2

29,654 vertices cloth mesh 4,550 CPU-hours of precomputation 66 MB run-time footprint

Real-time Cloth Animation Made Possible by Near-exhaustive Precomputation

slide-3
SLIDE 3

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

Curse of dimensionality

  • System under very controlled settings
  • Low resolution / limited quality

Data-driven Simulation

James and Fatahalian 2003 Wang et al. 2010 Treuille et al. 2006

slide-4
SLIDE 4
slide-5
SLIDE 5

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 Effectness of Data”, 2009
slide-6
SLIDE 6

Goals

High-quality cloth animation on a human character

  • As good as any off-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
slide-7
SLIDE 7

Representing Cloth Dynamics

slide-8
SLIDE 8

Input: Traditional Motion Graph

12 motion capture clips 3,115 frames Source from HDM05

slide-9
SLIDE 9

Primary Motion Graph

Character Skeleton Pose State

slide-10
SLIDE 10

Secondary Cloth Motion Graph

Cloth state (vertex position and velocity)

slide-11
SLIDE 11

Secondary Cloth Motion Graph

Unrolled Tree View

slide-12
SLIDE 12

Unrolled Tree View

Secondary Cloth Motion Graph

Dead-end (leaf node)

slide-13
SLIDE 13

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

slide-14
SLIDE 14

No Back-link Blending

slide-15
SLIDE 15

No Back-link Blending

slide-16
SLIDE 16

With Blending

slide-17
SLIDE 17

With Blending + Error Visualization

slide-18
SLIDE 18

Secondary Cloth Motion Graph

Error A Error B

A B

Back-links

Find the closest neighbor node in same primary state. If found, merge by adding back-link. Unrolled Tree View

slide-19
SLIDE 19

Secondary Graph Expansion

Continually run additional simulations to remove largest errors in secondary graph

Error A Error B

A B

Unrolled Tree View

slide-20
SLIDE 20

Secondary Graph Expansion

B A Simulation Work Queue

Sort the order of the dead-ends based on the merge error.

Error A Error B

A

: Sim. work to extend from node A

A B

Unrolled Tree View

slide-21
SLIDE 21

Error A

Secondary Graph Expansion

Simulation Work Queue

Sort the order of the dead-ends based on the merge error. Then, pop-out the highest-error node and extend the graph.

C

Error C

A C

A

Unrolled Tree View

slide-22
SLIDE 22

E D C

Error C

Secondary Graph Expansion

D E C Simulation Work Queue

Sort the order of the dead-ends based on the merge error. Then, pop-out the highest-error node and extend the graph.

Error E Error D

Unrolled Tree View

slide-23
SLIDE 23

Quantifying Transition Error

Error C Error D Error E

Error Function

Max vertex position + time-scaled velocity difference

E D C

Unrolled Tree View

slide-24
SLIDE 24

[Stage-0 with Blending Video]

slide-25
SLIDE 25

Geometric + Custom Error Metric

Error C

D E C

Error D Error E

E D C

Unrolled Tree View

slide-26
SLIDE 26

Geometric + Custom Error Metric

Classification

We can categorize the states with arbitrary metric, such as hood’s state. For example, E is merging two different state of the hood (up and down).

D E C

Error C Error D Error E

E D C

Unrolled Tree View

slide-27
SLIDE 27

225 CPU-hours 4,906 Frames

slide-28
SLIDE 28

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

slide-29
SLIDE 29

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

slide-30
SLIDE 30

Geometric + Custom Error Metric

Classification

We can categorize the states with arbitrary metric, such as hood’s state. For example, E is merging two different state of the hood (up and down).

D E C

Error C Error D Error E

E D C

Unrolled Tree View

slide-31
SLIDE 31
slide-32
SLIDE 32

Colored Edges

Color-coded character motion type (e.g. run, jump, cartwheel, etc)

Gray Edges

Back-links

0 GB 8 GB 16 GB 24 GB 33 GB

slide-33
SLIDE 33

Secondary Graph Compression

slide-34
SLIDE 34

Out-of-core SVD Compression

...

Original Dataset D [

]

b1 b2 bn ...

Basis B [

]

c1 c2 c3 c4 ... cm

Coefficients C=BTD [

]

33 GB 143 MB 66 MB Quantization

slide-35
SLIDE 35
slide-36
SLIDE 36

10 Bases 3.6 MB

slide-37
SLIDE 37

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

slide-38
SLIDE 38
slide-39
SLIDE 39

Live Demo

slide-40
SLIDE 40

Summary

Cloth Simulator Primary Motion Graph Secondary Graph Generation

100k frames over 4,500 CPU-hours

Compression

66 MB

Interactive Playback

70 FPS on my laptop

Error Metric

slide-41
SLIDE 41

Future Work

Cloth Simulator Primary Motion Graph Secondary Graph Generation

100k frames over 4,500 CPU-hours

Compression

66 MB

Interactive Playback

70 FPS on my laptop

Error Metric Error Metric

  • More predictive error metrics
  • Integration with real-time simulator
  • Generalization to other phenomena
slide-42
SLIDE 42

Potential for Precomputing the Behavior of Complex Physical Systems

Massive-scale computation Intelligent exploration of complex phase portrait

slide-43
SLIDE 43

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

slide-44
SLIDE 44

Thank You