next up previous
Next: 4 Merging Shapes Up: A Method of Previous: 2 Background

3 Polyhedral-Based Correspondence

This section describes a correspondence algorithm which produces a mapping between two triangulated surfaces tex2html_wrap_inline3521 and tex2html_wrap_inline3523 . 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 tex2html_wrap_inline3593 and tex2html_wrap_inline3595 . 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 tex2html_wrap_inline3597 and tex2html_wrap_inline3599 for which tex2html_wrap_inline3601 and tex2html_wrap_inline3603 . Pairs of labelled vertices from these polyhedrons comprise a set of tex2html_wrap_inline3605 correspondences. The connectivity of each of the corresponding polyhedra is identical. The pair-wise correspondence algorithm comprises two stages:

  1. Generation of sparse polyhedral approximations of the input shapes tex2html_wrap_inline3607 and tex2html_wrap_inline3609 , tex2html_wrap_inline3611 and tex2html_wrap_inline3613 by triangle decimation; for which tex2html_wrap_inline3615 and tex2html_wrap_inline3617 . The connectivity descriptions of vertices in these polyhedra are updated during the decimation process. This reduces the computational complexity of the correspondence task. No correspondences are established between the pair of shapes at this stage, and the polyhedrons will usually have a different number of vertices i.e. tex2html_wrap_inline3619 .
  2. Generation of a corresponding pair of sparse polygons tex2html_wrap_inline3597 and tex2html_wrap_inline3599 . This is accomplished using a global Euclidean measure of similarity between both the sparse polyhedron tex2html_wrap_inline3611 and a subset of labelled vertices from tex2html_wrap_inline3609 and between tex2html_wrap_inline3613 and a subset from tex2html_wrap_inline3607 . The connectivity and number of vertices from either tex2html_wrap_inline3611 or tex2html_wrap_inline3613 is chosen to define the polyhedra tex2html_wrap_inline3597 and tex2html_wrap_inline3599 from the labelled vertices tex2html_wrap_inline3641 and tex2html_wrap_inline3643 .

These two steps will now be described in greater detail.

3.1 Sparse Polyhedron Generation

To generate a sparse polyhedron tex2html_wrap_inline3611 representing tex2html_wrap_inline3607 , we have used a modified version of the triangle mesh decimation algorithm of Schroeder et al [10]. The original decimation algorithm had three stages:

  1. Each vertex of the triangle mesh of is characterised by local geometry and topology and labelled with one of five classifications, this step requires the definition of a threshold feature angle.
  2. A decimation criterion is evaluated for each vertex tex2html_wrap_inline3725 based upon a distance metric tex2html_wrap_inline3727 appropriate to its classification. If tex2html_wrap_inline3729 where tex2html_wrap_inline3731 is some target distance, then the vertex is removed.
  3. The hole left by removing a vertex is filled by re-triangulation.
The algorithm is implemented by making multiple passes over all vertices in the mesh until some termination criterion is met. This criterion may be based on either the number of vertices left in the mesh or upon d.

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 tex2html_wrap_inline3735 is defined by a unit normal tex2html_wrap_inline3737 and weighted centroid tex2html_wrap_inline3739 which are defined using the tex2html_wrap_inline3741 triangles connected to tex2html_wrap_inline3735 :

equation2287

where tex2html_wrap_inline3745 , tex2html_wrap_inline3747 and tex2html_wrap_inline3749 are respectively the centroids, unit surface normals and areas of triangle tex2html_wrap_inline3751 connected to tex2html_wrap_inline3735 . The volume metric is computed as:

equation2310

where tex2html_wrap_inline3755 and tex2html_wrap_inline3757 are the sums of the areas of the triangles in the loop before and after decimation respectively, and tex2html_wrap_inline3759 and tex2html_wrap_inline3761 are the signed distances of the vertex tex2html_wrap_inline3763 to the mean plane of the loop before and after decimation i.e. tex2html_wrap_inline3765 . 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 tex2html_wrap_inline3725 sorted by increasing tex2html_wrap_inline3769 . 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.

   figure2333
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.

3.2 Correspondence via Euclidean Transformation

We have used the Iterative Closest Point (ICP) algorithm described by Besl and McKay [2] to establish correspondences between the vertices of tex2html_wrap_inline3607 and tex2html_wrap_inline3609 . 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 tex2html_wrap_inline3893 with the dense pointset tex2html_wrap_inline3895 and of the sparse pointset tex2html_wrap_inline3897 with the dense pointset tex2html_wrap_inline3899 . 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:

  centering2349

The pointsets tex2html_wrap_inline3899 and tex2html_wrap_inline3895 are the vertices of the original densely triangulated surfaces, the subsets tex2html_wrap_inline3893 and tex2html_wrap_inline3897 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:

equation2382

is determined, where Q represents the Euclidean transformation tex2html_wrap_inline3939 , s is a scale factor, tex2html_wrap_inline3941 is a rotation matrix and tex2html_wrap_inline3943 is a translation. This measures the point registration errors in an intermediate frame rather than in either frame tex2html_wrap_inline3945 or frame tex2html_wrap_inline3947 .

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 tex2html_wrap_inline3949 by a factor of tex2html_wrap_inline3951 where tex2html_wrap_inline3953 is the unit surface normal on tex2html_wrap_inline3955 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, tex2html_wrap_inline3959 and tex2html_wrap_inline3961 . The choice of connectivity is not critical and so we choose the connectivity of tex2html_wrap_inline3611 (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 tex2html_wrap_inline3965 . The connectivity description of tex2html_wrap_inline3611 is now combined with the pointset tex2html_wrap_inline3969 to produce a pair of matching polyhedra with a one-to-one mapping tex2html_wrap_inline3971 . The number of correspondences tex2html_wrap_inline3605 has now been determined: tex2html_wrap_inline3975 .


next up previous
Next: 4 Merging Shapes Up: A Method of Previous: 2 Background

Alan Brett
Wed Jul 9 16:24:02 BST 1997