This section describes a correspondence algorithm which produces a
mapping between two triangulated surfaces
and
. In
our case, the 3D surface is defined as a set of planar contours.
Each contour represents the outline of a 3D object as it appears in a
single 2D slice of a 3D image. The vertices of these contours are the
pointsets
and
.
The connectivity of each pointset is generated from its contour
representation using the algorithm of Geiger [5].
This produces densely triangulated polyhedral surface representations.
We assume that the geometric information of each surface has been
normalised such that the centre-of-gravity is at the origin and
the mean distance of the points from the origin is 1.
The output of the algorithm is a pair of sparse polyhedrons
and
for which
and
.
Pairs of labelled vertices from these
polyhedrons comprise a set of
correspondences. The connectivity
of each of the corresponding polyhedra is identical.
The pair-wise correspondence algorithm comprises two stages:
To generate a sparse polyhedron
representing
,
we have used a modified version of the triangle mesh decimation
algorithm of Schroeder et al [10]. The
original decimation algorithm had three stages:
Our adaptation of this algorithm makes use of a volume metric rather than a distance metric for the decimation criterion. This is analogous to the area metric of the Critical Point Detection (CPD) [15] algorithm used for the decimation of polygons in the 2D version of this landmarking framework. The use of a volume metric allows us to treat all of the vertices of a mesh uniformly and to dispense with the vertex characterisation step of the algorithm. As a consequence of this, we may also dispense with the definition of a threshold feature angle.
The volume metric is computed using Schroeder's distance to mean plane
measure. The mean plane
associated with a vertex
is defined by a unit
normal
and weighted
centroid
which are defined using the
triangles connected to
:
where
,
and
are respectively
the centroids, unit surface normals and areas of triangle
connected to
.
The volume metric is computed as:
where
and
are the sums of the areas of the triangles
in the loop before and after decimation respectively,
and
and
are the signed distances
of the vertex
to the mean plane of the loop before and
after decimation i.e.
.
By decimation it is meant that the vertex
associated with the loop has been removed and the resulting
hole re-triangulated. Re-triangulation of the hole is by a recursive
loop-splitting algorithm which seeks to fill the hole with triangles
of high aspect ratio.
The decimation algorithm is implemented by keeping a list of vertices
sorted by increasing
. The head of this list is
iteratively decimated and the list updated until a target number of
vertices for the sparse polyhedron is met. Again, this is
analogous to the CPD algorithm used for polygon decimation. Thus,
a sparse polyhedral approximation to our original triangulated
mesh is produced which consists of a subset of vertices of that mesh,
see Figure 1.
Figure 1: Result of applying the decimation algorithm to a
triangulated surface of the left ventricle of the brain.
On the left is a shaded representation of the
original dense triangulation with
approximately 2000 vertices. On the right the same
surface decimated by 90%.
This stage of the algorithm introduces the only control parameter in the algorithm - the target number of vertices that should be left in the sparse polyhedral representation after decimation. We have determined empirically that the removal of 90% of the original vertices gives an adequate shape representation whilst decreasing the computational cost of finding correspondences and merging shapes in the subsequent stages of the algorithm.
We have used the Iterative
Closest Point (ICP) algorithm described by Besl and McKay
[2] to establish correspondences between the vertices
of
and
. The ICP algorithm determines the
Euclidean transformation required to map one pointset onto another
pointset without any initial correspondence information. We have used
a symmetric version of this algorithm to establish correspondences
of the sparse pointset
with the dense
pointset
and of the sparse pointset
with the dense pointset
. Producing correspondences using the sparse
polyhedra which have been generated by decimation cuts down the
computational cost of this stage of the algorithm.
The symmetric ICP algorithm is as follows:
The pointsets
and
are
the vertices of the original densely triangulated
surfaces, the subsets
and
are the
vertices of the decimated surfaces. An initial estimate of the
pose Q is made by finding the translation required to register
the centroids of the pointsets in an intermediate
frame, and the scaling required to equalise
the average chord length (average distance from all points to centroid)
of the two pointsets.
Various metrics can be used to define the best match between pointsets. We have used a symmetric measurement of the distance error in registration of the pointsets. We minimise this error such that the pose Q which satisfies:
is determined, where Q represents the Euclidean transformation
, s is a scale factor,
is a rotation matrix and
is a translation.
This measures the point registration errors in an intermediate frame
rather than in either frame
or frame
.
The connectivity of the polyhedra may be used to
improve the performance of the algorithm by using information about
the surface normals at each point. We weight the squared distance
between points
by
a factor of
where
is the unit surface normal on
at point i,
to encourage the correspondence of
points on the surfaces which are topologically equivalent.
A single corresponding pair of sparse polyhedra must now be
established from the
two polyhedron/pointset pairs,
and
. The choice of connectivity
is not critical and so we choose the connectivity of
(the binary tree framework causes the error of the
match to be tested for both pair orderings). This choice defines
one of the corresponding sparse polyhedra
.
The connectivity description of
is now combined
with the pointset
to produce a pair of
matching polyhedra with a one-to-one mapping
. The number of
correspondences
has now been determined:
.