Distance
Between
Meshes

by
Hans &
Pernille
Project overview
- Distance on meshes*
- Reproducing Kernel Hilbert Spaces
- Embedding of shapes into space of currents
- Currents metric
- Code (Implementation in Jax)
- Experiments
- Translation, scaling, rotation
- Refinement of mesh
*Stanley Durrleman. Statistical models of currents for measuring the variability of anatomical curves, surfaces and their evolution. Human-Computer Interaction [cs.HC]. Université Nice Sophia Antipolis, 2010. English. fftel-00631382f
Currents metric on shapes
- A solution to the (point)-correspondence issue
- Convergence of 'mesh distance' to the initial continuous representation as the grids become finer
- Works for piecewise smooth curves and surfaces
Let S~ be a piecewise smooth curve or surface, and let n(x) denote the tangent or normal at x∈S~.
The shape S can be characterized by
for test vector fields w∈W.
S(w)=∫Sw(x)tn(x)dλ(x)

So S~ can be identified with S∈W∗ where
W∗={f:W→R∣f linear and cont.}
But what is W?
Reproducing Kernel Hilbert Space
Choose W as a Reproducing Kernel Hilbert Space with the Gaussian Kernel
This is an infinite dimensional Hilbert space of functions satisfying that x↦f(x) is cont. for all f∈W.
K(x,y)=−exp(−∣∣x−y∣∣2)/(2σ2)).
The space has the following important properties:
- W is the closed span of K(x,y)β for points y and vectors β, i.e. w=∑i=1∞K(.,yi)βi for all w∈W.
- The inner product on basis vectors is ⟨K(.,x)α,K(.,y)β⟩W=αtK(x,y)β
Reproducing Kernel Hilbert (dual) Space
By the mapping (contraction) L(w)(w′)=⟨w,w′⟩W we can embed w as L(w)∈W∗. Letting δxα=L(K(.,x)α) , we may write
S~∼S=∑iδxiαi
The inner product on W descents to one on W∗ by
⟨δxα,δyβ⟩W∗=⟨K(.,x)α,K(.,y)β⟩=αtK(x,y)β
We say that W∗ is the space of currents, which represents our shapes.
⟨∑iδxiαi,∑iδyiβi⟩W∗=∑iαitK(xi,yi)βi
Distance of shapes
The Currents metric of two shapes is
d(S,S′)=∣∣S−S′∣∣W∗=(⟨S−S′,S−S′⟩)1/2
If S=∑iδxiαi and S′=∑iδyiβi then
d(S,S′)=∑i,jαitK(xi,xj)αj+∑i,jβitK(yi,yj)βj
−2∑i,jαitK(xi,yi)βj
∑i,jXitK(ai,bj)Yj=XTY∗K
where K is the matrix Kij=K(ai,bj).
The inner product can be written as the matrix multiplication
Influence of kernel

K(x,y)=−exp(−∣∣x−y∣∣2)/(2σ2)).
Gaussian Kernel:
The Code



The Meshes
Experiments
Translation



Scaling

Rotation

Sphere from cube


Mesh refinement
Normalizing with area weights
Our Questions
- Should the normals be scaled by area weights?
- What are good use cases?
- What σ-values are appropriate?
Thank you for listening!
Distance on meshes
By pernilleehh
Distance on meshes
- 280