example based skeleton extraction
play

Example-Based Skeleton Extraction Scott Schaefer Can Yuksel - PowerPoint PPT Presentation

Example-Based Skeleton Extraction Scott Schaefer Can Yuksel Example-Based Deformation Examples Previous Work Mesh-based Inverse Kinematics [Sumner et al. 2005], [Der et al. 2006] Example-based deformation method Non-linear


  1. Example-Based Skeleton Extraction Scott Schaefer Can Yuksel

  2. Example-Based Deformation Examples

  3. Previous Work � Mesh-based Inverse Kinematics [Sumner et al. 2005], [Der et al. 2006] � Example-based deformation method � Non-linear minimization � Not real-time Image taken from [Sumner et al. 2005]

  4. Objective � Determine parameters for skeletal animation from set of examples � Bone transformations � Vertex weights � Bone connectivity � Joint locations Examples � Root node

  5. Previous Work � Skeleton from shape decomposition � [Katz, Tal 2003] � [de Aguilar et al. 2004] � [Theobalt et al. 2004] � [Katz et al. 2005] � [Lien et al. 2006] Image taken from [Lien et al. 2006]

  6. Previous Work � Skeleton from shape decomposition � [Katz, Tal 2003] � [de Aguilar et al. 2004] � [Theobalt et al. 2004] � [Katz et al. 2005] � [Lien et al. 2006] Image taken from [Lien et al. 2006]

  7. Previous Work � Example-based skinning � [Wang et al. 2002] � [Mohr, Gleicher 2003] Image taken from [Wang et al. 2002]

  8. Previous Work � Skinning Mesh Animations [James, Twigg 2005] � Robust face clustering for bone estimation � Non-negative least squares for weights � Compresses animations for display on GPU � No connectivity/hierarchy/joint positions Image taken from [James, Twigg 2005]

  9. Previous Work � Skeletons from real world data � [Kurihara, Miyata 2004] � [Anguelov et al. 2004] � [Kirk et al. 2005] Image taken from [Kirk et al. 2005] Image taken from [Kurihara, Miyata 2004]

  10. Outline � Bone estimation � Skinning � Finding bone connectivity � Estimating joint locations

  11. Outline � Bone estimation � Skinning � Finding bone connectivity � Estimating joint locations

  12. Outline � Bone estimation � Skinning � Finding bone connectivity � Estimating joint locations

  13. Outline � Bone estimation � Skinning � Finding bone connectivity � Estimating joint locations

  14. Outline � Bone estimation � Skinning � Finding bone connectivity � Estimating joint locations

  15. Bone Estimation � Cluster faces that transform in the same rigid manner

  16. Rigid Error Functions ∑∫ 2 + − 0 k min Rp ( t ) T p ( t ) dt i i T = R R I , T i t + 0 Rp i ( t ) T

  17. Rigid Error Functions ∑∫ k p ( t ) dt k − i = = k 0 p T p R p where i t ∑∫ dt i t + 0 Rp i ( t ) T

  18. Rigid Error Functions = = − ˆ 0 k T k k k ˆ ˆ M p ( t ) p ( t ) dt where p ( t ) p ( t ) p ∫ i i i i i t + 0 Rp i ( t ) T

  19. Rigid Error Functions = = = T T M RS where S S and R R I [Shoemake et al. 1992], [Alexa et al. 2000], [Müller et al. 2005] + 0 Rp i ( t ) T

  20. Rigid Error Functions � Eigen decomposition of 4x4 matrix [Horn 1987] + 0 Rp i ( t ) T

  21. Rigid Error Functions � Compact representation (17 floats) + 0 Rp i ( t ) T

  22. Skin Weights � Weight properties: � Match the motion of the example poses � Translation invariant ∑ = α + ˆ p ( R p T ) � Four or less bone i i i i weights per vertex � Positive weights

  23. Skin Weights

  24. Skin Weights

  25. Skin Weights

  26. Skin Weight Validation

  27. Bone Connectivity � Vertex weights indicate information about bone connectivity!!! . 5 . 4 . 1

  28. Bone Connectivity � Vertex weights indicate information about bone connectivity!!! STRONG!!! . 5 . 4 . 1

  29. Bone Connectivity � Vertex weights indicate information about bone connectivity!!! . 5 weak… . 4 . 1

  30. Bone Connectivity � Extract maximal spanning tree to determine connectivity � For each vertex � For each bone weight α � Let be the max j , max maximum weight α � Add weight to edge j between ( max , j )

  31. Joint Locations

  32. Joint Locations � Joint has same position with respect to both bone transformations

  33. Joint Locations � Many joints act as hinges and bend along an axis � Yields infinite number of solutions to minimization!!!

  34. Joint Locations � Vertex weights indicate information about joint locations!!! . 5 . 5

  35. Joint Locations � Vertex weights indicate information about joint locations!!! Joint close to . 5 this vertex . 5

  36. Joint Locations � Vertex weights indicate information about joint locations!!! Joint not close . 1 to this vertex . 9

  37. Joint Locations � Vertex weights indicate information about joint locations!!! Joint not close . 1 to this vertex . 9 Minimize distance to estimated joint location

  38. Root of Skeleton � Very arbitrary… � We choose bone closest to center of mass � Center of mass important in physical calculations so makes sense to set root there

  39. Results Examples

  40. Results Examples

  41. Results Examples

  42. Results

  43. Results Examples

  44. Results Examples

  45. Results Examples

  46. Results

  47. Results Examples

  48. Results Examples

  49. Results Examples

  50. Results

  51. Results Examples

  52. Results Examples

  53. Results Examples

  54. Results

  55. Results 29 bones 19 bones 9 bones

  56. Performance Model Faces Example Bones Face Skinning Skeleton Poses Clustering Extraction Hand 15789 46 19 9.96s 6.46s 0.00s Horse 16843 23 29 5.53s 11.14s 0.00s Cat 14410 9 24 2.11s 4.01s 0.00s Armadillo 30000 9 12 5.21s 2.53s 0.00s Elephant 84638 23 22 32.29s 32.23s 0.02s Lion 9996 9 19 1.57s 1.85s 0.00s

  57. Performance Model Faces Example Bones Face Skinning Skeleton Poses Clustering Extraction Hand 15789 46 19 9.96s 6.46s 0.00s Horse 16843 23 29 5.53s 11.14s 0.00s Cat 14410 9 24 2.11s 4.01s 0.00s Armadillo 30000 9 12 5.21s 2.53s 0.00s Elephant 84638 23 22 32.29s 32.23s 0.02s Lion 9996 9 19 1.57s 1.85s 0.00s Face Clustering 10x-50x faster than Mean Shift Clustering [James, Twigg 2005]

  58. Importing Skeletons � Maya-script importer � Manipulate directly in Maya � No plugins/special software needed � Works with existing production pipelines

  59. Future Work � Skeletons are good but not perfect � Improve weight fitting � Add user feedback to create an intelligent system

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend