A Fast Point Clouds Registration Algorithm for Laser Scanners

: Point clouds registration is an important step for laser scanner data processing, and there have been numerous methods. However, the existing methods often suffer from low accuracy and low speed when registering large point clouds. To meet this challenge, an improved iterative closest point (ICP) algorithm combining random sample consensus (RANSAC) algorithm, intrinsic shape signatures (ISS), and 3D shape context (3DSC) is proposed. The proposed method ﬁrstly uses voxel grid ﬁlter for down-sampling. Next, the feature points are extracted by the ISS algorithm and described by the 3DSC. Afterwards, the ISS-3DSC features are used for rough registration with the RANSAC algorithm. Finally, the ICP algorithm is used for accurate registration. The experimental results show that the proposed algorithm has faster registration speed than the compared algorithms, while maintaining high registration accuracy.


Introduction
With the rise of 3D imaging technology, laser scanners have been widely used in many applications, including robotics, intelligent manufacturing, cultural relics protecting, etc. Limited by the scanning angle of the equipment and the shape of the objects, the entire three-dimensional information of the object needs to be collected from multiple views, and it is necessary to align the correspondent point clouds into a complete model. Point cloud registration is a key progress to capture the full shapes of 3D objects. At present, the most classic registration method is the iterative closest point (ICP) algorithm [1], which requires a good initial position and a high overlap rate, and is prone to fall into a local optimal solution. In recent years, many variants on the original ICP algorithm have been proposed to improve registration accuracy and efficiency, such as velocity updating ICP (VICP) [2], generalized-ICP (GICP) [3], globally optimal ICP (Go-ICP) [4], pointto-line ICP (PLICP) [5], etc. Magnusson [6] proposed a registration algorithm different from the ICP registration model called the three-dimensional normal distribute transform (3D-NDT) algorithm, which based on the probability density model. Compared with ICP, 3D-NDT does not need to calculate the nearest neighbor matching point and thus reduces the computational complexity. Chang et al. [7] proposed a non-rigid registration method by performing k-means clustering on two point clouds and constructing connection relationship. Wuyang Shui [8] used the principal component analysis (PCA) to achieve the rough pair-wise registration. Jun Li [9] proposed a point cloud registration method based on extracting overlapping regions to get high accuracy. Mohamad et al. [10] proposed the super 4-points congruent sets (4PCS) algorithm, which uses intelligent indexing to reduce the complexity of the original 4PCS algorithm. The methods in papers [9,10] have high registration accuracy for point clouds with large initial deviations and are robust to noise and outliers. Yuewang He et al. [11] proposed a registration algorithm combing PointNet++ and ICP, which has fast registration speed and good robustness, but its registration result for sparse point clouds is poor. Kamencay et al. [12] uses the scale-invariant feature transform (SIFT) functions for initial alignment in combination with the k-nearest neighbor (KNN) algorithm for function comparison and the ICP algorithm weighted for performing accurate registration. Since calculating SIFT is time-consuming, it reduces the registration efficiency. Fengguang Xiong et al. [13] proposed a local feature descriptor based on the rotating volume for point cloud registration. Liang-Chia et al. [14] used the oriented bounding box (OBB) regional area-based descriptor to get an initial transformation matrix and ICP algorithm for fine registration.
The above methods can be classified to two categories: one is based on optimization; the other is based on features. Optimization-based methods search corresponding point pairs in the source cloud and target cloud at first, then estimate the transformation matrix by the corresponding relation. These two stages will be iterated to find the best transformation. With continuous iteration, the corresponding relation will become more and more accurate. The limitation of this category is that many complicated strategies are needed to overcome noise, outliers, density changes, and partial overlap changes, which will increase the calculation cost. Feature-based methods do not search corresponding points directly; they firstly extract feature points from the target and source clouds and describe them by another method, then features are used to estimate the transformation matrix, which need not an iteration. In those methods, the selection of feature points and their describing methods will determine the registration results. Those methods often result in lower registration accuracy for the reason that the feature points lack representativeness or their amount is not enough.
To achieve high efficiency along with high accuracy, this paper proposes a point cloud registration algorithm combining intrinsic shape signatures (ISS) and 3D shape context (3DSC). In this proposed algorithm, the feature points are extracted by ISS algorithm, which are described by the 3DSC features, and then we used the random sample consensus (RANSAC) algorithm to estimate the initial transformation matrix and used ICP algorithm for fine registration. To solve the problem that sometimes the value of root mean square error will be misleading [15], we proposed effective root mean square error (ERMSE), who has all the advantages of root mean square error (RMSE), and can calculate the registration error more accurately.
The rest of this article is structured as follows. Section 2 provides details on our proposed method and describes the principles of the five main steps. Section 3 presents the experiment of the proposed method on six models from the basic geometry library and evaluates its accuracy and efficiency. In Section 4, we discuss the registration results of our algorithm and the compared ones. Finally, Section 5 focuses on the conclusions of this paper.

Proposed Method
The flow chart diagram of the proposed method is shown in Figure 1, which mainly consists of five steps. First of all, the voxel grid filter is used to uniformly sample the point cloud, reducing the registration time. Then, the feature points are extracted from the down-sampled point cloud by the ISS algorithm. Next, the 3DSC algorithm is used to describe the extracted feature points to form the ISS-3DSC features. After that, the ISS-3DSC feature is used to coarse registration by RANSAC algorithm. Finally, the ICP algorithm is used for fine registration. For high efficiency, k-dimensional (KD) tree algorithm is used to accelerate this process. Appl. Sci. 2021, 11, x FOR PEER REVIEW 3 of 15  Figure 2a shows the "Bed" point cloud to be registered, which has more than 10 thousand points. To reduce executing time of the algorithm, the point cloud is divided into multiple small cubes by the voxel grid filter, and each cube is a voxel. Using the center of gravity of each voxel as a point, the entire point cloud is simplified. The voxel size will affect the efficiency of the proposed algorithm. Figure 2b shows the down sampling result.

Intrinsic Shape Signatures Algorithm
Compared with Harris, Normal Aligned Radial Feature (NARF), and SIFT feature point extraction algorithms, the ISS is faster and the extracted feature points distribute more evenly. It has two main parts: a local reference frame (LRF) and a feature vector used to describe the points in the neighborhood around the basis point [16]. Figure 3 shows the schematic of ISS algorithm.   Figure 2a shows the "Bed" point cloud to be registered, which has more than 10 thousand points. To reduce executing time of the algorithm, the point cloud is divided into multiple small cubes by the voxel grid filter, and each cube is a voxel. Using the center of gravity of each voxel as a point, the entire point cloud is simplified. The voxel size will affect the efficiency of the proposed algorithm. Figure 2b shows the down sampling result.   Figure 2a shows the "Bed" point cloud to be registered, which has more than 10 thousand points. To reduce executing time of the algorithm, the point cloud is divided into multiple small cubes by the voxel grid filter, and each cube is a voxel. Using the center of gravity of each voxel as a point, the entire point cloud is simplified. The voxel size will affect the efficiency of the proposed algorithm. Figure 2b shows the down sampling result.

Intrinsic Shape Signatures Algorithm
Compared with Harris, Normal Aligned Radial Feature (NARF), and SIFT feature point extraction algorithms, the ISS is faster and the extracted feature points distribute more evenly. It has two main parts: a local reference frame (LRF) and a feature vector used to describe the points in the neighborhood around the basis point [16]. Figure 3 shows the schematic of ISS algorithm.

Intrinsic Shape Signatures Algorithm
Compared with Harris, Normal Aligned Radial Feature (NARF), and SIFT feature point extraction algorithms, the ISS is faster and the extracted feature points distribute more evenly. It has two main parts: a local reference frame (LRF) and a feature vector used to describe the points in the neighborhood around the basis point [16]. Figure 3 shows the schematic of ISS algorithm.   Figure 2a shows the "Bed" point cloud to be registered, which has more than 10 thousand points. To reduce executing time of the algorithm, the point cloud is divided into multiple small cubes by the voxel grid filter, and each cube is a voxel. Using the center of gravity of each voxel as a point, the entire point cloud is simplified. The voxel size will affect the efficiency of the proposed algorithm. Figure 2b shows the down sampling result.

Intrinsic Shape Signatures Algorithm
Compared with Harris, Normal Aligned Radial Feature (NARF), and SIFT feature point extraction algorithms, the ISS is faster and the extracted feature points distribute more evenly. It has two main parts: a local reference frame (LRF) and a feature vector used to describe the points in the neighborhood around the basis point [16]. Figure 3 shows the schematic of ISS algorithm.  Step 1, weighting the basis point. In order to establish the LRF of the basis point, the basis point and its adjacent points are weighted to compensate for uneven sampling of the point cloud, which can be described as where w i is the weight of the p i , and r density is the radius of the sphere with p i as the center, which represents its weighted range.
Step 2, basis point eigenvalue analyzing. Do eigenvalue analysis at basis point p i with its neighbor points at a supporting radius r iss_ f rame . The covariance matrix can be calculated as Step 3, LRF establishing. The eigenvalues The steps of ISS algorithm are as follows: Step 1, weighting the basis point. In order to establish the LRF of the basis point, the basis point and its adjacent points are weighted to compensate for uneven sampling of the point cloud, which can be described as Step 3, LRF establishing. The eigenvalues { } λ λ λ Step 4, feature points extracting. Set thresholds ε 1 and ε 2 , the points satisfying Equation (3) are regarded as ISS feature points. Figure 5 shows the feature points extracted by the ISS algorithm from the "Bed".  Step 4, feature points extracting. Set thresholds ε 1 and ε 2 , the points satisfying Equation (3) are regarded as ISS feature points. Figure 5 shows the feature points extracted by the ISS algorithm from the "Bed".
The steps of ISS algorithm are as follows: Step 1, weighting the basis point. In order to establish the LRF of the basis point, the basis point and its adjacent points are weighted to compensate for uneven sampling of the point cloud, which can be described as where i w is the weight of the i p , and density r is the radius of the sphere with i p as the center, which represents its weighted range.
Step 2, basis point eigenvalue analyzing. Do eigenvalue analysis at basis point i p with its neighbor points at a supporting radius _ iss frame r . The covariance matrix can be calculated as Step 3, LRF establishing. The eigenvalues { } λ λ λ Step 4, feature points extracting. Set thresholds ε 1 and ε 2 , the points satisfying Equation (3) are regarded as ISS feature points. Figure 5 shows the feature points extracted by the ISS algorithm from the "Bed".

3D Shape Context
The basic idea of 3DSC [17] feature descriptor is to count the context information of each point in two point sets and compare whether they are similar to obtain a most approximate arrangement, and find the corresponding points between the two point clouds. The feature space of 3DSC is shown in Figure 6.

3D Shape Context
The basic idea of 3DSC [17] feature descriptor is to count the context information of each point in two point sets and compare whether they are similar to obtain a most approximate arrangement, and find the corresponding points between the two point clouds. The feature space of 3DSC is shown in Figure 6.  Step 2, sub-regions dividing and radiuses calculating. On the radius Step 3, sub-regions weighting. Calculate the weights

( )
, , V j k l represents the volume of the area for the j-th radius, the The description steps of 3DSC algorithm are as follows: Step 1, normals calculating. For each query point p i in the point cloud, take p i as the center of the sphere, R 3dsc_ f rame as the radius, and use the surface normal N i as the direction of North Pole to establish a local supporting area. Figure 7 shows the normals of the point cloud after down sampling.

3D Shape Context
The basic idea of 3DSC [17] feature descriptor is to count the context information of each point in two point sets and compare whether they are similar to obtain a most approximate arrangement, and find the corresponding points between the two point clouds. The feature space of 3DSC is shown in Figure 6.  Step 2, sub-regions dividing and radiuses calculating. On the radius Step 3, sub-regions weighting. Calculate the weights

( )
, , V j k l represents the volume of the area for the j-th radius, the Step 2, sub-regions dividing and radiuses calculating. On the radius R 3dsc_ f rame = R 0 . . . R J , divide J + 1 intervals by logarithm, divide L + 1 intervals along azimuth angle ψ = {ψ 0 . . . ψ L }, and K + 1 intervals along pitch angle θ = {θ 0 . . . θ K } equally; thus J × K × L sub-regions in total are divided. As the intervals are divided logarithmically on the radius, if the area near the sphere center p i is too small, it will be disturbed by noise easily. Setting R 0 as the minimum radius r min , and R J as the maximum radius r max , the radius R j is calculated by Step 3, sub-regions weighting. Calculate the weights ω(p i ) of each point in the area by Equation (5). Here V(j, k, l) represents the volume of the area for the j-th radius, the k-th azimuth direction, and the l-th elevation direction. ρ i is the density of the corresponding local point.
Step 4, feature vector composing. Then, make a statistic of the values of ω(p i ) to compose a feature vector where k = {1, 2, . . . , n}, n = J × K × L.This vector contains the shape context information around the basis point.

RANSAC Coarse Registration
The RANSAC algorithm proposed by Fischler and Bolles [18] can automatically fit the model in data, and the solution to the location determination problem shows that RANSAC can also calculate the position of the corresponding points, so it can be used for 3D point cloud registration. In our approach, we use an improved RANSAC algorithm [19] to calculate the initial transformation matrixT ∈ SE(3), which minimizes the sum of the squared distances between the corresponding points of the two point clouds, as shown in Equation (7): This algorithm needs to input the down-sampled source point cloud P and target point cloud Q and the corresponding descriptors. The main steps are as follows: Step 1, corresponding point searching. Select n(n ≥ 3) points {p 1 , p 2 , . . . , p n } randomly in P for each iteration to find its corresponding point {q 1 , q 2 , . . . , q n } in Q by nearest neighbors matching of five feature descriptors.
Step 2, difference vector of corresponding sides calculating. Compute the Euclidean distance between the n sampling points at first. Then, calculate the ratio of the difference between the two corresponding side lengths to the bigger side length to form a vector → η . If → η is smaller than edge length similarity threshold ε ploy , continue the next step, otherwise, return to the first step. Set n = 3 as a sample, → η is calculated as Equation (8)   Step 3, corresponding points transforming. Estimate a temporary transformation matrix i T from corresponding point pairs and transform ′ P into ' i P .
Step 4, inlier points judging. Compute the Euclidean distances of the nearest neighbors between ' i P and ′ Q , and take the points whose nearest neighbor distance is lower than the set distance threshold ε ransac as inlier points. If the number of inlier points is too small, go back to Step 1.
Step 5, transformation matrix computing. Compute the transformation matrix according to the corresponding relationship of the interior points. The iteration number k of RANSAC is obtained by a presumed success probability p and a preset inlier fraction w, which is shown as Equation (9) Step 6, model estimating and updating. Use the inlier points fitting a parameterized model to test other points, and update the inlier points to continue iterative calculations until the best estimation model is obtained or max iteration number iter R is reached.
When the value of ( ) g T is the smallest, set T as the best estimation result and stop the Step 3, corresponding points transforming. Estimate a temporary transformation matrix T i from corresponding point pairs and transform P into P i .
Step 4, inlier points judging. Compute the Euclidean distances of the nearest neighbors between P i and Q , and take the points whose nearest neighbor distance is lower than the set distance threshold ε ransac as inlier points. If the number of inlier points is too small, go back to Step 1.
Step 5, transformation matrix computing. Compute the transformation matrix according to the corresponding relationship of the interior points. The iteration number k of RANSAC is obtained by a presumed success probability p and a preset inlier fraction w, which is shown as Equation (9): Step 6, model estimating and updating. Use the inlier points fitting a parameterized model to test other points, and update the inlier points to continue iterative calculations until the best estimation model is obtained or max iteration number R iter is reached. When the value of g T is the smallest, setT as the best estimation result and stop the iteration.

ICP Fine Registration
When the ICP algorithm registers the two point clouds P and Q, it searches for the nearest neighbor point pairs that meet certain constraints, and calculates the optimal rotation matrix and translation matrix to minimize the error function. The larger the amount of data in the point cloud, the more time-consuming it is to query the point pairs. In our approach, we use the KD tree in the ICP algorithm, which can quickly search for neighbor point pairs and improve the registration efficiency [20]. The specific process of registration is as follows: Step 1, nearest neighbor points searching. Use the KD tree algorithm to search for the nearest neighbor q i of the point p i (p i ∈ P) in Q, and minimize the Euclidean distance |p i − q i |.
Step 2, optimal rotation matrix and rotation matrix solving. Use the least square method to solve the optimal rotation matrix R and translation matrix T, the error function G(R, T) is minimized.
Step 3, source point cloud transforming. Perform R, T transformation on the point cloud P, and get the transformed corresponding points p i = {p i = Rp i + T, p i ∈ P}, then calculate the average distance of point pair (p i , q i ): Step 4, threshold judging. Set the threshold ε icp , if the conditions d k − d k+1 < ε icp are met, end the iteration, otherwise iterate goes on.
Step 5, registration completing. According to the finally obtained R and T, the point cloud P is transformed into the coordinate system of the point cloud Q to complete the registration.

Experimental Results
The experiment dataset contains "Bed", "Motorbike", and "Piano" from the basic geometry library and "Dragon1", "Dragon2", and "Bunny" from Stanford University Graphics Lab. The point numbers of the point clouds are Bed (110372, 108615), Motorbike (41214, 40023), and Piano (54139, 54139), Dragon1 (126546, 132000), Dragon2 (184982, 155208), Bunny (40256, 40097). Our proposed algorithm is implemented in Microsoft Visual Studio 2015 and PCL (Point Cloud Library), while all the experiments are conducted on a 3.6 GHz Intel(R) Pentium(R) G4600 processor with 8 GB RAM. In order to verify the rationality and efficiency of the algorithm in this paper, it is compared with ICP, and sample consensus initial alignment ICP (SAC-IA+ICP), and 3D histograms of point distributions ICP (3DHoPD+ICP) [21] algorithms under the same environment.

Selection of Main Parameters
The algorithm in this paper changes the registration result by modifying the parameters. Through the registration error returned by the experimental results, we find that many parameters are related to the grid size of the point cloud. Root mean square error (RMSE) is the error measurement method often used in point cloud registration, which means the average of the sum of squared distances between the corresponding points of two point clouds. It is defined as where, p i and q j are nearest neighbors in pair, located in data P and Q, respectively, and N and M represent the registration scales of P and Q. The smaller the RMSE, the better the registration result. Table 1 shows the number of sampling points and ISS feature points under different grid sizes, the first two lines belong to source point cloud P, the rest belongs to Q. In order to reduce the running time of the algorithm, the number of sampling points is generally several thousand. Considering that too many feature points will increase the calculation time, and too few will affect the registration accuracy, the grid size is selected as 0.03 m. For the 3DSC algorithm, the main parameters are R 3dsc_ f rame , r min , and ρ i . R 3dsc_ f rame denotes the support radius for 3DSC and is usually set to 10 times of the grid size. r min is the minimal radius value for the search sphere, which is often set same scale with the grid size. ρ i is the density of the corresponding local point, which is set one-tenth of r min . Table 2 shows the registration results of different ε ransac , when the initial value of ε icp is 0.1 m. When ε ransac = 0.3 m, the registration time is the least and the RMSE is also the smallest.  Table 3 shows the registration results of different ε icp , when ε ransac = 0.3 m. When ε icp = 0.3 m, the RMSE is the smallest.  Figure 9 shows the registration results of "Bed" with different grid sizes. It can be seen from the figure that as the grid size increases, the registration time and the number of ISS-3DSC features continue to decrease, and the RMSE value is quite small in the range of 0.02 m to 0.04 m, so we set the grid size to be 0.03 m. More parameters are listed in Table 4. R denotes the support radius for 3DSC and is usually set to 10 times of the grid size. min r is the minimal radius value for the search sphere, which is often set same scale with the grid size. ρ i is the density of the corresponding local point, which is set onetenth of min r . Table 2 shows the registration results of different ε ransac , when the initial value of ε icp is 0.1 m. When ε ransac = 0.3 m, the registration time is the least and the RMSE is also the smallest.  Table 3 shows the registration results of different ε icp ，when ε ransac =0.3 m. When ε icp = 0.3 m, the RMSE is the smallest.  Figure 9 shows the registration results of "Bed" with different grid sizes. It can be seen from the figure that as the grid size increases, the registration time and the number of ISS-3DSC features continue to decrease, and the RMSE value is quite small in the range of 0.02 m to 0.04 m, so we set the grid size to be 0.03 m. More parameters are listed in Table  4.

Evaluation
RMSE can roughly represent the registration result, but it is not accurate enough. The point clouds to be registered are often not complete models, some points have no corresponding points, so the calculated RMSE may not be suitable. Additionally, when debugging the parameters, only from the RMSE results, it is not known how many points in the point cloud are involved in the registration [22]. We improved RMSE to better describe the registration results of the incomplete models, and named it the effective root mean square error (ERMSE). We set parameters δ(δ = nC, n ∈ Z * ) and β. δ is the distance threshold. If the calculated Euclidean distance of the nearest neighbor pair is less than δ, it is judged as a corresponding point, otherwise, it is a non-corresponding point. β is the ratio of the number of the corresponding points involved in the registration to that of the point cloud. The expressions of β and ERMSE are shown in Equation (13).
where k represents the number of non-corresponding points, N represents the number of points in the registered point cloud, and N−k represents the number of corresponding points, p i and q j represent the nearest neighbor pair in the two point clouds. As shown in Figure 10, we used ICP, SAC-IA+ICP, 3DHoPD+ICP and our approach for the registration of Bed, Motorbike, Piano, Dragon1, Dragon2, and Bunny point clouds. For the Bed, Motorbike, Piano, and Dragon1 models with large initial pose deviations, the registration rate of the ICP algorithm is 0, and the ERMSEs are meaningless. However, its registration accuracies for Dragon2 and Bunny are quite high, which just reflects the advantages of ICP for small initial pose deviations. The SAC-IA+ICP algorithm, 3DHoPD+ICP algorithm, and our proposed algorithm have almost the same registration rate for the six models with the increase of δ, and when δ= 5C, the registration rates are all over 90%. However, the registration accuracy of our approach is higher for models with large initial pose deviations. From the experimental results of Dragon2 and Bunny, we can see that for models with small initial pose deviations, the registration accuracies of ICP, SAC-IA+ICP, and our method algorithms are almost the same, while 3DHoPD+ICP algorithm is higher than them. From Figure 10, we can also get that with the increase of δ, the values of β and ERMSE also increase gradually. This is because the point cloud is not completely matched, and the greater the distance threshold, the greater the error. Therefore, δ needs to be limited. algorithm is higher than them. From Figure 10, we can also get that with the increase of δ , the values of β and ERMSE also increase gradually. This is because the point cloud is not completely matched, and the greater the distance threshold, the greater the error. Therefore, δ needs to be limited. Through the above experiments and the determination of the ERMSE values, we compared the magnitude of RMSEs and ERMSEs for the four methods as shown in Figure  11. Here, ICP uses the right vertical coordinate and SAC-IA+ICP, 3DHoPD+ICP, and our method use the left vertical coordinate. Figure 11 shows that the ERMSE error is slightly lower than RMSE, and agree with the change trend of RMSE. Through the above experiments and the determination of the ERMSE values, we compared the magnitude of RMSEs and ERMSEs for the four methods as shown in Figure 11. Here, ICP uses the right vertical coordinate and SAC-IA+ICP, 3DHoPD+ICP, and our method use the left vertical coordinate. Figure 11 shows that the ERMSE error is slightly lower than RMSE, and agree with the change trend of RMSE. Table 5 shows the final RMSE, β, and ERMSE values of ICP, SAC-IA+ICP, 3DHoPD+ICP, and our method for the six models, and the best results are highlighted in bold font. From the experiment results, we can see that ICP cannot be used for models with large initial pose deviations, while SAC-IA+ICP, 3DHoPD+ICP, and our method can be used for all the models, and their registration accuracies are both quite high. Table 6 shows the registration time of each algorithm for the six models in the conditions. We can see that our approach is the most efficient. The total registration time of our method for the six models is only about 1/25 of SAC-IA+ICP method and 1/2 of 3DHoPD+ICP method. To get the reason of the performance in details, we compared the operating time of ICP registering, and before this step, between 3DHoPD+ICP method and ours. For the model of Bunny, the ICP registering time of our method is four orders of magnitude lower than that of the 3DHoPD+ICP method, while the preparing time is about 0.4 s higher than it. This result indicates that for the entire point clouds registration process, optimizing feature descriptors is a more effective way.
Appl. Sci. 2021, 11, x FOR PEER REVIEW 12 of 15 Figure 11. Root mean square error (RMSE) and effective root mean square error (ERMSE) of ICP, SAC-IA+ICP, 3DHoPD+ICP, and our method. Table 5 shows the final RMSE, β , and ERMSE values of ICP, SAC-IA+ICP, 3DHoPD+ICP, and our method for the six models, and the best results are highlighted in bold font. From the experiment results, we can see that ICP cannot be used for models with large initial pose deviations, while SAC-IA+ICP, 3DHoPD+ICP, and our method can be used for all the models, and their registration accuracies are both quite high.  Table 6 shows the registration time of each algorithm for the six models in the conditions. We can see that our approach is the most efficient. The total registration time of our method for the six models is only about 1/25 of SAC-IA+ICP method and 1/2 of 3DHoPD+ICP method. To get the reason of the performance in details, we compared the operating time of ICP registering, and before this step, between 3DHoPD+ICP method and ours. For the model of Bunny, the ICP registering time of our method is four orders of magnitude lower than that of the 3DHoPD+ICP method, while the preparing time is about 0.4 second higher than it. This result indicates that for the entire point clouds registration process, optimizing feature descriptors is a more effective way.

-4
Log(Error/m) Figure 11. Root mean square error (RMSE) and effective root mean square error (ERMSE) of ICP, SAC-IA+ICP, 3DHoPD+ICP, and our method. The registration results of each algorithm are shown in Figure 12. In the experiments, the source point clouds are in green, the target point clouds are in red, and the registered point clouds are in blue. It can be seen from the results that the ICP has a large registration error for the point cloud with large initial positions, and the registration of Bed, Motorbike, Piano, and Dragon1 point are failed. The SAC-IA-IA+ICP algorithm, the 3DHoPD+ICP algorithm, and our method have nearly the same registration results for the six models, which are all registered successfully. On the other hand, our approach has the least registering time, showing a higher efficiency. Hence, this algorithm has a significant improvement over others. point clouds are in blue. It can be seen from the results that the ICP has a large registration error for the point cloud with large initial positions, and the registration of Bed, Motorbike, Piano, and Dragon1 point are failed. The SAC-IA-IA+ICP algorithm, the 3DHoPD+ICP algorithm, and our method have nearly the same registration results for the six models, which are all registered successfully. On the other hand, our approach has the least registering time, showing a higher efficiency. Hence, this algorithm has a significant improvement over others.

Discussion
In the process of point clouds registration, descriptors can often determine the final performance. There are many different approaches, but all of them have the same target: providing a useful representation of the shape around the given point that facilitates searching for correspondences between two shapes, thereby avoiding exhaustive searches. Combining a good descriptor with a sophisticated searching strategy would improve the efficiency of the methods. In this article, we proposed a fast point cloud registration algorithm based on ISS-3DSC feature descriptors, an improved RANSAC algorithm and ICP algorithm. The RANSAC algorithm can estimate high-precision parameters from a large number of data sets. Its disadvantage is that the number of iterations for different models is significantly different and there is a certain probability of getting wrong results, which need to be improved by subsequent fine registration. Different from the classic RANSAC algorithm, the improved RANSAC algorithm uses

Discussion
In the process of point clouds registration, descriptors can often determine the final performance. There are many different approaches, but all of them have the same target: providing a useful representation of the shape around the given point that facilitates searching for correspondences between two shapes, thereby avoiding exhaustive searches. Combining a good descriptor with a sophisticated searching strategy would improve the efficiency of the methods. In this article, we proposed a fast point cloud registration algorithm based on ISS-3DSC feature descriptors, an improved RANSAC algorithm and ICP algorithm. The RANSAC algorithm can estimate high-precision parameters from a large number of data sets. Its disadvantage is that the number of iterations for different models is significantly different and there is a certain probability of getting wrong results, which need to be improved by subsequent fine registration. Different from the classic RANSAC algorithm, the improved RANSAC algorithm uses both surface and feature descriptors to describe a point. Wrong assumptions are removed in time, and the time for a lot of pose assumptions is reduced. This method has too many parameters to be set artificially, which is not conducive for intelligent registration; in the next step, we will develop a new framework to solve this problem.

Conclusions
We proposed a fast point cloud registration algorithm based on ISS-3DSC feature descriptors. By comparing with ICP, SAC-IA+ICP, and 3DHoPD+ICP algorithms on different point cloud samples, we have shown that this algorithm has a good registration accuracy, and it is more efficient than the others. The registration time is less than 1 second for all of the models, while the registration errors are only 0.01% or less. We have also proposed an evaluating parameter ERMSE on the basis of RMSE, and prove through the experiments that ERMSE is better than RMSE to describe the point cloud registration error. When working with real data perturbed by noise and occlusions and related to real-life applications, a large number of points are often necessary, and thus efficiency becomes a key factor. The 3D representation would benefit from non-subsampled point clouds in order not to lose any data, or to minimize data loss. Future work should also address working with optimized real-world point clouds, understanding this optimization as the process of removing noise and subsampling to its minimum expression.