Given a pair of corresponding sparse polyhedra and , a local surface parameterisation is used to interpolate a dense set of vertices on each. The local surface parameterisation is of a single sparse triangle, and is produced by a parameterisation of the three surface paths corresponding to its three edges. If the triangles of the two sparse polyhedra correspond, then so will the interpolated vertices wtihin them. The connectivity of these vertices is defined by the interpolation. The interpolated vertices of this dense corresponding pair may then be merged by combining the geometric information from both, with the connectivity description which is identical in each.
We now describe an algorithm which produces a parameterised path across the surface of a densely triangulated polygon between two vertices and of its sparsely triangulated approximation. This surface path forms the basis of a local parameterisation of surface patches (sparse polyhedral triangles).
The algorithm works in a similar fashion to a distance transform algorithm. We imagine a fire started at , which spreads out in all directions along connected triangle edges, burning continuously until it reaches . The rate of burn is determined by a metric f . Only a finite number of points are considered on the boundary of the fire at any one time. These are the set of edges connected to the edge upon which the current end point of the surface path is located, see Figure 2. Each of these connected boundary edges has an identified best point which is a possible new point on the surface path. The edge with the smallest metric value is selected to burn next, and the best surface path point upon it becomes the new end of the surface path. The new edge now ignites all its unburnt neighbours (at a certain cost C ) and attaches to each the following function value:
where is the cost of igniting from . The function f increases monotonically along any given surface path. The manner in which the fire burns (i.e. always consider the edge with minimum cost so far) guarantees that we find the minimum cost path from to . The algorithm is made more computationally efficient by burning two fires simultaneously from to and from to until the boundaries of the two fires intersect.
Figure 3:
Surfaces are made densely triangulated by the recursive splitting of
triangles into groups of four sub-triangles.
Figure 2:
Surface paths are defined on the dense triangulation of the surface by
the parameterisation of triangle edges.
We now describe the function . The minimisation of this cost locates the best next point for the surface path. A point on edge can be expressed parametrically by:
where are the vertices on the mesh which define the edge . We consider not just the path which is a sparse polyhedral edge, but also the sparse polyhedral triangles connected to this which have vertices and , see Figure 4.
Figure 4:
The cost function used to produce surface paths is defined in terms of a
pair of sparse polyhedral triangles connected along an edge.
We define a point which is the projection of onto the sparse edge , again see Figure 4:
Now, we define a series of lengths:
from which the cost function of igniting an edge from edge may be defined as:
which may be minimised in s to find . The minimisation of expression forces the surface path over hills, to follow a `straight' line between and . The minimisation of constrains the surface path to lie within the two triangles defined by and thus preventing it from looping back around the entire surface.
The connectivity of and are identical. Therefore, we can correspond the individual sparse triangles of the polyhedra. A dense set of corresponded sampling points may then be generated within each pair of triangles. First, the three surface paths corresponding to the edges of a sparse triangle are extracted using the method of the previous section. Next, three new vertices are defined at the midpoints of these paths. The triangle is now split into four new sub-triangles, see Figure 3. This process is applied to all the triangles of and recursively to some depth to produce the dense triangulation and .
Now a densely triangulated mean shape may be generated. The recursive triangle-splitting algorithm is applied to all of the triangles of and until . The geometric information from these is then averaged to produce a pointset and this is combined with the connectivity from either or to produce a densely triangulated polyhedron . Finally, is decimated to the required average number of vertices to produce our densely triangulated mean , see Figure 5.
Figure 5:
The mean of two synthetic shapes. (a) and (b) are a pair of triangulated
surfaces defining an ellipsoid
and a sphere
. The upper surfaces are the original dense triangulation of
approximately 800 vertices. The lower surfaces are the polyhedral
approximations to these used for correspondence by the ICP algorithm,
and
. The approximations have been decimated by 90%. (c) is the dense
triangulated mean shape
of these two examples.
Alan Brett