computing and processing correspondences with functional
play

Computing and Processing Correspondences with Functional Maps - PowerPoint PPT Presentation

Computing and Processing Correspondences with Functional Maps SIGGRAPH Asia 2016 course Maks Ovsjanikov, Etienne Corman, Michael Bronstein, Emanuele Rodol, Mirela Ben-Chen, Leonidas Guibas, Frederic Chazal, Alex Bronstein General Overview


  1. Computing and Processing Correspondences with Functional Maps SIGGRAPH Asia 2016 course Maks Ovsjanikov, Etienne Corman, Michael Bronstein, Emanuele Rodolà, Mirela Ben-Chen, Leonidas Guibas, Frederic Chazal, Alex Bronstein

  2. General Overview Overall Objective : Create tools for computing and analyzing mappings between geometric objects.

  3. General Overview Overall Objective : Create tools for computing and analyzing mappings between geometric objects. Rather than comparing points on objects it is often easier to compare real-valued functions defined on them. Such maps can be represented as matrices.

  4. Course Overview Course Website: http://www.lix.polytechnique.fr/~maks/fmaps_course/ or http://bit.do/fmaps Course Notes: Linked from the website. Or use http://bit.do/fmaps_notes Attention: (significantly) more material than in the lectures Sample Code: See Sample Code link on the website.

  5. Course Schedule 2:15pm – 3:10pm Introduction (Maks) • Introduction to the functional maps framework. 2:15pm – 3:10pm Computing Functional Maps (Michael) • Optimization methods for functional map estimation. 04:00pm - 04:15pm Break 04:15pm - 05:05pm Maps in Shape Collections (Etienne) • Networks of Maps, Descriptor learning, Shape comparison. 05:10pm - 06:00pm Conversion, Applications (Emanuele) • Pointwise map recovery, Applications 06:00pm - Wrapup, Q&A (all)

  6. What is a Shape? • Continuous: a surface embedded in 3D. • Discrete: a triangle mesh. 5k – 200k triangles Shapes from the SCAPE, TOSCA and FAUST datasets

  7. What is a Shape? A graph embedded in 3D: a triangle mesh. • Connected. • Manifold (each edge on at most 2 triangles). • Without boundary. Shapes from the SCAPE, TOSCA and FAUST datasets

  8. Rigid Shape Matching • Given a pair of shapes, find the optimal Rigid Alignment between them. • The unknowns are the rotation/translation parameters of the source onto the target shape.

  9. Iterative Closest Point (ICP) • Classical approach: iterate between finding correspondences and finding the transformation: example in 2D N M Given a pair of shapes, and , iterate: N M 1. For each find nearest neighbor . y i ∈ N x i ∈ M 2. Find optimal transformation minimizing: X k Rx i + t � y i k 2 arg min 2 R,t i

  10. Iterative Closest Point • Classical approach: iterate between finding correspondences and finding the transformation: N M Given a pair of shapes, and , iterate: N M 1. For each find nearest neighbor . y i ∈ N x i ∈ M 2. Find optimal transformation minimizing: X k Rx i + t � y i k 2 arg min 2 R,t i

  11. Iterative Closest Point • Classical approach: iterate between finding correspondences and finding the transformation: N M Given a pair of shapes, and , iterate: N M 1. For each find nearest neighbor . y i ∈ N x i ∈ M 2. Find optimal transformation minimizing: X k Rx i + t � y i k 2 arg min 2 R,t i

  12. Iterative Closest Point • Classical approach: iterate between finding correspondences and finding the transformation: N M Given a pair of shapes, and , iterate: N M 1. For each find nearest neighbor . y i ∈ N x i ∈ M 2. Find optimal transformation minimizing: X k Rx i + t � y i k 2 arg min 2 R,t i

  13. Iterative Closest Point • Classical approach: iterate between finding correspondences and finding the transformation: N M Given a pair of shapes, and , iterate: N M 1. For each find nearest neighbor . y i ∈ N x i ∈ M 2. Find optimal transformation minimizing: X k Rx i + t � y i k 2 arg min 2 R,t i

  14. Iterative Closest Point • Classical approach: iterate between finding correspondences and finding the transformation: N M 1. Finding nearest neighbors: can be done with space- partitioning data structures (e.g., KD-tree). 2. Finding the optimal transformation minimizing: X k Rx i + t � y i k 2 arg min 2 R,t i Arun et al., Least- Can be done efficiently via SVD decomposition. Squares Fitting of Two 3-D Point Sets

  15. Non-Rigid Shape Matching Unlike rigid matching with rotation/translation, there is no compact representation to optimize for in non-rigid matching.

  16. Non-Rigid Shape Matching Main Problems: • What does it mean for a correspondence to be “good”? • How to compute it efficiently in practice?

  17. Isometric Shape Matching Possible Model: Good maps must preserve geodesic distances. N d N ( T ( x ) , T ( y )) d M ( x, y ) M Geodesic: length of shortest path lying entirely on the surface.

  18. Isometric Shape Matching Approach: N d N ( T ( x ) , T ( y )) d M ( x, y ) M Find the point mapping by minimizing the distance distortion: k d M ( x, y ) � d N ( T ( x ) , T ( y )) k X T opt = arg min T x,y The unknowns are point correspondences.

  19. Isometric Shape Matching Approach: N d N ( T ( x ) , T ( y )) d M ( x, y ) M Find the point mapping by minimizing the distance distortion: k d M ( x, y ) � d N ( T ( x ) , T ( y )) k X T opt = arg min T x,y Problem: The space of possible solutions is highly non-linear, non-convex.

  20. Functional Map Representation We would like to define a representation of shape maps that is more amenable to direct optimization. 1. A compact representation for “natural” maps. 2. Inherently global and multi-scale. 3. Handles uncertainty and ambiguity gracefully. 4. Allows efficient manipulations (averaging, composition). 5. Leads to simple (linear) optimization problems.

  21. Background: Laplace-Beltrami Operator M Given a compact Riemannian manifold without boundary, the Laplace-Beltrami operator : ∆ ∆ : C ∞ ( M ) ! C ∞ ( M ) , ∆ f = div r f

  22. Laplace-Beltrami Operator M Given a compact surface without boundary, the Laplace-Beltrami operator : ∆ 1. Is invariant under isometric deformations. 2. Has a countable eigendecomposition: ∆ φ i = λ i φ i L 2 ( M ) that forms an orthonormal basis for . 3. Characterizes the geodesic distances fully.

  23. Laplace-Beltrami Eigenfunctions The Laplace-Beltrami operator has an ∆ eigendecomposition: ∆ φ i = λ i φ i φ 3 φ 0 φ 1 φ 2 . . . λ 0 = 0 λ 1 = 2 . 6 λ 2 = 3 . 4 λ 3 = 5 . 1 Ordered from low frequency (smoothest) to higher frequency (oscillating).

  24. Laplace-Beltrami Eigenfunctions L 2 ( M ) …. that forms an orthonormal basis for : Any (square-integrable) can be represented f : M → R as a linear combination of the LB eigenfunctions. a 0 + a 1 + = . . . φ 0 φ 1 ∞ Z X a i = f ( x ) φ i ( x ) dµ ( x ) f = a i φ i M i =0

  25. In the Discrete World • Functions are defined at vertices of the mesh. • Integration is defined with respect to a discrete volume measure: 2 = f T Af k f k 2 - diagonal matrix of area weights. A • Laplacian is discretized as a matrix L = A − 1 W i 1 L ij = 2 A ( j ) (cot( α ij ) + cot( β ij )) t 1 t 2 α ij β ij Can be derived from 1 st order FEM. j

  26. In the Discrete World • Computing the eigenfunctions of the Laplacian reduces to solving the generalized eigenvalue problem: L φ = λφ W φ = λ A φ ⇔ • eigs function in Matlab • Both A and W are sparse positive semidefinite. Number of Computation triangles time (in s) 5000 0.65 25000 2.32 50868 3.6 105032 10 Time to compute 100 basis functions.

  27. Functional Approach to Mappings Given a pair of shapes and a point-to-point map T : N → M g : N → R T F f : M → R N T : M The induced functional correspondence: T F ( f ) = g, g = f � T Attention: the functional map is in the opposite direction.

  28. Approach Given a pair of shapes and a point-to-point map T : N → M g : N → R T F f : M → R N T : M T F ( f ) = g, g = f � T Note that is: T F ( f ) = 1) Linear T F ( α 1 f 1 + α 1 f 1 ) = α 1 T F ( f 1 ) + α 2 T F ( f 2 ) 2) Complete (recover T from indicator functions)

  29. Approach Given a pair of shapes and a point-to-point map T : N → M g : N → R T F f : M → R N T : M T F ( f ) = g, g = f � T Note that is: T F ( f ) = 1) Linear T F ( α 1 f 1 + α 1 f 1 ) = α 1 T F ( f 1 ) + α 2 T F ( f 2 ) 2) Complete (recover T from indicator functions)

  30. Approach Given a pair of shapes and a point-to-point map T : N → M g : N → R T F f : M → R N T : M T F ( f ) = g, g = f � T Note that is: T F ( f ) = 1) Linear T F ( α 1 f 1 + α 1 f 1 ) = α 1 T F ( f 1 ) + α 2 T F ( f 2 ) 2) Complete (recover T from indicator functions)

  31. Observation g : N → R T F f : M → R N M Express both and in terms of basis functions: T F ( f ) f X b i φ N X a i φ M g = T F ( f ) = f = i i i i { a i } { b j } Since is linear, there is a linear transformation from to . T F

  32. Functional Map Definition Functional map: matrix C that translates coefficients from to . Φ N Φ M

  33. Functional Maps Definition: { φ M } , { φ N } For a fixed choice of basis functions , and a linear transformation between functions, a functional map T F i a i φ M i b i φ N is a matrix C , s.t. for any f = P if , T ( f ) = P i i then: b = C a φ N T F ( φ M j ) C ij : coefficient of in the basis of . i Z T F ( φ M j ) φ N C ij = i dµ In an orthonormal basis: N

Recommend


More recommend