Feature Extraction from 3 D Point Cloud Data Based on Discrete Curves

Reliable feature extraction from 3D point cloud data is an important problem in many application domains, such as reverse engineering, object recognition, industrial inspection, and autonomous navigation. In this paper, a novel method is proposed for extracting the geometric features from 3D point cloud data based on discrete curves. We extract the discrete curves from 3D point cloud data and research the behaviors of chord lengths, angle variations, and principal curvatures at the geometric features in the discrete curves.Then, the corresponding similarity indicators are defined. Based on the similarity indicators, the geometric features can be extracted from the discrete curves, which are also the geometric features of 3D point cloud data. The threshold values of the similarity indicators are taken from [0, 1], which characterize the relative relationship and make the threshold setting easier and more reasonable. The experimental results demonstrate that the proposed method is efficient and reliable.


Introduction
Rapid developments in 3D rangefinder technology allow us to accurately and conveniently digitize the shape and surface of physical objects [1,2].The 3D point cloud data acquired by 3D rangefinders, such as laser scanners, provide the geometric information of the sampling points on the surfaces of physical objects.Nowadays, 3D point cloud data processing techniques have been applied to various domains, including object recognition, industrial inspection, reverse engineering, and autonomous navigation.The geometric features in 3D point cloud data, such as ridges and corners which are composed of the geometric discontinuities, contain the important information of physical objects which frequently require special attention to achieve high accuracy and reliability.Therefore, feature extraction is essential to 3D point cloud data processing, especially to segmentation, reconstruction, and registration.
According to differential geometry, the geometric features in 3D point cloud data can be categorized into three types:  0 discontinuities,  1 discontinuities, and  2 discontinuities.At the  0 discontinuities, the positions are discontinuous; at the  1 discontinuities, the positions are continuous, while the normals are discontinuous; at the  2 discontinuities, the positions and normals are continuous, while the curvatures are discontinuous.Due to the importance of the geometric features, many researchers have devoted themselves to developing methods to identify discontinuities and extract geometric features from 3D point cloud data for different purposes in the past 30 years.Fan et al. [3] showed the behaviors of curvatures in jump boundaries ( 0 ), folds ( 1 ), and ridge lines ( 2 ) and used the zero crossings and extrema of curvatures to extract these geometric features from 3D point cloud data.In [4], a curvature consistency algorithm is proposed to improve the estimates of Darboux frames.Then, the orientation discontinuities ( 1 ) are smoothed into local maxima or minima along one of the principal directions, and the depth discontinuities ( 0 ) are identified by considering the angle between the surface normal and the view vector.Similarly, Milroy et al. [5] developed a method to extract the discontinuous points (edge points) from orthogonal crosssection models for segmentation.In order to segment point cloud data, Yang and Lee [6] used a parametric quadric surface approximation to estimate the local surface curvature properties and identified the edge points by a two-step process.Huang and Menq [7] reconstructed a triangle mesh structure from unorganized 3D point cloud data and used  the curvature-based border detection to extract the  1 and  2 borders from the triangle meshes.Similar to the method proposed by Huang and Menq [7] , Baker [8] and Jiao and Bayyana [9], respectively, proposed their methods to identify the geometric features and the  1 ,  2 discontinuities from triangle meshes by using the geometric and topological information, such as the dihedral angle, turning angle, angle defect, and ridge valence.Recently, Várady et al. [10] developed a novel method for automatic extraction of surface structures based on discrete Morse theory, which can extract features similar to the  2 discontinuities from triangle meshes.
In the most above-mentioned methods, the thresholds of geometric indicators (such as normal vectors and principal curvatures) or error indicators (e.g., the average errors obtained on plane and surface fitting) need to be set for the whole point cloud region to identify the discontinuities and extract the geometric features.Setting good threshold values may be fairly easy, if the user is experienced and has reconstructed several objects with similar shapes from similar data earlier.However, it is a difficult task to find appropriate threshold values for an unfamiliar object with unknown dimensions and noise distribution, and several iterations may be needed until the proper values are found [11].This is because these indicators have no explicit ranges for the whole point cloud region of an unfamiliar object.To avoid this problem, a new method is proposed to extract the geometric features from the structured 3D point cloud data, which are generated by regular sampling on a certain grid, based on discrete curves in this paper.It differs from the existing methods in that we extract the discrete curves from the structured 3D point cloud data firstly.Then, the chord lengths, angle variations, and curvatures are estimated from the discrete curves, and the corresponding similarity indicators are calculated.Based on the similarity indicators, the geometric features can be extracted from the discrete curves, which are also the geometric features of 3D point cloud data.The threshold value of the similarity indicator is taken from [0, 1], which characterizes the relative relationship and makes the threshold setting easier and more reasonable.

Geometric Properties Estimation from Discrete Curves
In this section, we introduce our method for estimating the geometric properties from discrete curves based on derivative estimation [12].We develop derivative estimation by defining the derivative of a discrete function at a point, which will be called the discrete derivative, based on the previous research [13][14][15].By using the discrete derivatives, classical differential geometry is discretized, and the geometric properties are estimated from discrete curves.

Derivatives of a Discrete Function.
In mathematics, a function that is defined only for a set of numbers is called a discrete function.Generally, a discrete function is denoted by like a series of points {( 1 ,  1 ), ( 2 ,  2 ), . . ., (  ,   )}.
In calculus, the derivative of a continuous function  = () at a point equals the slope of the tangent line to the graph of the function at that point.Similarly, the derivative of a discrete function   =   (  ) at a given point p  = (  ,   ) (1 ≤  ≤ ) can also be thought of as the slope of the tangent line to the graph of the discrete function at p  , which is called the discrete tangent line.We define the discrete tangent line at p  as the straight line  =  +  which simultaneously meets two requirements: in Figure 1 subjection to   =   + . (2) Therefore, the slope  of the discrete tangent line at p  can be solved as Definition 1.Let   =   (  ) be a discrete function.The value    =    (  ) given by  the second order discrete derivative of   =   (  ) at p  and is given in the same way of Definition 1 as follows: By parity of reasoning, the th order discrete derivative  ()  =  ()   (  ) at p  can also be defined.

Geometric Properties of the Discrete Curve.
A discrete curve   is composed of a series of discrete points {p  = (  ,   ,   ) | 1 ≤  ≤ }, as shown in Figure 2. In order to estimate the geometric properties from a discrete curve, we must parametrize the discrete curve at first.In our research, the location parameters are assigned by the chord length parametrization method [16].In this case, the cumulative chord length parameter   at each point p  is defined as with  1 = 0.Then, the discrete curve can be thought of as a mapping   :   →  3  where where the coordinate functions   =   (  ),   =   (  ), and   =   (  ) are regarded as the discrete functions of the chord length parameter   .Naturally, the definitions of the discrete derivatives can be used for   (  ), for example, In differential geometry, most geometric properties are defined by using the curve () parametrized by arc length , such as the unit tangent vector t() = α (), curvature () = | ṫ ()|, and principal normal vector () = ṫ ()/() [17].(In order to distinguish the derivatives with respect to different parameters, the derivative with respect to the arc length parameter  is denoted by ḟ(), and that with respect to a general parameter  is denoted by   ().)However, these definitions can not be directly used for a discrete curve   (  ), because it is impossible for the discrete curve to be parametrized by arc length .In order to apply the geometric properties of the parametrized differential curve to the discrete curve   (  ), we must deduce the geometric properties of the curve () which is parametrized by a general parameter  at first.Let () be a curve parametrized by a general parameter .By geometric derivation [12], the geometric properties of the curve (), such as the unit tangent vector t(), curvature (), and principal normal vector (), can be calculated by Based on the geometric properties (8) of (), we give the definition of the geometric properties of the discrete curve   (  ) by using the discrete derivatives.Definition 2. Let   (  ) be a discrete curve parametrized by chord length.We say that ) is the principal normal vector of the discrete curve   (  ).
The derivative    (  ) of the discrete vector function   (  ) is calculated by Definition 1, that is,    (  ) = (   (  ),    (  ),    (  )).Similar to the second order discrete derivative, t   (  ) is then calculated.These geometric properties of the discrete curve are the reliable estimates of the geometric properties of the underlying continuous curve.Therefore, Definition 2 provides a simple and reliable method to estimate the geometric properties from discrete curves.Figure 3 presents the results of the geometric properties estimation from the three discrete spatial curves: the discrete clelia curve, the discrete elliptic helix, and the discrete toric solenoid.As can be observed, our method has very good estimation performance.

Behaviors of the Geometric Properties at the Geometric Discontinuities
According to differential geometry, the geometric discontinuities of continuous curves can be categorized into three types:  0 ,  1 , and  2 discontinuities.At the  0 discontinuity, the position is discontinuous; at the  1 discontinuity, the position is continuous, while the tangent vector is discontinuous; at the  2 discontinuity, the position and tangent vector are continuous, while the curvature is discontinuous.As we know, the discrete curve can be thought of as the sampling of a continuous curve.Therefore, the discrete curve also includes the geometric discontinuities sometimes.Now, we will study the behaviors of the geometric properties of the discrete curve at the geometric discontinuities, such as the chord length Δ = | +1 −   |, the angle variation of the unit tangent vector Δt  = arccos(t  ( +1 ) ⋅ t  (  )), and the curvature   .
Figure 4 shows the chord length, angle variation, and curvature estimated by our method at the  0 discontinuity without noise.As can be observed, the chord length exhibits an isolated extremum, and the angle variation and curvature both exhibit two extrema.In order to study the  0 discontinuity further, the zero-mean Gaussian noise (0,  2 ) is added to all position coordinates.The standard derivation  is set to 50%  av where  av is the average distance between two neighboring points.Figure 5 shows the chord length, angle variation, and curvature at the  0 discontinuity with noise.As can be observed, the geometric properties exhibit the similar behaviors as those without noise, and the chord length is the least affected by noise, since the chord length is the lowest order geometric property.Figures 6,7,8,9,10,and 11 show the chord lengths, angle variations, and curvatures estimated by our method at the three types of  1 discontinuities, which are formed by two straight lines (Type I, as shown in Figures 6 and 7), two convex curves (Type II, as shown in Figures 8 and 9), and two concave curves (Type III, as shown in Figures 10 and 11), respectively, without and with noise.As can be observed, the chord lengths change gradually and do not have the sudden change.That is because the position is continuous at the  1 discontinuity.From the experimental results, we can also find that the angle variations and curvatures both undergo an isolated extremum.The noise has some effect on the angle variations and curvatures, but the angle variations and curvatures still have an obvious change which can be detected.
Figure 12 shows the chord length, angle variation, and curvature estimated by our method at the  2 discontinuity without noise.As can be observed, the chord length and angle variation change gradually, while the curvature undergoes a jump.That is because the position and tangent vector are continuous, while the curvature is discontinuous at the  2 discontinuity.Figure 13 shows the chord length, angle variation, and curvature estimated by our method at the  2 discontinuity with noise.From the experimental results, we can find that the  2 discontinuity has been drowned out by noise, and the curvature variation at the  2 discontinuity can not be detected.That is because the curvature is the second order geometric property, which is affected by noise more easily.
From the above-mentioned analysis, we can conclude that at the  0 discontinuity, the chord length has the obvious change and exhibits an isolated extremum; at the  1 discontinuity, the angle variation of the unit tangent vector has the obvious change and exhibits an isolated extremum; at the  2 discontinuity, the curvature has the obvious change and exhibits a jump.These behaviors of the geometric properties will enable us to identify the  0 ,  1 , and  2 discontinuities from the discrete curves effectively and reliably.

Similarity Indicator
In order to extract the discontinuities more effectively, we will study the variations of the geometric properties in the different neighborhoods further.Let p 0 be a given point on the discrete curve   , as shown in Figure 14.The variations Δt 1  and Δt 2  of the unit tangent vector t  in  1 and  2 are, respectively, calculated by The variations Δ 1  and Δ 2  of the curvature   in  1 and  2 are, respectively, calculated by Based on ( 9)-( 11), the similarity indicators of the cumulative chord length , unit tangent vector t  , and curvature   at p 0 are defined as follows.
Definition 3. Let p 0 be a given point on the discrete curve   .We say that (1)   = Δ 1 /Δ 2 is the similarity indicator of the cumulative chord length  at p 0 ; (2)   = Δt 1  /Δt 2  is the similarity indicator of the unit tangent vector t  at p 0 ; (3)   = Δ 1  /Δ 2  is the similarity indicator of the curvature   at p 0 .At a point far away from the  0 discontinuity, the cumulative chord length  changes gradually, since the point has the continuous position.Therefore, we can think that the variation | +1 −   | between two neighboring points is a constant , which makes   = Δ 1 /Δ 2 ≈ 2 1 /2 2  ≈  1 / 2 .At a point near the  0 discontinuity, the cumulative chord length  changes suddenly, and Δ 1 becomes larger, which makes   = Δ 1 /Δ 2 ≫  1 / 2 .Figure 15 shows the As can be observed, the similarity indicator   at the point far away from the  0 discontinuity is approximately equal to  1 / 2 = 0.25 (  ≈ 0.25), while the similarity indicator   at the point near the  0 discontinuity is much greater than  1 / 2 = 0.25 (  ≫ 0.25), which is in accord with our theoretical analysis.Figure 16 shows the similarity indicator   at the  0 discontinuity with noise.As can be observed, the similarity indicator   exhibits the same behavior as that without noise.From the experimental result, we can also find that the similarity indicator   is robust to noise.Similarly, at a point far away from the  1 discontinuity, the unit tangent vector t  changes gradually, which makes At a point near the  1 discontinuity, the unit tangent vector t  changes suddenly, and Δt 1  becomes larger, which makes   = Δt 1  /Δt 2  ≫  1 / 2 .Figures 17 and 18 show the similarity indicators   of the unit tangent vector t  at the  1 discontinuities without and with noise, where  1 = 2 and  2 = 8.As can be observed, far away from the  1 discontinuity   ≈ 0.25, while near the  1 discontinuity   ≫ 0.25.
In the same principal, at a point far away from the  2 discontinuity, the curvature   changes gradually, since the point has the continuous curvature, which makes At a point near the  2 discontinuity, the curvature   changes suddenly, and Δ 1  becomes larger, which makes   = Δ 1  /Δ 2  ≫  1 / 2 .Figure 19 shows the similarity indicator   of the curvature   at the  2 discontinuity without noise, where  1 = 2 and  2 = 8.As can be observed, far away from the  2 discontinuity   ≈ 0.25, while near the  2 discontinuity   ≫ 0.25.Figure 20 shows the similarity indicator   at the  2 discontinuity with noise.From the experimental result, we can find that the similarity indicator   is sensitive to noise, which makes it difficult for us to detect the  2 discontinuity.From the above-mentioned analysis, we can find that the similarity indicators   ,   , and   are approximately equal to  1 / 2 at the points far away from the  0 ,  1 , and  2 discontinuities, while the similarity indicators   ,   , and   are much greater than  1 / 2 at the points near the  0 ,  1 , and  2 discontinuities.This conduces to identify the areas near the discontinuities.Another advantage of the similarity indicators is that their thresholds are taken from [0, 1], because Δ 1 ≤ Δ 2 , Δt 1  ≤ Δt 2  , and Δ 1  ≤ Δ 2  , which characterises the relative relationship and makes the threshold setting easier and more reasonable.

Discontinuity Identification from the Discrete Curves
In order to extract the geometric features from 3D point cloud data, we will identify the  0 ,  1 , and  2 discontinuities (the  0 ,  1 , and  2 discontinuous points) from the discrete curves, respectively, by using a two-step method.The first step is to identify the points near the  0 ,  1 , and  2 discontinuities, which are called the candidate points.Then, the  0 ,  1 , and  2 discontinuous points are extracted from the candidate points, respectively, in the second step.5.1.Identifying the  0 Discontinuous Points.As mentioned in Section 4, the similarity indicators   at the points near the  0 discontinuity are much larger.Therefore, the candidate points of the  0 discontinuous points are identified as the points at which the similarity indicators   are larger than a threshold value.In this paper, the threshold value of the similarity indicator   is set to 0.5.Then, we will extract the  0 discontinuous points from their candidate points.As analyzed in Section 3, the chord length exhibits an isolated extremum at the  0 discontinuity.Therefore, the  0 discontinuous points are identified as the candidate points whose chord lengths Δ are the isolated extrema.
The above-mentioned method can identify the  0 discontinuous points reliably in most of the time, but sometimes the discrete curves will be seriously polluted by noise, which will make some points have small extrema of chord lengths.Obviously, these small extrema of chord lengths are caused by noise, and the corresponding points are not the real  0 discontinuous points.Therefore, in order to reduce the noise influence and improve the identification reliability, we will remove these points by using the statistical method.First, the distribution of the chord lengths Δ is calculated by the statistical histogram for the whole discrete curve.As we know, the number of the  0 continuous points is much greater than that of the  0 discontinuous points.Therefore, if the small extrema of chord lengths have higher frequencies, the corresponding points are the  0 continuous points and will be removed.Figure 21 shows the candidate points (green points) and the  0 discontinuous points (blue points) identified by our method. 1Discontinuous Points.In order to facilitate the  1 discontinuity identification, we remove the identified  0 discontinuous points from the discrete curve, and then the discrete curve is segmented into several sections by the removed points.As shown in Figure 21, the discrete curve is divided into two sections by the  0 discontinuous points.Every section of discrete curve has its own geometrical characteristic.Therefore, we should identify the  1 discontinuous points from each section of discrete curve individually.

Identifying the 𝐶
As shown in Figures 17 and 18, the similarity indicators   at the points near the  1 discontinuity are much larger.Therefore, the candidate points of the  1 discontinuous points are identified as the points at which the similarity indicators   are larger than a threshold value.In this paper, the threshold value of the similarity indicator   is set to 0.5.As analyzed in Section 3, the angle variation of the unit tangent vector exhibits an isolated extremum at the  1 discontinuity.Therefore, the  1 discontinuous points are identified as the candidate points whose angle variations Δt  are the isolated extrema.Similar to the  0 discontinuity identification, we also use the statistical method to remove the points, which have the small extrema of angle variations caused by noise, from the identified  1 discontinuous points to improve the identification reliability.Figure 22 shows the candidate points (green points) and the  1 discontinuous points (blue points) identified by our method. 2Discontinuous Points.In order to facilitate the  2 discontinuity identification, we will remove the identified  1 discontinuous points from the discrete curve successively.Then, the discrete curve will be segmented into more small sections by the removed  1 discontinuous points,  and we will identify the  2 discontinuous points from each small section of discrete curve individually.As shown in Figures 19 and 20, the similarity indicators   at the points near the  2 discontinuity are much larger.Therefore, the candidate points of the  2 discontinuous points are identified as the points at which the similarity indicators   are larger than a threshold value.In this paper, the threshold value of the similarity indicator   is set to 0.5.As analyzed in Section 3, the curvature exhibits a jump at the  2 discontinuity; that is, the curvature variation Δ  = |  ( +1 ) −   (  )| exhibits an isolated extremum at the  2 discontinuity.Therefore, the  2 discontinuous points are identified as the candidate points whose curvature variations Δ  are the isolated extrema.Similar to the  0 and  1 discontinuity identification, we also use the statistical method to remove the points, which have the small extrema of curvature variations caused by noise, from the identified  2 discontinuous points to improve the identification reliability.Figure 23 shows the candidate points (green points) and the  2 discontinuous points (blue points) identified by our method.

Feature Extraction from 3D Point Cloud Data
As we know, the geometric features can be categorized into three types:  0 ,  1 , and  2 discontinuities according to the differential geometry.In general, the discontinuities for object surfaces are composed of piecewise smooth curves.However, for 3D point cloud data, the discontinuities are composed of discrete data points, that is, the  0 ,  1 , and  2 discontinuous points.
From the structured 3D point cloud data, which are obtained by regular sampling on a certain grid, four groups of discrete curves: the horizontal discrete curves  dh (  ) (purple), the vertical discrete curves  dv (  ) (blue), the downsloping discrete curves  dd (  ) (brown), and the up-sloping discrete curves  du (  ) (green) can be extracted along four directions, as shown in Figure 24.In order to extract the discontinuous points from the structured 3D point cloud data, the  0 ,  1 , and  2 discontinuous points should be extracted from each group of discrete curves by using our method at first.Then, four groups of identified  0 ,  1 , and  2 discontinuous points are merged together according to  the type of geometric discontinuity by logical OR operation.These merged  0 ,  1 , and  2 discontinuous points are exactly the different types of discontinuous points of the 3D point cloud data, that is, the geometric features of the 3D point cloud data.

Experimental Results
In order to show the performance of our method, we experiment with both synthetic and real 3D point cloud data.
The synthetic 3D point cloud data used for the experiments  From the experiments, we can find that the extraction results obtained by our method are consistent with the actual situation, which demonstrates that our method is efficient and reliable.

Conclusion
In this paper, we propose a novel method for extracting the geometric features (the  0 ,  1 , and  2 discontinuities) from 3D point cloud data based on discrete curves.By using the discrete curves extracted from 3D point cloud data, the chord lengths, angle variations, curvatures, and similarity indicators are calculated, and the discontinuous points are identified from the discrete curves.After the merging process, we can get the geometric features for 3D point cloud data.In this method, the similarity indicators make the threshold setting easier and more reasonable and improve the performance of feature extraction.From the experimental results, we can conclude that the proposed feature extraction method is efficient and reliable.

Figure 3 :
Figure 3: Geometric properties estimation from three discrete spatial curves.The color bars indicate the curvatures, and the blue and red vectors denote the unit tangent vectors and principal normal vectors, respectively.

Figure 15 :Figure 16 :
Figure 15: Similarity indicator   of the cumulative chord length at the  0 discontinuity without noise.

Figure 17 :
Figure 17: Similarity indicator   of the unit tangent vector at the  1 discontinuity without noise.

Figure 20 :Figure 22 :
Figure 19: Similarity indicator   of the curvature at the  2 discontinuity without noise.

Figure 24 :
Figure 24: Discrete curves extracted from the 3D point cloud data of a human face model: (a) 3D point cloud data of a human face model; (b) four groups of discrete curves: the horizontal discrete curves  dh (  ) (purple), the vertical discrete curves  dv (  ) (blue), the down-sloping discrete curves  dd (  ) (brown), and the up-sloping discrete curves  du (  ) (green).
Figure 25: Extracting the discontinuous points from four groups of discrete curves.The blue, red, and green points indicate the  0 ,  1 , and  2 discontinuous points, respectively.
are generated by regular sampling a geometrical model which includes  0 ,  1 , and  2 discontinuities, as shown in Figure25(a).Figures25(c)-25(f) shows the discontinuous points extracted from four groups of discrete curves: the horizontal discrete curves (Figure 25(c)), the vertical discrete curves (Figure 25(d)), the down-sloping discrete curves (Figure 25(e)), and the up-sloping discrete curves (Figure 25(f)) along four directions.Figure 25(b) shows the merging result.As can be observed, the geometric features (the  0 ,  1 , and  2 discontinuous points) are accurately extracted from the 3D point cloud data of the model.The Mathematical
) is called the derivative of the discrete function   =   (  ) at the point p  = (  ,   ) (1 ≤  ≤ ), which we will call the discrete derivative for short.If we calculate the discrete derivative at each point on the discrete function   =   (  ), then a new discrete function    =    (  ),   ∈ { 1 ,  2 , . . .,   } called the first order discrete derivative function is produced.Its derivative at p  is called are two neighborhoods of p 0 on   , where  2 is larger than  1 , that is,  2 >  1 .The cumulative chord length   , unit  can be calculated by our method.The variations Δ 1 and Δ 2 of the cumulative chord length  in  1 and  2 are, respectively, calculated by