1/59
Partial functional correspondence
Michael Bronstein
University of Lugano Intel Corporation Lyon, 7 July 2016
Partial functional correspondence Michael Bronstein University of - - PowerPoint PPT Presentation
Partial functional correspondence Michael Bronstein University of Lugano Intel Corporation Lyon, 7 July 2016 1/59 Microsoft Kinect 2010 (Acquired by Intel in 2012) 4/59 Different form factor computers featuring Intel RealSense 3D camera
1/59
University of Lugano Intel Corporation Lyon, 7 July 2016
Microsoft Kinect 2010
4/59
(Acquired by Intel in 2012)
7/59
Different form factor computers featuring Intel RealSense 3D camera
8/59
3D sensors Repositories 3D printers
9/59
Deformable fusion Motion transfer Motion capture Texture mapping Dou et al. 2015; Sumner, Popovi´ c 2004; Faceshift; Cow image: Moore 2014
10/59
Isometric
10/59
Isometric Partial
10/59
Isometric Partial Different representation
10/59
Isometric Partial Different representation Non-isometric
11/59
Computer Graphics Forum SGP 2016 Computer Graphics Forum SGP 2016 Best paper award
12/59
Background: Spectral analysis on manifolds Functional correspondence Partial functional correspondence Non-rigid puzzles
13/59
Tangent plane TmM = local Euclidean representation of manifold (surface) M around m
m TmM M
13/59
Tangent plane TmM = local Euclidean representation of manifold (surface) M around m Riemannian metric ·, ·TmM : TmM × TmM → R depending smoothly on m
m TmM m′ Tm′M
13/59
Tangent plane TmM = local Euclidean representation of manifold (surface) M around m Riemannian metric ·, ·TmM : TmM × TmM → R depending smoothly on m Isometry = metric-preserving shape deformation
m TmM m′ Tm′M
13/59
Tangent plane TmM = local Euclidean representation of manifold (surface) M around m Riemannian metric ·, ·TmM : TmM × TmM → R depending smoothly on m Isometry = metric-preserving shape deformation Exponential map expm : TmM → M ‘unit step along geodesic’
m v TmM expm(v)
14/59
m f
Smooth field f : M → R
14/59
m f f ◦ expm
Smooth field f ◦ expm : TmM → R
14/59
Intrinsic gradient ∇Mf(m) = ∇(f ◦ expm)(0) Taylor expansion (f ◦ expm)(v) ≈ f(m) + ∇Mf(m), vTmM
m f f ◦ expm
14/59
Intrinsic gradient ∇Mf(m) = ∇(f ◦ expm)(0) Taylor expansion (f ◦ expm)(v) ≈ f(m) + ∇Mf(m), vTmM Laplace-Beltrami operator ∆Mf(m) = ∆(f ◦ expm)(0)
m f f ◦ expm
14/59
Intrinsic gradient ∇Mf(m) = ∇(f ◦ expm)(0) Taylor expansion (f ◦ expm)(v) ≈ f(m) + ∇Mf(m), vTmM Laplace-Beltrami operator ∆Mf(m) = ∆(f ◦ expm)(0)
m f f ◦ expm
Intrinsic (expressed solely in terms of the Riemannian metric)
14/59
Intrinsic gradient ∇Mf(m) = ∇(f ◦ expm)(0) Taylor expansion (f ◦ expm)(v) ≈ f(m) + ∇Mf(m), vTmM Laplace-Beltrami operator ∆Mf(m) = ∆(f ◦ expm)(0)
m f f ◦ expm
Intrinsic (expressed solely in terms of the Riemannian metric) Isometry-invariant
14/59
Intrinsic gradient ∇Mf(m) = ∇(f ◦ expm)(0) Taylor expansion (f ◦ expm)(v) ≈ f(m) + ∇Mf(m), vTmM Laplace-Beltrami operator ∆Mf(m) = ∆(f ◦ expm)(0)
m f f ◦ expm
Intrinsic (expressed solely in terms of the Riemannian metric) Isometry-invariant Self-adjoint ∆Mf, gL2(M)=f, ∆MgL2(M)
14/59
Intrinsic gradient ∇Mf(m) = ∇(f ◦ expm)(0) Taylor expansion (f ◦ expm)(v) ≈ f(m) + ∇Mf(m), vTmM Laplace-Beltrami operator ∆Mf(m) = ∆(f ◦ expm)(0)
m f f ◦ expm
Intrinsic (expressed solely in terms of the Riemannian metric) Isometry-invariant Self-adjoint ∆Mf, gL2(M)=f, ∆MgL2(M) ⇒ orthogonal eigenfunctions
14/59
Intrinsic gradient ∇Mf(m) = ∇(f ◦ expm)(0) Taylor expansion (f ◦ expm)(v) ≈ f(m) + ∇Mf(m), vTmM Laplace-Beltrami operator ∆Mf(m) = ∆(f ◦ expm)(0)
m f f ◦ expm
Intrinsic (expressed solely in terms of the Riemannian metric) Isometry-invariant Self-adjoint ∆Mf, gL2(M)=f, ∆MgL2(M) ⇒ orthogonal eigenfunctions Positive semidefinite ⇒ non-negative eigenvalues
15/59
j i wij i αij βij ai αij
Undirected graph (V, E) (∆f)i ≈
wij(fi − fj) Triangular mesh (V, E, F) (∆f)i ≈ 1 ai
wij(fi − fj) wij =
cot αij+cot βij 2
(i, j) ∈ Ei
1 2 cot αij
(i, j) ∈ Eb −
k=i wik
i = j else
ai = local area element
Tutte 1963; MacNeal 1949; Duffin 1959; Pinkall, Polthier 1993
16/59
A function f : [−π, π] → R can be written as Fourier series f(x) =
1 2π π
−π
f(ξ)eiωξdξ e−iωx
α1 α2 α3 = + + + . . .
16/59
A function f : [−π, π] → R can be written as Fourier series f(x) =
1 2π π
−π
f(ξ)eiωξdξ
f(ω)=f,e−iωxL2([−π,π])
e−iωx
α1 α2 α3 = + + + . . .
16/59
A function f : [−π, π] → R can be written as Fourier series f(x) =
1 2π π
−π
f(ξ)eiωξdξ
f(ω)=f,e−iωxL2([−π,π])
e−iωx
α1 α2 α3 = + + + . . .
Fourier basis = Laplacian eigenfunctions: ∆e−iωx = ω2e−iωx
17/59
A function f : M → R can be written as Fourier series f(m) =
f(ξ)φk(ξ)dξ
fk=f,φkL2(M)
φk(m)
= α1 + α2 + α3 + . . . f φ1 φ2 φ3
Fourier basis = Laplacian eigenfunctions: ∆Mφk = λkφk
18/59
Background: Spectral analysis on manifolds Functional correspondence Partial functional correspondence Non-rigid puzzles
19/59
m M n N t
Point-wise maps t: M → N
19/59
f F(M) g F(N) T
Functional maps T: F(M) → F(N)
Ovsjanikov et al. 2012
20/59
f g ↓ T ↓ Ovsjanikov et al. 2012
20/59
f g ≈ a1 + a2 + · · · + ak ≈ b1 + b2 + · · · + bk ↓ T ↓ Ovsjanikov et al. 2012
20/59
f g ≈ a1 + a2 + · · · + ak ≈ b1 + b2 + · · · + bk ↓ T ↓ ↓ C⊤ ↓ Translates Fourier coefficients from Φ to Ψ Ovsjanikov et al. 2012
20/59
f g ≈ a1 + a2 + · · · + ak ≈ b1 + b2 + · · · + bk ↓ T ↓ ↓ C⊤ ↓ Translates Fourier coefficients from Φ to Ψ ≈ Ψk Φ⊤
k
g⊤Ψk = f ⊤ΦkC where Φk = (φ1, . . . , φk), Ψk = (ψ1, . . . , ψk) are truncated Laplace-Beltrami eigenbases
Ovsjanikov et al. 2012
21/59
For isometric simple spectrum shapes C is diagonal since ψi = ±Tφi
22/59
Ovsjanikov et al. 2012
22/59
f 1 f 2
· · ·
f q g1 g2
· · ·
gq
Given ordered set of functions f 1, . . . , f q on M and corresponding functions g1, . . . , gq on N (gi ≈ Tf i)
Ovsjanikov et al. 2012
22/59
f 1 f 2
· · ·
f q g1 g2
· · ·
gq
Given ordered set of functions f 1, . . . , f q on M and corresponding functions g1, . . . , gq on N (gi ≈ Tf i) C found by solving a system of qk equations with k2 variables G⊤Ψk = F⊤ΦkC where F = (f 1, . . . , f q) and G = (g1, . . . , gq) are n × q and m × q matrices
Ovsjanikov et al. 2012
23/59
How to recover point-wise correspondence with some guarantees (e.g. bijectivity)? How to automatically find corresponding functions F, G? Near isometric shapes: easy (a lot of structure!) Non-isometric shapes: hard Does not work well in case of missing parts and topological noise
24/59
φ2 φ3 φ4 φ5 φ6 φ7 φ8 φ9 ψ2 ψ3 ψ4 ψ5 ψ6 ψ7 ψ8 ψ9 ζ2 ζ3 ζ4 ζ5 ζ6 ζ7 ζ8 ζ9
Laplacian eigenvectors of a shape with missing parts (Neumann boundary conditions)
Rodol` a, Cosmo, B, Torsello, Cremers 2016
25/59
Functional correspondence matrix C
Rodol` a, Cosmo, B, Torsello, Cremers 2016
26/59
∆M ∆M ∆ ¯
M
φ1 φ2 φ3 φ1 φ2 φ3 ¯ φ1 ¯ φ2 ¯ φ3 M ¯ M
Ignoring boundary interaction: disjoint parts (block-diagonal matrix) Eigenvectors = Mixture of eigenvectors of the parts
Rodol` a, Cosmo, B, Torsello, Cremers 2016
27/59
10 20 30 40 50 0.00 2.00 4.00 6.00 8.00 ·10−2 eigenvalue number r k N M
Slope r
k ≈ |M| |N | (depends on the area of the cut)
Consistent with Weil’s law
Rodol` a, Cosmo, B, Torsello, Cremers 2016
28/59
∆M ∆ ¯
M
∆M+tDM ∆ ¯ M+tD ¯ M
tE tE⊤ M ¯ M Rodol` a, Cosmo, B, Torsello, Cremers 2016
28/59
∆M ∆ ¯
M
∆M+tDM ∆ ¯ M+tD ¯ M
tE tE⊤ M ¯ M
“How would the Laplacian eigenvalues and eigenvectors of the red part change if we attached a blue part to it?”
Rodol` a, Cosmo, B, Torsello, Cremers 2016
28/59
PM P E DM n × n n × ¯ n M ¯ M
“How would the Laplacian eigenvalues and eigenvectors of the red part change if we attached a blue part to it?”
Rodol` a, Cosmo, B, Torsello, Cremers 2016
29/59
Denote ∆M + tPM = Φ(t)Λ(t)Φ(t)⊤, ∆ ¯
M = ¯
Φ ¯ Λ ¯ Φ⊤, Φ = Φ(0), and Λ = Λ(0). Theorem 1 (eigenvalues) The derivative of the non-trivial eigenvalues is given by d dtλi = φ⊤
i PMφi
PM = DM
a, Cosmo, B, Torsello, Cremers 2016
29/59
Denote ∆M + tPM = Φ(t)Λ(t)Φ(t)⊤, ∆ ¯
M = ¯
Φ ¯ Λ ¯ Φ⊤, Φ = Φ(0), and Λ = Λ(0). Theorem 1 (eigenvalues) The derivative of the non-trivial eigenvalues is given by d dtλi = φ⊤
i PMφi
PM = DM
λj for all i, j, the derivative of the non-trivial eigenvectors is given by d dtφi =
n
j=i
φ⊤
i PMφj
λi − λj φj +
¯ n
φ⊤
i P ¯
φj λi − ¯ λj ¯ φj P = E
a, Cosmo, B, Torsello, Cremers 2016
30/59
Value of f
10 20
Eigenvector perturbation depends on length and position of the boundary Perturbation strength d
dtΦF ≤ c
f(m) =
n
j=i
φi(m)φj(m) λi − λj 2
Rodol` a, Cosmo, B, Torsello, Cremers 2016
31/59
Plate Punctured plate Figure: Filoche, Mayboroda 2009
32/59
Model shape M Query shape N Part M ⊆ M ≈ isometric to N Data F, G Partial functional map TG ≈ F(M)
M N M T Rodol` a, Cosmo, B, Torsello, Cremers 2016
32/59
Model shape M Query shape N Part M ⊆ M ≈ isometric to N Data F, G Partial functional map G⊤ΨC ≈ F(M)⊤Φ
M N M C Rodol` a, Cosmo, B, Torsello, Cremers 2016
32/59
Model shape M Query shape N Part M ⊆ M ≈ isometric to N Data F, G Partial functional map G⊤ΨC ≈ F⊤diag(v)Φ v ∈ F(M) indicator function of M
M N v C Rodol` a, Cosmo, B, Torsello, Cremers 2016
32/59
Model shape M Query shape N Part M ⊆ M ≈ isometric to N Data F, G Partial functional map G⊤ΨC ≈ F⊤diag(η(v))Φ v ∈ F(M) indicator function of M η(t) = 1
2(tanh(2t − 1) + 1)
M N v C
Optimization problem w.r.t. correspondence C and part v min
C,v G⊤ΨC − F⊤diag(η(v))Φ2,1 + ρcorr(C) + ρpart(v)
Rodol` a, Cosmo, B, Torsello, Cremers 2016
33/59
min
C,v G⊤ΨC − F⊤diag(η(v))Φ2,1 + ρcorr(C) + ρpart(v)
Rodol` a, Cosmo, B, Torsello, Cremers 2016
33/59
min
C,v G⊤ΨC − F⊤diag(η(v))Φ2,1 + ρcorr(C) + ρpart(v)
Part regularization ρpart(v) = µ1
η(v)dm 2 + µ2
ξ(v)∇Mvdm where ξ(t) ≈ δ
2
a, Cosmo, B, Torsello, Cremers 2016; BB 2008
33/59
min
C,v G⊤ΨC − F⊤diag(η(v))Φ2,1 + ρcorr(C) + ρpart(v)
Part regularization ρpart(v) = µ1
η(v)dm 2
+ µ2
ξ(v)∇Mvdm
where ξ(t) ≈ δ
2
a, Cosmo, B, Torsello, Cremers 2016; BB 2008
33/59
min
C,v G⊤ΨC − F⊤diag(η(v))Φ2,1 + ρcorr(C) + ρpart(v)
Part regularization ρpart(v) = µ1
η(v)dm 2
+ µ2
ξ(v)∇Mvdm
where ξ(t) ≈ δ
2
ρcorr(C) = µ3C ◦ W2
F + µ4
(C⊤C)2
ij + µ5
((C⊤C)ii − di)2
Rodol` a, Cosmo, B, Torsello, Cremers 2016; BB 2008
33/59
min
C,v G⊤ΨC − F⊤diag(η(v))Φ2,1 + ρcorr(C) + ρpart(v)
Part regularization ρpart(v) = µ1
η(v)dm 2
+ µ2
ξ(v)∇Mvdm
where ξ(t) ≈ δ
2
ρcorr(C) = µ3C ◦ W2
F
+ µ4
(C⊤C)2
ij
+ µ5
((C⊤C)ii − di)2
Rodol` a, Cosmo, B, Torsello, Cremers 2016; BB 2008
34/59
C W C⊤C
20 40 60 80 100 2 4
singular values Rodol` a, Cosmo, B, Torsello, Cremers 2016
35/59
C-step: fix v∗, solve for correspondence C min
C G⊤ΨC − F⊤diag(η(v∗))Φ2,1 + ρcorr(C)
v-step: fix C∗, solve for part v min
v G⊤ΨC∗ − F⊤diag(η(v))Φ2,1 + ρpart(v)
Rodol` a, Cosmo, B, Torsello, Cremers 2016
35/59
C-step: fix v∗, solve for correspondence C min
C G⊤ΨC − F⊤diag(η(v∗))Φ2,1 + ρcorr(C)
v-step: fix C∗, solve for part v min
v G⊤ΨC∗ − F⊤diag(η(v))Φ2,1 + ρpart(v)
Iteration 1 2 3 4 Rodol` a, Cosmo, B, Torsello, Cremers 2016
36/59
20 40 60 80 100 104 105 106 107 108 109 1010 Iteration Energy C-step v-step 5 10 15 20 25 Time (sec.) Rodol` a, Cosmo, B, Torsello, Cremers 2016
37/59
Rodol` a, Cosmo, B, Torsello, Cremers 2016
37/59
Rodol` a, Cosmo, B, Torsello, Cremers 2016
37/59
Rodol` a, Cosmo, B, Torsello, Cremers 2016
37/59
Rodol` a, Cosmo, B, Torsello, Cremers 2016
38/59
0.05 0.1 0.15 0.2 0.25 20 40 60 80 100 50 100 150 50 100 150 Geodesic error % Correspondences
PFM
Correspondence performance for different rank values k
Rodol` a, Cosmo, B, Torsello, Cremers 2016
39/59
0.05 0.1 0.15 0.2 0.25 20 40 60 80 100
Geodesic Error % Correspondences
Cuts
0.05 0.1 0.15 0.2 0.25
Geodesic Error
Holes PFM RF IM EN GT
SHREC’16 Partial Matching benchmark Rodol` a et al. 2016; Methods: Rodol` a, Cosmo, B, Torsello, Cremers 2016 (PFM); Sahillio˘ glu, Yemez 2012 (IM); Rodol` a, Bronstein, Albarelli, Bergamasco, Torsello 2012 (GT); Rodol` a et al. 2013 (EN); Rodol` a et al. 2014 (RF)
40/59
20 40 60 80 0.2 0.4 0.6 0.8 1
Partiality (%) Mean geodesic error
Cuts
20 40 60 80
Partiality (%)
Holes PFM RF IM EN GT
SHREC’16 Partial Matching benchmark Rodol` a et al. 2016; Methods: Rodol` a, Cosmo, B, Torsello, Cremers 2016 (PFM); Sahillio˘ glu, Yemez 2012 (IM); Rodol` a, Bronstein, Albarelli, Bergamasco, Torsello 2012 (GT); Rodol` a et al. 2013 (EN); Rodol` a et al. 2014 (RF)
41/59
Correspondence Correspondence error
0.0 0.1
Boscaini, Masci, Rodol` a, B 2016
42/59
Correspondence Correspondence error
0.0 0.1
Boscaini, Masci, Rodol` a, B 2016
43/59
Background: Spectral analysis on manifolds Functional correspondence Partial functional correspondence Non-rigid puzzles
Litani, BB 2012
45/59
Rodol` a, Cosmo, B, Torsello, Cremers 2016
45/59
Litani, Rodol` a, BB, Cremers 2016
46/59
Functional correspondence matrix C
Rodol` a, Cosmo, B, Torsello, Cremers 2016
47/59
N N M M
CNN slant ∝ |N| |N| CMM slant ∝ |M| |M|
Litani, Rodol` a, BB, Cremers 2016
47/59
N N M M
CNM = CNN CN MCMM slant ∝ |N| |N| |M| |M|
Litani, Rodol` a, BB, Cremers 2016
47/59
N N M M
CNM = CNN CN MCMM slant ∝ |N| |N| |M| |M| = |N| |M|
Litani, Rodol` a, BB, Cremers 2016
48/59
Input Model M Parts N1, . . . , Np Output Segmentation Mi ⊆ M Located parts Ni ⊆ Ni Correspondences Ci Clutter N c
i
Missing parts M0
Model Parts
M1 M2
C1 C2
N2 N1 N c
2
N c
1
M0 M N2 N1
Litani, Rodol` a, BB, Cremers 2016
48/59
Data Fi, Gi Model basis Φ, Φ(Mi) Part bases Ψi, Ψi(Ni) Data term F⊤
i Φ(Mi) ≈ G⊤ i Ψi(Ni)Ci
Model Parts
M1 M2
C1 C2
N2 N1 N c
2
N c
1
M0 M N2 N1
Litani, Rodol` a, BB, Cremers 2016
49/59
min
Ci Mi⊆M,Ni⊆Ni p
G⊤
i Ψ
Ψ Ψi(Ni)Ci − F⊤
i Φ
Φ Φ(Mi)2,1 + λM
p
ρpart(Mi) + λN
p
ρpart(Ni) + λcorr
p
ρcorr(Ci) s.t. Mi ∩ Mj = ∅ ∀i = j M0 ∪ M1 ∪ · · · ∪ Mp = M |Mi| = |Ni| ≥ α|Ni|,
Litani, Rodol` a, BB, Cremers 2016
49/59
min
Ci ui,vi p
G⊤
i diag(η(ui))Ψ
Ψ ΨiCi − F⊤
i diag(η(vi))Φ
Φ Φ2,1 + λM
p
ρpart(η(vi)) + λN
p
ρpart(η(ui)) + λcorr
p
ρcorr(Ci) s.t.
p
η(ui) = 1 a⊤
Mui = a⊤ N vi ≥ αa⊤ Ni1
Litani, Rodol` a, BB, Cremers 2016
50/59
Outer iteration 1
Litani, Rodol` a, BB, Cremers 2016
50/59
Outer iteration 2
Litani, Rodol` a, BB, Cremers 2016
50/59
Outer iteration 3
Litani, Rodol` a, BB, Cremers 2016
51/59
80 90 100 110 120 130 140 150 160
Iteration number Time (sec)
30 32 34 36 38 40 42 44 46 48
Litani, Rodol` a, BB, Cremers 2016
52/59
Model/Part Synthetic (TOSCA) Transformation Isometric Clutter No Missing part No Data term Dense (SHOT)
Litani, Rodol` a, BB, Cremers 2016
52/59
Model/Part Synthetic (TOSCA) Transformation Isometric Clutter No Missing part No Data term Dense (SHOT) Segmentation
Litani, Rodol` a, BB, Cremers 2016
52/59
Model/Part Synthetic (TOSCA) Transformation Isometric Clutter No Missing part No Data term Dense (SHOT) Correspondence
Litani, Rodol` a, BB, Cremers 2016
53/59
Model/Part Synthetic (FAUST) Transformation Near-isometric Clutter Yes (overlap) Missing part No Data term Dense (SHOT) Segmentation
Litani, Rodol` a, BB, Cremers 2016
53/59
Model/Part Synthetic (FAUST) Transformation Near-isometric Clutter Yes (overlap) Missing part No Data term Dense (SHOT) Correspondence
Litani, Rodol` a, BB, Cremers 2016
53/59
Model/Part Synthetic (FAUST) Transformation Near-isometric Clutter Yes (overlap) Missing part No Data term Dense (SHOT)
0.0 0.1
Correspondence error
Litani, Rodol` a, BB, Cremers 2016
54/59
Model/Part Synthetic (TOSCA) Transformation Isometric Clutter Yes (extra part) Missing part Yes Data term Dense (SHOT)
Litani, Rodol` a, BB, Cremers 2016
54/59
Model/Part Synthetic (TOSCA) Transformation Isometric Clutter Yes (extra part) Missing part Yes Data term Dense (SHOT) Segmentation
Litani, Rodol` a, BB, Cremers 2016
54/59
Model/Part Synthetic (TOSCA) Transformation Isometric Clutter Yes (extra part) Missing part Yes Data term Dense (SHOT) Correspondence
Litani, Rodol` a, BB, Cremers 2016
55/59
Model/Part Synthetic (TOSCA) / Scan Transformation Non-Isometric Clutter No Missing part No Data term Sparse deltas
Litani, Rodol` a, BB, Cremers 2016
55/59
Model/Part Synthetic (TOSCA) / Scan Transformation Non-Isometric Clutter No Missing part No Data term Sparse deltas Segmentation
Litani, Rodol` a, BB, Cremers 2016
56/59
Partial functional map (pair-wise) Non-rigid puzzle
Rodol` a, Cosmo, B, Torsello, Cremers 2016; Litani, Rodol` a, BB, Cremers 2016
57/59
New insights about spectral properties of Laplacians Extension of functional correspondence framework to the partial setting Practically working methods for challenging shape correspondence settings Code available (SGP Reproducibility Stamp) Some over-engineering - can be done simpler! (stay tuned...)
58/59
Supported by
59/59