Geometry Processing – Alignment and Registration
Geometry processing: Revision history
An Introduction to the Conjugate Gradient Method Without the Agonizing Pain, Shewchuk 1994.
For example, consider if a surface
A very natural way to measure the difference between these two surfaces aggregate the distance between each pair of corresponding points. For example, we could integrate this distance over the parametric domain (w.l.o.g. let's say valid values are $u,v ∈ (0,1)$):
\[ D_2(X,Y) = \sqrt{ ∫_0^1∫_0^1 ‖\x(u,v) - \y(u,v)‖² ;du;dv } \]
This measure will be zero if the surfaces are the same for any choice of
parameters
\[ D_2(X,Y) = \sqrt{ ∫_0^1∫_0^1 d(u,v)² ;du;dv }, \quad \text{ and } \quad d(u,v) = ‖\x(u,v) - \y(u,v)‖ \]
We can directly measure the maximum distance between corresponding
points, the
\[ D_∞(X,Y) = \lim_{p→∞} \sqrt[p]{∫_0^1∫_0^1 d(u,v)^p ;du;dv } = \sup\limits_{u,v ∈ (0,1)} ‖\x(u,v) - \y(u,v)‖, \]
where
The measure
On the computer, we can store an explicit surface as a triangle mesh. Triangle meshes have an implicit parameterization: each triangle can be trivially and independently mapped to the unit triangle, via its barycentric coordinates.
Triangle meshes also afford an immediate analog of deformation: moving each vertex of the mesh (without change the mesh combinatorics/topology).
So if
\[ ∑\limits_{{i,j,k} ∈ T} \sqrt{ ∫_0^{1-u} ∫_0^1 \left| \underbrace{\left(u \v_x^i + v \v_x^j + (1-u-v) \v_x^k\right)}_\x
\underbrace{\left(u \v_y^i + v \v_y^j + (1-u-v) \v_y^k\right)}_\y \right|^2 ;du;dv } \]
Note: The areas of the triangles in our mesh may be different. So this measure may be thrown off by a very large triangle with a small difference and may fail to measure a very small triangle with a large difference. We'll learn how to account for this, later.
Unfortunately, in many scenarios we do not have two co-parameterized surface or a simple per-vertex mesh deformation. Instead, we may have two arbitrary surfaces discretized with different meshes of different topologies. We will need a measure of difference or distance between two surfaces that does not assume a shared parameterization.
To form a metric in the
mathematical sense, a distance measure should be symmetric: distance from
\[ D_{H}(X,Y) = \max \left[ D_{\overrightarrow{H}}(X,Y)\ , \ D_{\overrightarrow{H}}(Y,X) \right]. \]
Unlike each individual directed distance, the (undirected) Hausdorff distance
will measure zero if and only
if the point
set
of the surface
On the computer, surfaces represented with triangle meshes (like any point set) admit a well-defined Hausdorff distance between one-another. Unfortunately, computing exact Hausdorff distance between two triangle meshes remains a difficult task: existing exact algorithms are prohibitively inefficient.
We do not know a
priori which
point(s) of each triangle mesh will end up determining the maximum value. It is
tempting, optimistic, but ultimately incorrect to assume that the generator
points will be one of the vertices of the triangle mesh. Consider if a triangle
One might also optimistically, but erroneously hope that by considering the
symmetric Hausdorff distance one of the generator points must lie on a vertex
of
We can similarly define a symmetric distance by summing the two directed distances:
\[ D_{C}(X,Y) = D_{\overrightarrow{C}}(X,Y) + D_{\overrightarrow{C}}(Y,X) = \sqrt{\ ∫\limits_{\x∈X} ‖\x - P_Y(\x) ‖² ;dA }+ \sqrt{\ ∫\limits_{\y∈Y} ‖\y - P_X(\y) ‖² ;dA }. \]
If we place no restrictions or
constraints on the
transformation
If
$X$ and$Y$ are complete matches, then one way to remove these trivial solutions is to minimize the symmetric energy summing energies from$X$ to$Y$ and from$Y$ to$X$ :\[ E_C(T(X),Y) = E_{\overrightarrow{C}}(T(X),Y) + E_{\overrightarrow{C}}(Y,T(X)). \]
Appending the energy
$E_{\overrightarrow{C}}(Y,T(X))$ measure the distance from all points on$Y$ to the transformed surface$T(X)$ ensures that we will not get zero energy if some part of$Y$ does not get matched to some part of$X$ .
Sections 3.2-3.3 provide a modern optimization-view of iterative closest point method. Places ICP as an instance of a very powerful "space of optimization techniques". New way of looking at just about any optimization problem.