46
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

Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

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

Page 2: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

Functional Vector Fields

Mirela Ben‐ChenTechnion, Israel Institute of Technology

ERC Project 714776 (OPREP)

Page 3: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

So far

Computing and analyzing FMAPs Using FMAPs for function transfer

3[Ovsjanikov, BC, Solomon, Butscher, Guibas, SIGGRAPH 2012]

Page 4: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

This part

Computing FMAPs using vector fields Using FMAPs for vector field transfer

4[Azencot, BC, Chazal, Ovsjanikov, SGP 2013]

Page 5: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

What are vector fields?

• Smooth assignment of “arrow” per point

• Only tangent vector fields

• Visualize with texture• Can see direction but not length

5

Page 6: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

Vector fields and maps – symbiosis

Fluid SimulationQuad remeshing Map ImprovementAzencot, Corman, BC, Ovsjanikov, SIGGRAPH 2017 Corman, Ovsjanikov, Chambolle, SGP 2015 Azencot, Vantzos, Wardetzky, Rumpf, BC, SCA 2015

Page 7: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

Transporting data with point‐to‐point maps

Mapping scalars Mapping vectors

7

∈∈ ∈∈∈ ∈?

Tangent plane of  at 

Page 8: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

The Map Differential

• Start a curve from  with tangent 

• Map the curve to 

• is the tangent of the mapped curve at 

8

∈∈

∈∈

Page 9: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

Transporting data with point‐to‐point maps

Mapping scalars Mapping vectors

9

∈∈ ∈∈∈ ∈

Tangent plane of  at 

Page 10: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

Transporting data with functional maps

Mapping functions Mapping vector fields

10

: → : →

Page 11: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

The Map Differential

11

0

: 0,1 →

0

: 0,1 →

.5

1

.5

1

Page 12: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

The functional Map Differential

12

0

: 0,1 →

0

: 0,1 →

.5

1

.5

1

Page 13: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

The functional Map Differential

13

Page 14: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

The functional Map Differential

14

: →

Page 15: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

The functional Map Differential

15

: →: →

Page 16: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

The functional Map Differential

16

: →: →

0 0′ 0 ⟨ , ⟩′ 0 ⟨ , ⟩

, ⟨ , ⟩

Page 17: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

The functional Map Differential

Page 18: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

Corresponding vector fields

18

For all 

Page 19: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

Corresponding vector fields

19

For all 

Page 20: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

Functional Vector Fields

20

LinearComplete*

Page 21: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

Corresponding FVFs

21

, ⟨ , ⟩

Page 22: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

Corresponding FVFs commute with FMap

22

Page 23: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

Application – Joint vector field design

23constraints

smoothness

map consistency

Page 24: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

Application – Joint vector field design

24constraints + smoothness + consistency 

Page 25: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

Application  ‐ Joint Quad‐remeshing

25

Wed 9am, Room 152 

[Azencot, Corman, BC, Ovsjanikov, SIGGRAPH 2017]

Page 26: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

Map “animation”

27

∈∈

One map Map sequence

∈∈

1.5

0

Page 27: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

A 1‐parameter family of maps

28

Page 28: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

Back to vector fields

29

Page 29: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

Back to vector fields, self maps

30.5 ∈

Page 30: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

Back to vector fields, self maps

31∈

Page 31: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

From maps to vector fields

32∈

,

Page 32: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

From vector fields to trajectories

• We know: map → vector fields

• How to do: vector fields →map?

• Given  solve for  such that

33

The flow PDE

Page 33: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

From vector fields to functional trajectories

• Given (stationary)  ,  solve for  such that

34

0 ∘

The flow:

The functional flow:

Page 34: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

The functional flow

35

Page 35: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

The functional flow

36

⟨ , ⟩

Page 36: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

The discrete functional flow

• The surface  is a triangle mesh

• The function  is represented using a linear basis  , e.g. hat basis

• is a vector,  is a matrix

• A matrix ODE

37

Page 37: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

The discrete functional flow

• A matrix ODE

• Closed form solution

38

Page 38: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

Implementation

• Mesh  :  vertices,  faces.• Represent  in the hat basis ‐ ∈• Represent  in the hat basis – a sparse matrix  ∈

• Compute  t expmv , ,

expmv: https://www.mathworks.com/matlabcentral/fileexchange/29576‐matrix‐exponential‐times‐a‐vector?focused=5172371&tab=function

Interpolate to vertices vector per face gradient operator

Page 39: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

ApplicationsMaps from vector fields

40[Azencot, Vantzos, BC, SGP 2016]

Page 40: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

ApplicationsIncompressible flow on surfaces• Numerically simulate the equation

• Vector field changes, more complicated• Total vorticity  conserved by construction 

41[Azencot, Weißmann, Ovsjanikov, Wardetzky, BC, SGP 2014]

Page 41: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

ApplicationsIncompressible flow on surfaces

42

Page 42: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

ApplicationsViscous thin films on surfaces

Total volume of fluid conserved by construction

43[Azencot, Vantzos, Wardetzky, Rumpf, BC, SCA 2015]

Page 43: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

ApplicationsInferring vector fields

44

is distance preserving commutes with Δ

, , || Δ Δ ||

commutes with Δ

|| Δ Δ ||

[Azencot, BC, Chazal, Ovsjanikov, SGP 2013]

Page 44: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

ApplicationsInferring vector fieldsis area preserving is orthogonal

is a rotation in functional space

is anti‐symmetric

is divergence free

Page 45: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

(some) conclusions

• Vector fields and maps relate through tangents to trajectories

• Can be used to transport vector fields with maps orto compute maps from vector fields

• The functional approach allows to use linear algebra instead of geometric tracing for trajectory related problems

46

Page 46: Computing and Processing Correspondences with Functional Maps · 8.5∈ 6 / 30. Back to vector fields, self maps ... •Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function

References

• Ovsjanikov, BC, Solomon, Butscher, Guibas, SIGGRAPH 2012, “Functional Maps: A Flexible Representation of Maps Between Shapes”

• Azencot, BC, Chazal, Ovsjanikov, SGP 2013, “An Operator Approach to Tangent Vector Field Processing”

• Azencot*, Weißmann*, Ovsjanikov, Wardetzky, BC, SGP 2014, “Functional Fluids on Surfaces”

• Corman, Ovsjanikov, Chambolle, SGP 2015, “Continuous Matching via Vector Field Flow”

• Azencot, Vantzos, Wardetzky, Rumpf, BC, SCA 2015, “Functional Thin Films on Surfaces”

• Azencot, Vantzos, BC, SGP 2016, “Advection‐Based Function Matching on Surfaces”

• Azencot, Corman, BC, Ovsjanikov, SIGGRAPH 2017, “Consistent Functional Cross Field Design for Mesh Quadrangulation”

47