We consider a curve reconstruction problem from unorganized point clouds with noise. In general, the result of curve reconstruction depends on how to select and order the representative points to resemble the shape of the clouds. We exploit a natural distance based on a property of one-dimensional Brownian motion to order sample points, which simultaneously reflect smoothness and nearness of points, so that our algorithm is able to reconstruct not only simple curves but also nonsimple curves. Numerous examples show that this algorithm is effective. The natural distance proposed in this paper is able to play an important role in a variety of fields of measuring the distance of points with considering direction.

1. Introduction

In many engineering fields such as the reverse engineering of geometric models and image processing of medical images, great attention has been shown to the problems of reconstructing a shape from sample points. The curve reconstruction problem we want to discuss in this article plays an especially important role in shape reconstruction problems (see, e.g., [14] and references therein) and has also been instrumental in the recent realizations of many algorithms.

Curve reconstruction problems can be regarded as the problem of fitting a curve or a family of curves to an irregularly spaced set of unorganized data points. Most existing techniques for solving the problem can be divided into two categories depending on whether the sample points of are distributed exactly on the family of curves without noise or are distributed around with some noise (possibly a point cloud around ). The techniques in the first category can also be classified depending on situations where the curves are either closed or open, either smooth or nonsmooth, and the sample points are distributed either uniformly or non-uniformly and so on. In any case, the techniques in the first category are well developed by many researchers (e.g., see [510] and the references therein) and most of these techniques give mathematical guarantees. There are a few algorithms working for uniformly sampled curves such as alpha shape [9], -regular shape [6], and EMST [11]. There are other algorithms that work for nonuniformly sampled curves such as Crust [5], Nearest Neighbor [8], Conservative Crust [12], Traveling Salesman Path [13], and Gathan [14, 15]. The algorithms provide a sampling condition with respect to geometric properties, which may result in a sample set not natural to human vision.

Recently, there are two algorithms which use two important properties of human vision: proximity and smoothness [16, 17]. Although the sample points are non-uniformly distributed, they can well reconstruct open simple and nonsmooth curves because they use several local features such as the mean of the distances and the mean of the angles of already-obtained edges. The creative vision function of VICUR [16] is a mathematical representation with experimental foundation. They considered only proximity and smoothness of the sample points on the Delaunay triangulation. That is, the candidates for the next point are limited to only points adjacent to the last point although the other points may produce smoother reconstructions. Thus, this is not able to reconstruct nonsimple curves and solve the curve reconstruction problem with noise.

Even though the second category, handling data points with noise, is closer to practical situations, relatively little research has been carried out on the second category (e.g., see [10, 1820] and the references therein). Fang and Gossard [10] used a method based on spring energy minimization to approximate an unorganized point set with a curve, which requires a good initial guess to find the solution. Taubin and Ronfard [20] reconstructed a planar curve from unorganized points using an implicit simplicial curve, which is defined by a planar triangular mesh and the values at the vertices of the mesh. Lee [19] proposed an algorithm based on a modified least-squares method and Euclidean minimum spanning tree. This method is not appropriate for curves with self-intersections. Most curve reconstruction algorithms mentioned above are based on the Euclidean distance to compute the proximity and the adjacency without consideration for smoothness, so they do not solve nonsimple curve reconstruction.

Assume that the set of data points we want to handle fits into the second category. More precisely, let . As indicated by Dedieu and Favardin in [7], one of the main steps for solving the curve reconstruction problem is to give an order on a subset of to fit a curve interpolating the points in the subset. If we denote the ordered points as and so on, and we assume that are already ordered, then the central problem is to find a way of reasonably selecting a next successive point from a subset , where we assume that the known facts are only the coordinates of points. For the case of the set in the first category, it is sufficient to estimate the angle between the lines for three consequence points, or estimate the Euclidean distance between nested points [7]. However, a separate usage of these two factors (angle and Euclidean distance) is not sufficient in the presence of noise.

What we try to do in this paper is to expound a new persuasive measure (called a natural distance) giving a smoothness and closeness between points, and applicable to order the points in the second category by combining naturally two facts: angle and Euclidean distance. The natural distance to pick up the next consecutive point from is defined by where Hereafter, we call a time distance, a standardized probability distance, and a subjective weight. By taking into account simple properties of Brownian motion, we will interpret a naturalness about the distance ordering the points in a subset of . In particular, we will show that, the time distance is a diffusing time measuring the closeness between points, while the standardized probabilistic distance is a function of measuring the smoothness between points. Finally, we will show that, under an appropriate lower bound of the subjective weight , the natural distance provides a plausible answer in ordering the points of . Also we will provide remarkable results through several figures of numerical experiments.

2. Natural Distance

In this section, we will discuss a naturalness for the distance defined in (1.1). In order to do this, we must first define a naturalness for a measure between points applicable to order the points. For chosen consecutive points and which are already ordered, let be a subset of such that for any the angle between and is acute. If a measure prefers to pick up the next point satisfying the following conditions, then we say that the measure has a naturalness and call it a natural distance. (C.1) Suppose that and are on the same straight line. Then the measure prefers the closest one to the previous point among , .(C.2) Suppose that are on the same circle with center and the angle between and , , is the smallest angle among those between and for all . Then the measure prefers among , as the next point of .

Two conditions (C.1) and (C.2) are similar to the first and second criterions of [7], respectively. To show a naturalness of , we will use a simple property of one-dimensional Brownian motion introduced in the following subsection.

An easier way to understand Brownian motion is to think of it as a continuous version of the random walk process. As documented in an enormous amount of literature on stochastic processes such as [21, 22], Brownian motion has several properties which explain the irregular motion observed in nature; for example, in two-dimensional space the motion of pollen grains suspended in liquid which does not flow. Among those, we use only the following property throughout this paper. (P.B) For given time , starting at is a random variable normally distributed with mean and variance , where is the Brownian motion process.

Roughly speaking, (P.B) means that the set of original points on the real line at time , which move randomly, becomes the set which is normally distributed with mean and variance after time.

2.1. A Motivation of the Distance

Before proving the naturalness for , we first explain a motivation of the derivation of . To do this, we begin with the following interpretation for the set . For two ordered points and , (), which were previously chosen, let be the ray with initial point and directional vector and let be the perpendicular line to passing through the point satisfying (C.1). Also define the signed angle   () between and by where the sign of is positive if is located on the left-hand side of and is negative on the right-hand side. Here, denotes the inner product in . Define two functions and by

The function is the Euclidean distance between and the intersection of and , and the function is the Euclidean distance between and the intersection of and . Then we can consider the pair as the new coordinates representation of (see Figure 1).

With the property (P.B) of Brownian motion, we further think of the -axis as the time axis with the original point , and -axis as the axis representing the value of Brownian motion. Therefore, if , is considered as a sample point of the random variable which has the normal distribution with mean and variance as shown in Figure 2, then we consider the point as one of the normally distributed points after time, which is randomly diffused from original point.

With this setting, we want to find a function providing the distances between and candidate points of , which prefer to choose a point satisfying the conditions (C.1) and (C.2) where has the minimum value. Then what is suitable for variables of ? We suggest two factors as variables of .

We adopt the function , called th time distance, as its first variable. The condition (C.1) in the previous section requires that should be strictly increasing for . This implies that we prefer to choose the point taking the smaller diffusion time to .

Similarly thinking, one may take the function as the second variable of . As shown in Figure 3, the probability density satisfies that, for arbitrary and two points such that and ,

However, the function is not enough as the second variable of because it is not independent of the first variable . Assume that are the points having different reaching times, that is, . Since is interpreted as a sample point of the random variable with a normal distribution with variance , we cannot compare the probability in the same way as above. For this reason, it is necessary to standardize random variables with normal distributions with the variance to be the standardized random variable with normal distribution with the same mean and the variance . So we adopt the function as the second variable of . We call this function th standardized probability distance. Easily speaking, if we ignore the effect of the th time distance, we think that the original point is more naturally attainable to than whenever (see Figure 4). The condition (C.2) in the previous section requires that should be strictly increasing for this second variable, though this is not a sufficient condition for (C.2).

Consequently, our problem is rewritten as the following, if is assumed to be . Choose satisfying the conditions (C.1) and (C.2) where the suitable (still undetermined) -function has the minimum value. Here the function strictly increases for both variables, that is, and .

There are plenty of such increasing function with two variables. Among all, the simplest one will be the linear function of the form for a positive constant . This is mostly caused by the convenience of calculation, but the function has several good features as the solution for the point ordering problem. The reader can check these, exploring some examples in the next section.

In this spirit, we define the th natural distance   () by, for and a positive constant , We call the subjective weight, since it represents how much weight is given to the second factor.

2.2. Naturalness of

To prove the naturalness of , we need to make some technical assumptions. Choosing points on the same level curve is problematic, where the points have the same natural distance from . If points lie on the same level curve with a different Euclidean distance from , we choose the closest point from to the Euclidean distance. Also, if two points lie on the same level curve with the same Euclidean distance from , we choose the point lying on the right-hand side of the direction .

The th natural distance has the following properties, which can be easily checked.

(P.1) If lies in the interior of the level curve , then ,(P.2) If , then ,(P.3) If , then ,(P.4) If lies on the level curve , then .

Some of these can be used to simplify numerical algorithms ordering the points. Here for (see Figure 5). (P.1) implies that the level curves do not intersect each other in -plane, so the natural distance satisfies (C.1). (P.3) is derived by the fact that the maximum value of the level curve is . In the following theorem, we will show that the natural distance locally satisfies (C.2).

Theorem 2.1. Assume that for some fixed positive . Then the natural distance satisfies the condition .

Proof. To show (C.2), it is enough to show that, for any fixed and , the system of equations has at most one root in the first quadrant ,  .
The second equation of (2.8) gives the equation . Hence from the first equation of (2.8), we have Thus, it suffices to prove that two curves and meet at most one point in the first quadrant . Note that, if the cubic function has three zeros, all of them must be less than zero because and hence provided . In this case, the intersection of two curves and on the first quadrant is at most one.
First, assume that has only one zero at . If the quadratic equation does not have solution or has negative solutions, then is a strictly increasing function for and hence the system has at most one root. Therefore the only case that has to be considered is the case Note that, in this case, the quadratic equation has two distinct positive solutions where , and the minimal extreme value of is obtained at . Using the relation , we can derive From (2.10) it can be easily verified that has the maximum value . So is bounded such as The last inequality is derived from . Hence if the inequality holds, then the proof is complete.

From Theorem 2.1, we know that points lying on the same level curve with the same Euclidean distance to the points should be located symmetrically with respect to the -axis. Thus if there exist such points, then there are only two in .

Now, we need to make a practical remark concerned with Theorem 2.1. As seen in its proof, the lower bound for is not obtained optimally, so we conjecture that this bound can be smaller in most cases. For practical usage of our method, we think that it is not inevitably necessary to give a consideration for the bound, since the purpose of our point ordering is to construct (or reconstruct) meaningful shapes (or the original shape) after connecting all ordered points. For this reason, in the following experiments, we are not concerned with the lower bound for on using the natural point ordering method.

Before closing this section, we remark on the effect of the subjective weights on the point orderings. It is obvious that, if is very big, the th natural distance is more sensitive to magnitudes of the changes of the th standardized probability distance than those of the th time distance . This fact can be checked in Figure 6, which presents the level curves of (2.6) for several values of the subjective weight . As increases, the width between the line and level curve becomes narrower.

3. Practical Algorithm

In this section, we will describe a practical algorithm for ordering points in an unorganized point cloud as well as a sample point set.

Let be a set of arbitrarily scattered points in . The point ordering problem aims to choose a family of subsets of , where each subset is a well-ordered set satisfying the natural conditions (C.1) and (C.2). Assume that are already ordered so that we may denote that with the last point and the direction . We define the connectivity of an ordered subset as the mean of the lengths of edges of the ordered subset: where is the distance between and .

We explain a process for computing the set of candidates for the next point and choosing the next point among the candidates, called NextPointFinder. Let be a neighborhood with center and radius satisfying the following condition: where is the remaining point set such that and is a parameter. We define the candidate set by as shown in Figure 7. We find out the point among the elements of such that .

There is a main difference between our method and VICUR [16] in the process. Our method permits all of points as a candidate for whether is a Delaunay edge or not, whereas VICUR considers only the points , where is a Delaunay edge. We think that it plays a role of a key to solve a nonsimple curve reconstruction problem.

In order to deal with the first category problem, we assume that there is no noise in the point set .

NADIAS (NAtural DIstance based Algorithm for Sample points)
Step 1. Compute Delaunay triangulation .Step 2. Let be the th local solution generated by NextPointFinder. Let be the shortest Delaunay edge in . Apply NextPointFinder with the last point and the direction until the candidate set is empty. Let be the solution of this process. Apply NextPointFinder with the last point and the direction until the candidate set is empty. Let be the solution of this process. Merge the two subsets and into , that is, . Update . Update .Step 3. If , then repeat Step 2.Step 4. If , then apply the following bridging process to a pair of and of : for two ordered subsets and , if the distance between (or ) and (or ) is less than the average of the connectivity and , then our algorithm connects these two ordered subsets.

Step 2 says that our algorithm follows a type of an incremental greedy approach: at each step it chooses the next point from among the candidate points that is best under the natural distance, including “close to the last point” and “in the direction of current travel”. The bridging process is similar to the curve-curve connectivity of [16] and makes our method reconstruct curves with sharp corners.

The time complexity of our algorithm is , where is the number of the input points because the dominant process of our algorithm is to compute Delaunay triangulation of them and it runs in . The main process of our algorithm is NextPointFinder which is repeatedly to find out a candidate set , and to select one point that has the minimum natural distance among the candidates. It takes , where is the number of the output points in and is a constant.

For the second category problem, we outline our algorithm as follows.

NADIAC (NAtural DIstance based Algorithm for Cloud points)
Step 1. Compute Delaunay triangulation . Step 2. Choose a point . Compute a neighborhood , where is a constant radius. Apply Principal Component Analysis to in order to obtain the initial direction which plays a role of the major principal axis in the neighborhood. Step 3. Apply NextPointFinder with the last point and the direction until the candidate set is empty. Let be a local solution generated by NextPointFinder. Step 4. Apply NextPointFinder with the last point and the direction until the candidate set is empty. Let be a local solution generated by NextPointFinder. Step 5. .

4. Experimental Results

In this section, we tested several reconstruction problems where each problem is focused on the following facts: () nonsimple curve from sample points, () sharp corners from sample points, () the difference between Natural distance and Euclidean distance, () the effect of the subjective weight and () the treatment of cloud sets.

Figure 8 shows that our method can reconstruct a nonsimple curve from sample points. Figure 8(a) is the Delaunay triangulation of the sample points. In order to explain the difference between VICUR [16] and our method, we zoom in the Delaunay triangulation as shown in 8(b). The adjacent points to are , , and , whereas is not adjacent to . So VICUR does not permit as a candidate for the next point of although the edge is smoother to the already-ordered edge than the other Delaunay edges. On the other hand, our algorithm deals with all of four points as candidates for the next point of since they belong to the neighborhood of with radius , where is its connectivity and is set. Figure 8(d) shows a nonsimple curve reconstructed by our method. The red point in Figure 8(d) means the initial point of our algorithm.

Figure 9 shows another example for a nonsimple curve from sample points as shown in Figure 9(a). In this example, we choose the initial point as that having a minimum edge length between points. In Figure 9(b), the boundary point between red line and green line is the chosen initial point. Thus, our algorithm works in two opposite directions. Figures 8 and 9 are smooth nonsimple curves.

Figure 10 shows the process of our algorithm, called NADIAS (NAtural DIstance based Algorithm for Sample points). Figure 10(a) is an example for sample points on a piecewise smooth curve. For the sample data, NADIAS finds out the shortest Delaunay edge and then applies NextPointFinder process two times with opposite directions. Figure 10(b) shows the result which has two components of smooth curves. The boundary of the red line and the green line is the initial point of the first component, and the boundary of the black line and the blue line is one of the second component. Figure 10(c) is the result after our bridging process. This figure contains one component because the minimum distance between the end points of two components is smaller than the given threshold distance. Figure 11 shows that NADIAS is able to well extract the several components whether or not each component is open and whether or not its shape is sharp.

There are two different results of point ordering for the same set of sample points by using Euclidean distance and Natural distance in Figure 12. The ordered set with Euclidean distance in (a) does not contain all sample points, contrary to that with natural distance in (b). It implies that there is an example in which parameters can be chosen for the natural point ordering that will reconstruct the curve, while parameters chosen for Euclidean distance may not.

In Figure 13, the complicated examples for three different subjective weights are presented. For the set of scattered sample points in (a), the case of (c) produces a meaningful closed curve of `' almost completely. One also finds the fact that, as increases, our method produces smoother shapes. Figures 13(b) and 13(c) are generated by the first algorithm which regards the point data as sample points, so there are two curves. On the other hand, Figure 13(d) shows the result of the second algorithm. is very large, so the smoothness is emphasized more than the proximity. Therefore the algorithm meets the stop condition before most of points are applied to the algorithm.

Figure 14 shows a more meaningful example of the natural point ordering problem. The sample data are generated by drawing a spiral and then adding three small circles to the spiral. One may understand that the major configuration of the dataset is a spiral. Our natural point ordering method can cut out the minor configurations such as three small circles from the spiral, so the ordered set is only on the spiral.

Figure 15 shows the results of NADIAC for point clouds. The cloud data of a spiral type are generated by random process and the clouds of the right example are generated by drawing a nonsimple curve in several times. Although the set of sample points is unorganized, our natural point ordering algorithm can extract the ordered subset from the point cloud, which plays a role of representative in their local neighborhood.

5. Conclusion

We have presented a new method for constructing curves from unorganized point clouds with noise. In general, the result of curve reconstruction depends on how to select and order the representative points to resemble the shape of the clouds. In this paper, in contradiction to the previous curve reconstruction algorithms based on Euclidean distance, we exploit a natural distance to reflect orientation to the ordering of sample points, so that our algorithm is able to reconstruct not only simple curves but also nonsimple curves. Moreover, for unorganized point clouds, this method efficiently extracts the skeletons of the clouds by cutting out the outliers, even though the result by our method is sensitive to the initial point and the initial direction. The method may be extended in two ways. The first thing is to extend the method to the surface reconstruction problem in three-dimensional space. We think that one should use the properties of two-dimensional Brownian motion in order to get a natural distance similar to that in this paper. Second, it is possible to improve our method which can control the subjective weight to obtain the wanted shape. We conjecture that this can be fulfilled if we weaken the condition (C.1).


The authors would like to express their sincere gratitude to reviewers for many helpful comments and valuable suggestions on the first draft of this paper. This work was supported by Korea Research Foundation Grant KRF-2003-041-C00039.