Feature Sensitive Three-Dimensional Point Cloud Simplification using Support Vector Regression

: Contemporary three - dimensional (3D) scanning devices are characterized by high speed and resolution. They provide dense point clouds that contain abundant data about scanned objects and require computationally intensive and time consuming processing. On the other hand, point clouds usually contain a large amount of redundant data that carry little or no additional information about scanned object geometry. To facilitate further analysis and extraction of relevant information from point cloud, as well as faster transfer of data between different computational devices, it is rational to carry out its simplification at an early stage of the processing. However, the reduction of data during simplification has to ensure high level of information contents preservation; simplification has to be feature sensitive. In this paper we propose a method for feature sensitive simplification of 3D point clouds that is based on ε insensitive support vector regression ( ε - SVR). The proposed method is intended for structured point clouds. It exploits the flatness property of ε - SVR for effective recognition of points in high curvature areas of scanned lines. The points from these areas are kept in simplified point cloud along with a reduced number of points from flat areas. In addition, the proposed method effectively detects the points in the vicinity of sharp edges without additional processing. Proposed simplification method is experimentally verified using three real world case studies. To estimate the quality of the simplification, we employ non - uniform rational b - splines fitting to initial and reduced scan lines.


INTRODUCTION
Three dimensional (3D) scanning devices and 3D data acquisition techniques are nowadays frequently employed, not only in reverse engineering [1], but also in a number of different industrial applications [2,3].The state of art 3D scanners [4], especially optical ones, are characterized by high resolution and speed.They provide dense point clouds which carry profuse information about scanned object's surfaces [5] and, as a rule, contain a large number of points that make the processing of scanned data (e.g., feature extraction or CAD model generation) difficult, computationally expensive, and time consuming, thus requiring significant computational resources [6].Besides, a large amount of point cloud data brings about high data transfer latencies and additional difficulties in cloud services and transmission of 3D data to Web clients.
To address these issues, one of the main objectives during point cloud data pre-processing is the reduction of number of points.This reduction has to ensure retention of information about initial surface shape; it has to be feature sensitive.Namely, dense point clouds are convenient for reconstruction of features that are represented by high curvature surfaces.On the other hand, when flat surfaces dominate in the part, dense clouds will contain a large number of points that carry little additional information about part's geometry.During point cloud simplification, ideal situation would be to remove redundant points on flat segments and to keep the most of the points from high curvature areas.In this way, the reconstruction of scanned object using simplified point cloud would lead to almost the same and likewise accurate results as the reconstruction based on original point cloud.
Simplification of point clouds has been in the focus of a number of research studies.The existing methods for point clouds simplification can be classified into two main categories: (1) mesh-based simplification methods, and (2) direct point cloud simplification methods.Mesh-based simplification methods start from a polygonal (usually triangular) mesh generated over point cloud and remove points from cloud using different criteria.These methods require implementation of meshing and re-meshing procedures, they are computationally intensive and consequently time consuming [7].The review of meshbased simplification methods can be found in [8].
Recently proposed methods carry out direct point cloud simplification without mesh generation and can be divided into two sub-categories: (1) methods for simplification of unstructured, and (2) methods for simplification of structured/organized point clouds.Direct simplification of unstructured point clouds is, as a rule, based on clustering methods.Divisive hierarchical clustering methods, such as octree decomposition using standard deviation of point normals as subdivision criterion [9], or binary partition based on points' deviation from tangent plane of cluster centroid, were proposed [7].In [10], the authors propose recursive binary subdivision of clusters using k means algorithm and normal vector deviation.Research work from [11] presents an agglomerative hierarchical clustering approach that is based on adaptive mean-shift clustering scheme using points positions and normal vectors as features.In [12], the authors propose an agglomerative algorithm for merging 3D object's faces by applying 2D Boolean operations on orthogonal pseudo-polyhedra consecutive cuts.Fuzzy cmeans clustering algorithm has been also employed [13].
Iterative re-clustering procedure based on Voronoi cells from [14] extracts the points with minimal distance to tangent planes of other points in cluster and declares them as new cluster representatives until stopping criterion (minimal geometric deviation of clusters) is met.Since this technique is prone to smoothing out sharp edges, the authors in [6] propose the method that first extracts the edge points, and afterwards removes less important points from clusters in smooth areas.Another method uses similar strategy for iterative removing the points from point cloud based on anticipated error between principle curvature vectors at point before and after its removal [15].
The other group of methods for direct point cloud simplification carries out the simplification of structured/organized point clouds.Namely, in most cases 3D scanners provide structured point clouds as low-level output.In these point clouds, points are structured into cross sectional planar scanned lines -scanned contours.Nevertheless, to get the information about the whole part, the part is usually scanned from multiple views that are registered into one coordinate system and integrated.This processing (registration and integration) deteriorates the structure of point cloud, and some devices provide unstructured point clouds at output, depending on the level of data processing carried out at the scanning device.However, in many applications, single-view scan data is sufficient.In addition, point cloud simplification can be carried out before registration and integration.Besides, there are a number of procedures that can be employed for point cloud structuring [16,17].Starting from this rationale, a number of techniques that are based on scan lines simplification were proposed.
Most frequently employed methods for scan line points reduction are uniform sampling, chordal distance method, spatial method, straightness method, and height decision method [16,18].To improve the accuracy of these methods, fuzzy inference mechanisms (FIMs) for decision on point elimination in chordal distance method [16], straightness method [19], and spatial method [20] were introduced.
An approach presented in [21,22] removes points from scan line based on distance from Akima spline interpolated through remaining points in planar [21], and bi-Akima spline in spatial scan lines [22].A research on application of continuous wavelet transform in feature sensitive simplification of scan lines is presented in [23].
Analysis of the related methods shows that in clustering based methods, selected points in simplified point cloud are cluster centroids [10,11] or representative points from cluster [6,9].Thus selected points lead to smoothing out the edges, and make the point clouds unsuitable for reverse engineering, product quality control [4] and similar tasks.To deal with this issue, extraction of points on edges [6,10] or filtering of the original point cloud [13] before simplification were proposed.However, this kind of pre-processing brings about additional computational efforts and time consumption.On the other hand, the main shortcoming of the scan line based reduction methods is that, as a rule, they assume that the points are connected by straight lines, and do not take into account the deviation that removal of certain point introduces to simplified scan line [20,22].
In this paper we propose a method for simplification of structured point clouds that employs ε-insensitive support vector regression (ε-SVR) with spline and b-spline kernels [24] for finding the significant points from high curvature areas in scanned lines.Due to the properties or ε-insensitive SVR, the method inherently extracts the points from high curvature areas in G1 continuous lines.Elaboration of the initial idea that considered only b-spline kernel [25], and the comparison of b-spline and spline kernels that we perform in this paper, show that spline kernel leads to better overall performances.In addition, as we present in the paper, the method recognizes the points in the vicinity of edges that are represented as abrupt changes in scan lines with G0 continuity.It is not prone to smoothing out sharp edges and it does not require additional processing for edges detection.These are the major benefits of the proposed method with respect to alternative methods.In our approach, the reduced point cloud retains a high level of initial information about scanned object's shape and structure, as will be illustrated in the presented case studies.
It should be noted that support vector machines (SVM) were frequently employed for classification of objects based on features obtained from 3D point clouds [26,27].In addition, procedures for 3D point cloud smoothing, denoising and hole filling based on ε-SVR using compactly supported Wu function kernel [28] and for surface reconstruction based on ε-SVR with Gaussian kernel [29] were proposed.However, the potentials of SVM in point cloud simplification have not been exploited yet.
The reminder of the paper is organized as follows.Section 2 contains basic background about ε-insensitive SVR (ε-SVR) which is essential for the proposed method for point cloud simplification.In Section 3 we present proposed method in details and elaborate on the influence of ε-SVR parameters on simplification results.In addition, in this section we provide three case studies to illustrate basic properties of the method.ε-SVR is performed using SVM toolbox from [30].Section 4 is dedicated to the simplification quality estimation, while in Section 5 we give concluding remarks and future work guidelines.

ε-INSENSITIVE SUPPORT VECTOR REGRESSION
SVR is a part of a wider concept of machine learning -SVM [31,32].SVM represents supervised machine learning technique that is primarily developed for classification.The main goal of ε-SVR is to find regression function f(x) based on the given training data {(x1, y 1 ), …, (xl, y l )}.Distance between the regression function f(x) and all y i , i = 1, 2, …, l has to be lower than (or equal to) predetermined value ε, i.e. all training data values y i should be within ε tube formed around function f(x).This means that regression error can be neglected if the function deviation from each y i is less than ε, but deviations that are higher than ε are not allowed.ε-SVR presents regression function using a subset of training points referred to as support vectors (as will be shown in the sequel).One of the main goals of the ε-SVR is to generate approximation function of low complexity which is at the same time characterized by appropriate quality of approximation; in such way generalization properties of the model are improved [24,31].Thus, the objective of ε-SVR is to reduce the complexity of the function f(x), i.e. to make it as flat as possible.
For linear regression, function f(x) has the following form: (1) and it will be flat for small w.Minimization of the norm 1/2‖w‖² subject to the condition that all deviations should be lower than or equal to ε will ensure function flatness.This can be presented as a convex optimization problem: However, in practice, situations in which all data y i , lie within ε tube around function f(x) are very rarely met, and optimization problem (2) cannot be solved.In order to find function f(x) anyway, violation of the condition from problem (2) has to be allowed.For this reason, slack variables ξ i and ξ i * (ξ i , ξ i * ≥ 0) are introduced and optimization problem (2) is reformulated [31]: Slack variables allow mobility of borders during given optimization problem solving.The number of points outside ε tube are controlled by parameter C > 0, which determines the trade-off between the flatness of f(x) and the amount of deviations larger than ε.Solution of optimization problem (3) will lead to regression function which ensures that the most of data points are placed inside ε tube, and a small number of points are outside that area.The vectors (points) outside ε tube are called support vectors.Number of support vectors can be adjusted using trade-off parameter C.
Optimization problem (3) can be represented in dual form [24]: where α i , α i * represent Lagrange multipliers.For support vectors (|f(xi)-y i |≥ε) Lagrange multipliers are nonzero, while for vectors (points) inside ε-insensitive tube multipliers vanish.In addition, w can be represented as a combination of given training data xi, i = 1, 2, …, l [24]: Regression function defined by relation ( 1) is linear.However, in practice, nonlinear regression problems are more frequently met.Presented methodology can be employed for nonlinear regression by mapping the data from original feature space into high dimensional space in which linear regression can be utilized.From relation (4) it can be observed that training data xi are only present within inner product 〈xi, xj〉.Consequently, it is not necessary [31] to define high dimensional feature space explicitly -it is enough to know the inner product in this space introduced by using kernel function K(xi, xj).Therefore, in optimization problem from (4) 〈xi, xj〉 can be replaced by K(xi, xj) and regression function can be defined as: Kernel can be any function that satisfies the condition of Mercer's theorem, i.e.K(u, v) represents an inner product in some feature space if: is valid for all g ≠ 0 for which: There are many different kernel functions: polynomial kernels, Gaussian kernel, sigmoid kernel, spline kernel, bspline kernel etc.It should be noted that new kernel can be defined by summing or multiplication of simpler kernels.The choice of kernel depends on training data and desired regression results.Since freeform surfaces, as most complex geometric primitives in 3D objects, are generated using splines, for the point cloud simplification process presented in this paper, spline and b-spline kernels are of the most importance.In this research we considered spline and b-spline kernel of order 3. Namely, in computer graphics this order of spline is employed as a rule, since splines of lower order cannot adequately represent high curvature areas, and splines of higher order are prone to oscillations at flat areas.

POINT CLOUD SIMPLIFICATION BASED ON ε-SVR
The method for point cloud simplification that we present in this paper is based on ε-SVR of scanned contours, and it is applicable to point clouds that are structured into planar scan lines.It exploits the flatness property of ε-SVR.ε-SVR regression line will be as flat as possible and it will approximate well all flat areas of the scanned line.On the other hand, high curvature areas will not be well approximated and points from these areas will be recognized as support vectors (Fig. 1).

Figure 1 Illustration of the ε-SVR application
Keeping the support vectors, i.e., points from high curvature areas, and only some of the points (e.g.uniformly sampled) from flat areas will lead to feature sensitive simplification of scan line.Consequently, the simplified point cloud will retain all the points that carry most information about object's shape, while the redundant points with respect to information contents will be excluded from point cloud.
The number of support vectors, i.e. the number of retained points from high curvature areas, can be controlled by ε-SVR parameters ε and C. The higher is the value of ε, the ε-tube will be wider, and the number of support vectors will be smaller.In addition, the higher is the error cost parameter C, the number of support vectors will be lower.Another ε-SVR parameter that has to be set is kernel function, in this case spline or b-spline.
To illustrate the influence of ε-SVR parameters (ε, C, and kernel) on the performances of proposed method and to present method's properties, we will use three case studies.First case study refers to a part of Stanford dragon [33] that contains repetitive high curvature areas with relatively small flat regions.Second case study considers turbine blade that has a large flat segment, and small high curvature areas.Objects from case studies 1 and 2 do not contain sharp edges.In the third case study, we present the performances of the method when sharp edges are present in the object.

Case Study 1: Stanford Dragon
First case study refers to point cloud containing high curvature surface -a part of Stanford dragon [33] that is marked in Fig. 2. CAD model of the dragon in STL (Stereolithography) file format is obtained using a highresolution 3D scanner and subsequent standard point cloud processing (polygonal meshing).The vertices of the polygons in the STL mesh represent the points of the unstructured point cloud (Fig. 2a).For point cloud structuring we have employed modified zbuffer algorithm [34].Using this algorithm, points of contours (scanned lines) within structured point cloud are obtained as intersection points between mesh triangles and observation vectors that pass through uniformly distributed points of image raster.In this case study observation vector is set to -k(0, 0, −1) and image raster is a set of equidistant rows with 0,1mm increment.
Fig. 2b shows structured point cloud separated from dragon's back.For the clarity of presentation we will first illustrate the effect of ε-SVR parameters (ε, C, and kernel) using one scanned contour that is marked red in Fig. 2b.Afterwards, the described method will be applied to the whole structured point cloud from Fig. 2b.First, we will illustrate the effects of utilized kernel (spline and b-spline kernel) on the method performances.During analysis of the effect of kernel, error cost parameter C was set to 10 for both kernels, while for b-spline kernel ε was set to 0,15, and for spline kernel to 0,01.For these values of ε and C, the percent of reduced (retained) points was similar for both kernels: 52,8% for b-spline, and 49,0% for spline kernel.Such a close reduction rate is convenient for comparison of the kernel influence.Graphical representation of regression results for b-spline kernel is presented in Fig. 3a, and for spline kernel in Fig. 3b.From these Figures it can be observed that in both cases the method was able to recognize the points in high curvature areas.However, for spline kernel, the method retained some of the points from low curvature area, as well.
The influence of ε parameter on the method performances for considered kernels is illustrated in Fig. 4. If parameter ε has small value, ε-SVR will not be able to fit input data well, and regression function will hardly follow scanned line in predefined tight borders [−ε, ε].Accordingly, the influence of error margin ε on reduction rate can be stated as follows.The smaller the parameter ε, the number of support vectors will be higher, and vice versa.Besides, for similar reduction ratio, b-spline kernel needs for an order of magnitude larger value of ε than spline kernel.
The third parameter that influences the performances of the method is error cost C.This SVR parameter, as already mentioned, represents the trade-off between function flatness and deviation from input data.Low value of parameter C will lead to flat regression function, and the number of detected support vectors will be high, especially in high curvature areas, and spots of sharp geometry changes.On the other hand, the number of support vectors will be low for high C, but regression function will not be flat enough.It should be noted that it is possible to set C to infinite value which means that regression process will find function with deviation from input data set that is as low as possible.The effect of parameter C on the performances of the method is presented in Fig. 5.

Case Study 2: Turbine Blade
The second case study refers to the reduction of real world point cloud that is obtained by turbine blade scanning (Fig. 7a).This part contains a large flat segment as well as high curvature areas, and it is convenient for illustration of the method performance on low curvature free form surfaces.Scanning is carried out using ATOS Compact Scan by GOM mbh [35].Scanner provides unstructured point cloud at output, and in order to apply the proposed method, we have carried out point cloud structuring using the same procedure as in the first case study.The obtained structured point cloud contains 5210 points (3 mm raster along X and 1 mm along Y axis), and it is presented in Fig. 7b.Fig. 8 presents the results of implementation of ε-SVR with ε=0,01, C=1000, and spline kernel to one contour of the blade.As expected, no support vectors were identified in flat area.On the other hand, method extracted a large number of support vectors in high curvature areas thus providing high degree of contour shape preservation.
Nevertheless, removing all the points from flat segments is not appropriate, especially if subsequent object reconstruction is needed.Lower value of ε or higher value of C would lead to increase of the number of support vectors in flat areas, but simultaneously it would increase the number of support vectors in high curvature areas, thus deteriorating the reduction performances of the method.For these reasons, we have opted to use alternative approach to increase the number of points in flat areas; the approach is based on uniform distance up-sampling.Namely, if the distance along abscissa between two adjacent support vectors is lower than predefined valuexmax, the algorithm will retain the points with approximately x max distance between these support vectors.In this way we ensure the regularity of points' arrangement and adequate quality of flat areas information preservation.During points up-sampling for contour from Fig. 8 and x max =5 mm the percentage of reduced points increased from 18,64% to 33,90%.Fig. 9 presents additional examples of single contour reduction results for different values of ε-SVR parameters.From this figure it can be observed that for low values of parameter C (for both kernels) the periodic groups of support vectors emerge in the flat area.This effect is higher for b-spline kernel, and for its mitigation the appropriate choice of parameters C and ε is crucial.
The results of the application of the proposed procedure to the whole point cloud are presented in Fig. 10, as well as in Tab. 1. From Fig. 10 it can be observed that spline kernel is less prone to detection of support vectors in the flat areas in contours that simultaneously contain low and high curvature segments.

Case Study 3: An Object with Sharp Edges
Case study 3 illustrates the performances of the presented procedure in the presence of sharp edges, and it considers a real-world object from Fig. 11a.This is a benchmark test part that is used in a number of research studies in reverse engineering [17,36,37].Here, we consider a single-view scan data that is marked in Fig. 11b.The part was scanned using the same device as in the case study 2 (ATOS Compact Scan by GOM mbh), and the same point cloud structuring procedure was applied.Structured point cloud raster along X (scan lines) and Y directions was 0,5 mm (Fig. 11c).
Fig. 12a presents the results of application of SVR based simplification procedure on one scan line that is marked in Fig. 11c, while simplification of the entire view is presented in Fig. 12b and 12c.We employed the following parameters: spline kernel, C = 100, ε = 0,05, and xmax = 5 mm (10 samples).Obtained overall reduction ratio was 29,02%.
From Fig. 12, it can be observed that the proposed method was able to adequately recognize the areas in the vicinity of sharp edges.The frequency of preserved points in these areas is significantly higher than in the planar or slightly curved areas.This holds for both sides of edge.In addition, the frequency of detected support vectors in planar regions is smaller in comparison to curved regions.

SIMPLIFICATION PROCESS QUALITY ESTIMATION
After presenting the main properties of the proposed method, in this section we estimate the quality of the point cloud simplification.The simplification can be observed as of high quality, if the high amount of information about geometrical properties of scanned objects is preserved after point cloud simplification.Since the method is based on contour by contour simplification, the quality estimation will be carried out using contours, as well.The method for simplification quality estimation that we propose in this paper employs NURBS (Non-uniform rational b-spline) curves.We create two NURBS: (1) for input contour (contour before simplification) -NURBS1, and (2) for simplified contour -NURBS 2 .The quality of simplification process is estimated by comparing NURBS 1 and NURBS 2 .High matching level implies that high level of contour's shape information is preserved after simplification process and that lower number of points contains similar geometry information about scanned object.
NURBS 1 and NURBS 2 are compared using the following procedure.The points on NURBS 1 and NURBS 2 are calculated for equidistant values r j , j = 1, …, m (equidistant raster) and two series NURBS 1 (r j ) and NURBS 2 (r j ) are obtained.Raster between r j can be defined optionally, but it is convenient to use the same raster as in the initial (scanned) contour.For estimation of simplification quality, we use the discrepancy between NURBS 1 (r j ) and NURBS 2 (r j ) and we employ three metrics: (i) maximum absolute deviation dev m , (ii) total square deviation -dev t (8), (iii) average absolute deviation -dev a (9): During NURBS generation, a set of control points, knot vector, and a set of weights for each control point have to be defined.For NURBS control points we have chosen points from contour -scanned points for NURBS 1 and simplified points for NURBS 2 .Knot vector contains n+3 elements where n is the number of control points; the values of elements are defined in equidistant increasing order in interval [0,1], except for the first three elements that are set to 0, and the last three that are set to 1 to ensure that NURBS passes through the first and the last point on the contour.Weights for all control points are set to 1 (each point has the same influence).Figs. 13 and 14 present NURBS curves that are designed using initial scanned contours from Fig. 3 and 9, respectively.The results of simplification process for contour from Fig. 3 for different values of SVR parameters are presented in Tab. 2. During simplification, minimum distance along abscissa between two adjacent preserved points was set to 10 samples (0,5 mm), thus increasing the total number of preserved points with respect to number of support vectors.From Tab. 2 it can be observed that all deviation measures (devm, dev t , and dev a ) have higher values for b-spline kernel than for spline kernel for similar reduction ratios.
NURBS generated over points with the highest reduction ratio from Tab. 2, along with NURBS generated over initial contour is presented in Fig. 13.
The results of SVR based simplification for contour from Fig. 9 (case study 2) are given in Tab. 3. In this case study, according to all three deviation measures, SVR based simplification using b-spline kernel has shown lower discrepancy from original signal than simplification using spline kernel.Fig. 14 presents NURBS generated over points with highest reduction ratio from Tab. 3, along with NURBS generated over initial contour.

CONCLUSION
In this paper we have presented a method for feature sensitive simplification of structured point clouds that is based on ε-SVR of scanned lines.During ε-SVR, the points in high curvature areas are recognized as support vectors.Inherently, these points carry the most information about object's high curvature features and they are retained in reduced point cloud.To deal with the possible oversimplification of point cloud in flat areas, we have proposed the additional low-resolution uniform distance up-sampling.This kind of up-sampling is in accordance with the employed ε-SVR kernels (spline and b-spline) and the nature of free form curves/surfaces that are, as a rule, represented by splines.
The performances of the presented method are dependent on the choice of ε-SVR parameters (ε, C, and kernel).ε and C have high influence on the reduction, and higher values of ε and C will lead to higher reduction ratio.Due to the nature of these parameters, it is convenient to set ε depending on the parts tolerance, and to utilize C for the reduction ratio tuning.Besides ε and C, the choice of ε-SVR kernel has significant influence on the simplification results.It can be observed that, in large flat areas that are combined with high curvature areas, b-spline kernel is prone to oscillation, as illustrated in case study 2. In addition, b-spline kernel shows lower performances with respect to information contents quality in the case of high curvature surfaces as illustrated in case study 1.
Very important characteristic of the presented method is its ability to recognize and keep in reduced point cloud the points in the vicinity of sharp edges.This property is illustrated in case study 3. Opposite to previously reported methods, the proposed method does not require recognition of edges prior to implementation.
The proposed method is applicable for simplification of point clouds which are structured into planar scan lines.To utilize the method for unstructured point clouds, we have employed modified z-buffer algorithm for point cloud structuring.Our future work will address the extension of the proposed algorithm to direct simplification of unstructured point clouds.In addition, we will direct our research efforts to the downstream processes in 3D point cloud analysis, in particular in the area of automatic recognition of geometric primitives.

Figure 2
Figure 2 Stanford dragon -a) point cloud; b) structured point cloud of interest

Figure 5 Figure 6
Figure 5 The effect of C parameter to reduction ratio: a) b-spline kernel; b) spline kernel

Fig. 6
Fig.6presents the results of the application of the proposed method to the whole structured point cloud from Fig.2b.The procedure was applied to scan lines along X axis.

Figure 7 a
Figure 7 a) turbine blade; b) structured turbine blade point cloud

Figure 11 Figure 12
Figure 11 Benchmark test part: a) photo; b) considered single view scan; c) structured point cloud

Table 1
Simplification of real structured point cloud

Table 2
Quality estimation contour from Fig.3

Table 3
Quality estimation for contour from Fig.9