Graph–Based Surface Reconstruction Using ... - Semantic Scholar

Report 2 Downloads 130 Views
Graph–Based Surface Reconstruction Using Structures in Scattered Point Sets Robert Mencl and Heinrich M¨uller Informatik VII (Computer Graphics) University of Dortmund Germany Abstract We present an algorithm for the reconstruction of a surface from an unorganized set of points in space. The point data may be obtained from a laser range scanner or any other digitizing tool to describe the shape of the object(s). The basic idea of the algorithm is to construct some kind of wire frame for the surface, the so–called surface description graph. This is performed by applying several steps. In the final part of the algorithm this wire frame is then filled with triangles. Each step uses rules for the reconstruction which are based on human knowledge in geometric structures. These rules are designed to allow the reconstruction of artificial objects as well as natural objects and are extendable in many aspects for ongoing research. As a result of this approach, our algorithm is able to reconstruct surfaces in data sites with changing point density as well as high curvature of the surface. In addition, it automatically recognizes the number of objects covered in the point set. Several examples are given to demonstrate its features.



Several algorithms compute an approximating surface for the point set by generating a new point set to describe the final net [24, 23, 15, 22, 5, 6, 4, 19, 20, 21, 35, 14, 26, 34, 11, 2]. This approach is often used, where a high amount of points is available, some sampling conditions are fulfilled and/or noise is present in the data. Problems arise, if the final application needs an interpolating surface through the input point set. This only can be done by an additional adjusting step.



In approaches using one global parameter for the reconstruction the user often has problems in adjusting the parameter to fit at areas with high detail and high point density as well as to areas with low point density [17, 29, 16, 22, 8].



Usually, the reconstruction of sharp edges and areas with high curvature is a hard problem for many approaches, because the direction of a surface at discontinuities is not easy to identify [12, 11, 2, 26, 34, 35, 14, 19, 20, 21].



Sometimes the point set needs to meet some sampling conditions, like a uniform point density, to make it possible for the algorithm to generate a correct reconstructions [2, 24, 23, 31].



Many algorithms have some constraints on the surface type which can be reconstructed. Since approximated tangent planes in reconstruction algorithms are often oriented, un-orientable surfaces are problematic [8, 10, 7, 9, 2, 3, 25].



The topological type of the object which can be reconstructed is often restricted to objects without holes [12] or closed polyhedrons, for example [32, 33, 5, 6, 37, 38].

1 Introduction In computer animation, the design of characters and natural objects plays an important role. The difficulties in modeling complex objects lead to the use of automatic range scanning systems which provide point data on the object’s surface. The computation of surfaces out of this point data is referred to as surface reconstruction. The resulting surface can sometimes be a triangular net, a network of B spline patches or an implicit surface description. The purpose of this paper is to deal with the general problem of surface reconstruction which is the reconstruction from unorganized three-dimensional point clouds. Those algorithms using range image data over a twodimensional parameter grid [13] address a different problem and will not be mentioned here. Algorithms for surface reconstruction have certain difficulties or disadvantages which have to be known to properly judge the validity or accuracy of a reconstruction method:

A more detailed description of these algorithms and their properties can be found in the survey paper on reconstruction methods [28]. The solution presented here is a further development based on our previous approach in [27]. In contrast to many

other methods our approach returns a piecewise linear surface which interpolates exactly the input point set. During modeling of natural objects manual digitizing tools are often used to assure that certain points on the objects surface are definitely in the input point set and in the resulting surface, like eyes, ears, noses and other key points. The exact interpolation of these areas is of high importance. The algorithm can handle point sets with high changes in point density. This makes it possible to describe objects with only the least necessary amount of points since it is not necessary to oversample areas with low local curvature. Even the reconstruction of sharp edges in artificial or synthetic objects can be done properly. The surfaces that can be reconstructed also may be nonorientable, like M¨obius strips, for example. The basic idea of our approach is to iteratively augment the Euclidian minimum spanning tree (EMST) of the given set of points to a surface triangulation. Each step is based on rules that describe actions to be performed at locations of the graph with particular features. For each step, assumptions are formulated which characterize the situation in which the particular step will yield a reasonable result. These assumptions allow to check for whether the application of the algorithm may be successful. The new contribution of this paper with respect to [27] is an extension of the rule mechanism and the features taken into consideration. The new features are related to particular important regions of the shape of the object, or can be patterns in the data caused by the scanning method. Our emphasis lies on the features “ring” and “path” which often mark characteristic locations of a given shape. Beyond the special emphasis on ring and path features of this work which demonstrate the general principle, the approach presented here is an open framework which may be arbitrarily refined to special classes of shapes, by augmenting the system by further feature detection algorithms, and rules based on them.

These steps yield a sequence (SDG(i) )si=0 of so-called surface description graphs (SDG). The initial graph SDG(0) (P ) = (P; fg) has the set P = fp1 ; : : : ; pn g of sampling point as vertices, and an empty set of edges. SDG(k+1) is expected to represent the surface better than SDG(k) , for k  0: The basic assumption for this approach is that throughout all modifications all of the resulting graph edges are lying on the real surface (which is of course unknown) or connecting different objects by single edges. That means each edge represents the best approximation for the surface between its end points.

2 The Reconstruction Algorithm Our solution consists of seven main steps: 1. The computation of the EMST (Euclidean minimum spanning tree) of the point set. 2. Extension of the graph at leaf points of the EMST. 3. Recognition of ring and path features in the graph. 4. Extraction of different objects out of the graph.

Figure 1. Some examples for EMSTs of various point sets.

5. Connection of features of the same kind. 6. Connection of associated edges in the graph. 7. Filling the wire frame with triangles.

In step 3, feature recognition is performed to gain necessary information considering the possible structure of the

surface. We focus on features describing characteristic shape structures, like paths, sharp edges, and rings. After that, these areas are disconnected and/or connected according to certain rules in order to get a more detailed description of the objects in our point set (steps 4 and 5). In the last step before the triangle filling procedure, the computed graph is extended more by connecting associated edges in the graph under consideration of certain constraints. The final surface description graph SDG(final) is used as an input for the last step of our algorithm, the triangle filling procedure. In this procedure, possible triangles for the insertion are sorted with respect to a criterion resembling the probability that the triangle belongs to the surface and are then filled into the wire frame. In the following these steps are described in detail.

Step 1: Computation of the Euclidean Minimum Spanning Tree A Euclidean minimum spanning tree (EMST) is a tree connecting all points of P with line segments so that the sum of its edge lengths is minimized. A tree is an acyclic connected graph. Evidently, the edges of a Euclidean minimum spanning tree connect points that lie close together in space. On the other hand, it can be expected for a reasonably sampled surface that the point density on the surface is higher than anywhere else in the surrounding space. In particular, for non-convex surfaces and objects consisting of more than one component points lying far apart from each other in space are unlikely to be neighboring on the surface. Further, if it is necessary to reconstruct very small and detailed structures the point density at those areas should be higher than at parts with less detail. The distribution of the points should allow a human observer to understand the structure of the surface even in areas with high local curvature. This leads to the first of several assumptions our approach is based on:

Assumption 1 The edges of a Euclidean minimum spanning tree EMST(P ) are lying on the surface to be reconstructed if the surface consists of one component (the surface represents exactly one object). If the point set describes more than one surface, the different surfaces are connected by single edges. These edges can sometimes be characterized by an exceptionally high length in comparison to edges in their neighborhood. Some examples for EMSTs can be seen in Figure 1.

Step 2: Extension of the graph at leaf points of the EMST The surface description graph of second order P connecting the leaves of P their neighborhood. The selection of a point to be connected to a leaf is based on the assumption that the edges of the graph EMST(P ) lie almost in parallel to the true tangent plane of the surface (which is of course unknown). The point which is chosen has to be the nearest one in a specified search cone defined by the leaf edge and must not exceed the length of the leaf edge by a certain factor. This is to make sure that the new point lies close to the leaf point in the sense of the point density in the neighborhood of the leaf point. For more details on this graph extension we refer to our previous work [27], Slight changes and extensions in this step are described in the following.

SDG(2) ( ) is obtained by the SDG(1) ( ) to points in

search cone wrong

correct search cone

Figure 2. Three segments of an EMST are shown which are projected to the (approximated) local tangent plane of the surface. Left: Several leaves of the Euclidean minimum spanning tree with connecting edges already found (dashed lines). Upper right: The dotted rays define a search cone. If the search cone is too small neighboring points cannot be seen. To avoid these overlaying edges we have to apply an overlay test before inserting an edge into the graph. Lower right: A search angle of 90 degrees can significantly reduce the number of positive overlay tests.

Preventing the overlay of edges during the graph extension To prevent the overlay of edges in the graph extension step of SDG(2) , we can use an overlay test. Edges which overlay each other according to their estimated tangent plane of the surface (cf. Figures 2 and 3(a)) are unwanted. Otherwise they would induce overlaying triangles in the final

c a c

d

b

d

search cone

a

b

(a)

(b)

Figure 3. Segments of a graph are shown which are projected to the (approximated) local tangent plane of the surface. (a) Left: An overlay of two edges. (b) Right: The point b is too near at the edge cd. Therefore cd cannot be inserted.

surface since we take the graph as a wire frame for the triangle filling procedure in the last step of our reconstruction algorithm, cf. section 2. The result of this consideration is the following rule: Rule 1 (Overlaying Edges Rule) No overlay of edges may occur in the graph describing the surface, that is, each pair of arbitrary edges ab and cd in the graph fulfills the following condition: Both dihedral angles at ab and cd in the tetrahdron abcd (defined by ab and cd and a; b; c; d pairwise not identical) do not fall below the value edge overlay anglemin (cf. Figure 3(a)). A reasonable value for edge overlay anglemin is 25 degrees. Preventing thin triangles Thin triangles are often not desired in an application using the reconstruction result. Therefore, we prevent this with the following rule. Rule 2 (Thin Triangle Rule) An edge ab to be inserted in the graph has to fulfill the following condition: There is no point p where one of the angles arc(a; b; p) and arc(b; a; p) with ab is smaller than a value thin triangle anglemin, where arc(a; b; p) denotes the angle at a in the triangle 4abp (cf. Figure 3(b)). A reasonable value for thin triangle anglemin is 10 degrees. Figure 4 shows a SDG(2) ’s for some point sets. The wire frames look quite naturally. Based on these observations it is reasonable to assume the following property of the SDG(2) (P ): Assumption 2 The edges of the surface description graph

SDG(2) ( ) are lying on the reconstructed surface, except P

those connecting different objects.

Figure 4. Some examples of the The new edges are drawn in blue.

SDG(2) ( ). P

In summary, the SDG(2) is computed as follows: Algorithm: Compute SDG(2) (P ) Input: SDG(1) (P)=EMST(P). Operation: Extend SDG(1) (P ) to SDG(2) (P ): FOR EACH leaf point pleaf DO Find the closest point padd (if there is one) in the search cone defined by the restriction of the angle arc(eleaf ; pleaf padd ). IF k eadd k  leaf srch len factmax  k eleaf k AND eadd fulfills the Overlaying Edges Rule 1 AND eadd fulfills the Thin Triangle Rule 2 THEN Add the edge pleaf padd to the current graph. FI OD. Output: SDG(2) :

-

-

-

-

-

Step 3: Recognition of features in the Surface Description Graph We consider features to be structures of certain importance in the underlying surface description graph. These can emerge through special properties of the shape of the scanned object as well as through the scanning method. Each scanning method has its own properties which often has impact on the resulting point set. Therefore, scan paths can often be observed in the structure of the data site. Examples for features are feature paths, valleys, corners, and

rings. The idea is to use this feature knowledge as a base for a graph modification step. Considering the structural coherence of features we can connect or disconnect regions in the graph to improve the correctness of our surface description graph. As an example of this idea, in this step we detect two kinds of features, rings and paths. These are particularly useful for the reconstruction of synthetic objects, since they often consist of artificial structures.

Algorithm: Compute SDG(3) (P ): Input: SDG(2) (P ). Operation: Detect features in the graph. 1. Detect all Rings in the Graph. 2. Detect all Paths in the Graph. Output: SDG(3) (P ).

Definition 1 A ring is a cycle in the graph with the following properties:

Remark: SDG(3) is identical to SDG(2) except the classification of the edges. This feature recognition step is of course extendable to gain more information about the object. We are working on a broader view of the feature recognition step in our current research.

1. All incident angles between two adjacent edges exceed a minimum value ring classifier anglemin (e.g. 135 degrees).

Step 4: Extraction of different objects out of the Graph

2. All normals of each triangle which is build by a ring edge and the center of gravity of the ring points does not differ more than ring classifier percentagemax in average from the normal of the approximated tangent plane of the ring points. 3. The projection of all edges on the approximated tangent plane does not have any intersections.

--- -

4. Consider three consecutive directed edges e1 ; e2 ; e3 of the ring. The vector of the crossproduct e1  e2 has the same orientation as e1  e3 ; that is, the edges describe a left (right) turn.

- -

Definition 2 A path is a cycle free list (minimum two edges) of pairwise adjacent edges where all incident angles between two edges exceed a minimum value path classifier anglemin (e.g. 170 degrees).

The feature based description of our object can now be used to modify the current surface description graph for getting a better description of the surface. Since it is possible that more than one object is part of a data site, the automatic disconnection of these objects is an important step. For data sites generated by random sampling of the object(s) we invent the following rule for disconnecting areas in the graph. Rule 3 (Graph Clustering Rule) Each edge in the graph has to fulfill one of the following conditions: 1. The length of the edge ab does not exceed the average edge length in its neighborhood at each of its endpoints by more than a certain factor. That is, kabk  clustering factormax  average(fkek : e 2 Nbhd(a)g) and kabk  clustering factormax  average(fkek : e 2 Nbhd(b)g) The neighborhood Nbhd(p) is defined by all graph edges having one point inside the sphere at p of radius kabk: Nbhd(p) = fe : dist(ae ; p)  kabkg and Nbhd(p) = fe : dist(be ; p)  kabkg, where e = ae be . 2. The edge ab connects two rings or a ring with a path. (We then assume that it connects areas of certain importance.)

Figure 5. Some recognized features in a surface description graph SDG(3) (P ): Rings (orange) and Paths (green).

Since artificial objects often can consist of certain structures with high variations in point density the Graph Clustering Rule 3 could disconnect edges connecting rings in artificial objects like the spiral with inner torus (cf. Figure 5). Therefore, we have to preserve these structures by identifying edges connecting areas of certain importance. For the time being, edges are tested whether they connect two rings or a ring with a line. But first, we need a classifier to detect almost perpendicular edges and/or vectors.

-

--

Definition 3 (Almost Perpendicular) Two vectors v1 and v2 are considered to be almost perpendicular if the smaller of the two angles enclosed between v1 ; v2 always exceeds the value almost perpendicular classifier anglemin (eg. 60 degrees). Now, we can state a clustering rule for connecting edges between two rings. The principle is to compare the normals and the centers of gravity of two rings. If the rings do not belong together the connection between their centers of gravity is almost perpendicular to their normals. An example is given in Figure 6 where the black edges connect the inner torus with the outer spiral. If the normals have almost the same orientation, that is, they are almost parallel, we assume that the two rings form a tube and therefore have to remain connected. Rule 4 (Ring Clustering Rule) An edge connecting two different rings r1 ; r2 is invalid if the following holds: 1. The connecting vector of the two centers of gravity (of the two rings) is “almost perpendicular” to the normals of both rings according to the Definition of Almost Perpendicular 3. 2. The length of the connecting vector of the two centers of gravity exceeds the smallest distance between edges of the two rings. (This part is to assure that no one of the rings is enclosed by the other ring if they have the same tangent plane as it could appear in the cup (cf. Figure 5). Then it is assumed that a connection is correct.) By this method we preserve long edges between features in artificial point sets while disconnecting different clusters from each other. This is just one possible method, but many combinations with other point clustering strategies are possible (cf. [36, 1, 40, 30]). The algorithm for Step 4 can be formulated as follows: Algorithm: Compute SDG(4) (P). Input: SDG(3) (P). Operation: Disconnect different objects in the graph from each other. FOR EACH edge e in SDG(3) DO IF e violates the Graph Clustering Rule 3 OR the Ring Clustering Rule 4 THEN Delete this edge. FI OD Output: SDG(4) (P ).

Figure 6. Examples for the SDG(3) (P ) (left) and SDG(4) (P ) (right). Tori: The longest edge is deleted by the Graph Clustering Rule 3. Spiral with inner torus: The black edges connecting the torus with the spiral are deleted because of the Ring Clustering Rule 4.

Remark: The number of objects can be detected by simply identifying the disjoint subgraphs. In consequence of our considerations about this clustering step, we can formulate the following assumption. Assumption 3 Edges of extraordinary length in comparison to their neighborhood do not lie on the surface. Edges connecting two rings do not belong to the surface if the rings have different orientations.

Step 5: Connection of features of the same kind As seen in the previous step we can use particular information of our feature recognition step to determine which areas obviously do not belong together. Taking into account assumption 3 we can expect that through the minimality property of the EMST certain object structures (even same objects) are still not connected, cf. Figures 1 and 5. To assure that areas of similar feature regions are connected appropriately, we connect special path regions with each other. Rule 5 (Path Connection Rule) An edge e connecting two end points of recognized feature paths pth1 and pth2 is valid iff the definition for paths is not violated at both end points of e with respect to pth1 and pth2 (not necessarily distinct) and the following condition holds: The length of e does not exceed the length of one of the end edge of pth1 or pth2 by a certain factor:

e path conn factormax  max(ke1 k; je2 k), where e1 (e2 ) defines the end of path pth1 (pth2 ). k k 

The underlying principle of this rule is, that paths with the same orientation in their neighborhood imply some sort of object line, cf. Figure 7. With respect to the current structure and to the Edge Overlay Rule 1 we can formulate the algorithm for Step 5: Algorithm: Compute SDG(5) . Input: SDG(4) (P ). Operation: Connect path end points with other paths. FOR EACH end point ppath end of a path pth in the graph DO IF there is another path end point pconnect in the neighborhood of ppath end AND the connection ppath end pconnect satisfies the path def. at its start and end AND it does not exceed the length of: path conn len factormax  kepath end k (where epath end is the edge of the path at point ppath end ) AND this connection does not violate the Overlaying Edges Rule 1 AND it does not violate the Thin Triangle Rule 2 THEN Connect this edge to the graph. FI OD Output: SDG(5) (P ).

Figure 7. Some examples for the SDG(4) (P ) (left) and SDG(5) (P ) (right). The connection lines are drawn in violet. almost parallel classifier anglemax = 30 degrees is a suitable choice. This tolerance is motivated because a connection of two neighboring almost parallel edges to a quadrilateral q would not imply badly-shaped triangles in the inside of q: Next, we have to assure, that the insertion of an edge fits into the surrounding structure of the current graph.

Rule 6 (Quadrilateral Rule) An edge e is valid iff each of its end points satisfies the following condition: There is no edge at this point which is enclosing a smaller angle than quadri edge anglemin with e. If e already exists in the graph it is valid by default.

Since we now expect to have connected all areas and objects which belong together we can state the following assumption. a

Assumption 4 Edges connecting paths of same orientation belong to the surface.

e1

ea

b eb

p

Step 6: Connection of associated edges in the graph Structures of similar meaning often consist of point (sub)sets or edges having some sort of same orientation. A result of this is the assumption, that edges which are near to each other and have the same orientation (are almost parallel) could belong to the same part of the surface. A natural approach is to connect these edges to make the graph more dense provided that the surrounding edges do not imply that an insertion would not be correct. First, we classify the meaning of almost parallel. and Definition 4 (Almost Parallel) Two edges e1 e2 are considered to be almost parallel if the smaller of the two angles enclosed is below almost parallel classifier anglemax.

e

q

Figure 8. A schematic example for the generation of a quadrilateral (edges drawn hatched) of the SDG(6) (P ). Edge e1 is in the search space of e. Since there are no edges at the points a; b; p; q which interfere with the edges ea ; eb according to the Quadrilateral Rule 6, they can be inserted.

-

Rule 7 (Search Space Rule) An edge e1 is in the search space of e iff the connecting vector v

-

of their mid points has the following property: arc(v; e)  search space anglemin (e.g. 45 degrees), where arc(v; e) denotes the smallest angle between v and e:

-

-

To avoid connecting areas which had been already disconnected in the fourth step of our algorithm we take care not to connect these areas again, since we must assume that the clustering step worked fine. Therefore, we state the following rule. Rule 8 (Object Rule) An edge is invalid if it connects two rings or objects which had been already disconnected in Step 5. Algorithm: Compute SDG(6) (P ) Input: SDG(5) (P ). Operation: Connect associated edges in the graph. FOR EACH edge e in SDG(5) DO 1. Search the nearest almost parallel edge e1 according to the Definition of Almost Parallel 4 and the Search Space Rule 7. 2. Define the not selfcrossing quadrilateral q = ee1 ea eb . IF q fulfills the Overlaying Edges Rule 1 AND the Thin Triangle Rule 2 AND ea and eb of q do not violate the Quadrilateral Rule 6 AND and they do not violate the Object Rule 8 THEN Insert ea and eb to the graph SDG(5) . FI OD Output: SDG(6) (P ): Provided that this graph extension step worked fine we consider the following assumption to be true. Assumption 5 The connecting edges between two almost parallel edges in their neighborhood belong to the surface.

Figure 9. Some examples for the SDG(6) (P ). The edges of the SDG(1) are drawn black while the edges of the SDG(2) (blue) SDG(6) (light green).

Based on this assumption the triangulation is constructed incrementally by adding edges and inserting triangles. The edge or triangle to be added is selected by choosing a pair of incident edges in the current graph with respect to the angle enclosed. Among all pairs of incident edges not yet inducing a triangle, one with the smallest enclosing angle is chosen. If the selected edge pair and the triangle induced by it satisfy some additional rules, the edge closing the edge pair to a triangle is added to the current graph. This process is continued as long as suitable pairs of edges exist. Now, we will introduce several rules controlling the main procedure of the reconstruction algorithm.

Step 7: Filling the wire frame with Triangles The final step is filling triangles into the wire frame given by the SDG(6) (P ) in order to obtain a triangular mesh as a representation of the surface. A basic assumption for this step is that triangles induced by pairs of incident edges of the SDG(6) enclosing a small angle are likely to belong to the surface if they do not worsen the triangulation around their incident point. Assumption 6 Triangles induced by pairs of incident edges of the SDG(6) (P ) enclosing a small angle are likely to belong to the surface.

Obtaining surface-like triangular networks A first rule that has to hold is necessary to obtain surfacelike triangular networks: Rule 9 (Triangle Incidence Rule) At most two triangles may be incident to an edge. Avoiding intersecting surfaces A second rule is necessary to forbid intersecting surfaces. Rule 10 (Triangle Intersection Rule) Triangles may not intersect each other.

Avoiding overlaying faces During the construction of triangles, an overlay situation may occur if a point lies close to a triangle which is considered to be inserted, cf. [27] for details. The following rule helps to prevent this situation: c

c a

a

demand a certain maximum angle for the edge pairs to perform the border detection, it will be possible to detect holes and borders of the surface with a determined precision. Rule 13 (Edge Pair/Angle Rule) The angle enclosed by a triangle-inducing pair of incident edges must not exceed a given constant bound edgepair anglemax.

p

p

b

b

p c a

b

Figure 10. The point p lies close above the face 4abc (top left and right). Bottom left: The projection of the point p on the plane of the face 4abc lies outside triangle 4abc: Bottom right: An example of overlaying faces.

Rule 11 (Overlaying Faces Rule) For all triangles 4abc and all points p whose orthogonal projections fall into the triangle, all of the angles between the triangles 4abp; 4bcp; 4acp and the triangle 4abc exceed a constant bound overlay anglemin (cf. Figure 10). The value of 45 for overlay anglemin allows the algorithm to recover surface areas with high local detail. Avoiding foldovers in the surface The following rule bounds the dihedral angle between two triangles neighboring along a common edge. This means that the angle always lies between 0 and 180 degrees. If the triangles are co-planar the angle is 0 or 180 . The purpose of this rule is to avoid foldovers in the surface. Rule 12 (Face Pair/Angle Rule) The angle between two faces at their incident edge must not be less than a given constant bound facepair anglemin. A suitable choice of facepair anglemin is 60 degrees. Border detection The last rule helps to characterize the outer border and holes of a surface. Intuitively, it is clear that holes in the surface are areas bordered by a sequence of edges enclosing angles that do not fall below a certain maximum value. Thus, if we

Figure 11. Left: The point set. Right: The reconstructed surface with its inner hole. The border of the surface has been recognized using a smaller valid angle than 180 (edgepair anglemax = 120). Bottom: The reconstruction result without border detection (edgepair anglemax = 180 ). A value around 120 for edgepair anglemax has given quite good results, cf. Fig. 11. If borders and holes are not desired, edgepair anglemax is set to 180. Handling sharp edges in the point set Preserving sharp edges of real objects in a final reconstruction is a problem of high importance for any surface reconstruction algorithm. Many algorithms which use approximated tangent planes for the reconstruction have problems with this task. In our algorithm real edges are preserved by computing the best triangulation around a point with respect to its adjacent edges. For that reason we have to state the following Definition: Definition 5 (Optimal triangulation around a point pi ) Let Tpi be a triangulation around a point pi with its graph edges fe : e is edge at pi g its face set ff : f is face at ej g. A triangulation around a point pi is optimal if there is no non-selfintersecting triangulation where the sum of all angles between its incident triangles is higher than the sum

X arc( k

4

j =0

fleftj ; ei ; 4frightj ) with

card( f : f is face at ej ) = 2 f

g

;

e

e

c

c a

a

b

b d

e

d

d

a,b,c

Figure 12. An example for the smoothness rule. Left: Point a with its edge. Right: The optimal triangulation. Bottom: View from side (a; b; c are collinear). where arc(a; e; b) denotes the smaller of the two dihedral angles between the faces a; b at their common edge e: Remark: All triangles have to be non-degenerate, that is, the points of each triangle are not collinear. Note, that there can be more than one optimal triangulation with the same angle sum around a point. Consider the situation around a point where the triangulation is not yet closed, that is, not all edges incident to this point have two adjacent triangles. The optimal triangulation is then computed by preserving the already inserted triangles and by taking the remaining edges to complete the triangulation around a point by maximizing the above mentioned sum. This is done each time for each point during the computation in the triangle filling procedure. Rule 14 (Smoothness Rule) A triangle which is induced by an edge pair of a point pi can be inserted if the triangulation around this point stays optimal according to Definition 5.

are not correct in the sense of a good reconstruction. Using the smoothness rule our algorithm is able to preserve sharp edges in real objects. The principle of this rule is to analyze the environment of a point to determine which triangle would be the best for insertion. Thinking of a surface meeting requirements concerning a smoothness criterion is a natural concept in geometric modeling. Without this rule an edge pair could imply the insertion of triangles lying perpendicular to the real surface. For example, triangle 4dae would be inserted in Figure 12. Some more examples are given in Figure 13 with 5,6 and 8 edges around a central point with its optimal triangulation. Note that only one optimal triangulation is shown for these examples. The complete reconstruction algorithm can be summarized as follows: Algorithm: Surface Reconstruction Input: A point set P = fp1 ; : : : ; pn g 2 IR3 : Operation 1: Compute the graph G = SDG(6) after applying Steps 1 to 6. Operation 2: Sort all pairs of incident edges of G(P ) according to their enclosed angle. Operation 3: Initialize the set FT of all reconstructed triangles as an empty set. Operation 4: Filling the wire frame SDG(6) (P ) with triangles. WHILE there is an edge pair of the Graph G which was not yet considered _

DO choose the edge pair ee (incident point p) with the smallest angle enclosed. IF

_

the edge pair ee, the point p and the induced triangle fulfill the Overlaying Edges Rule 1 AND Thin Triangle Rule 2 AND Triangle Incidence Rule 9 AND Triangle Intersection Rule 10 AND Overlaying Faces Rule 11 AND Face Pair / Angle Rule 12 AND Edge Pair / Angle Rule 13 AND p fulfills the Smoothness Rule 14 THEN 1. Add the face 4abc to FT : 2. Add the (possibly) new edge to SDG(6) : 3. Insert the (possibly) new edge pair in the sorted list of edge pairs according to its angle.

FI OD Output: FT contains the triangular net. Figure 13. Some more examples for optimal triangulations around a point. The results are quite natural. Edge pairs in the graph enclosing a small angle sometimes could induce triangles for the filling procedure which

3 Implementation and Experiments The algorithm has been implemented in C++ (using Tcl/Tk/Tix and OpenInventor for the Graphical User Interface) and applied to several data sets. To improve the adap-

Figure 14. The reconstruction of a cup. From left to right: point set P , SDG(1) (P ), SDG(2) (P ), SDG(3) (P ), SDG(5) (P ), SDG(6) (P ), the reconstruction after 1500 faces and the complete reconstruction result.

Figure 15. From left to right: The point set, SDG(1) (P ), SDG(2) (P ), SDG(3) (P ), SDG(4) (P ), SDG(5) (P ), SDG(6) (P ) and the final reconstruction from two view points. Note: The point set consists of two objects.

tive reconstruction run time concerning the amount of time spent on incremental nearest neighbor computation we developed a nearest neighbor algorithm which dynamically computes only as many neighbors as necessary [39]. Using this algorithm, arbitrary concurrent neighbor queries can be performed independently. It is based on arbitrary triangulations as an input data structure, because a triangulation is a very natural spatial decomposition. Currently, for convenience reasons we are using the Delaunay triangulation as input but any other triangulation could be taken, too. For reducing the run time a triangulation with O(n log n) complexity would be the best [18]. The point sets for the examples were chosen to represent the following possible classes of point sets: sparse point sets, point sets with changing point density, artificial point sets, extremely dense point sets. Note that all objects were reconstructed with the same set of parameter values.

Figure 16. The results for the reconstruction of the tori and the head. Remark: The point set for the torus is randomly sampled and quite sparse. Therefore the resulting net is not smooth. The computation of the cup which consists of 2600 points took 5 minutes (Delaunay triangulation only: 1 min.). The spiral with inner torus (1248 points) required approx. 2 minutes (Delaunay triangulation 45 sec., Reconstruction 1:15 minutes.) The time for computation of the tori (620 points) and the head (1487 points) in Figure 16 were in total 1 and 2.5 minutes. The very dense data site of the mask in Figure 17 took quite a long time. The Delaunay triangulation needed 2 hours 13 minutes preprocessing time and the final reconstruction step approximately 1 hour (Indigo 2 Extreme). The puppet in Figure 18 consists of 1214 points and was reconstructed in 6 minutes.

4 Future Developments As we have seen the algorithm has given quite good results for various point sets. Due to its efficiency concerning

Figure 17. From left to right: The point set (48921 points) and the reconstruction result from several view points of a very dense data site. Note that the point set describes only the front part of the mask and the border is preserved very accurately. The point set is a courtesy of MASSEN machine vision systems GmbH in Konstanz (Germany).

the low amount of necessary points to describe a surface, its high accuracy in areas with special detail and its robustness in the change of point density as well as in preserving sharp edges in the object, this algorithm is a useful tool in many fields of computer graphics where the generation of surfaces out of unstructured input point data is important. Nevertheless, we cannot be sure that it will properly reconstruct every kind of point set. In real world applications, the daily use of a reconstruction system often bears problems that are hard to solve. Therefore, the user should be able to apply some kind of re-engineering of the reconstructed object(s) to interact at areas where the reconstruction currently could be problematic. The types of interaction can be generating new rules (and parameters), setting parameters, the application of different operators for the modifica-

ware as well as test data of Ernst Peter M¨ucke, University of Illinois at Urbana–Champaign, were used.

References

Figure 18. From left to right: The point set, the EMST = SDG(1) , SDG(2) , SDG(6) and the final results from two view points. This point set is a good example to demonstrate the robustness of our algorithm according to changes in point density in the same data site. Point set: Courtesy of Academy of Media Arts in Cologne (Germany). tion of the input data, for example, and graphical interaction. Of course, as much intelligence as possible should be transferred to the rule system, to avoid any unnecessary interaction by the user. Hence, the development of advanced feature recognition and clustering algorithms is one of the areas where research can be done to increase the knowledge on the behaviour of surfaces.

5 Acknowledgements The authors would like to thank Prof. Georg Fleischmann and Oliver Bunsen, Academy of Media Arts in Cologne (Germany), and Prof. Robert Massen, MASSEN machine vision systems GmbH in Konstanz (Germany), for providing us with point data sets. For implementations done in relation with this paper, the Delaunay triangulation soft-

[1] N. Ahuja and M. Tuceryan. Extraction of early perceptual structure in dot patterns: Integrating region, boundary, and component gestalt. Computer Vision, Graphics, and Image Processing, 48:304–356, 1989. [2] M.-E. Algorri and F. Schmitt. Surface reconstruction from unstructured 3d data. Computer Graphics forum, 15(1):47– 60, 1996. [3] D. Attali. r-regular shape reconstruction from unorganized points. In ACM Symposium on Computational Geometry, pages 248–253, 1997. Nice, France. [4] A. Baader. Ein Umwelterfassungssystem f¨ur multisensorielle Montageroboter. PhD thesis, Universit¨at der Bundeswehr, Munich, Germany, 1995. Fortschrittberichte, VDI Reihe 8 Nr. 486, ISBN 3-18-3 48608 - 3, ISSN 0178-9546, (in German). [5] A. Baader and G. Hirzinger. Three–dimensional surface reconstruction based on a self–organizing feature map. In Proc. 6th Int. Conf. Advan. Robotics, pages 273–278, 1993. Tokyo. [6] A. Baader and G. Hirzinger. A self–organizing algorithm for multisensory surface reconstruction. In International Conf. on Robotics and Intelligent Systems IROS ’94, September 1994. Munich, Germany. [7] C. Bajaj, F. Bernardini, and G. Xu. Reconstructing surfaces and functions on surfaces from unorganized 3d data. Algorithmica, 19:243–261, 1997. [8] C. L. Bajaj, F. Bernardini, and G. Xu. Automatic reconstruction of surfaces and scalar fields from 3d scans. Computer Graphics Proceedings, SIGGRAPH ’95,Annual Conference Series, pages 109–118, 1995. [9] F. Bernardini and C. Bajaj. Sampling and reconstructing manifolds using alpha-shapes. In Proc. of the Ninth Canadian Conference on Computational Geometry, pages 193– 198, August 1997. Also available as: Technical Report CSD-97-013, Department of Computer S ciences, Purdue University, 1997. [10] F. Bernardini, C. Bajaj, J. Chen, and D. R. Schikore. Automatic reconstruction of 3d cad models from digital scans. Submitted for publication, 1997. Also available as: Technical Report CSD-97-012, Department of Computer Sciences, Purdue University, 1997. [11] E. Bittar, N. Tsingos, and M.-P. Gascuel. Automatic reconstruction of unstructured data: Combining a medial axis and implicit surfaces. Computer Graphics forum, 14(3):457– 468, 1995. Proceedings of EUROGRAPHICS ’95. [12] J.-D. Boissonnat. Geometric structures for threedimensional shape representation. ACM Transactions on Graphics, 3(4):266–286, October 1984. [13] B. Curless and M. Levoy. A volumetric method for building complex models from range images. Computer Graphics Proceedings, SIGGRAPH ’96, Annual conference series, pages 303–312, 1996.

[14] Demetri Terzopoulos, Andrew Witkin, and Michael Kass. Constraints on deformable models: Recovering 3d shape and nonrigid motion. Artificial Intelligence, 36:91–123, 1988. [15] M. Eck and H. Hoppe. Automatic reconstruction of b–spline surfaces of arbitrary toplogical type. Computer Graphics Proceedings, SIGGRAPH ’96, Annual Conference Series, pages 325 – 334, 1996. [16] H. Edelsbrunner. Weighted alpha shapes, 1992. Technical Report UIUCDCS-R-92-1760, Department of Computer Science, University of Illinois at Urbana-Champaign, Urbana, Illinois. [17] H. Edelsbrunner and E. M¨ucke. Three-dimensional alpha shapes. ACM Transactions on Graphics, 13(1):43–72, 1994. Also as Technical Report UIUCDCS-R-92-1734, Department of Computer Science, 1992, University of Illinois at Urbana-Champaign. [18] H. Edelsbrunner, F. P. Preparata, and D. West. Tetrahedrizing point sets in three dimensions. Journal of Symbolic Computation, 10:335–347, 1990. [19] P. Fua and P. T. Sander. From points to surfaces. In B. C. Vemuri, editor, Geometric Methods in Computer Vision, pages 286–296. Proc. SPIE Vol. 1570, 1991. [20] P. Fua and P. T. Sander. Reconstructing surfaces from unstructured 3D points. In Proc. Image Understanding Workshop, pages 615–625, San Diego, CA, 1992. [21] P. Fua and P. T. Sander. Segmenting unstructured 3D points into surfaces. In G. Sandini, editor, Computer Vision : ECCV ’92, Proc. Second European Conference on Computer Vision, pages 676–680, Santa Margherita Ligure, Italy, May 1992. Springer. [22] B. Guo. Surface reconstruction: from points to splines. Computer-Aided Design, Vol. 29(No. 4):269–277, April 1997. [23] H. Hoppe. Surface Reconstruction from Unorganized Points. PhD thesis, Univ. of Washington, Seattle WA, 1994. [24] H. Hoppe, T. DeRose, T. Duchamp, J. McDonald, and W. Stuetzle. Surface reconstruction from unorganized points. Computer Graphics, 26(2):71–78, July 1992. Proceedings of Siggraph ’92. [25] F. Isselhard, G. Brunnett, and T. Schreiber. Polyhedral reconstruction of 3d objects by tetrahedra removal. Technical report, Fachbereich Informatik, University of Kaiserslautern, Germany, February 1997. Internal Report No. 288/97. [26] James V. Miller, David E. Breen, William E. Lorensen, Robert M. O’Bara, and Michael J. Wozny. Geometrically deformed models: A method for extracting closed geometric models from volume data. Computer Graphics, pages 217–226, July 1991. Proceedings of SIGGRAPH ’91.

[27] R. Mencl. A graph–based approach to surface reconstruction. Computer Graphics forum, 14(3):445–456, 1995. Proceedings of EUROGRAPHICS ’95, Maastricht, The Netherlands, August 28 - September 1, 1995. [28] R. Mencl and H. M¨uller. Interpolation and approximation of surfaces from three–dimensional scattered data points, 1997. Research Report No. 662, Fachbereich Informatik, Lehrstuhl VII, University of Dortmund, Germany. [29] E. P. M¨ucke. Shapes and implementations in three– dimensional geometry. PhD thesis, Department of Computer Science, University of Illinois at Urbana–Champaign, September 1993. [30] J. D. Radke. On the shape of a set of points. In G. Toussaint, editor, Computational Morphology, pages 105–136. Elsevier Science Publishers B.V. (North Holland), 1988. [31] G. Roth and E. Wibowoo. An efficient volumetric method for building closed triangular meshes from 3–d image and point data. In Graphics Interface ’97, pages 173–180, 1997. [32] T. Schreiber. Approximation of 3d objects. In Proceedings of the 3rd Conference on Geometric Modeling, Dagstuhl, Germany, 1997. accepted for a supplementary issue of the journal Computing (Springer Verlag). [33] T. Schreiber and G. Brunnett. Approximating 3d objects from measured points. In Proceedings of 30th ISATA, Florence, Italy, 1997. [34] R. Szeliski and D. Tonnesen. Surface modeling with oriented particle systems. Computer Graphics, 26:185–194, July 1992. Siggraph ’92 Proceedings. [35] D. Terzopoulos and D. Metaxas. Dynamic 3d models with local and global deformations: Deformable superquadrics. IEEE Transactions on Pattern Analysis and Machine Intelligence, 13(7):703–714, July 1991. [36] R. Urquhart. Graph theoretical clustering based on limited neighbourhood sets. Pattern Recognition, 15(3):173–187, 1982. [37] R. C. Veltkamp. Closed object boundaries from scattered points. In Lecture Notes in Computer Science 885. Springer Verlag, 1994. [38] R. C. Veltkamp. Boundaries through scattered points of unknown density. Graphics Models and Image Processing, 57(6):441–452, November 1995. [39] F. Weller and R. Mencl. Nearest neighbour search for visualization using arbitrary triangulations. In M. G¨obel, J. David, P. Slavik, and J. J. van Wijk, editors, Virtual Environments and Scientific Visualization ’96, pages 191–200. Springer Verlag New York, 1996. [40] C. T. Zahn. Graph-theoretical methods for detecting and describing gestalt clusters. IEEE Transactions on Computers, C-20(1):68–86, 1971.