Deformation - Computer ¢â‚¬¢ Surface for 3D deformation...

download Deformation - Computer ¢â‚¬¢ Surface for 3D deformation ¢â‚¬â€œ Deformation only defined on shape ¢â‚¬â€œ Deformation

of 79

  • date post

    21-Apr-2020
  • Category

    Documents

  • view

    2
  • download

    0

Embed Size (px)

Transcript of Deformation - Computer ¢â‚¬¢ Surface for 3D deformation...

  • DeformationDeformation

    © Disney/Pixar

  • DeformationDeformation

    2

  • MotivationMotivation

    Easy modeling – generate new shapes byEasy modeling generate new shapes by deforming existing ones

    3

  • MotivationMotivation

    Easy modeling – generate new shapes byEasy modeling generate new shapes by deforming existing ones

    4

  • MotivationMotivation

    Character posing for animationCharacter posing for animation

    5

  • ChallengesChallenges

    User says as little as possible…User says as little as possible…

    …algorithm deduces the rest 6

  • ChallengesChallenges

    “Intuitive deformation”Intuitive deformation global change + local detail preservation

    7

  • ChallengesChallenges

    “Intuitive deformation”Intuitive deformation global change + local detail preservation

    8

  • ChallengesChallenges

    Efficient!Efficient!

    9

  • Rules of the GameRules of the Game

    Deformation Algorithm

    Shape Deformed

    Shape

    Position: Orientation/Scale: Other shape property:

    Constraints

    Position: “This point goes there”

    Orientation/Scale: “The environment of this point should rotate/scale”

    Other shape property: Curvature, perimeter,…

    [ Parameterization is also “deformation”: constraints = curvature 0 everywhere ] 10

  • ApproachesApproaches

    • Surface deformationSurface deformation – Shape is empty shell

    • Curve for 2D deformationCurve for 2D deformation • Surface for 3D deformation

    – Deformation only defined on shape

    – Deformation coupled with shape representation

    11

  • ApproachesApproaches

    • Space deformationSpace deformation – Shape is volumetric

    • Planar domain in 2DPlanar domain in 2D • Polyhedral domain in 3D

    – Deformation defined in neighborhood of shape

    – Can be applied to any shape representation

    12

  • ApproachesApproaches

    • Surface deformationSurface deformation – Find alternative representation which is

    “deformation invariant”deformation invariant

    • Space deformation – Find a space map which has “nice properties”

    13

  • Surface DeformationSurface Deformation

    Setup:Setup: – Choose alternative representation f(S)

    – Given S find S’ such that • Constraints(S’) are true S

    R R1

    • Constraints(S ) are true • f(S’) = f(S)

    (or close) R2

    R3(or close)

    • An optimization problem

    14

  • Shape RepresentationShape Representation

    How good is the representation?o good s t e ep ese tat o ? – Representation should always be invariant to:

    • Global translation • Global rotation • Global scale? Depends on application

    – Shapes we want “reachable” should have similar representations

    • Almost isometric deformation local translation + rotation

    • Almost “conformal” deformation local translation + rotation + scale

    15

  • Shape RepresentationShape Representation

    RobustnessRobustness – How hard is it to solve the optimization problem?

    Can we find the global minimum?– Can we find the global minimum? – Small change in constraints similar shape?

    Efficiency – Can it be solved at interactive rates?

    16

  • Shape RepresentationsShape Representations

    Rule of thumb:Rule of thumb:

    If representation is a linear function of the coordinates deformation is:coordinates, deformation is:

    Robust

    Fast

    But representation is not rotation invariant!

    (for large rotations)(for large rotations)

    17

  • Surface RepresentationsSurface Representations

    • Laplacian coordinatesp

    • Edge lengths + dihedral angles

    • Pyramid coordinates

    • Local frames

    • ….

    18

  • Laplacian Coordinates [Sorkine et al. 04]Laplacian Coordinates [Sorkine et al. 04]

    • Control mechanismControl mechanism – Handles (vertices) moved by user

    Region of influence (ROI)– Region of influence (ROI)

    MovieMovie

    19

  • Laplacian CoordinatesLaplacian Coordinates

    δ = LV = (I-D-1A)V I = Identity matrix D = Diagonal matrix [dii = deg(vi)] A = Adjacency matrix V = Vertices in meshV = Vertices in mesh

    Approximation to normals - unique up to translation

    Reconstruct by solving LV = δ for V, with one constraint

    Poisson equation 20

  • DeformationDeformation

    • Pose modeling constraints for vertices C ⊂ VPose modeling constraints for vertices C ⊂ V – v’i = ui i ∈ C

    • No exact solution, minimize error

    Laplacian Laplacian User ConstraintsLaplacian coordinates of original mesh

    Laplacian coordinates of

    deformed mesh

    User Constraints

    21

  • DeformationDeformation

    Laplacian Laplacian User ConstraintsLaplacian coordinates of original mesh

    Laplacian coordinates of

    deformed mesh

    User Constraints

    22

  • Linear Least Squares

    • Ax = b with m equations, n unknowns

    Linear Least Squares

    q ,

    • Normal equations: (ATA)x = ATb • Solution by pseudo inverse:

    T 1 Tx = A+b = [(ATA)-1AT]b

    If system under determined: x = arg min { ||x|| : Ax = b } If system over determined: x = arg min { ||Ax-b||2 }If system over determined: x arg min { ||Ax b|| }

    23

  • Laplacian Coordinates Sanity Check

    • Translation invariant?Translation invariant?

    • Rotation/scale invariant?

    δi δi

    δi

    24

  • ProblemProblem

    25

  • input Laplacian coords “Rotation invariant” coords

    26

  • “Rotation Invariant” CoordsRotation Invariant Coords

    The representation should take into accountThe representation should take into account local rotations + scale

    δ = L(v ) T δ = L(v’ )δi = L(vi) Tiδi = L(v i)

    δi

    vi v'i

    δi δiTiδi

    27

  • “Rotation Invariant” CoordsRotation Invariant Coords

    The representation should take into accountThe representation should take into account local rotations + scale

    δ = L(v ) T δ = L(v’ )δi = L(vi) Tiδi = L(v i)

    Problem: Ti depends on deformed position v’i

    28

  • Solution: Implicit TransformationsSolution: Implicit Transformations

    Idea: solve for local transformation andIdea: solve for local transformation and deformed surface simultaneously

    Transformation of the local frame

    29

  • SimilaritiesSimilarities

    Restrict Ti to “good” transformations = rotationRestrict Ti to good transformations = rotation + scale similarity transformation

    Similarity Transformation

    30

  • SimilaritiesSimilarities

    • Conditions on Ti to be a similarity matrix?Conditions on Ti to be a similarity matrix?

    i i 2• Linear in 2D: Auxiliary variables

    Uniform Rotation +Uniform scale

    Rotation + translation

    31

  • Similarities 2DSimilarities 2D

    32

  • Similarities – 3D caseSimilarities 3D case

    • Not linear in 3D:ot ea 3 :

    • Linearize by dropping the quadratic term – Effectively: only small rotations are handledEffectively: only small rotations are handled

    33

  • Laplacian Coordinates Realtime?

    • Need to solve a linear system each frameNeed to solve a linear system each frame

    (ATA)x = ATb( )

    • Precompute sparse Cholesky factorization

    • Only back substitution per frame

    34

  • Some ResultsSome Results

    35

  • Some ResultsSome Results

    36

  • Limitations: Large RotationsLimitations: Large Rotations

    37

  • How to Find the Rotations?How to Find the Rotations?

    • Laplacian coordinates – solve for themLaplacian coordinates solve for them – Problem: not linear

    • Another approach: propagate rotations from h dlhandles

    38

  • Rotation PropagationRotation Propagation

    • Compute handle’s “deformation gradient”Compute handle s deformation gradient • Extract rotation and scale/shear components

    d d i O• Propagate damped rotations over ROI

    39

  • Deformation GradientDeformation Gradient

    • Handle has been transformed affinelyHandle has been transformed affinely

    • Deformation gradient is:

    • Extract rotation R and scale/shear S

    40

  • Smooth PropagationSmooth Propagation

    • Construct smooth scalar field [0,1]Construct smooth scalar field [0,1] – α(x)=1 Full deformation (handle) – α(x)=0 No deformation (fixed part)α( ) 0 ( p ) – α(x)∈[0,1] Damp transformation (in between)

    • Linearly damp scale/shear: S(x)= α(x)S(handle)( ) ( ) ( )

    • Log scale damp rotation: R(x) = exp(α(x)log(R(handle))( ) p( ( ) g( ( ))