Improved Registration Algorithm Based on Double Threshold Feature Extraction and Distance Disparity Matrix

Entire surface point clouds in complex objects cannot be captured in a single direction by using noncontact measurement methods, such as machine vision; therefore, different direction point clouds should be obtained and registered. However, high efficiency and precision are crucial for registration methods when dealing with huge number of point clouds. To solve this problem, an improved registration algorithm based on double threshold feature extraction and distance disparity matrix (DDM) is proposed in this study. Firstly, feature points are extracted with double thresholds using normal vectors and curvature to reduce the number of points. Secondly, a fast point feature histogram is established to describe the feature points and obtain the initial corresponding point pairs. Thirdly, obviously wrong corresponding point pairs are eliminated as much as possible by analysing the Euclidean invariant features of rigid body transformation combined with the DDM algorithm. Finally, the sample consensus initial alignment and the iterative closest point algorithms are used to complete the registration. Experimental results show that the proposed algorithm can quickly process large data point clouds and achieve efficient and precise matching of target objects. It can be used to improve the efficiency and precision of registration in distributed or mobile 3D measurement systems.


Introduction
With the rapid development of machine vision in recent years, vision technology based on 3D point clouds has been widely used in the fields of industrial design, reverse engineering, surface defect detection, and virtual reality. Compared with traditional 2D images, 3D data provide richer information [1]. As a special information format that contains complete 3D spatial data, 3D point cloud data have elicited extensive attention [2]. At present, methods for collecting 3D data include the time-of-flight [3], stereo vision [4], laser scanning [5], and structured light [6] methods. Limited by the scanning angle of the device and the shape of the object, the complete 3D information of an object must be collected from multiple views, and point clouds must be registered into a complete model. Point cloud registration is a key step in capturing the complete shape of 3D objects.
The purpose of point cloud registration is to find a 3D rigid body transformation, such that the point cloud of the same object from different perspectives can be transformed into the same coordinate system for rapid and accurate matching and splicing. Splicing accuracy directly affects the accuracy of model reconstruction [7]. The same-source registration can be divided into optimization-based registration methods, feature-learning methods, and end-to-end learning registration [8]. The deep learning-based methods do not require iteration, but large training data is needed [9][10][11]. Besides, the registration results are sensitive to noise. Optimization-based registration is to use optimization strategies to estimate the transformation matrix without training data. The most widely used point cloud registration algorithm is the iterative closest point (ICP) algorithm proposed by Besl et al. [12]. This algorithm requires a good initial position and a high overlap rate. Moreover, it easily falls into the local optimal solution. Therefore, this algorithm is typically used for fine registration [13]. To improve the efficiency and accuracy of registration, scholars have proposed a variety of methods, including velocity updating ICP [14], generalised ICP (GICP) [15], and globally optimal ICP [16]. Magnusson [17] proposed a registration algorithm that differed from the ICP registration model, called the 3D normal distribution transformation algorithm. This algorithm was based on the probability density model, did not require calculating the nearest neighbour corresponding points, and reduced computational complexity. Zhong [18] designed an inherent shape feature to describe point feature information by establishing the local reference coordinate system and 3D histogram of each point. However, the uneven distribution of points and measurement noise affected the registration results. Rusu et al. [19] proposed a point feature histogram (PFH) algorithm and a fast PFH (FPFH) algorithm [20,21] for local feature descriptions. Yun et al. [22] calculated congruent triangles by using the centroid of a point cloud ball to obtain the corresponding relationship between them. Coarse registration was performed through the centroid. Jauer P. et al. [23] used knowledge in mechanics and thermodynamics to assume that a point cloud is a rigid body composed of particles. A force was applied between two particle systems to cause one of the systems to move towards the rigid body of the other system to complete point cloud registration. Chen et al. [24] designed a novel descriptor based on a plane/line. This descriptor was particularly used for establishing structure-level correspondence between point clouds for coarse registration. Raobo Li et al. [25] proposed a point cloud registration method that used the feature transformation processing of the centre of gravity. Two feature vectors were constructed from the nearest and farthest points of the centre of gravity, and a third feature vector was synthesised. Finally, point cloud registration was performed. Wang et al. [26] used the principal component analysis (PCA) method to realise the coarse registration of point clouds. In fine registration, the nearest point is iterated on the basis of the two-way distance proportion. This method exhibits a certain improvement in accuracy and speed compared with the classical ICP algorithm; however, it is more sensitive to noise points. Song et al. [27] conducted a down-sampling of a point cloud, extracted feature points through the angle characteristics of a normal vector neighbourhood, and established FPFH for feature descriptions. The combination of the sample consensus initial alignment (SAC-IA) and ICP algorithms was used to complete point cloud registration. Xu et al. [28] proposed an improved ICP algorithm that combined the random sample consensus algorithm, intrinsic shape signatures, and 3D shape context. Min et al. [29] synthesized a hybrid mixture probabilistic model with the directional and positional information of each point to completes point cloud registration. KOIDE et al. [30] proposed a multi-point distribution aggregation method to extend the GICP approach.
The aforementioned methods can be classified into two categories. The first category includes algorithms based on a global search strategy, which reaches the optimal solution with continuous iteration. Their limitation is the existence of noise points, which increase computational costs. The second category includes methods based on feature matching, which extracts representative feature points from a point cloud to reduce the amount of calculation. The selection of feature points and their description method will determine the registration result. These methods frequently lead to low registration accuracy due to the lack of representativeness or insufficient number of feature points. The accuracy of feature point extraction directly affects registration precision. Therefore, studying an appropriate method to obtain accurate feature points is a challenge.
In the current study, we use the normal vector and the curvature of a local point cloud for feature extraction with double threshold to extract representative feature points. The FPFH descriptor is used to describe the feature points and obtain the initial corresponding point set. By considering the invariance of distance and angle between feature points, the distance disparity matrix (DDM) algorithm is used to eliminate the wrong corresponding point pairs, and thus, determine accurate corresponding point pairs. Then, the SAC-IA algorithm is used for coarse registration to obtain a better initial position of point clouds. Finally, the ICP algorithm is used for fine registration. Representative feature points are obtained by extracting feature points with double thresholds and removing mismatched pairs, making the subsequent registration fast and accurate. The combination of coarse and fine registration solves the problems of slowness and low accuracy of the ICP algorithm.
The remainder of this paper is organised as follows. Section 2 provides details of our proposed method and describes relevant principles. Section 3 introduces an experiment of this method on three models in the basic geometry library and evaluates its accuracy and efficiency. Section 4 presents the conclusions of this study.

Materials and Methods
The flowchart of the proposed method, which mainly includes five steps, is shown in Figure 1. P represents the source point cloud, and Q represents the target point cloud. Firstly, the feature points of the origin cloud are extracted using the normal vector and curvature with double threshold to reduce the number of point clouds and registration time. Secondly, the FPFH is used to describe the feature points to obtain the initial set of corresponding point pairs. Thirdly, the mismatched point pairs are removed using the DDM algorithm to improve the accuracy of the corresponding point pairs. Fourthly, the SAC-IA algorithm is used for the coarse registration of point clouds to provide a good initial position for subsequent registration. Finally, the ICP algorithm is used for fine registration.
SAC-IA algorithm is used for coarse registration to obtain a better initial position o clouds. Finally, the ICP algorithm is used for fine registration. Representative points are obtained by extracting feature points with double thresholds and rem mismatched pairs, making the subsequent registration fast and accurate. The comb of coarse and fine registration solves the problems of slowness and low accuracy ICP algorithm.
The remainder of this paper is organised as follows. Section 2 provides details proposed method and describes relevant principles. Section 3 introduces an expe of this method on three models in the basic geometry library and evaluates its ac and efficiency. Section 4 presents the conclusions of this study.

Materials and Methods
The flowchart of the proposed method, which mainly includes five steps, is in Figure 1. P represents the source point cloud, and Q represents the target point Firstly, the feature points of the origin cloud are extracted using the normal vect curvature with double threshold to reduce the number of point clouds and regis time. Secondly, the FPFH is used to describe the feature points to obtain the initia corresponding point pairs. Thirdly, the mismatched point pairs are removed us DDM algorithm to improve the accuracy of the corresponding point pairs. Fourth SAC-IA algorithm is used for the coarse registration of point clouds to provide initial position for subsequent registration. Finally, the ICP algorithm is used for fi istration.

Normal Vector Calculation
The normal vector is an important geometric attribute in a point cloud data The included angle of the normal vector of the points in the local neighbourhood flect the change information of the surface, as illustrated in Figure 2. When the vector in the region surface changes gradually, the region is relatively flat. When t mal vector changes abruptly, the region fluctuates considerably. Therefore, the ap ate threshold can be set in accordance with the change in the normal vector in the bourhood to obtain the feature point.

Normal Vector Calculation
The normal vector is an important geometric attribute in a point cloud data model. The included angle of the normal vector of the points in the local neighbourhood can reflect the change information of the surface, as illustrated in Figure 2. When the normal vector in the region surface changes gradually, the region is relatively flat. When the normal vector changes abruptly, the region fluctuates considerably. Therefore, the appropriate threshold can be set in accordance with the change in the normal vector in the neighbourhood to obtain the feature point.
PCA [31] is a common method for calculating the normal vector. For any p i in point cloud P, covariance analysis is performed on p i and its neighbouring points p ij in its k-neighbourhood. The specific steps for calculating the normal vector are as follows: (1) For point p i (x i , y i , z i ), its neighbourhood points p i1 , p i2 , . . . p ik are found in a ball of radius r. (2) Equations (1) and (2) are used to calculate the normal vector of point n i , where p i is the 3D centroid of the neighbourhood point set, and C is the covariance matrix of p i . The three eigenvectors and the corresponding three eigenvalues of covariance matrix C are calculated via eigenvalue decomposition. The eigenvector that corresponds to the smallest eigenvalue is the normal vector of point p i . (3) The direction of the normal vector is determined using Equation (3). In general, the direction of the normal vector is consistent towards the viewpoint direction (from viewpoint v p to p i ). PCA [31] is a common method for calculating the normal vector. For any in point cloud , covariance analysis is performed on and its neighbouring points in its kneighbourhood. The specific steps for calculating the normal vector are as follows: (1) For point ( , , ), its neighbourhood points , , … are found in a ball of radius .
(2) Equations (1) and (2) are used to calculate the normal vector of point , where ̅ is the 3D centroid of the neighbourhood point set, and is the covariance matrix of ̅ . The three eigenvectors and the corresponding three eigenvalues of covariance matrix are calculated via eigenvalue decomposition. The eigenvector that corresponds to the smallest eigenvalue is the normal vector of point ̅ .
(3) The direction of the normal vector is determined using Equation (3). In general, the direction of the normal vector is consistent towards the viewpoint direction (from viewpoint to ).

Curvature Calculation
Curvature is a concept that describes the degree of curvature of a surface and is a

Curvature Calculation
Curvature is a concept that describes the degree of curvature of a surface and is a basic attribute of a surface. During point cloud processing, the curvature is also an important attribute for describing the geometric characteristics of point clouds. Each point in the point cloud and its adjacent points can be typically fitted into a local surface, and the local surface curvature is used as the curvature of the point. In the current study, the least squares method is used to calculate the curvature of point clouds. The curvature calculation process is summarised as follows: (1) Point p i is set as the coordinate origin, establishing the local coordinate system (u, v, w). The direction of the normal vector of the surface at point p i is the direction of the w-axis. The uand vaxes are on the tangent plane at point p i , as shown in Figure 3. The u-vand w-axes are orthogonal. (2) Basic equation of quadric surface [32]: If e and f in Equation (5) are equal to zero, then Equation (4) represents a quadratic parabolic surface. For point p i , its neighbourhood point p j (j = 1, 2, . . . , k) is converted into the local coordinate system (u, v, w), and the converted coordinates are u j , v j , w j . The coordinates are substituted into the formula calculation. When k is greater than 3, a set of overdetermined equations is obtained. In accordance with the least squares method, the optimal fitting parameters a, b, and c are finally obtained. of the fitted surface can be obtained by solving the first-and second-order partial derivatives of the equation from the basic equation of the surface. Combined with the surface parameter equation, the principal curvature (k 1 , k 2 ), Gaussian curvature (K), and average curvature (H) can be calculated.
The feature extraction method based on curvature can accurately identify the feature information of a point cloud, accurately extract the detailed features of the abrupt and gradual regions of the surface and effectively retain the feature information of the model.
The feature extraction method based on curvature can accurately identify the information of a point cloud, accurately extract the detailed features of the abru

Double Threshold Feature Extraction Based on the Normal Vector and Curvature
Double threshold feature extraction based on the normal vector and curvature extracts feature information by using the included angle of the normal vector and the threshold of the average curvature feature weight of points in the local neighbourhood of the point cloud. This method exhibits evident improvement in stability and accuracy due to the constraints of the normal vector and curvature.
The angle of the normal vector is used to construct the constraint condition of feature judgement: the angle between points p i and p j in their k-neighbourhood is expressed by θ ij , where → n i and → n j are the normal vectors of the p i and p j .
The change degree f i of the included angle of the normal vector of point p i is defined as follows: The average curvature local characteristic weight w H of point p i in its k-neighbourhood is defined as follows: where H represents the average curvature of point p i in its k-neighbourhood. Whether the point belongs to the feature point by f i of the normal vector and w H of the curvature is determined. If f i is greater than the set threshold α 1 , then the point is divided into the potential feature point sets. If f i is less than the set threshold, then it is not a feature point. If w H is greater than the set threshold α 2 , then the point is a feature point, and it is added to the feature point set. If w H is less than the set threshold, then the point is not a feature point, and it is removed from the potential feature point set. Then, the FPFH is used to describe the feature point set to obtain the initial sets of corresponding point pairs A extracted from P and B extracted from Q.

DDM Algorithm
In rigid body transformation, the distance and principal axis angle of any two feature points remain unchanged before and after transformation. The consistent characteristics of this distance and angle can be used to eliminate unreliable or wrong matching point pairs. Consider the feature point sets A{a 1 , a 2 , . . . , a n } and B{b 1 , b 2 , . . . , b n }, where (a i , b i ) represents the corresponding point pair. As shown in Figure 4, the distance between feature points remains basically unchanged before and after transformation; that is, d a ik − d b ik < e, and e represents the error threshold. If a mismatch (a k , b k ) occurs, then the distance between other points in b k and B will change considerably compared with the distance between other corresponding points in a k and A, i.e., d a ik − d b ik > e. This difference in Euclidean distance can be used to eliminate external point pairs [33].
⎩ where represents the average curvature of point in its k-neighbourhood. Whether the point belongs to the feature point by of the normal vector and of the curvature is determined. If is greater than the set threshold , then the point is divided into the potential feature point sets. If is less than the set threshold, then it is not a feature point. If is greater than the set threshold , then the point is a feature point, and it is added to the feature point set. If is less than the set threshold, then the point is not a feature point, and it is removed from the potential feature point set. Then, the FPFH is used to describe the feature point set to obtain the initial sets of corresponding point pairs extracted from and extracted from .

DDM Algorithm
In rigid body transformation, the distance and principal axis angle of any two feature points remain unchanged before and after transformation. The consistent characteristics of this distance and angle can be used to eliminate unreliable or wrong matching point pairs. Consider the feature point sets , , … , and , , … , , where ( , ) represents the corresponding point pair. As shown in Figure 4, the distance between feature points remains basically unchanged before and after transformation; that is, − < , and represents the error threshold. If a mismatch ( , ) occurs, then the distance between other points in and will change considerably compared with the distance between other corresponding points in and , i.e., − > . This difference in Euclidean distance can be used to eliminate external point pairs [33].   The calculation process is as follows: (1) The distance matrix for point sets A and B is calculated, i.e., M A = a ij , M B = b ij , (i = 1, 2, . . . , n, j = 1, 2, . . . n), where a ij = d a i , a j , b ij = d b i , b j . (2) The DDM is calculated, i.e., M DDM = c ij , c ij = a ij − b ij . Each element in the matrix represents the difference between the Euclidean distances of two feature points before and after rigid body transformation; hence, it is called DDM. If the point pair set has no external value, then a ij = b ij , c ij = 0; otherwise, if (a k , b k ) is a wrong match, then a large nonzero value will appear in row k and column k of the symmetric matrix M DDM , resulting in (a k , b k ) being distinguished from other point pairs. (3) A vector m is defined to store the mean value of each row of M DDM , and the extreme values m max and m min are determined. If the subtraction of the two values is less than the set threshold α 3 , then m max = 0, and the extreme value is continuously found; otherwise, the cycle is exited.
From the preceding calculation process, an out-of-area matching is manifested in M DDM by more nonzero values in its corresponding row, resulting in a large mean m i , which is positively correlated with its offset degree. Moreover, m i can reflect the matching accuracy of point pairs (a i , b i ). Therefore, wrong matching point pairs can be detected and eliminated by observing vector m. Then the correct sets of corresponding points A C and B C are obtained.

SAC-IA Coarse Registration
To achieve the good registration effect of 3D point clouds, the coarse-to-fine registration strategy is adopted. SAC-IA is used to realise the coarse registration. The principle of the SAC-IA registration algorithm is as follows: (1) A number of sampling points are selected from the source point cloud P, and the distance between each point should be greater than the minimum distance given in advance to ensure that there are different FPFH between points. (2) According to the FPFH, one or more points similar to the sampling points are found in the target point cloud Q, and these similar points are regarded as the corresponding points of the sampling points. (3) The transformation matrix is calculated in accordance with the corresponding points.
The performance of registration is evaluated according to the total distance error function by solving the corresponding point transformation, which is expressed as follows: (10) in which, m i is the specified value and l i is the distance difference after the corresponding point transformation. When the registration process is completed, the one with the smallest error in all the transformations is considered the optimal transformation matrix for initial registration.
In coarse registration, we use the correct sets of corresponding points A C and B C to replace the P and Q, and obtain the initial translation matrix. Perform the initial transformation matrix on the point cloud A C , and get the transformed corresponding point cloud A C .

ICP Fine Registration
After coarse registration with the SAC-IA algorithm, the source and target point clouds roughly coincide, but the registration accuracy is low. Then, the ICP algorithm is used for fine registration. The specific algorithm steps are as follows: (1) The point cloud after coarse registration P and the target point cloud Q are taken as the initial point set for fine registration.
(2) For all points p i of P , the nearest corresponding point q i in Q is found to form the initial corresponding point pairs. (3) Use the least square method to solve the optimal rotation matrix R and translation matrix T, perform R, T on the point cloud P and the mean square error (MSE) function d k is minimized.
(4) Set the threshold ε, if the condition d k − d k+1 < ε is met, end the iteration and get the final transformation matrix R and T.
In fine registration, we use the point cloud A C to replace the P . According to the finally obtained R and T, the source point cloud P is transformed into the coordinate system of the target point cloud Q to complete the registration.

Results
The software environment used in this experiment is Microsoft Visual Studio 2017 and Point Cloud Library running on an AMD Ryzen 7 4800u computer with 16.0 GB and a 64-bit Windows 10 operating system.

Selection of Mian Parameters
To verify the effectiveness of the algorithm, validation experiments are performed using Bunny, Dragon, Armadillo, and Buddha models from Stanford University, and the Airplane model from the Modelnet40 Dataset [34]. To verify the soundness and efficiency of the algorithm proposed in this study, it is compared with the ICP algorithm and the algorithms in [27,28]. MSE is a commonly used error measurement method in point cloud registration; it is the average of the sum of squares distances between the corresponding Registration results of the proposed algorithm are related to four main parameters, including the neighbourhood radius k, thresholds α 1 , α 2 , and α 3 . Table 1   When k = 0.001 m, the average number of neighbourhood points is too few and no result is obtained, whilst when k ≥ 0.003 m, too many points lead to long calculation time. Thus, the value of k is selected as 0.002 m.
Based on the calculated results of f i , w H , and M DDM , we set the initial scope of α 1 ∈ [10, 30] rad, α 2 ∈ [5, 20] 1/m and α 3 ∈ [0.0005, 0.002] m. Figure 5 is the flowchart of how to obtain the threshold value α 1 . First, we input the initial value that α 1 = 10 rad, α 2 = 5 1/m, and α 3 = 0.002 m in the proposed algorithm and get the registration results MSE M 0 and time T 0 . Then, the step size ∆α 1 = 1 is set. When the threshold value is too large and the number of extracted feature points is too small, the registration fails. The next registration is performed under α 1 = α 1 + ∆α 1 , and the MSE M 1 and time T 1 are obtained. By comparing these two registration results, the α 1 under the smaller registration result is selected for the next comparison. Finally, we get the value of α 1 with the smallest registration result in the range. The initial value of α 1 is modified, and then calculate it in the same way to get the value of α 2 . The step size ∆α 2 = 1 and ∆α 3 = 0.0001 are set. The value of all parameters in the proposed algorithm are listed in Table 2. Table 2. All parameters of the proposed algorithm. The value of all parameters in the proposed algorithm are listed in Table 2.

The Results of Experiments
The experiment is divided into two cases. Case 1: the point cloud under one angle is converted into another angle by the matrix for registration. Case 2: two-point clouds are collected under different angles for registration.
For Case 1, the target point cloud is converted from the source point cloud with the same number of points, and the two-point clouds exhibit one-to-one correspondence without missing points. Case 1 simulates the unique correspondence of feature points under ideal conditions as a way to verify that the feature points extracted by our algorithm are valid and correct. Theoretically, if the feature points are accurate, the two-point clouds can overlap exactly. Table 3 shows the registration results of each algorithm for the five models in Case 1. ICP takes a long time to process the big data point cloud, has low efficiency, and exhibits poor registration effects. As the number of point clouds increases, the time becomes longer. The algorithms in [27,28] down-sample the initial point cloud and extract feature points by a single feature. The number of the extracted feature points is large and it takes time to complete the coarse registration. Although the registration is completed, the MSE of the two algorithms is large, which indicates that the feature points contain the wrong points. It can also be seen from Figure 6 that there is a position error between the two-point clouds. The MSE of our algorithm is almost zero and the two-point clouds completely overlap, which represents exact registration with accurate feature points.
In the Airplane model, the algorithms in [27,28] spend a lot of time on coarse registration. The reason is that the down-sampling is affected by point cloud density. The proposed algorithm calculates the feature information based on the neighbourhood points without the influence of the point cloud density. For models with particularly complex surfaces, such as the Buddha, many feature points take time in coarse registration, but accurate registration can also be accomplished. In the figures, the target point clouds are in green, the source point clouds are in red.
For Case 2, i.e., the conventional case, there are occlusion, deletion, noise interference, and other factors, which will lead to different point cloud data collected from different views in multi-view 3D scanning. Therefore, the accuracy of feature points plays an important part in registration. Table 4 shows the registration results of Case 2 in different models. The accuracy of the ICP algorithm and the algorithms in [27,28] is comparable, whilst the proposed algorithm is more accurate. For general surfaces, the registration time of our algorithm is considerably shorter than that of the ICP algorithm, 1/4 of that of the algorithm in [27] and 1/2 of that of the algorithm in [28]. When the point cloud density changes, there are too many points after the down-sample, resulting in a long registration time of the algorithms in [27,28]. The time of our algorithm is not affected by the point cloud density and is still able to complete the registration in a relatively short time. For complex surfaces, although our algorithm takes longer time in registration, the accuracy is high. As can be seen from Figure 7, our registration effect is the best compared to the other three algorithms, especially when registering objects with complex surfaces.  (c) Algorithm in [27]; (d) Algorithm in [28]; (e) Proposed.
For Case 2, i.e., the conventional case, there are occlusion, deletion, noise interference, and other factors, which will lead to different point cloud data collected from different views in multi-view 3D scanning. Therefore, the accuracy of feature points plays an important part in registration. Table 4 shows the registration results of Case 2 in different models. The accuracy of the ICP algorithm and the algorithms in [27,28] is comparable, whilst the proposed algo-  [27]; (d) Algorithm in [28]; (e) Proposed. The comparison of the number of point clouds in each processing stage is provided in Table 5. After the double threshold feature extraction of the original point cloud, the number of point clouds is considerably reduced. After the feature description and finding the corresponding point pairs, the mismatched point pairs are removed by the DDM algorithm, and the number of finally registered point clouds is about 0.1% of the original point clouds. Therefore, the selection of highly representative feature points is a prerequisite for highprecision registration. Compared with those of the traditional ICP and improved algorithms, the efficiency and accuracy of our proposed algorithm are significantly improved. The algorithm proposed in this study uses neighbourhood point information to extract feature points, eliminate mismatched point pairs, reduce the number of point cloud registrations, and improve the correspondence between point pairs, which is suitable for objects that have distinctive features on the surface. The accuracy of the registration is not affected by the density of the point cloud, but the registration time is related to the complexity of the surface. Compared with those obtained via down-sampling, feature points extracted on the basis of the normal vector and curvature are more representative and can achieve high-precision point cloud registration.   The algorithm proposed in this study uses neighbourhood point information to extract feature points, eliminate mismatched point pairs, reduce the number of point cloud registrations, and improve the correspondence between point pairs, which is suitable for objects that have distinctive features on the surface. The accuracy of the registration is not affected by the density of the point cloud, but the registration time is related to the complexity of the surface. Compared with those obtained via down-sampling, feature points extracted on the basis of the normal vector and curvature are more representative and can achieve high-precision point cloud registration.

Conclusions
In the process of point cloud registration, feature points affect the registration results, which represent the big data point cloud, and can improve the efficiency of the algorithm. In addition, the descriptor can determine the final performance. It can provide a useful representation of the shape around the fixed point and help search for the corresponding relationship between the two shapes, avoiding an exhaustive search. The combination of the two can considerably improve the efficiency and accuracy of registration.
In the current study, we proposed an improved registration algorithm based on double threshold feature extraction and DDM. We studied the translation-rotation invariance of point cloud geometric features during rigid body transformation, and we extract feature points with double threshold by using normal vector and curvature. Wrong points may occur in feature extraction under a single condition. The double constraints of the normal vector and curvature make extracting more representative feature points possible. It also greatly reduces the number of original point clouds and reduces the number of subsequent calculations. Some feature points extracted via down-sampling cannot represent the feature of this region, and the probability of wrong point pairs is relatively high. FPFH is applied to describe feature points and find initial matching point pairs quickly. According to the principle of the DDM algorithm, it can effectively remove the mismatched point pairs of the initial matching and further reduce the number of point clouds. The final number of the point cloud is just 0.1% of the original point cloud. Through the above processing, we not only improve the accuracy of the feature points, but also gradually reduce the amount of data to be processed at the same time, which paves the way for subsequent registration.
However, the final corresponding point pairs cannot be guaranteed to be completely correct and influence the final registration results due to noise and other interference factors. Besides, the registration time of this algorithm is related to the complexity of the object surface. Too many feature points lead to a longer registration time. In the next step, we will first perform noise processing on the original point cloud data and investigate feature descriptors to improve the accuracy of the corresponding point pairs to help make registration more precise.