next up previous
Next: 5 Results Up: A Method of Previous: 3 Polyhedral-Based Correspondence

4 Merging Shapes

Given a pair of corresponding sparse polyhedra tex2html_wrap_inline3597 and tex2html_wrap_inline3599 , 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.

4.1 Parameterisation of Surface Paths

We now describe an algorithm which produces a parameterised path across the surface of a densely triangulated polygon between two vertices tex2html_wrap_inline4145 and tex2html_wrap_inline4147 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 tex2html_wrap_inline3989 , which spreads out in all directions along connected triangle edges, burning continuously until it reaches tex2html_wrap_inline3991 . 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 tex2html_wrap_inline4151 connected to the edge tex2html_wrap_inline4153 upon which the current end point tex2html_wrap_inline4155 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 tex2html_wrap_inline4157 with the smallest metric value is selected to burn next, and the best surface path point tex2html_wrap_inline3745 upon it becomes the new end of the surface path. The new edge tex2html_wrap_inline4153 now ignites all its unburnt neighbours tex2html_wrap_inline4157 (at a certain cost C) and attaches to each the following function value:

equation2455

where tex2html_wrap_inline4167 is the cost of igniting tex2html_wrap_inline4157 from tex2html_wrap_inline4153 . 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 tex2html_wrap_inline3989 to tex2html_wrap_inline3991 . The algorithm is made more computationally efficient by burning two fires simultaneously from tex2html_wrap_inline3989 to tex2html_wrap_inline3991 and from tex2html_wrap_inline3991 to tex2html_wrap_inline3989 until the boundaries of the two fires intersect.

     figure2472
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 tex2html_wrap_inline4167 . The minimisation of this cost locates the best next point for the surface path. A point tex2html_wrap_inline4177 on edge tex2html_wrap_inline4157 can be expressed parametrically by:

  equation2494

where tex2html_wrap_inline4181 are the vertices on the mesh which define the edge tex2html_wrap_inline4157 . We consider not just the path tex2html_wrap_inline4185 which is a sparse polyhedral edge, but also the sparse polyhedral triangles connected to this which have vertices tex2html_wrap_inline4187 and tex2html_wrap_inline4189 , see Figure 4.

   figure2509
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 tex2html_wrap_inline4191 which is the projection of tex2html_wrap_inline4193 onto the sparse edge tex2html_wrap_inline4185 , again see Figure 4:

equation2521

Now, we define a series of lengths:

eqnarray2535

from which the cost function of igniting an edge tex2html_wrap_inline4157 from edge tex2html_wrap_inline4153 may be defined as:

equation2563

which may be minimised in s to find tex2html_wrap_inline4177 . The minimisation of expression tex2html_wrap_inline4205 forces the surface path over hills, to follow a `straight' line between tex2html_wrap_inline4145 and tex2html_wrap_inline4147 . The minimisation of tex2html_wrap_inline4211 constrains the surface path to lie within the two triangles defined by tex2html_wrap_inline4213 and tex2html_wrap_inline4215 thus preventing it from looping back around the entire surface.

4.2 Producing a Mean Shape

The connectivity of tex2html_wrap_inline3597 and tex2html_wrap_inline3599 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 tex2html_wrap_inline3597 and tex2html_wrap_inline3599 recursively to some depth to produce the dense triangulation tex2html_wrap_inline4275 and tex2html_wrap_inline4277 .

Now a densely triangulated mean shape may be generated. The recursive triangle-splitting algorithm is applied to all of the triangles of tex2html_wrap_inline3597 and tex2html_wrap_inline3599 until tex2html_wrap_inline4283 . The geometric information from these is then averaged to produce a pointset tex2html_wrap_inline4285 and this is combined with the connectivity from either tex2html_wrap_inline4275 or tex2html_wrap_inline4277 to produce a densely triangulated polyhedron tex2html_wrap_inline4291 . Finally, tex2html_wrap_inline4291 is decimated to the required average number of vertices tex2html_wrap_inline4295 to produce our densely triangulated mean tex2html_wrap_inline4297 , see Figure 5.

   figure2606
Figure 5: The mean of two synthetic shapes. (a) and (b) are a pair of triangulated surfaces defining an ellipsoid tex2html_wrap_inline3607 and a sphere tex2html_wrap_inline3609 . 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, tex2html_wrap_inline3611 and tex2html_wrap_inline3613 . The approximations have been decimated by 90%. (c) is the dense triangulated mean shape tex2html_wrap_inline4297 of these two examples.


next up previous
Next: 5 Results Up: A Method of Previous: 3 Polyhedral-Based Correspondence

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