fast automatic skinning transformations
play

Fast Automatic Skinning Transformations Alec Jacobson ETH Zurich - PowerPoint PPT Presentation

Fast Automatic Skinning Transformations Alec Jacobson ETH Zurich Ilya Baran Disney Research Zurich Ladislav Kavan ETH Zurich Jovan Popovi Adobe Systems, Inc. Olga Sorkine ETH Zurich August 8, 2012 Real-time performance critical for


  1. Fast Automatic Skinning Transformations Alec Jacobson ETH Zurich Ilya Baran Disney Research Zurich Ladislav Kavan ETH Zurich Jovan Popovi ć Adobe Systems, Inc. Olga Sorkine ETH Zurich August 8, 2012

  2. Real-time performance critical for interactive design and animation 2D 3D August 8, 2012 Alec Jacobson # 2

  3. Real-time performance critical for interactive design and animation 2D 3D August 8, 2012 Alec Jacobson # 3

  4. We want speeds measured in microseconds 80k triangles 20µs per iteration August 8, 2012 Alec Jacobson # 4

  5. We want speeds measured in microseconds 80k triangles 20µs per iteration August 8, 2012 Alec Jacobson # 5

  6. This means speed comparable to rendering 30fps August 8, 2012 Alec Jacobson # 6

  7. Linear Blend Skinning preferred for real-time performance place skeleton in shape August 8, 2012 Alec Jacobson # 7

  8. Linear Blend Skinning preferred for real-time performance place skeleton in shape compute/paint weights August 8, 2012 Alec Jacobson # 8

  9. Linear Blend Skinning preferred for real-time performance place skeleton in shape compute/paint weights deform bones August 8, 2012 Alec Jacobson # 9

  10. Linear Blend Skinning preferred for real-time performance m ✓ v i ◆ X v 0 i = w j ( v i ) T j 1 j =1 place skeleton in shape compute/paint weights deform bones August 8, 2012 Alec Jacobson # 10

  11. Linear Blend Skinning preferred for real-time performance place skeleton in shape compute/paint weights deform bones August 8, 2012 Alec Jacobson # 11

  12. Linear Blend Skinning preferred for real-time performance place skeleton in shape compute/paint weights deform bones August 8, 2012 Alec Jacobson # 12

  13. Linear Blend Skinning preferred for real-time performance place skeleton in shape compute/paint weights deform bones August 8, 2012 Alec Jacobson # 13

  14. Linear Blend Skinning preferred for real-time performance 15 bones * 3x4 matrix = 180 degrees of freedom place skeleton in shape compute/paint weights deform bones August 8, 2012 Alec Jacobson # 14

  15. LBS generalizes to different handle types m ✓ v i ◆ X v 0 i = w j ( v i ) T j 1 j =1 skeletons August 8, 2012 Alec Jacobson # 15

  16. LBS generalizes to different handle types m ✓ v i ◆ X v 0 i = w j ( v i ) T j 1 j =1 regions skeletons August 8, 2012 Alec Jacobson # 16

  17. LBS generalizes to different handle types m ✓ v i ◆ X v 0 i = w j ( v i ) T j 1 j =1 regions skeletons August 8, 2012 Alec Jacobson # 17

  18. LBS generalizes to different handle types m ✓ v i ◆ X v 0 i = w j ( v i ) T j 1 j =1 regions points skeletons August 8, 2012 Alec Jacobson # 18

  19. LBS generalizes to different handle types m ✓ v i ◆ X v 0 i = w j ( v i ) T j 1 j =1 regions points skeletons August 8, 2012 Alec Jacobson # 19

  20. User specifies subset of parameters, optimize to find remaining ones Full optimization Mesh vertex positions August 8, 2012 Alec Jacobson # 20

  21. User specifies subset of parameters, optimize to find remaining ones Full optimization Reduced model Skinning degrees of freedom August 8, 2012 Alec Jacobson # 21

  22. User specifies subset of parameters, optimize to find remaining ones Full optimization Reduced model Matrix form August 8, 2012 Alec Jacobson # 22

  23. User specifies subset of parameters, optimize to find remaining ones Full optimization Reduced model Matrix form Reduced optimization August 8, 2012 Alec Jacobson # 23

  24. Enforce user constraints as linear equalities Reduced optimization User constraints Full Position only Unconstrained August 8, 2012 Alec Jacobson # 24

  25. Enforce user constraints as linear equalities Reduced optimization User constraints Full Position only Unconstrained August 8, 2012 Alec Jacobson # 25

  26. Enforce user constraints as linear equalities Reduced optimization User constraints Full Position only Unconstrained August 8, 2012 Alec Jacobson # 26

  27. We reduce any as-rigid-as-possible energy Full energies August 8, 2012 Alec Jacobson # 27

  28. We reduce any as-rigid-as-possible energy Full energies triangles tetrahedra “spokes” “spokes and rims” Chao et al. 10 Liu et al. 08 Chao et al. 10 Sorkine & Alexa 07 August 8, 2012 Alec Jacobson # 28

  29. We reduce any as-rigid-as-possible energy Full energies Local/Global optimization Global step: Fix , minimize with respect to V 0 R Local step: Fix , minimize with respect to R V 0 August 8, 2012 Alec Jacobson # 29

  30. We reduce any as-rigid-as-possible energy Full energies Local/Global optimization precompute V 0 = A � 1 b Global step: large, sparse linear solve Local step: Fix , minimize with respect to R V 0 August 8, 2012 Alec Jacobson # 30

  31. We reduce any as-rigid-as-possible energy Full energies Local/Global optimization Global step: large, sparse linear solve V 0 = A � 1 b Local step: 3x3 SVD for each rotation in R August 8, 2012 Alec Jacobson # 31

  32. We reduce any as-rigid-as-possible energy Full energies Local/Global optimization precompute Substitute A − 1 ˜ T = ˜ Global step: small, dense linear solve b Similar to: Local step: 3x3 SVD for each rotation in R [Huang et al. 06] [Der et al. 06] [Au et al. 07] [Hildebrandt et al. 12] August 8, 2012 Alec Jacobson # 32

  33. Direct reduction of elastic energies brings speed up and regularization… August 8, 2012 Alec Jacobson # 33

  34. Direct reduction of elastic energies brings speed up and regularization… Full ARAP solution August 8, 2012 Alec Jacobson # 34

  35. Direct reduction of elastic energies brings speed up and regularization… Full ARAP solution Our smooth subspace solution August 8, 2012 Alec Jacobson # 35

  36. We reduce any as-rigid-as-possible energy Full energies Local/Global optimization Substitute A − 1 ˜ T = ˜ Global step: small, dense linear solve b Local step: 3x3 SVD for each rotation in R But #rotations ~ full mesh discretization August 8, 2012 Alec Jacobson # 36

  37. We reduce any as-rigid-as-possible energy Full energies Local/Global optimization Substitute A − 1 ˜ T = ˜ Global step: small, dense linear solve b Cluster Local step: 3x3 SVD for each rotation in R E k August 8, 2012 Alec Jacobson # 37

  38. Rotation evaluations may be reduced by clustering in weight space Full energies triangles tetrahedra “spokes” “spokes and rims” Sorkine & Alexa 07 Chao et al. 10 Liu et al. 08 Chao et al. 10 August 8, 2012 Alec Jacobson # 38

  39. Rotation evaluations may be reduced by k-means clustering in weight space Full energies weight space   w 1 ( v j ) w 2 ( v j )   x j = .   .   .   w m ( v j ) August 8, 2012 Alec Jacobson # 39

  40. Rotation evaluations may be reduced by clustering in weight space Full energies r = 2 r = 4 r = 64 August 8, 2012 Alec Jacobson # 40

  41. Rotation evaluations may be reduced by clustering in weight space Full energies r = 2 r = 4 r = 64 August 8, 2012 Alec Jacobson # 41

  42. We reduce any as-rigid-as-possible energy Full energies Local/Global optimization Substitute A − 1 ˜ T = ˜ Global step: small, dense linear solve b Cluster Local step: 3x3 SVD for each rotation in R E k #rotations ~ #T , independent of full mesh resolution August 8, 2012 Alec Jacobson # 42

  43. Real-time automatic degrees of freedom August 8, 2012 Alec Jacobson # 43

  44. Real-time automatic degrees of freedom August 8, 2012 Alec Jacobson # 44

  45. With more and more user constraints we fall back to standard skinning August 8, 2012 Alec Jacobson # 45

  46. With more and more user constraints we fall back to standard skinning August 8, 2012 Alec Jacobson # 46

  47. With more and more user constraints we fall back to standard skinning August 8, 2012 Alec Jacobson # 47

  48. With more and more user constraints we fall back to standard skinning August 8, 2012 Alec Jacobson # 48

  49. Extra weights would expand subspace… August 8, 2012 Alec Jacobson # 49

  50. Extra weights would expand subspace… August 8, 2012 Alec Jacobson # 50

  51. Extra weights would expand subspace… August 8, 2012 Alec Jacobson # 51

  52. Overlapping b-spline “bumps” in weight space weight space   w 1 ( v j ) w 2 ( v j )   x j = .   .   .   w m ( v j ) farthest point sampling August 8, 2012 Alec Jacobson # 52

  53. Overlapping b-spline “bumps” in weight space in weight space weight space   w 1 ( v j ) w 2 ( v j )   x j = .   .   .   w m ( v j ) b-spline basis parameterized by distance in weight space August 8, 2012 Alec Jacobson # 53

  54. Overlapping b-spline “bumps” in weight space in weight space weight space   w 1 ( v j ) w 2 ( v j )   x j = .   .   .   w m ( v j ) b-spline basis parameterized by distance in weight space August 8, 2012 Alec Jacobson # 54

  55. Extra weights expand deformation subspace no extra weights 15 extra weights August 8, 2012 Alec Jacobson # 55

  56. Extra weights expand deformation subspace no extra weights 15 extra weights August 8, 2012 Alec Jacobson # 56

Recommend


More recommend