mesh anima on decomposi on and compression
play

Mesh Anima.on Decomposi.on and Compression Zhigang Deng - PowerPoint PPT Presentation

Skinning: Real-.me Shape Deforma.on Course Mesh Anima.on Decomposi.on and Compression Zhigang Deng Example-based Skinning Decomposi.on Input


  1. “Skinning: ¡Real-­‑.me ¡Shape ¡Deforma.on” ¡Course ¡ Mesh ¡Anima.on ¡Decomposi.on ¡ ¡ and ¡Compression ¡ Zhigang ¡Deng ¡

  2. Example-­‑based ¡Skinning ¡Decomposi.on ¡ • Input ¡ • Output ¡ – Without ¡skeleton: ¡ + ¡ – With ¡skeleton: ¡ Skinning ¡ ¡ Skeleton ¡ Weights ¡

  3. Example-­‑based ¡Skinning ¡Decomposi.on ¡ ¡ ¡ • Background/Mo.va.ons ¡ – Availability ¡and ¡affordability ¡of ¡performance ¡capture ¡ – Reusing ¡a ¡small ¡set ¡of ¡example ¡poses ¡for ¡edi.ng/ control ¡ Marker-­‑based ¡mocap ¡with ¡ ¡ Performance ¡Capture ¡of ¡Interac.ng ¡ ¡ Any ¡3D ¡model ¡ dense ¡markers ¡ Characters ¡with ¡Handheld ¡Kinects ¡ Authoring ¡tools ¡ [Park ¡and ¡Hodgins ¡2006] ¡ ¡[Ye ¡et ¡al. ¡2012] ¡ ¡[Mohr ¡and ¡Gleicher ¡2003] ¡ Weta ¡Digital's ¡Tissue ¡System ¡

  4. Example-­‑based ¡Skinning ¡Decomposi.on ¡ • Applica.ons ¡ – Anima.on ¡edi.ng ¡ 6 ¡DoFs ¡ 3 ¡DoFs ¡ – Compression, ¡hardware-­‑accelerated ¡skinning ¡ GPUs ¡ CPUs ¡ – Mesh ¡segmenta.on ¡ – Collision ¡detec.on ¡ – Skin ¡retarge.ng ¡

  5. Skinning ¡Weight ¡Reduc.on ¡& ¡Compression ¡ • Mo.va.on ¡ – Impose ¡the ¡sparseness ¡constraint ¡on ¡the ¡weights ¡ – Maximally ¡retaining ¡the ¡visual ¡quality ¡

  6. Road ¡Map ¡ Part ¡I: ¡ ¡  ¡ Example-­‑based ¡Skinning ¡Decomposi.on ¡ ¡ Part ¡II: ¡ ¡ Example-­‑based ¡Skeleton ¡Extrac.on ¡ Part ¡III: ¡ ¡ Skinning ¡Weights ¡Reduc.on ¡& ¡Compression ¡

  7. Review: ¡Linear ¡Blend ¡Skinning ¡ The ¡deformed ¡ ¡ Rota.on ¡of ¡ posi.on ¡ bone ¡ j ¡ ¡ of ¡vertex ¡ i ¡ ¡ Rest ¡pose ¡posi.on ¡ ¡on ¡vertex ¡ i ¡ ¡ t,i = P m v 0 j =1 w ij ( R t,j v i + T t,j ) Influence ¡of ¡bone ¡ j ¡ ¡on ¡vertex ¡ i ¡ ¡ Transla.on ¡of ¡ bone ¡ j ¡ ¡

  8. Example-­‑based ¡Skinning ¡ Decomposi.on ¡ • Defini.on ¡(inverse ¡of ¡LBS ¡problem) ¡ – Automa.cally ¡extract ¡the ¡LBS ¡model ¡from ¡example ¡poses ¡ • Several ¡selected ¡skinning ¡decomposi.on ¡methods ¡ – Skinning ¡mesh ¡anima.on ¡(SMA) ¡[James ¡and ¡Twigg ¡2005] ¡ – Fast ¡and ¡efficient ¡skinning ¡of ¡animated ¡meshes ¡(FSD) ¡[Kavan ¡et ¡al. ¡2010] ¡ – Smooth ¡skinning ¡decomposi.on ¡with ¡rigid ¡bones ¡(SSDR) ¡[Le ¡and ¡Deng ¡2012] ¡

  9. Problem ¡Formula.on ¡ • A ¡constrained ¡least ¡squares ¡op.miza.on ¡problem ¡ 2 � � S n m � � X X X � � v 0 W , R , T E = min min w ij ( R t,j v i + T t,j ) t,i � � � W , R , T � � t =1 i =1 j =1 � � Non-­‑nega.vity ¡constraint ¡ Subject to: w ij � 0 , 8 i, j m Affinity ¡constraint ¡ X w ij = 1 , 8 i j =1 Sparseness ¡constraint ¡ |{ w ij | w ij 6 = 0 }|  K, 8 i T R t,j = I , det R t,j = 1 , ∀ t, j Orthogonal ¡constraint ¡ R t,j • Constraints ¡used ¡in ¡different ¡methods ¡ – SSDR ¡and ¡SMA ¡can ¡handle ¡the ¡orthogonal ¡constraint ¡

  10. General ¡Pipeline ¡ Op7miza7on ¡of ¡Skinning ¡ Parameters ¡ Clustering-­‑based ¡ Bone ¡transforma.ons ¡ Bone ¡ update ¡ Ini7aliza7on ¡ Skinning ¡weights ¡ ¡ update ¡

  11. Clustering-­‑based ¡Bone ¡Ini.aliza.on ¡ • Goal ¡ – Ini.alize ¡proxy ¡bones ¡from ¡ example ¡poses ¡ • Algorithms ¡ image ¡courtesy ¡of ¡[kavan ¡et ¡al ¡2010] ¡ – Mean ¡shi* ¡clustering ¡ ( SMA ): ¡ without ¡explicitly ¡specifying ¡# ¡of ¡ bones. ¡ – Mul1ple ¡source ¡region ¡growing ¡ ( FSD ): ¡efficient. ¡ – K-­‑means ¡clustering ¡ ( SSDR ): ¡ assuming ¡each ¡vertex ¡is ¡driven ¡by ¡ one ¡bone ¡only. ¡ K-­‑means ¡clustering ¡in ¡SSDR ¡method ¡

  12. Op.miza.on ¡of ¡Skinning ¡Parameters ¡ • Single-­‑pass ¡strategy ¡in ¡the ¡SMA ¡method ¡ – Iden.fy ¡influence ¡bones ¡per ¡vertex ¡(a ¡fixed ¡number) ¡ • Having ¡the ¡smallest ¡squared ¡error ¡when ¡predic.ng ¡deformed ¡posi.on ¡ of ¡vertex ¡ i ¡alone. ¡ e ij = P S t,i − [ R t,j | T t,j ] v i || 2 t =1 || v 0 j = 1 · · · m 2 , – Es.mate ¡bone-­‑vertex ¡weights ¡ • A ¡constrained ¡least ¡squares ¡problem ¡ P P j 2 B i ([ R t,j | T t,j ] v i ) w ij = v 0 t = 1 · · · S j w ij = 1 t,i , • Mul.-­‑pass ¡(Itera.ve) ¡strategy ¡in ¡FSD ¡and ¡SSDR ¡ – Itera.vely ¡update ¡bone ¡transforma.ons ¡and ¡skinning ¡weights ¡ ¡ • only ¡describe ¡the ¡algorithm ¡in ¡SSDR ¡in ¡this ¡course ¡

  13. Itera.ve ¡Op.miza.on ¡in ¡SSDR ¡ 2 � � S n m � � X X X � � v 0 W , R , T E = min min w ij ( R t,j v i + T t,j ) t,i � � � W , R , T � � t =1 i =1 j =1 � � Subject to: w ij � 0 , 8 i, j m X w ij = 1 , 8 i j =1 |{ w ij | w ij 6 = 0 }|  K, 8 i T R t,j = I , det R t,j = 1 , ∀ t, j R t,j

  14. SSDR: ¡Update ¡Skinning ¡Weights ¡ 2 � � min W , R , T E = min W , R , T P S P n t,i − P m � v 0 j =1 w ij ( R t,j v i + T t,j ) � � t =1 i =1 �

  15. SSDR: ¡Update ¡Bone ¡Transforma.ons ¡ 2 � � min W , R , T E = min W , R , T P S P n t,i − P m � v 0 j =1 w ij ( R t,j v i + T t,j ) � � t =1 i =1 �

  16. SSDR: ¡Skinning ¡Weights ¡Update ¡ • Per vertex solver: Constrained Linear Least Squares � Non-­‑nega.vity ¡Constraint ¡ Affinity ¡Constraint ¡ • Speed up the Active Set Method [Lawson and Hanson] � – Pre-compute LU factorization of and � – Pre-compute QR decomposition of �

  17. SSDR: ¡Skinning ¡Weights ¡Update ¡ • Per vertex solver: Constrained Linear Least Squares � Sparseness ¡Constraint ¡ • Weight pruning of bones with small contribution � e ij = k w ij ( R t,j v i + T t,j ) k 2 Keep |K| bones with largest e ij and solve the LS again � Refer ¡to ¡the ¡Course ¡Note ¡for ¡more ¡detailed ¡explana.on ¡of ¡the ¡non-­‑nega.ve ¡least ¡ squares ¡solver ¡with ¡affinity ¡constraint ¡

  18. SSDR: ¡Bone ¡Transforma.ons ¡Update ¡ • Per ¡example ¡pose ¡solver ¡ 2 � � E t = min R t,j | T t,j ,j =1 ··· m P n t,i − P m � v 0 j =1 w ij ( R t,j v i + T t,j ) � � i =1 � Nonlinear ¡Constraint ¡ T R t,j = I , det R t,j = 1 , ∀ t, j Subject ¡to: ¡ R t,j  Levenberg-Marquardt optimization [ Marquardt 1963 ] �  Optimized solution Slow �  Absolute Orientation (a.k.a. Procrustes Analysis) 
 [ Kabsch 1978; Horn 1987 ] �  Fast Approximate solution �

  19. SSDR: ¡Bone ¡Transforma.ons ¡Solver ¡ • Solution: Solve bone transformation one-by-one to minimize the deformation residual of remaining bones �  Linear solver, fast, and simple �  Near optimized solution ¡ Example ¡pose ¡ Rest ¡pose ¡ Weights ¡ Green ¡bone ¡ Red ¡bone ¡

  20. SSDR: ¡Bone ¡Transforma.ons ¡Solver ¡ • Solution: Solve bone transformation one-by-one to minimize the deformation residual of remaining bones �  Linear solver, fast, and simple �  Near optimized solution ¡

  21. SSDR: ¡Bone ¡Transforma.ons ¡Solver ¡ • Solution: Solve bone transformation one-by-one to minimize the deformation residual of remaining bones �  Linear solver, fast, and simple �  Near optimized solution ¡

  22. SSDR: ¡Bone ¡Transforma.ons ¡Solver ¡ • Solution: Solve bone transformation one-by-one to minimize the deformation residual of remaining bones �  Linear solver, fast, and simple �  Near optimized solution ¡

  23. SSDR: ¡Bone ¡Transforma.ons ¡Solver ¡ • Solution: Solve bone transformation one-by-one to minimize the deformation residual of remaining bones �  Linear solver, fast, and simple �  Near optimized solution ¡

  24. SSDR: ¡Bone ¡Transforma.ons ¡Solver ¡ • Solution: Solve bone transformation one-by-one to minimize the deformation residual of remaining bones �  Linear solver, fast, and simple �  Near optimized solution ¡

  25. SSDR: ¡Bone ¡Transforma.ons ¡Solver ¡ • Solution: Solve bone transformation one-by-one to minimize the deformation residual of remaining bones �  Linear solver, fast, and simple �  Near optimized solution ¡ Amer ¡ Before ¡

  26. SSDR: ¡Bone ¡Transforma.ons ¡Solver ¡ • The residual for bone � 2 � � j = P n t,i − P m � v 0 E t j w ij ( R t,j v i + T t,j ) − w i ˆ j ( R t, ˆ j v i + T t, ˆ j ) � � j =1 ,j 6 =ˆ ˆ i =1 � Bone ¡ ¡ ¡ ¡out ¡ • Now find the rigid transformation � ( ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡, ¡ ¡ ¡ ¡ ¡ ¡ ¡) ¡ R t, ˆ T t, ˆ j j v i

Recommend


More recommend