We tested the suggested technique on both the laboratory’s laser 3D point cloud data and the public dataset to ensure its resilience and correctness. Every experiment was run on a personal computer (PC) equipped with an A6000 GPU and an Intel(R) Xeon(R) Silver 4210RCPU. The authors of the studies or open-source libraries provided comparison methods. In the experiment, the algorithm parameters were provided by the author or the program; if not, we carefully adjusted them. To reduce the impact of unintentional errors, the experimental findings were obtained by averaging them after repeated experiments and deleting the outliers.
4.1. Point Cloud Registration of Public Datasets
In this section, we introduce noises and outliers to the dataset to evaluate the registration algorithm’s performance. Here, the term “outlier” refers to a specific percent of Gaussian random noise applied to the point cloud’s exterior space, and the term “noise” refers to a specific percent of Gaussian randomization of the point cloud’s points. The suggested approach was used to register the public dataset after introducing noises and outliers to the point cloud. The algorithm was then tested and evaluated using the registration results.
We set the maximum size of the point cloud in the x, y, and z dimensions to 2 mm and sample all the point clouds to 3000 points to guarantee the similarity of the density of the point cloud dataset. We configured the point cloud’s rotation angle to be randomly generated in three directions, but we made sure that the point cloud’s rotation angles in the x, y, and z axes added up to 60°. Likewise, we designated the point cloud’s translation distance in three directions to be created at random. However, we needed to make sure that the sum of the translation distance of the point cloud in the x, y, and z directions is 6 mm. Using the identical parameter values, we compare the registration method described in this paper with the following algorithms: FilterReg algorithm, Support Vector Registration (SVR) algorithm, GMMTree algorithm, TrICP algorithm, and CPD algorithm. After the source point cloud is input in 3D space, the target point cloud is obtained after the rotation and translation transformation of the same angle, and then the source point cloud and the target point cloud are registered by the algorithm. Thirty independent experiments were carried out for each group of point clouds, and the experimental results were averaged as the results for error evaluation. We use the average distance error
of the points in the point concentration and the angular error
of the rotation matrix to measure the point cloud registration effect. The two error evaluation functions can be expressed as:
where
is the
i-th point in the source point set and
and
are the estimated transformation matrix and the real transformation matrix of point cloud registration, respectively.
and
are the actual and estimated rotation matrices for point cloud registration, respectively.
In the outlier experiment, we modified the source and target point cloud data by adding varying amounts of Gaussian outlier noises. When Gaussian outliers are included,
Figure 1 displays the point cloud registration error results;
Figure 1a shows the point average distance error
of the algorithmic registration.
Figure 1b illustrates the angular error
of the rotation matrix for the registration algorithm. In
Figure 1, as the proportion of outliers increases, the distance and angle errors of the registration increase. The error curve shows that the registration error of the algorithm proposed in this paper is the smallest, and the registration accuracy is the highest.
Figure 2 shows the registration results of the registration algorithm at the Gaussian outlier ratio = 1. From a subjective visual point of view, the registration results of the SVR algorithm, GMMTree algorithm, TrICP algorithm, and CPD algorithm are close to each other and the error rate is high. The algorithm we proposed in this paper has the best registration effect.
In the noise experiment, we destroy the source and target point clouds by applying varying ratios of Gaussian noises. The results of point cloud registration with Gaussian noise applied are displayed in
Figure 3.
Figure 3a shows the point mean distance error
for the algorithm registration;
Figure 3b illustrates the angular error
of the rotation matrix for the registration algorithm. As can be seen in the experimental results, with the increase of Gaussian noise, the performance of the algorithm we proposed in this paper is significantly better than that of the other five algorithms, and it has good robust performance.
Figure 4 shows the registration results of the registration algorithm when the Gaussian noise ratio = 0.04, and subjectively, the algorithm we proposed in this paper can overcome the influence of noise and achieve accurate registration.
Computation complexity is another crucial metric for assessing the algorithm’s performance, in addition to registration correctness. There are two types of computation complexity for algorithms: time complexity and spatial complexity. The relationship between the amount of input data and the time it takes to execute an algorithm is known as time complexity. We vary the number of points input to the point cloud and measure the time required by the main method for point cloud registration to verify the time complexity of the algorithm. After testing, when the amount of input point cloud data is doubled, the algorithm time increases by four times, so we determine the algorithm’s time complexity is
. The amount of memory space used by an algorithm while it is in operation is measured by its spatial complexity, which in this work is related to three aspects: the storing of input data, the storage of local features, and the computation of the objective function. The two point cloud datasets are the algorithm’s input, the storage space of each point cloud is
,
N is the number of points of the point cloud, and
d is the dimension of points. In the calculation process, the algorithm needs to use the feature data of the point cloud, including curvature and average vector. This part of the storage space is
, and
f is the dimension of the eigenvector. In the calculation process of the objective function, intermediate variables such as weight matrix and distance matrix need to be stored and are usually related to the size and feature dimension of the point cloud. In general, the spatial complexity of the algorithm can be approximated by
. Therefore, the spatial complexity of the algorithm is on the order of
.
Table 1 and
Table 2 provide the time taken for point cloud registration of the dataset bunny at different outlier ratios and noise ratios, respectively.
The algorithm presented in this research has a high computing efficiency and a rapid operation speed based on its time complexity and running time.
Determining the boundary case of algorithm failure and providing success cases are essential for gauging an algorithm’s overall performance. We set the translation distances in the x, y, and z directions to a total of 6 mm and the sum of the point cloud’s rotation angles in the x, y, and z directions to 60°. The point cloud registration performs well with this option set.
We set the sum of the point cloud’s rotation angles in the x, y, and z axes to 60° to quantify the impact of the translation distance on the point cloud’s registration. The point cloud’s translation distance in the x, y, and z directions adds up to 10 mm–35 mm. The point cloud registration results are displayed in
Figure 5 with the point cloud translation distance spacing of
Figure 5a–f being 5 mm apart in the case of outlier noise = 1.
Table 3 displays the point cloud registration error.
We set the rotation angle of the point cloud in the x, y, and z directions to be 70–120° and the total of the translation distances of the point cloud in the x, y, and z directions to 6 mm to quantify the impact of the rotation angle on the registration of the point cloud.
Figure 6 displays the point cloud registration results when the outlier noise = 1, with a 10° separation between the point cloud rotation angle intervals of
Figure 6a,f.
Table 4 displays the point cloud registration error.
The registration results show that the translation distance of the point cloud has little effect on the registration accuracy of the suggested approach and that it can be disregarded. The point cloud’s rotation angle has a big impact on the algorithm’s accuracy. The target’s registration accuracy starts to vary dramatically when the total of the point cloud’s rotation angles in the x, y, and z directions exceeds 90°.
To minimize the impact of datasets on algorithm registration outcomes, this research chooses many sets of datasets for registration. The registration data are selected from the publicly available Stanford University 3D scan repository [
45], and spacecraft models are available on the National Aeronautics and Space Administration (NASA) website.
Figure 7 shows the registration results according to the cross-section to facilitate subjective comparison and judgment of the registration effect. As can be seen from
Figure 7, the proposed algorithm achieves the best registration effect on all datasets.
To evaluate the robustness of the suggested technique, we registered two datasets with Gaussian noise. Thirty independent tests were conducted for each group of experiments, and the datasets of the two sets of tests were supplemented with 40% and 50% of the Gaussian noise data points, respectively.
Table 5 and
Table 6 display the outcomes of the experiment.
The best registration outcomes for every set of experiments are bolded in
Table 5 and
Table 6. For point cloud registration tests utilizing various datasets, experimental results demonstrate that the technique suggested in this study has good robustness and registration accuracy when Gaussian noise is included.
4.2. Laser 3D Point Cloud Registration
In
Section 4.1, we used the algorithm to register the public dataset, and our algorithm showed good competitiveness in both the original dataset and the dataset with added noise. Due to its imaging principle, laser 3D point clouds include speckles and Gaussian noise. This section uses the laser 3D point cloud data obtained by the laboratory LiDAR for registration after preprocessing operations such as target extraction and noise reduction. The experimental results are shown in
Figure 8.
In
Figure 8, the registration error of the SVR algorithm is significant, and the central part of the target can achieve partial registration. In contrast, the columnar region in the target has a significant deviation, and the registration accuracy is low. The FilterReg algorithm, GMMTree algorithm, TrICP algorithm, and CPD algorithm can realize the registration of most point clouds. However, due to the influence of noise, there is a specific registration error. From the perspective of visual subjectivity, the algorithm proposed in this paper can achieve the best point cloud registration.
Table 7 shows the registration errors for the six algorithms. The registration’s rotation and translation errors of the SVR algorithm are the largest, which is more suitable for the coarse registration work before accurate registration. The registration errors of the FilterReg algorithm, GMMTree algorithm, TrICP algorithm, and CPD algorithm are small, and the registration accuracy is disturbed by noise, which has certain limitations for the application scenarios of high-precision registration. The algorithm proposed in this paper has the highest registration accuracy and can realize the accurate registration task of laser 3D point cloud.
This section uses five registration algorithms to calculate the point cloud registration results under different datasets and noise environments. We are judging from the algorithm’s registration results. Compared with other related algorithms, such as the CPD algorithm, FilterReg algorithm, and GMMTree algorithm, the proposed algorithm has apparent advantages in registration accuracy and computation efficiency, which proves its effectiveness.