CSE 554 Lecture 9: Laplacian Deformation

53
CSE554 Laplacian Deformation Slide 1 CSE 554 Lecture 9: Laplacian Deformation Fall 2015

description

CSE 554 Lecture 9: Laplacian Deformation. Fall 2014. Review. Source. Alignment Registering source to target by rotation and translation Rigid-body transformations Methods Aligning principle directions (PCA) Aligning corresponding points (SVD) Iterative improvement (ICP) - PowerPoint PPT Presentation

Transcript of CSE 554 Lecture 9: Laplacian Deformation

Page 1: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 1

CSE 554

Lecture 9: Laplacian Deformation

CSE 554

Lecture 9: Laplacian Deformation

Fall 2015

Page 2: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 2

ReviewReview

• Alignment

– Registering source to target by rotation and translation

• Rigid-body transformations

• Methods

– Aligning principle directions (PCA)

– Aligning corresponding points (SVD)

– Iterative improvement (ICP)

• Initialize with PCA

• Alternate between finding correspondences and SVD

Input

After PCA

After ICP

Source

Target

Page 3: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 3

Non-rigid RegistrationNon-rigid Registration

• Rigid alignment cannot account for shape variance

• Non-rigid deformation is needed for improved fitting

After non-rigid deformationRigid alignment

Source

Target

Page 4: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 4

Non-rigid RegistrationNon-rigid Registration

• A minimization problem

– Minimizing the distance between the deformed source and the target

• “Fitting term”

– Minimizing the distortion to the source shape

• “Distortion term”

Page 5: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 5

Intrinsic vs. ExtrinsicIntrinsic vs. Extrinsic

• Intrinsic methods

– Deforms points on the source curve/surface

– App: boundary curve or surface matching

• Extrinsic methods

– Deforms all points in the space around the source curve/surface

– App: image or volume matching

Page 6: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 6

Intrinsic RegistrationIntrinsic Registration

• Given a source and target shape

– Plus correspondences between some source points (called handles) and target points

• Relocate source points such that:

– The handles move to their corresponding targets (fitting term)

– The rest of the shape deforms as naturally as possible (distortion term)

• ICP-style registration

– Alternate between finding correspondences and deformation

Handle

Target

Page 7: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 7

Laplacian-based DeformationLaplacian-based Deformation

• An intrinsic method used in graphics/animation

– Simple and efficient (fitting/distortion terms are quadratic)

– Preserving local shape features

Reference: “Laplacian surface editing”, by Sorkine et al., 2004

Page 8: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 8

• Input

– Source with n points: p1,…,pn

• For notation purpose, assume that the first m points are handles

– Target location of handles: q1,…,qm

• Output

– Deformed locations of source points: p1’,…,pn’

SetupSetup

p1=q1

p3=q3

q2

p2

An example with 3 handles, two of which are stationary (red)

Source

Deformed

Page 9: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 9

OverviewOverview

• Finding deformed locations pi’ that minimize:

– Ef: fitting term

• Measures how close are the deformed handles to the target

– Ed: distortion term

• Measures how much the source shape is changed

E Ef Ed

Page 10: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 10

Fitting TermFitting Term

• Sum of squared distances to target handle locations

Ef i1

m pi' qi2q2

p2

Page 11: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 11

Distortion TermDistortion Term

• Q: How to measure shape locally?

• A: By “bumpiness” at each vertex

– Laplacian: vector from the centroid of neighbors to the vertex

• A linear operator over point locations

• Recall that in fairing, we minimizes this vector to “smooth out” bumps

Lpi pi 1Ni

jNi

pj

pi

pi1pi2

pi1 pi2

2

where Ni are indices of neighboring vertices of pi

Page 12: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 12

Distortion TermDistortion Term

• Minimizing changes in Laplacians during deformation

– Over all source points

Ed ni1

Lpi' i2pi

Lpi'pi'

i

i: Laplacian at pi before deformation

Page 13: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 13

Putting TogetherPutting Together

• Finding deformed locations pi’ that minimize:

– A quadratic equation in terms of variables (pix’, piy’, piz’)

• qi, i are constants

• L[] is a linear operator

E Ef Ed

i1

m pi' qi2 ni1

Lpi' i2

Page 14: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 14

Quadratic MinimizationQuadratic Minimization

• A general form of quadratic minimization:

– There are s variables: x=(x1,…,xs)T

– Each a1,…, ak is a length-s column vector (linear coefficients)

– Each b1,…, bk is a scalar (constant coefficients)

– k should be greater than s (so that the problem is over-constrained)

min ki1

aiT x bi2

Page 15: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 15

Quadratic MinimizationQuadratic Minimization

• Re-writing our minimization in the general form

– In 2D, there are s=2n variables: x = (p1x’,…, pnx’, p1y’,…, pny’ )T

• In 3D, there are s=3n variables

– We will next re-write each quadratic term in 2D as (aix-bi)2

• Can be extended easily to 3D

E Ef Ed

i1

m pi' qi2 ni1

Lpi' i2

Page 16: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 16

Quadratic MinimizationQuadratic Minimization

• The ai and bi in the fitting term

– There are 2m quadratic terms

– In the first set of m terms:

• For i=1,…,m, bi=qix, ai contains all zero, except its (i)th entry is 1.

– In the second set of m terms:

• For i=1,…,m, bi+m=qiy, ai+m contains all zero, except its (i+n)th entry is 1

Ef i1

m pi' qi2 i1

m pix ' qix2 i1

m piy ' qiy22 mi1

aiT x bi2 x p1x ', …, pnx ', p2y ', …, pny '

Page 17: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 17

Quadratic MinimizationQuadratic Minimization

• The ai and bi in the fitting term

– There are 2m quadratic terms

– Example with 3 vertices and 2 fitting constraints (n=3; m=2):

Ef i1

m pi' qi2 i1

m pix ' qix2 i1

m piy ' qiy22 mi1

aiT x bi2x

p1x 'p2x 'p3x 'p1y '

p2y '

p3y '

b1 q1xb2 q2xb3 q1yb4 q2y

a1T 1 0 0 0 0 0

a2T 0 1 0 0 0 0

a3T 0 0 0 1 0 0

a4T 0 0 0 0 1 0

𝑞1 𝑞2

𝑝1 𝑝2

𝑝3

Page 18: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 18

Quadratic MinimizationQuadratic Minimization

• The ai and bi in the distortion term:

– There are 2n quadratic terms

– The first set of n terms:

• For i=1,…,n, ai is all zero except the (i)th entry is 1, the (j)th entries are -1/|Ni|

for all jNi, and bi=ix

– The second set of n terms:

• For i=1,…,n, ai+n is all zero except the (i+n)th entry is 1, the (j+n)th entries are

-1/|Ni| for all jNi, and bi+n=iy

Ed ni1

Lpi' i2 ni1

Lpix ' ix2 ni1

Lpiy ' iy2Lpi pi

1Ni jNi

pj

2 ni1

aiT x bi2 x p1x ', …, pnx ', p2y ', …, pny '

Page 19: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 19

Quadratic MinimizationQuadratic Minimization

• The ai and bi in the distortion term:

– There are 2n quadratic terms

– Example with 3 vertices (n=3):

Ed ni1

Lpi' i2 ni1

Lpix ' ix2 ni1

Lpiy ' iy2Lpi pi

1Ni jNi

pj

x

p1x 'p2x 'p3x 'p1y '

p2y '

p3y '

b1 1xb2 2xb3 3xb4 1yb5 2yb6 3y

2 ni1

aiT x bi2

p1 p2

p3a1T 1 1

2 12

0 0 0 a2

T 12

1 12

0 0 0 a3

T 12

12

1 0 0 0 a4

T 0 0 0 1 12

12

a5T 0 0 0 1

21 1

2

a6T 0 0 0 1

2 12

1

Page 20: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 20

Quadratic MinimizationQuadratic Minimization

• To solve:

• Re-write in matrix form:

min A x B2where A

a1T

akTis a k by s matrix

min ki1

aiT x bi2

B b1bk

is a length-k vector

Page 21: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 21

Quadratic MinimizationQuadratic Minimization

• The minimizer is where the partial derivatives are all zero

– To solve for x in this equation:

• Taking matrix inverse (good for small s, but numerically unstable for large s)

• Using specialized linear system solver (LinearSolve in Mathematica, Eigen/TNT/LAPACK in C)

0 Ax B2

x

2 AT A x 2 AT B AT A x AT B

x AT A 1 AT B

Page 22: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 22

SummarySummary

• Compute Laplacians (i)

• Construct coefficients (ai, bi)

– Put them into matrices (A,B)

• Solve (x)

– AT A x AT B x p1x ', …, pnx ', p2y ', …, pny '

Page 23: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 23

ResultsResults

Deformed

A small deformation

Page 24: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 24

ResultsResults

Deformed

A larger deformation

Page 25: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 25

ResultsResults

Stretching

Deformed

Page 26: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 26

ResultsResults

Deformed

Shrinking

Page 27: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 27

ResultsResults

Rotation

Deformed

Page 28: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 28

DiscussionDiscussion

• Limitations

– Local features don’t rotate or scale with the model

• Reason: Laplacian is not invariant under rotation or scale

– Two bumps that differ by rotation or scale result in non-zero distortion

pipi'

Lpi Lpi'Lpi Lpi'

Page 29: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 29

A Better Distortion TermA Better Distortion Term

• Not penalizing rotation and scaling of local features

– Estimating how the local neighborhood is transformed

– Transforming the original Laplacian vectors before comparing to the deformed Laplacians

Ed ni1

Lpi' Ti i2

pipi'Ti

Page 30: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 30

Catch 22Catch 22

• Q: How do we find Ti before we know the deformed shape?

• A: Represent Ti as a function of the unknown variables

– A linear function of pi’, just like L

• We will focus in the derivations of the 2D case

– 3D results will be briefly presented at the end

Ed ni1

Lpi' Ti i2

Page 31: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 31

Transformation Matrices (2D)Transformation Matrices (2D)

• Homogeneous coordinates

– A 2D point: (x,y,1)

• A 2D vector: (x,y,0)

– A 3D point: (x,y,z,1)

• A 3D vector: (x,y,z,0)

Page 32: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 32

Transformation Matrices (2D)Transformation Matrices (2D)

• Translation

– Cartesian coordinates: vector addition

– Homogeneous coordinates: matrix product

px'

py' vx

vy px

py

px'

py'

1

1 0 vx0 1 vy0 0 1

pxpy1

Page 33: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 33

Transformation Matrices (2D)Transformation Matrices (2D)

• Isotropic scaling

– Cartesian coordinates: vector scaling

– Homogeneous coordinates: matrix product

px'

py' s px

py

px

py

1

s 0 00 s 00 0 1

pxpy1

Page 34: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 34

Transformation Matrices (2D)Transformation Matrices (2D)

• Rotation

– Cartesian coordinates: matrix product

– Homogeneous coordinates: matrix product

px'

py' Cos Sin

Sin Cos pxpy

px'

py'

1

Cos Sin 0Sin Cos 0

0 0 1

pxpy1

Page 35: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 35

Transformation Matrices (2D)Transformation Matrices (2D)

• Summary of elementary similarity transformations

– To perform a sequence of transformations: multiple the corresponding matrices in order

px'

py'

1

M pxpy1

Trsv 1 0 vx0 1 vy0 0 1

Rot Cos Sin 0Sin Cos 0

0 0 1

Translation by vector v

Scaling by scalar s

Rotation by angle

Scls s 0 00 s 00 0 1

Page 36: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 36

Similarity Transforms (2D)Similarity Transforms (2D)

• General similarity transformations

– The product of any set of similarity matrices can be written this way

– Any choice of (a, w, tx, ty) can be written as a sequence of rotation,

isotropic scaling and translation

• Note that a and w can’t be both zero

T a w txw a ty0 0 1

a w txw a ty0 0 1

Trstx, ty.Scl a2 w2 .RotArcTan a

w

Page 37: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 37

Computing Ti (2D)Computing Ti (2D)

• Suppose we know the deformed locations p i’

• Compute Ti as the similarity transform that best fits the

neighborhood of pi to that of pi’

min Ti pi pi'2 jNi

Ti pj pj'2pi

pi'Ti

Page 38: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 38

Computing Ti (2D)Computing Ti (2D)

• Suppose we know the deformed locations p i’

• Compute Ti as the similarity transform that best fits the

neighborhood of pi to that of pi’

• This is a quadratic minimization problem for entries of T i

– E.g., a, w, tx, ty

min Ti pi pi'2 jNi

Ti pj pj'2

Page 39: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 39

Computing Ti (2D)Computing Ti (2D)

• The matrix form of the minimization is:

where is a 2|Ni|+2 by 4 matrix, and Ni={i1, i2,…} are indices of neighboring vertices of pi

C

pix piy 1 0

piy pix 0 1

pi1x pi1y 1 0

pi1y pi1x 0 1

min C

awtxty

pix 'piy '

pi1x 'pi1y '

2

Page 40: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 40

Computing Ti (2D)Computing Ti (2D)

• By quadratic minimization:

– Linear expressions of variables (pix’ , piy’)

awtxty

CT C 1 CT

pix 'piy '

pi1x 'pi1y '

Page 41: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 41

Distortion Term (2D)Distortion Term (2D)

• Two parts of each distortion term:

– Transformed Laplacian:

– Laplacian of the deformed locations:

Ti i D

awtxty

D CT C 1 CT

pix 'piy '

pi1x 'pi1y '

Lpi' L

pix 'piy '

pi1x 'pi1y '

L 1 0 1

Ni0 ...

0 1 0 1Ni

...

where

where is a 2 by 2|Ni|+2 matrix

Lpi' Ti i2D

ix iy 0 0

iy ix 0 0

Page 42: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 42

Distortion Term (2D)Distortion Term (2D)

• Putting together:

– They form 2n quadratic terms (aix-bi)2 for x = (p1x’,…, pnx’, p1y’,…, pny’ )T

• All bi are zero

• Each ai can be extracted from H

H L D CT C 1 CT

H1, H2where

are its rows

Ed ni1

Lpi' Ti i2 n

i1

H1 pix 'piy '

pi1x 'pi1y '

2

ni1

H2 pix 'piy '

pi1x 'pi1y '

2

and

Page 43: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 43

Results (2D)Results (2D)

New distortion term

Old distortion term

Page 44: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 44

Results (2D)Results (2D)

New distortion termOld distortion term

Page 45: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 45

Results (2D)Results (2D)

New distortion term

Old distortion term

Page 46: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 46

Results (2D)Results (2D)

New distortion term

Old distortion term

Page 47: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 47

RegistrationRegistration

• Use nearest neighbors as corresponding target locations

– Assuming the source is already close to the target

• Iterative closest point (ICP)

– 1. For each point on the source pi, treat it as a handle, and assign its

closest point on the target as its target location qi.

– 2. Compute Laplacian-based deformation.

– 3. Repeat step (1) until a termination criteria is met.

Page 48: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 48

ResultResult

After rigid alignment 1 iteration of Laplacian

7 iterations of Laplacian Overlaying all curves

Page 49: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 49

ResultResult

• Weighting the distortion term

E Ef w Ed

small w

medium w

large w

Page 50: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 50

Similarity Transforms (3D)Similarity Transforms (3D)

• Elementary transformation matrices

– To perform a sequence of transformations: take the product of these matrices

Translation by vector v

Scaling by scalar s

Rotation by angle around X axis

px'

py'

pz'

1

M

pxpypz1

Trsv

1 0 0 vx0 1 0 vy0 0 1 vz0 0 0 1

RotX,

1 0 0 00 Cos Sin 00 Sin Cos 00 0 0 1

Scls

s 0 0 00 s 0 00 0 s 00 0 0 1

Page 51: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 51

Similarity Transforms (3D)Similarity Transforms (3D)

• General similarity transformations in 3D

– Approximates the product of a set of elementary matrices

• Up to a small rotation angle

• May introduce skewing for large rotations

T

s h3 h2 txh3 s h1 tyh2 h1 s tz0 0 0 1

Page 52: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 52

Computing Ti (3D)Computing Ti (3D)

• Assuming known deformation, by quadratic minimization:

– Linear expressions of the deformed points pi’

• C is a 3|Ni|+3 by 7 matrix

sh1h2h3txtytz

CT C 1 CT

pix 'piy '

piz 'pi1x 'pi1y '

pi1z '

C

pix 0 piz piy 1 0 0

piy piz 0 pix 0 1 0

piz piy pix 0 0 0 1

pi1x 0 pi1z pi1y 1 0 0

pi1y pi1z 0 pi1x 0 1 0

pi1z pi1y pi1x 0 0 0 1

where

Page 53: CSE 554 Lecture 9: Laplacian Deformation

CSE554 Laplacian Deformation Slide 53

Distortion Term (3D)Distortion Term (3D)

• Constructing transformed Laplacian:

whereTi i D

sh1h2h3txtytz

D CT C 1 CT

pix 'piy '

piz 'pi1x 'pi1y '

pi1z '

D

ix 0 iz iy 1 0 0

iy iz 0 ix 0 1 0

iz iy ix 0 0 0 1where