DATUM FEATURE EXTRACTION AND DEFORMATION ANALYSIS METHOD BASED ON NORMAL VECTOR OF POINT CLOUD

In order to solve the problem lacking applicable analysis method in the application of three-dimensional laser scanning technology to the field of deformation monitoring, an efficient method extracting datum feature and analysing deformation based on normal vector of point cloud was proposed. Firstly, the kd-tree is used to establish the topological relation. Datum points are detected by tracking the normal vector of point cloud determined by the normal vector of local planar. Then, the cubic B-spline curve fitting is performed on the datum points. Finally, datum elevation and the inclination angle of the radial point are calculated according to the fitted curve and then the deformation information was analyzed. The proposed approach was verified on real large-scale tank data set captured with terrestrial laser scanner in a chemical plant. The results show that the method could obtain the entire information of the monitor object quickly and comprehensively, and reflect accurately the datum feature deformation.  Corresponding author


INTRODUCTION
In recent years, 3D laser scanning technology has become one of the most important ways to obtain spatial information from the ground with its active and rapid advantage of acquiring high-resolution and high-precision three-dimensional spatial information.Meanwhile, it is widely used in various related fields such as 3D modeling of digital city (Elberink and Vosselman, 2011;Wu et al., 2017), building deformation monitoring (Pesci et al., 2013;Zhou et al., 2014) and ancient architecture measurement and heritage protection (Wei et al.,2014;Pesci, Casula and Boschi, 2011).Especially in the field of deformation monitoring, the surface dense "point cloud" on the deformable body makes up for the shortcomings of traditional surveying method that could hardly reflect the overall variation of the deformation body with fewer sampling points, which could effectively avoid the locality and one-sidedness of previous analysis results based on monitoring point (Lague, Brodu and Leroux, 2013;Tsakiri and Anagnostopoulos, 2015).
However, the discrete distribution computing errors and lack of adaptability are ubiquitous in the deformation monitoring based on point cloud.At present, for the object with regular geometric shapes, such as buildings (Cai, Wu and Zhang, 2010), the inclination of the wall can be obtained by analyzing the angle between the fitting surface of the wall and the horizontal plane.But this method is only suitable for the scene with regular plane.For some large structures with curved surface, Wang (Wang et al., 2017) assumes the plinth is fixed and serves as a datum for the deformation analysis.However, its deformation has greater impact on the deformation analysis of the stone pillar.Therefore, it is necessary to accurately extract the datum feature of deformable body.
The most widely used method is to establish a triangle mesh model of point cloud (Kim, Choi and Lee, 2009;Zhan and Zhang Jiansheng, 2013;Nie et al., 2016;Sun et al.).As the triangulation algorithm is of high time complexity and low efficiency, it is not applicable to the massive point cloud data.Another is to extract the feature line directly from the point cloud data.An et al. (2011) proposed to use the curvature of point cloud to analyze the ratio of principal curvature of the proximal points in the main direction of each point as the similarity index.After that, according to the threshold, whether it is the edge point is determined.However, this method only considers the local characteristics and is easily interfered by noise.Liu et al. (2014) proposed to use the multi-scale operator to detect the feature points of potential feature lines and then connects the vertices directly to construct the feature lines.However, the feature points obtained by this method are not completely in the feature line, and the algorithm has more iterations.Lin et al. (2015) proposed fitting the feature line based on the LSHP (Line-Segment-Half-Planes) structure.However, the edge is prone to lose when the point cloud data are projected to the two-dimensional image from a multi-perspective.This paper proposes a method of datum feature extraction and deformation analysis based on normal vector of point cloud.

FAST ALGORITHM FOR SEARCHING K-NEAREST NEIGHBORS
Before datum feature extraction, we need to obtain the normal vector of point cloud which is the local plane normal vector determined by the nearest neighbors of the point.But how to quickly define the nearest neighbor of the requested point is the key issue, which directly affects the efficiency of datum extraction.
At present, the k nearest neighbor algorithm is widely used for neighborhood search of scattered point cloud data.The searching diagram is shown in Figure 1 (k = 8).The k nearest neighbor algorithm is a self-adaptive neighborhood estimation method with high reliability, which can obtain better results when the scale of point cloud is small (Sankaranarayanan, Sametand and Varshney, 2009;Connor and Kumar, 2010;Li et al., 2014).However, for the massive point cloud data, it is time-consuming to search the neighborhood points using the method directly.Therefore, it is necessary to divide the space of point cloud data before to obtain uniform data point space and improve the searching efficiency.

Fig. 1 Searching diagram of k nearest neighbors
Among various spatial index structures, the constant factor of kd-tree is very small, thus it has great superiority in the aspect of high-dimensional spatial neighborhood search (such as k nearest neighbors searching).Friedman (1977) pointed out that the time complexity based on kd-tree search was only O (log (n)) and the spatial complexity was O (n).Therefore, this paper used kd-tree to establish the topological relation of the scattered point cloud, and obtain the k neighborhood.The kd-tree segmentation diagram in three-dimensional is shown in Figure 2.

NORMAL VECTOR ESTIMATION OF POINT CLOUD
Scholars focus on the normal vector estimation of scattered point cloud data, and it could be divided into three types: method based on local plane fitting (Yoon et al., 2007;Guennebaud and Gross, 2007;Huang et al., 2009), method based on Delaunay/Voronoi (Amenta and Bem, 1999;Dey and Goswami, 2006;Alliez et al., 2007) and that based on robust statistics (Fleishman and Cohen-Or, 2005;Li et al., 2010).Among them, it is necessary to grid transform the point cloud data using the method based on Delaunay/Voronoi.However, this method could not deal with external points and sharp feature points.Although robust statistics could estimate normal vector of sample points on sharp features, however, the memory overhead is large owing to the idea of multi-structure detection and there is no demand to use the method for uniformly distributed point cloud data.However, the local surface fitting obtains the geometric features directly by applying the point cloud model with low time complexity.Therefore, this paper used the local planar normal vector determined by the nearest neighbours as the normal vector of the point and tracked the normal vector of the point cloud to detect the datum points.
Suppose the k scanned points   (  ,   ,   ) to be fitted and  neighborhood fitting plane of the point  is given by the following equation (, , ) (, , ) =  +  +  +  = 0 (1) And The distance of any point   (  ,   ,   ) to the plane is To obtain the best fit plane, we need The condition is The question of seeking normal vector is converted into that of seeking extreme value, with Respectively seek partial derivatives for 、、、, the results are as follows The above equation is simplified and obtained This equation is the eigenvalue and eigenvector of matrix, so the eigenvector corresponding to the minimum eigenvalue of k-point covariance matrix is the normal vector of the point.According to this algorithm, it could estimate the normal vector of each point in the point cloud.

Region growing algorithm
The datum detection of point cloud based on the normal vector of point cloud mainly compares the normal angle between the seed point and the neighborhood point.The extraction algorithm of datum point is described as follows: 1. Set the initial value.Assume the 3D point cloud model is P, the angle threshold is θ, and the datum point set R is empty.
2. Search for the root node  0 as the initial seed point in the current point cloud model and remove  0 from P.
3. The searched neighbor point set of seed point P 0 is  = {  |1 ≤  ≤ }, if the normal angle of P 0 and P j is larger than the angle threshold θ,   is added to the datum point set R and removed from P.
4. If the current point cloud model is not empty, the next point is traversed as the seed point and repeat step 3; if the current point cloud model is empty, proceed to step 5.
5. Terminate the calculation.The datum point set R obtained is the final segmentation results.
The set of datum points obtained with the above algorithm can filter out most of the non-datum points and effectively reduce the volume of data.However, it cannot effectively distinguish the datum points, neighbor points and some abnormal points.Therefore, it is necessary to further filter the candidate datum points.This paper first calculated the initial center based on candidate points, and then set the distance threshold between the candidate points and the initial center to filter out noisy data (Sun, Wang and Liu, 2016).With this step, it will obtain more accurate datum point.

Cubic B-spline curve fitting
However, the accuracy of single point in original data is much lower than the accuracy of the reconstructed model due to the discrete characteristics of point cloud data.Therefore, it is necessary to fit the curve that can accurately reflect the characteristics of the point set from the scattered point cloud data so as to analyze the datum feature deformation based on the curve.
At present, Lagrange interpolation method, Bezier curve fitting method, Least squares method and cubic B-spline curve fitting method are widely used in many fields (Le, 2012).The fitting results of 10 discrete points with the above methods are shown in Figure 3.

Fig. 3 Fitting results
It can be seen that the cubic B-spline curve fitting can show the local characteristics of the curve well and the curve is smoother.Therefore, this paper used cubic B-spline curve to fit the datum points.
Given space vertex   ( = 0,1, … ,  + ) , called n times parameter curve segment For the section k n times B -spline curve segment ( = 0,1, … , ), the whole of these curve segments is called n times B-spline curves.Among them, the base function  , () is defined as: When  = 3, it is called the cubic B-spline curve, the base function is Therefore, when each of the adjacent four points is extracted the data set, which can construct a cubic B-spline curve.And a complete smooth curve can be obtained until all data points are extracted.

EAPERIMENT AND ANALYSIS
With the improvement of national energy strategies, the large-scale storage tank has become the key equipment to protect China's oil and gas resources and chemical material reserves.However, enough attention is not paid to the information construction of the large-scale storage tank at home and abroad for a long time.The security detection of the large-scale storage tanks is limited to the analysis of tank deformation through the tank capacity changes, which often neglects the impact of the change with large-scale datum on tank deformation (Li, 2012;Chen, 2015;Wang and Liu, 2010).This approach is tested on real dataset in a chemical plant.The tank point cloud is shown in Figure 5.

Fig. 5 Tank point cloud
In order to simplify the data processing, we only segment the point cloud data near the datum.Firstly, the normal angle between each point in the point cloud data and its k-neighborhood is calculated and the datum points of the large-scale storage tank are detected, and then the extracted datum points are quickly sorted and fitted by cubic B-spline curves.The extraction result of the datum as shown in Figure 6.It can be seen that the maximum residual value of the fitting curve is 6 mm.According to the calculation formula of the root mean square error (MES), the MES between the measured value and the fitted value can be obtained as 3 mm.It is shown that with the cubic B-spline curve better result could be obtained to meet the requirements of datum deformation analysis.

2.
Results analysis On the basis of the above-mentioned algorithm, with the large-scale storage tank datum information, we take the elevation data of the tank foundation and specify the degree of the split (one point for each degree and 360 points in total) to obtain the tank datum elevation trend as shown in Figure 8.

Fig. 8 The variation trend of datum elevation
It can be seen that the maximum elevation of the tank datum is about 95 cm and the minimum elevation about 93 cm with the elevation difference about 2 cm.And, as the datum of the tank falls off, the datum changes at various positions are uneven.However, we can analyze the changes in the every position of the datum on the basis of the elevation information of each point.
Assuming that h is the maximum elevation difference in diameter direction and D is the tank diameter.According to Formula (17), the inclination angle of the antipodal points can be calculated.With the detection point extracted, we could obtain the maximum elevation difference in the diameter direction 15 cm, and the tank diameter 60 m; through calculation, the inclination angle of the antipodal points is 51.7 ".It is indicated that the tank foundation inclination is quite serious.

CONCLUSION
The method doesn't need to grid the point cloud data and doesn't need to estimate the curvature of the point cloud, and extracts the point cloud datum feature from the original point cloud data directly, which has a lower time complexity and a higher efficiency.As well as, a complete and dense point cloud data can be quickly obtained, the datum information of the monitoring object can be accurately extracted, and solve the problems that the traditional measurement methods can't address.

Fig. 6
Fig. 6 The extraction result of datum feature