1 / 44

Deformable Body Simulation

Deformable Body Simulation. Ipek OGUZ COMP259 – 04.12.2005. Outline. M-rep based deformations Introduction to m-reps Deformable m-reps for image segmentation Skeleton-driven deformations Character animation. Deformable body simulation Possible approaches.

zane-gates
Download Presentation

Deformable Body Simulation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Deformable Body Simulation Ipek OGUZ COMP259 – 04.12.2005

  2. Outline • M-rep based deformations • Introduction to m-reps • Deformable m-reps for image segmentation • Skeleton-driven deformations • Character animation

  3. Deformable body simulationPossible approaches • Finite differences method, using Lagrangian motion equations • Hierarchical models, octrees, etc. • Stability problem: Implicit solvers • Quasi-static solutions: Compute equilibrium state, than animate • BEM assuming constant material properties inside the object • Anatomical modelling

  4. Free-form deformation • Embed the object into a domain that is more easily parametrized than the object. • Advantages: • You can deform arbitrary objects • Independent of object representation

  5. Basics of m-reps • Atom(‘hub’) position, x • Spoke length, r • Spoke bisector, b • Object angle Ө • b, b┴ and n form local coordinate frame • Left, internal atom • Right, end atom

  6. Object representation • Mesh of medial atoms • Here, the middle one is internal, the rest are end atoms

  7. Discrete vs Continuous

  8. Properties of m-reps • The medial locus of an object is represented explicitly. • A fuzzy approximate representation of the object's boundary is implied by the medial locus representation. • An accurate description of the boundary is given by a smooth fine-scale deformation of the fuzzy implied boundary.

  9. M-rep based deformation • Mostly used for image segmentation • Can be used for PBS as well Initial model (ex: from an atlas) Target image Deformation M-rep FEM model FEM-based deformation

  10. Segmentation using m-reps • Bayesian approach • P(w|f): a posteriori probability • P(f|w): likelihood • P(w): a priori probability • p(f): scaling factor • Optimize P(w|f) over all possible deformations • maximum a posteriori (MAP)

  11. Algorithm • Start with an initial model m • Optimize F(m|Itarget) • F is a sum of two terms, log prior, and log likelihood • Can be applied at different scales • The initial model can come from • Geometrical analysis of a set of hand-segmented training images • A single hand-segmented training image

  12. Algorithm details • Manually place the model in the 3D image, • Find and apply the similarity transform which optimizes F(m|Itarget) • Until convergence, do • For each medial atom in m • {Transform the atom to optimize F(m|Itarget)} • For each boundary tile implied by m • {Shift the position of the tile along the tile’s normal to optimize F(m|Itarget)}

  13. Results • Video

  14. Advantages of m-rep based deformations • Capability for deformation of the interior • Provides a way for appropriate locality based on medical relevance • Multiple scale levels (multi-object, object, object section, boundary) • Correspondences are preserved

  15. Interactive Skeleton-Driven Dynamic Deformations Steve Capell, Seth Green, Brial Curless, Tom Duchamp, Zoran Popovic

  16. What is this paper all about? • Character animation • We want to tell how the character should act • But we don’t want to tell how the character should move! • The answer: elastically deformable characters modeled with a simple skeleton

  17. Application Areas • Movies: You want to let the animator construct the model easily • Previous work included muscle, skin, etc models – painful process • Games, VR: You want to have interactive rates • Previous work included purely kinematic deformations – not realistic

  18. Challenges • We need: • A lot of physical principles • A lot of geometric modelling • A lot of computational tools • Interactive simulation rate • Ease of use • What else could you possibly need?

  19. Skeleton and control lattice • Each object Ω has: • A skeleton, S (in red) • A control lattice, K (in black) • The control lattice can have hierarchical scale • K0 (in black) vs K1 (in green)

  20. General Ideas • Coarse volumetric control lattice provides the elements for FEM • Motion control: Put line constraints along “bones” of the skeleton • Form regions around bones, and simulate linearly in regions • Hierarchical control lattice: Level-of-detail simulation

  21. One simulation step • For each regiondo • Extract regional variables from global system • Compute displacement from “rest state” transformed according to the transformation of the “bone” • Build the linear system for solving local equations of motion • Solve the linear system using conjugate gradients • Merge solution from each region, weighted (user-assigned weights) • Update the global system state

  22. Mesh Requirements • The mesh can be coarse, but it should encompass the geometric model, to ensure complete integration over interior. • Not necessarily regular grid: could even contain mix of tetrahedra and hexahedra • Could have hierarchical basis, for adaptive level of detail simulation

  23. Ideas to achieve our goals • Motion control via skeleton: add line (“bone”) constraints to the finite element model • Make computation simpler: Have an edge in the mesh for each bone • Interactive rate: Linearly solve motion equations around each bone, blending deformation at overlapping regions • Similar approach to free form deformations, but here principles of continuum elasticity are used

  24. Components • The object (or the character): Domain Ω • The skeleton: a graph S, is a subset of Ω • Joints: Vertices of S • Bones: Edges of S • Motion: p(x, t) • Restriction Map: a piecewise linear function on S, ps(x, t)

  25. Goal • Solve for the dynamic motion of the object given the motion of the skeleton • Basically a PDE system with constraint: p(x, t) = ps(x, t) for all xєS • Separate p(x, t) into a rest state r(x) and a displacement d(x, t)

  26. The Hierarchical Basis • Control lattice: “Lazy wavelets” • For all i, j, i≠j, the intersection Ci,j= Ci UCjis either empty or a face, edge, or vertex of both Ciand Cj. • The edges of S are edges of cells of K. • The domain is contained in the interior of K. • For all i, each vertex of Cihas valence 3 (within Ci).

  27. Equations of Motion • Kinetic energy T ( similar to ½mv2) • Elastic potential energy V • Both T and V depend on q, q’ • Euler-Lagrange equations

  28. Computing V • Strain tensor: degree of metric distortion • Green’s strain tensor • Stress tensor: forces acting on the interior of a continuum • Shear modulus, G • Poisson’s ratio,

  29. “Body Forces” • Act on the whole body, rather than a specific cell in the mesh • Ex: gravity • Similar to the familiar mg

  30. Numerical integration • Simple trick for speed up: precompute the integrals • Subdivide K • Compute basis functions at each vertex • Tetrahedralize • Compute integrals over each tetrahedron using piecewise linear approximations • Then use nonlinear Newton-Raphson to solve the system

  31. Skeletal Simulation • Did you actually believe they did all those expensive computations at interactive rate? • Of course not! • First animate the skeleton (real quick) • Then approximate nonlinear dynamics

  32. Regions

  33. Solving the nonlinear system • Approximate by linearizing motion equation at each step • Make sure you use small time steps • h: timestep • μ: Damping coefficient • S: stiffness matrix • Solve using Conjugate Gradients solver

  34. Conjugent Gradient Method • Initialize at P[0]; • g[0] = h[0] := F(P[0]); • for i = 0 to n-1 • P[i+1] := minimum of F along the line h[i] through P[i],i.e., choose λ[i] to minimize F(P[i+1])=F(P[i]+ λ[i] h[i]); • g [i+1] := F(P[i+1]); • γ[i+1] := (g[i+1]- g [i])  g [i+1] / g [i] g [i]; • h [i+1]:= g[i+1]+ γ[i] h[i];

  35. Bone Constraints • Skeleton is directly controlled by keyframe data • Requiring the bones to be on edges of S makes things very simple • A control point on an edge  a component of ∆v that is known a priori • ∆vk – known components • ∆vu – unknown components

  36. Linear Subspace Constraints • What if we have more than one object? • Position constraints • Extension of bone constraints • RHS is constant a, for each timestep • C =

  37. Blended Local Linearization • Problem: computation of the stiffness matrix at each time step • Soln: Linearize the strain tensor • Problem: Severe distortions when deformation is large • Better soln: Locally linearize • Idea: no large deformation from nearby bones • User-specified regions • Blend at places where regions overlap • Define a binary Q matrix, where Q[a][b]=1 means that the basis function a is nonzero for the region b

  38. One Simulation Step - revisited For each region i do • Extract regional variables from global system [ri, qi, q’i] = [Qi r,Qi q, Q’i q] • qi corresponds to displacement from rest state transformed according to the transformation of the bone For each a do qia = qia – Ti (ria) + ria • Build the linear system for solving local equations of motion Construct Ai and bi from bone constraint • Solve the linear system using conjugate gradients Solve Ai ∆vi = bi • Merge solution from each region, weighted ∆v =∑i Wi QiT ∆vi • Update the global system state q’ = q’ + ∆v q = q + hq’

  39. Twist Constraint • We don’t twist much around our bones • Soln: soft constraint to penalize all displacement near bones • Quadratic  its Hessian is constant • Add to the stiffness matrix

  40. Adaptation • More details at places where large deformations occur • Little deformation  go up one level • Large deformation  go down one level • Precompute and store related info

  41. Contributions • Crafting the function space to handle constraints • Blended local linearization of non-linear equations • Method of solving constraints using linear subspace projection • New constraint for allowing 1D bones to behave like 3D

  42. ...contributions • None of these are terribly novel, in fact • But this is the first time so many techniques have been put together • Result: interactive animation of arbitrary shaped characters with user control over skeleton

  43. Results • Show video

  44. References • Interactive skeleton-driven dynamic deformations Steve Capell, Seth Green, Brian Curless, Tom Duchamp, Zoran Popović July 2002  ACM Transactions on Graphics (TOG) , Proceedings of the 29th annual conference on Computer graphics and interactive techniques, • Collisions and deformations: A multiresolution framework for dynamic deformations Steve Capell, Seth Green, Brian Curless, Tom Duchamp, Zoran Popović July 2002  Proceedings of the 2002 ACM SIGGRAPH/Eurographics symposium on Computer animation • S.M. Pizer, T. Fletcher, Y. Fridman, D.S. Fritsch, A.G. Gash, J.M. Glotzer, S. Joshi, A. Thall, G Tracton, P. Yushkevich, and E.L. Chaney, "Deformable M-Reps for 3D Medical Image Segmentation," International Journal of Computer Vision - Special UNC-MIDAG issue, (O Faugeras, K Ikeuchi, and J Ponce, eds.), vol. 55, no. 2, pp. 85-106, Kluwer Academic, November-December 2003. • PT Fletcher, SM Pizer, G Gash, and S Joshi, "Deformable M-rep segmentation of object complexes," in IEEE International Symposium on Biomedical Imaging (ISBI), pp. 26-29, 2002. • Pizer S, S Joshi, PT Fletcher, M Styner, G Tracton, and Z Chen, "Segmentation of Single-Figure Objects by Deformable M-reps," in Medical Image Computing and Computer-Assisted Intervention (MICCAI), (WJ Niessen and MA Viergever, eds.), (New York), pp. 862-871, Oct. 2001. • Yushkevich, Paul (2003). Statistical Shape Characterization Using the Medial Representation. PhD dissertation. Advisor: Prof. Stephen Pizer

More Related