cs 468, spring 2012 - mit...

64
Justin Solomon MIT, Spring 2019

Upload: others

Post on 14-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Justin SolomonMIT, Spring 2019

Page 2: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

May change roomsStay tuned!

Diagram in homework revised

Reading assignment posted today

Page 3: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Linear algebra ⊆GeometryPart I:

“Geometry of flat spaces”

Geometry ⊆ OptimizationPart II:

Quick intro to variational calculus

Page 4: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Linear algebra ⊆GeometryPart I:

“Geometry of flat spaces”

Page 5: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Useful shorthand:

Page 6: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral
Page 7: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Linear operator (map):

Quadratic form (dot product):

Page 8: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Are these the interchangeable?

Page 9: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Map between vector spaces

Inner product

Matrices obscure geometryhttps://mathinsight.org/image/linear_transformation_2d_m2_0_0_m2

Page 10: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral
Page 11: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Sum repeated upper/lower indices

Page 12: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral
Page 13: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral
Page 14: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Upper/lower indices matter

Page 15: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

What’s up with A?

Describe in Einstein notation:

Page 16: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral
Page 17: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Eigenvectors?[“Eigenfunctions!”]

Page 18: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Simple “inverse problem”

Page 19: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Gaussian elimination

O(n3) time to solve Ax=b or to invert

But: Inversion is unstable and slower!

Never ever compute A-1 if you can avoid it.

Page 20: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral
Page 21: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral
Page 22: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral
Page 23: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Never construct 𝑨−𝟏 explicitly(if you can avoid it)

Added structure helpsSparsity, symmetry, positive definiteness, bandedness

Page 24: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Direct (explicit matrix)

Dense: Gaussian elimination/LU, QR for least-squares

Sparse: Reordering (SuiteSparse, Eigen)

Iterative (apply matrix repeatedly)

Positive definite: Conjugate gradients

Symmetric: MINRES, GMRES

Generic: LSQR

Page 25: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Induced by the connectivity of the triangle mesh.

Iteration of CG has local effect⇒ Precondition!

Page 26: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

No need to implement a linear solver

If a matrix is sparse, your code should store it as a sparse matrix!

Page 27: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Linear algebra ⊆GeometryPart I:

“Geometry of flat spaces”

Geometry ⊆ OptimizationPart II:

Quick intro to variational calculus

Page 28: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Geometry ⊆ OptimizationPart II:

Quick intro to variational calculus

Page 29: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Objective (“Energy Function”)

Page 30: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Equality Constraints

Page 31: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Inequality Constraints

Page 32: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Gradienthttps://en.wikipedia.org/?title=Gradient

Page 33: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Jacobianhttps://en.wikipedia.org/wiki/Jacobian_matrix_and_determinant

Page 34: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Hessianhttp://math.etsu.edu/multicalc/prealpha/Chap2/Chap2-5/10-3a-t3.gif

Page 35: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Critical point

(unconstrained)

Saddle point

Local min

Local max

Page 36: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral
Page 37: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

How effective are generic

optimization tools?

Page 38: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

How effective are generic

optimization tools?

Page 39: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Try the

simplest method first.

Page 40: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

(assume A is symmetric and positive definite)

Page 41: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Normal equations(better solvers for this case!)

Page 42: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

G. Peyré, mesh processing course slides

Page 43: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

𝒘𝒊𝒋 ≡ 𝟏: Tutte embedding

𝒘𝒊𝒋 from mesh: Harmonic embedding

Assumption: 𝒘 symmetric.

Page 44: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

What if 𝑽𝟎 = {}?

Page 45: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Prevents trivial solution 𝒙 ≡ 𝟎.

Extract the smallest eigenvalue.

Page 46: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Mullen et al. “Spectral Conformal Parameterization.” SGP 2008.

Easy fix

Page 47: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Roughly:

1.Extract Laplace-Beltrami eigenfunctions:

2.Find mapping matrix (linear solve!):

Ovsjanikov et al. “Functional Maps.” SIGGRAPH 2012.

Page 48: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Unstructured.

Page 49: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Gradient descent

Line search

Multiple optima!

Page 50: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Newton’s Method

1

2

3

Line search for stability

Page 51: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Quasi-Newton: BFGS and friends

Hessian approximation

(Often sparse) approximation from previous samples and gradients

Inverse in closed form!

Page 52: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Fröhlich and Botsch. “Example-Driven Deformations Based on Discrete Shells.” CGF 2011.

Page 53: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Roughly:

1. Linearly interpolate edge lengths and dihedral angles.

2. Nonlinear optimization for vertex positions.

Sum of squares: Gauss-Newton

Page 54: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Matlab: fminunc or minfunc C++: libLBFGS, dlib, others

Typically provide functions for function and gradient (and optionally, Hessian).

Try several!

Page 55: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral
Page 56: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

- Decrease f: −𝛁𝒇- Violate constraint: ±𝛁𝒈

Page 57: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Want:

Page 58: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral
Page 59: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Turns constrained optimization into

unconstrained root-finding.

Page 60: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Huang et al. “L1-Based Construction of Polycube Maps from Complex Shapes.” TOG 2014.

Align with coordinate axes

Preserve areaNote: Final method includes more terms!

Page 61: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Sometimes your unknowns

are not numbers!

Can we use calculus to optimize anyway?

Page 62: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Analog of derivative at u in ψ direction

Vanishes for all ψ at a critical point!

Page 63: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral
Page 64: CS 468, spring 2012 - MIT CSAILgroups.csail.mit.edu/gdpgroup/assets/6838_spring_2019/2_linear_and_variational...G. Peyré, mesh processing course slides ... Mullen et al. “Spectral

Justin SolomonMIT, Spring 2019