Point Cloud Pre-Processing and Surface Reconstruction Based on Chord Algorithm Technique

- 3D laser scanner is one of the modern technologies, which used to obtain the geometric information about the 3D scanned object surface. But, there are some problems that are associated with this technique such as the huge number of obtained points which require high memory to save and the required data processing processes. This paper proposed a data simplification algorithm for point cloud of a scanned object using 3D laser scanner (Matter and Form) in a manner to extract the necessary geometric features, which are represented by points for a 3D object. This algorithm based on the instantaneous calculation of chord height of each set of adjacent points in the point cloud. A MATLAB environment was used to build a proposed simplification algorithm program. Then this program was applied using a proposed case study. The result which was obtained from the application of the proposed algorithm and surface fitting process for the proposed case study proved the effectiveness of the proposed algorithm in data simplification. The percent of data which was ignored as noisy data point was (24%) of the total number of data point in applying the algorithm for two attempts.


Introduction
With the rapid development of three-dimensional laser scanning technology, the product's surface data can be quickly obtained.Measurement using 3D laser scanner, each scanned point cloud data based on tens of thousands of massive data, contains more information.The huge data points in the cloud to surface reconstruction, model reconstruction, and subsequent processing and storage, represents the main bottlenecks in 3D laser scanning measurements [1].In other words, not all of the data points in the follow-up process can be used.Therefore, there is a need to ensure the accuracy of 3D scan streamline for data point clouds under the premise of certain accuracy, extract the data point clouds reflected in the surface shape of the data points, and removing a lot of redundant data points.There are a lot of researchers who showed in their literature different algorithms for simplification of the data points which were obtained from 3D laser scanners.Liu et al proposed a reconstruction algorithm to ensure the aerodynamic performance of blade surface based on B-spline surface interpolation from less measured points of section curves which were obtained from the coordinate measuring machine [2].Cyganek et al proposed a method for classification of multidimensional data to allow processing of complex structures based on a tensor-based kernel applied to the Support Vector Machines (SVM) and sequential minimal optimization (SMO) with chord distance for classification the data tensor [3].Xiao et al. provided a surface flattening algorithm started with the reconstruction of triangular mesh surface of the point cloud data based on mechanics revision to locate the damage or deterioration on the tunnel's inner of the 3D point cloud data from laser scanners to ensure the railway of transportation operations [4].Kang et al.Proposed an interpolation algorithm to compute the tunnel cross-sectional points.Based on quadric parametric surface fitting, they used a 2D projection of the point cloud and curve fitting to extract the central axis of the tunnel and intersecting straight lines with the tunnel point cloud to determine the cross-sectional planes [5].Kisztner et al work deals with an algorithm for image processing and remote sensing using cluster analysis and analysis of spectral behavior to create a procedure and software for general use to the separation of vegetation from 3D data acquired by Terrestrial Laser Scanning [6].S. Gauthier et al proposed a method to analyze a curvature histogram from a digitized 3D surface using a real object.In addition, they proposed the use of the curvature histogram analysis for many steps of a reverse engineering process, which can be used to retrieve a CAD model [7].Mineo et al introduced an algorithm to boundary point detection and spatial filtering approach based on Fast Fourier Transform (FFT).The algorithms together allow direct generation of low noise tessellated surfaces from point cloud data by detect points belonging to sharp edges and creases which are not based on predefined threshold values [8]. Lee and Bo proposed a method to reconstruct feature curves from the intersections of developable strip pairs, which approximate the regions along both sides of the features to compute smooth feature curves from point cloud's model [9].In the present work, the chord height algorithm will be introduced to simplify the streamlines of the point cloud, which will be obtained from 3D laser scanner, determine the necessary points for representing the geometrical information of the scanned object, and delete the noisy points in point cloud as a result of reverse engineering process.The present paper will be organized as follows; section 2 will be divided into two parts, part I will be illustrated the chord algorithm methodology, while in part II, the flowchart of the building program in MATLAB environment will be detailed.Section 3 will show the proposed case study to ensure the validity of the introduced algorithm.Finally, in section 4, the results and the conclusions will be illustrated and recorded.

Chord Height Algorithm
Chord algorithm is an effective sampling algorithm of point clouds data that guarantees the real characteristic of the point data reconstruction.It is used to eliminate the noise data in point cloud data, which was obtained from 3D scanning of the object.The algorithm based on calculating the maximum deviation (chord height) for every three points set in the point cloud.Then, it compares the deviation with allowed permissible deviation.The chord height represents the shortest distance between P i+1 and the line that connects P i and P i+2 as shown in Figure 1.

I. Chord Height Algorithm Methodology
The introduced chord height algorithm started on calculating the maximum deviation (chord height) for each individual three sets of point in point cloud as shown in Figure 1.Then, it compares the deviation with the allowed permissible deviation.
After that, the decision will be made as the set of points (P o , P1, and P 2 ), which have deviation height larger or equal to the allowed deviation, must be processed by ignoring the middle point (P 1 ) then computing the new deviation height among the new set of points (P 0 ,P 2 , and P 3 ).In this manner, the noise or scattered points in point cloud can be specified then ignored.The chord (deviation) height algorithm can be applied as followed: • Set the allowable value of chord height (∆h), depending on accuracy that adopted.
• Construct the vectors V 1 and V 2 between the points P 0 , P 2 and P 1 , P 2 respectively as [10].
Where: (x o, y o , z o ), (x 1, y 1 , z 1 ), and (x 2, y 2 , z 2 ) are the coordinates of the first, second and third point respectively in the point cloud.
• Compute the dot product between the vectors V 1 and V 2 as • Compute the angle(ά) between V 1 and V 2 vectors using the formula: • Compute the length of the line between P 1 and P 2 L 2 =√((x 2 -x 1 ) 2 +(y 2 -y 1 ) 2 +(z 2 -z 1 ) 2 ) (5) • Compute the deviation height(h 1 ) as h 1 =L 2 sin(ά) (6) • If h 1 ≥(∆h), save P 1 , then go to the next assessment, and calculate the height of chord P 1 P 2 P 3 according to the same procedure and carry on assessment, • If h 1 <(∆h), delete P 1 , and calculate the chord height of P o P 2 P 3 , namely h 2 .
• Proceed with the process until the last point of the scanning line.Those points that are not in accordance with the requirement of chord height will be deleted.It can be easily concluded that the smaller (∆h) is, the bigger the curvature.Otherwise, the curvature is smaller.The procedure of the proposed algorithm was illustrated as shown in the flowchart in Figure 2.

II. Proposed Algorithm Program
A MATLAB program is built to perform the methodology procedure the introduced chord height simplification algorithm.Figure 2 shows the basic steps of the building program in the flowchart.The proposed program started with receiving the data point as a point cloud from a 3D laser scanner device.Then it proceeds with computing the allowable chord height division automatically within the program.After that, the chord height for each set of three adjacent points in point cloud will be calculated using the illustrated methodology procedure in sections I. Finally, the decision will be made according to the comparison between the calculated and the allowable chord height assessment.

Proposed Case Study
To prove the effectiveness of the introduced algorithm for simplification the point cloud, Figure 3 shows the shape that was taken as a case study.This case study was scanned using the (Matter and Form) laser scan.After completing the object scans, the scanning output file was saved as data point file format ('file name'.xyz) in three dimensions coordinate using scanner software 'Matter and Form'.Then, the file was processed in 'Excel' program to save in (.xlsx) format.After that, the file was imported in 'MATLAB' program to be processed with the chord height algorithm and saved as data file format ('file name.dat.').For this case study, the file contained a total number of points (527884) in the beginning after the complete scanning process.

Results and Discussion
When the introduced algorithm is applied, the file becomes contained the total points (459518) as the first attempt and the percent of neglected unnecessary points becomes (12,95%).In the second attempt, the points number become (408614) and the percent of deleted points becomes (11.07%).As a result of these two attempts, the summation of percent of deleted points was (24.02%).That indicates the introduced algorithm was very effective in simplification the data pints and remove the unnecessary points as noisy points.The final result of the simplification for the proposed case study is shown in Figure 4.The result of the application the proposed chord simplification algorithm for processing the point cloud of the selected case study was evaluated using the surface fitting process in MATLAB program for the two attempts as shown in Figure

Conclusion
Due to imperfect information, which was included in a point cloud of a scanned object using a 3D laser scanner, the number of simplification algorithms must be used.In the present paper, the chord height simplification algorithm has been adopted to extract the necessary points to the geometric representation of the scanned object.The results which were obtained from surface fitting and the total percent of ignored points as a noisy point proved that the proposed algorithm was effective in simplification the point cloud for any case study.
Where the total number of the scanned point for the proposed case study was (527884), which has become (408614) after application of the introduced chord algorithm and the percent of the deleted point was about (24%) of a total number of data points.

Figure 1 :
Figure 1: Demonstrate of Chord Height Calculation Sketch

Figure 2 :Figure 3 :
Figure 2: Proposed MATLAB Program of Chord simplification Algorithm

Figure 5 :
Figure 5: Result of Chord Algorithm Fitting