Computing and Processing Correspondences with Functional Maps - - PowerPoint PPT Presentation

computing and processing correspondences with functional
SMART_READER_LITE
LIVE PREVIEW

Computing and Processing Correspondences with Functional Maps - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

Computing and Processing Correspondences with Functional Maps

Maks Ovsjanikov, Etienne Corman, Michael Bronstein, Emanuele Rodolà, Mirela Ben-Chen, Leonidas Guibas, Frederic Chazal, Alex Bronstein

SIGGRAPH 2017 course

slide-2
SLIDE 2

General Overview

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

2

slide-3
SLIDE 3

General Overview

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. Overall Objective: Create tools for computing and analyzing mappings between geometric objects.

3

slide-4
SLIDE 4

Course Overview

Course Notes: Course Website:

http://www.lix.polytechnique.fr/~maks/fmaps_SIG17_course/

Linked from the website. Or use Attention: (significantly) more material than in the lectures

Sample Code:

See Sample Code link on the website.

  • r http://bit.do/fmaps2017

http://bit.do/fmaps2017_notes

New: demo code for basic operations.

4

slide-5
SLIDE 5

Course Schedule

2:00pm – 2:45pm Introduction (Maks)

  • Introduction to the functional maps framework.

2:50pm – 3:35pm Computing Functional Maps (Etienne)

  • Optimization methods for functional map estimation.

3:40pm - 4:25pm Functional Vector Fields (Miri)

  • From functional maps to tangent vector fields and back.

4:30pm - 5:15pm Maps in Shape Collections (Leo)

  • Networks of maps, shape variability, learning.

5:15pm - Wrapup, Q&A (all)

5

slide-6
SLIDE 6

What is a Shape?

Discrete: a graph embedded in 3D (triangle mesh). Continuous: a surface embedded in 3D.

  • Connected.
  • Manifold.
  • Without Boundary.

Common assumptions:

6

slide-7
SLIDE 7

What is a Shape?

5k – 200k triangles

Shapes from the FAUST, SCAPE, and TOSCA datasets

Discrete: a graph embedded in 3D (triangle mesh). Continuous: a surface embedded in 3D.

7

slide-8
SLIDE 8

Overall Goal

Given two shapes, find correspondences between them. Finding the best map between a pair of shapes.

8

slide-9
SLIDE 9

Why Shape Matching?

Given a correspondence, we can transfer:

texture and parametrization segmentation and labels deformation

Other applications: shape interpolation, reconstruction ...

Sumner et al. ‘04.

9

slide-10
SLIDE 10

Rigid Shape Matching

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

10

slide-11
SLIDE 11

Iterative Closest Point (ICP)

Classical approach: iterate between finding correspondences and finding the transformation:

example in 2D

M

N

Given a pair of shapes, and , iterate:

  • 1. For each

find nearest neighbor .

  • 2. Find optimal transformation

minimizing:

arg min

R,t

X

i

kRxi + t − yik2

2

M

N

xi ∈ M yi ∈ N

R, t

11

slide-12
SLIDE 12

Iterative Closest Point

M

N

Given a pair of shapes, and , iterate:

  • 1. For each

find nearest neighbor .

  • 2. Find optimal transformation

minimizing:

arg min

R,t

X

i

kRxi + t − yik2

2

M

N

xi ∈ M yi ∈ N

R, t

12

Classical approach: iterate between finding correspondences and finding the transformation:

slide-13
SLIDE 13

Iterative Closest Point

M

N

Given a pair of shapes, and , iterate:

  • 1. For each

find nearest neighbor .

  • 2. Find optimal transformation

minimizing:

arg min

R,t

X

i

kRxi + t − yik2

2

M

N

xi ∈ M yi ∈ N

R, t

13

Classical approach: iterate between finding correspondences and finding the transformation:

slide-14
SLIDE 14

Iterative Closest Point

M

N

Given a pair of shapes, and , iterate:

  • 1. For each

find nearest neighbor .

  • 2. Find optimal transformation

minimizing:

arg min

R,t

X

i

kRxi + t − yik2

2

M

N

xi ∈ M yi ∈ N

R, t

14

Classical approach: iterate between finding correspondences and finding the transformation:

slide-15
SLIDE 15

Iterative Closest Point

M

N

Given a pair of shapes, and , iterate:

  • 1. For each

find nearest neighbor .

  • 2. Find optimal transformation

minimizing:

arg min

R,t

X

i

kRxi + t − yik2

2

M

N

xi ∈ M yi ∈ N

R, t

15

Classical approach: iterate between finding correspondences and finding the transformation:

slide-16
SLIDE 16
  • 1. Finding nearest neighbors: can be done with space-

partitioning data structures (e.g., KD-tree).

  • 2. Finding the optimal transformation

minimizing:

Iterative Closest Point

Can be done efficiently via SVD decomposition.

Arun et al., Least- Squares Fitting of Two 3-D Point Sets

R, t

M

N

Classical approach: iterate between finding correspondences and finding the transformation:

arg min

R∈SO(3), t∈R3

X

i

kRxi + t − yik2

2

slide-17
SLIDE 17

Non-Rigid Shape Matching

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

17

slide-18
SLIDE 18

Non-Rigid Shape Matching

What does it mean for a correspondence to be “good”? How to compute it efficiently in practice? Main Questions:

18

slide-19
SLIDE 19

Isometric Shape Matching

Good maps must preserve geodesic distances. Deformation Model:

Geodesic: length of shortest path lying entirely on the surface.

dM(x, y)

dN (T(x), T(y))

M

N

19

slide-20
SLIDE 20

Isometric Shape Matching

Find the point mapping by minimizing the distance distortion: The unknowns are point correspondences.

Topt = arg min

T

X

x,y

kdM(x, y) − dN (T(x), T(y))k

Approach:

dM(x, y)

dN (T(x), T(y))

M

N

20

slide-21
SLIDE 21

Isometric Shape Matching

Approach:

The space of possible solutions is highly non-linear, non-convex.

Problem:

Find the point mapping by minimizing the distance distortion:

Topt = arg min

T

X

x,y

kdM(x, y) − dN (T(x), T(y))k

dM(x, y)

dN (T(x), T(y))

M

N

slide-22
SLIDE 22

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.

22

slide-23
SLIDE 23

Functional Approach to Mappings

Given two shapes and a pointwise map The map induces a functional correspondence: TF (f) = g, where g = f ◦ T

T : N → M

M N T T

23

Functional maps: a flexible representation of maps between shapes, O., Ben-Chen, Solomon, Butscher, Guibas, SIGGRAPH 2012

slide-24
SLIDE 24

Functional Approach to Mappings

f : M → R

TF

TF (f) = g : N → R

The map induces a functional correspondence: T

24

TF (f) = g, where g = f ◦ T

Functional maps: a flexible representation of maps between shapes, O., Ben-Chen, Solomon, Butscher, Guibas, SIGGRAPH 2012

Given two shapes and a pointwise map T : N → M

slide-25
SLIDE 25

Functional Approach to Mappings

f : M → R

TF

TF (f) = g : N → R

The map induces a functional correspondence: T

25

TF (f) = g, where g = f ◦ T

Functional maps: a flexible representation of maps between shapes, O., Ben-Chen, Solomon, Butscher, Guibas, SIGGRAPH 2012

Given two shapes and a pointwise map T : N → M

slide-26
SLIDE 26

Functional Approach to Mappings

The induced functional correspondence is linear:

f : M → R

TF

TF (f) = g : N → R

TF (α1f1 + α2f2) = α1TF (f1) + α2TF (f2)

26

Given two shapes and a pointwise map T : N → M

slide-27
SLIDE 27

Functional Map Representation

The induced functional correspondence is complete.

f : M → R

TF

TF (f) = g : N → R

27

Given two shapes and a pointwise map T : N → M

slide-28
SLIDE 28

Observation

Express both and in terms of basis functions:

f

TF (f)

Since is linear, there is a linear transformation from to .

TF

{ai}

{bj}

M

f : M → R

g : N → R

TF

N

f = X

i

aiφM

i

Assume that both: f ∈ L2(M), g ∈ L2(N)

g = TF (f) = X

j

bjφN

j

slide-29
SLIDE 29

Functional Map Representation

Eigenfunctions of the Laplace-Beltrami operator: Generalization of Fourier bases to surfaces. Ordered by eigenvalues and provide a natural notion of scale.

λ0 = 0 λ1 = 2.6 λ2 = 3.4 λ3 = 5.1 λ4 = 7.6

∆φi = λiφi

Choice of Basis:

29

∆(f) = −divr(f)

slide-30
SLIDE 30

Functional Map Representation

Eigenfunctions of the Laplace-Beltrami operator: Generalization of Fourier bases to surfaces. Ordered by eigenvalues and provide a natural notion of scale.

∆φi = λiφi

Choice of Basis:

Can be computed efficiently, with a sparse matrix eigensolver.

30

slide-31
SLIDE 31

Functional Map Representation

Since the functional mapping TF is linear:

TF can be represented as a matrix C, given a choice of basis for

function spaces.

TF (α1f1 + α2f2) = α1TF (f1) + α2TF (f2)

31 Functional maps: a flexible representation of maps between shapes, O., Ben-Chen, Solomon, Butscher, Guibas, SIGGRAPH 2012

TF

=

slide-32
SLIDE 32

Functional Map Definition

Functional map: matrix C that translates coefficients from to .

ΦM

ΦN

32

slide-33
SLIDE 33

Example 1

Given two shapes with points and a map: If functions are represented as vectors (in the hat basis), the functional map is given by matrix-vector product:

matrix encoding the map T,

  • ne 1 per column with zeros everywhere else.

g = TT f C = TT

M

N

T

nM, nN

T : nN × nM

T : N → M

33

slide-34
SLIDE 34

Example 2

If functions are represented in the reduced basis:

matrix of the first eigenfunctions of as columns. matrix of the first eigenfunctions of as columns.

The functional map matrix:

if if

ΦM : nM × kM

ΦN : nN × kN

kM

kN

∆N

ΦT

N ΦN = Id

C = Φ+

N TT ΦM

C = ΦT

N AN TT ΦM

ΦT

N AN ΦN = Id

∆M

C = ΦT

N TT ΦM

Given two shapes with points and a map:

matrix encoding the map T,

  • ne 1 per column with zeros everywhere else.

nM, nN

T : nN × nM

T : N → M

: left pseudo-inverse.

+

34

slide-35
SLIDE 35

Example Maps in a Reduced Basis

Triangle meshes with pre-computed pointwise maps “Good” maps are close to being diagonal

35

(a) source (b) ground-truth map (c) left-to-right map (d) head-to-tail map

slide-36
SLIDE 36

Reconstructing from LB basis

Map reconstruction error using a fixed size matrix.

36

0.5 1 1.5 2 2.5 3 3.5 4 4.5

reconstruction error

Number of basis (eigen)-functions 27.9k vertices

slide-37
SLIDE 37

Functional Map algebra

  • 1. Map composition becomes matrix multiplication.
  • 2. Map inversion is matrix inversion (in fact, transpose).
  • 3. Algebraic operations on functional maps are possible.

E.g. interpolating between two maps with

C = αC1 +(1−α)C2.

37

slide-38
SLIDE 38

In practice we do not know C. Given two objects our goal is to find the correspondence. How can the functional representation help to compute the map in practice?

Shape Matching

?

38

slide-39
SLIDE 39

Matching via Function Preservation

where Given enough pairs, we can recover C through a linear least squares system.

f = P

i aiφM i ,

g = P

i biφN i .

{a, b}

Suppose we don’t know C. However, we expect a pair of functions and to correspond. Then, C must be s.t.

Ca ≈ b

f : M → R

g : N → R

39

slide-40
SLIDE 40

Function preservation constraint is general and includes:

  • Attribute (e.g., color) preservation.
  • Descriptor preservation (e.g. Gauss curvature).
  • Landmark correspondences (e.g. distance to the point).
  • Part correspondences (e.g. indicator function).

Map Constraints

Suppose we don’t know C. However, we expect a pair of functions and to correspond. Then, C must be s.t.

Ca ≈ b

f : M → R

g : N → R

40

slide-41
SLIDE 41

Commutativity Constraints

Regularizations: Commutativity with other operators:

C

Note that the energy: is quadratic in C.

SM SN

CSM = SN C

kCSM − SN Ck2

F

41

slide-42
SLIDE 42

Regularization

Lemma 1:

The mapping is isometric, if and only if the functional map matrix commutes with the Laplacian:

Implies that exact isometries result in diagonal functional maps.

C∆M = ∆N C

Functional maps: a flexible representation of maps between shapes, O., Ben-Chen, Solomon, Butscher, Guibas, SIGGRAPH 2012

42

slide-43
SLIDE 43

Lemma 2:

The mapping is locally volume preserving, if and only if the functional map matrix is orthonormal:

Map-Based Exploration of Intrinsic Shape Differences and Variability, Rustamov et al., SIGGRAPH 2013

CT C = Id

Regularization

43

slide-44
SLIDE 44

Lemma 3:

If the mapping is conformal if and only if:

CT ∆1C = ∆2

Regularization

Map-Based Exploration of Intrinsic Shape Differences and Variability, Rustamov et al., SIGGRAPH 2013

44

slide-45
SLIDE 45

Basic Pipeline

Given a pair of shapes :

  • 1. Compute the first k (~80-100) eigenfunctions of the Laplace-

Beltrami operator. Store them in matrices:

  • 2. Compute descriptor functions (e.g., Wave Kernel Signature)
  • n . Express them in , as columns of :
  • 3. Solve
  • 4. Convert the functional map

to a point to point map T.

Copt

diagonal matrices of eigenvalues

  • f LB operator

M, N

ΦM, ΦN

ΦM, ΦN

∆M, ∆N :

Copt = arg min

C

kCA − Bk2 + kC∆M − ∆N Ck2

A, B

M, N

45

slide-46
SLIDE 46

Conversion to point-to-point

Given a functional map C, we would like to convert to to a point-to-point map. Option 1: declare Problems: high computational complexity , low accuracy.

T(x) = arg max

y

ΦN Cδx O(nMnN )

46

f : M → R

TF

TF (f) = g : N → R

slide-47
SLIDE 47

Conversion to point-to-point

Given a functional map C, we would like to convert to to a point-to-point map. Option 2: declare Advantages: computational complexity , higher accuracy (e.g., works with the identity map).

T(x) = arg min

y

kδy − Cδxk2

O(nM log nN )

47

f : M → R

TF

TF (f) = g : N → R

slide-48
SLIDE 48

Incorporating Orthonormality

In many practical situations we would expect a volume- preserving map, which implies:

CT C = Id

Option: use post-processing to enforce this constraint. Iterate: 1. Compute the point-to-point map T. 2. Solve for the functional map: Exactly the same objective as ICP, but in higher dimension. Can use the same method!

arg min

C, s.t. CT C=Id

X

x∈M

kCδx − δT (x)k2

2

48

slide-49
SLIDE 49

Results

A very simple method that puts together many constraints and uses 100 basis functions gives reasonable results:

49 Functional maps: a flexible representation of maps between shapes, O., Ben-Chen, Solomon, Butscher, Guibas, SIGGRAPH 2012

slide-50
SLIDE 50

Results

radius 0.025 radius 0.05

Functional maps: a flexible representation of maps between shapes, O., Ben-Chen, Solomon, Butscher, Guibas, SIGGRAPH 2012

A very simple method that puts together many constraints and uses 100 basis functions gives reasonable results:

50

slide-51
SLIDE 51

Segmentation Transfer without P2P

To transfer functions we do not need to convert functional to pointwise maps. E.g. we can also transfer segmentations: for each segment, transfer its indicator function, and for each point pick the segment that gave the highest value.

51