4.1. Experimental Data
The experimental data in this paper adopts the Bunny, Armadillo, Dragon and Drill models in the point clouds database of Stanford University. The original scale of Bunny1 and Bunny2 point clouds are 35,974, and the original scale of Armadillo1 and Armadillo2 point clouds are 204,800. The original scale of Dragon1 and Dragon2 point clouds are 29,103, and the original scale of Drill1 and Drill2 point clouds are 204,800. The experimental hardware CPU is Intel(R) Core(TM) i5-9400 @ 2.90 GHz processor, the operating system software is Windows 10 Enterprise Edition, and the development environment is PCL 1.8.0 and visual studio 2013.
In order to reduce the execution time of the algorithm, the improved voxel filter is first used for down-sampling to simplify the point clouds, and control the scale of points after down-sampling to several thousand. Too many feature points will increase the execution time of the algorithm, and too few feature points will affect the registration accuracy.
Table 1 shows the number of points and ISS feature points of the Bunny model under different grid sizes. The grid size of the Bunny point clouds data is selected by experiment to be 0.005 m, and the grid size of the Armadillo point clouds data is 0.003 m. The grid size of the Dragon point clouds data is selected by experiment to be 0.03 m, and the grid size of the Drill point clouds data is 0.001 m.
The neighborhood radius searched by the algorithm and grid size are the same, which are 0.005 m, 0.003 m, 0.03 m and 0.001 m, respectively. The final feature points are filtered out by non-maximum suppression strategy, and the selected non-maximum suppression radius is twice the radius of the searched neighborhood, which is 0.01 m, 0.006 m, 0.06 m and 0.002 m, respectively. The final scale of improved voxel filter down-sampling points and extracted feature points are shown in
Table 2.
Figure 6 and
Figure 7 are the feature point plots extracted from Bunny1, Bunny2, ArmAdillo1 and ArmAdillo2 models, respectively, after down-sampling with improved voxel filter.
Figure 8 and
Figure 9 are the feature point plots extracted from Dragon1, Dragon2, Drill1 and Drill2 models, respectively, after down-sampling with improved voxel filter.
4.2. Experimental Procedure
In order to verify the advancement and effectiveness of the improved voxel filter, the traditional ICP algorithm, the ICP algorithm with voxel filter and the ICP algorithm with the improved voxel filter are used for registration comparison of the four models. The standard to measure the registration accuracy uses the
getFitnessScore in PCL, which is the average of the squared distances of all corresponding points after registration. The smaller the value is, the smaller the error is, which is defined as:
where
pi is any point in the source point clouds
P,
qi is the corresponding point in the target point clouds
Q, and
N is the corresponding point pairs after the completion of ICP fine registration iteration based on KD tree.
Table 3 shows the registration results of the three algorithms for the four models.
Figure 10 shows the comparison curves of registration time and registration error of three algorithms under four model conditions. In the figure, the left axis is the registration time, and the right axis is the registration error. It can be seen that the registration time of the traditional ICP algorithm is longest, and the registration accuracy is sometimes high and sometimes low with the change of the model. For the ICP algorithm with voxel filter, the registration is faster after down-sampling, but the registration accuracy is significantly reduced. For the ICP algorithm with improved voxel filter, not only the registration time is reduced, but the registration accuracy can be stable in a higher range. The results of this registration comparison show that the improved voxel filter can more accurately represent the original data, which has stronger enhancement to the extraction of key points, coarse registration and fine registration. The more accurate the data, the faster the registration speed will be.
In order to verify the validity and accuracy of the proposed algorithm, three other algorithms are designed for comparative experiments under the same conditions. The three other algorithms are: the 3DSC + RANSAC + ICP algorithm without improved voxel filter, the 3DSC + RANSAC + ICP with improved voxel filter and the USC + RANSAC + ICP algorithm without improved voxel filter.
In the process of RANSAC coarse registration, adding a pre-exclusion step can immediately filter out the wrong hypothetical poses, thereby saving more time to generate more other possibly correct hypothetical poses and reducing the time of coarse registration. The distance threshold εRANSA is the judgment criterion for interior point, but the selection of its value will affect the registration accuracy. For the KD tree based ICP registration, the selection of the maximum distance threshold εICP between corresponding points also has a certain affect to the registration accuracy.
According to the experimental comparison and analysis of the four models’ registration, set the parameters εRANSAC = 0.001 and εICP = 0.4 of the Bunny model, εRANSAC = 0.01 and εICP = 0.03 of the Armadillo model, εRANSAC = 0.3 and εICP = 0.3 of the Dragon model and εRANSAC = 0.003 and εICP = 0.009 of the Drill model.
Table 4 shows the registration time for four models of each algorithm.
Figure 11 clearly shows the trend of registration time for the four models of each algorithm. It can be seen that the registration time of proposed algorithm is the shortest.
Table 5 shows the registration error for four models of each algorithm.
For the Bunny point clouds data, the proposed algorithm is optimal in both registration error and algorithm execution time. In terms of algorithm execution time, the proposed algorithm is reduced by 50% compared with the Voxel filter + 3DSC + RANSAC + ICP algorithm, and the speed is greatly improved. Since the shape characteristics of the point clouds with the improved voxel filter are more similar to the original point clouds, the 3DSC + RANSAC + ICP algorithm combining the improved voxel filter also has a faster registration speed, and a shorter algorithm execution time.
For the Armadillo point clouds data, the Vovel filter + 3DSC + RANSAC + ICP algorithm is better than the proposed algorithm on the registration error. However, the registration error of the proposed algorithm is only 0.00058 × 10−5 lower than the Vovel filter + 3DSC + RANSAC + ICP algorithm, with a very small difference. Compared with the Voxel filter + 3DSC + RANSAC + ICP algorithm, registration time has been reduced by 50%. When the registration accuracy error is not very large, the execution time of the algorithm can be given priority.
For the Dragon point clouds data, in terms of registration accuracy and registration time, the registration effect of the proposed algorithm is the best. Compared with the Voxel filter + 3DSC + RANSAC + ICP algorithm, the registration time of the proposed algorithm is greatly reduced. The Voxel filter + 3DSC + RANSAC + ICP algorithm with the improved voxel filter also increases the registration time by more than four times, and the registration accuracy is also higher, indicating that the improved voxel filter can improve the registration speed.
Figure 12 shows the original image of the Dragon point clouds registration, and the result under the USC descriptor algorithm without the improved voxel filter. It can be seen that when the USC descriptor algorithm lacking the improved voxel filter is used, the registration effect of the Dragon point clouds is wrong. However, the proposed algorithm can accurately register using the improved voxel filter under the USC feature descriptor, which shows that the improved voxel filter can improve the registration accuracy.
Figure 13 shows the original image of the Dragon point clouds registration and the result under the proposed algorithm.
For the Drill point clouds data, the data is relatively simple, so there is little difference in time and registration accuracy. The registration time of the proposed algorithm is the shortest and the registration accuracy is relatively high. Whether it is 3DSC feature descriptor or USC descriptor, the registration time is reduced, and the registration accuracy is improved after using the improved voxel filter.
Figure 14 shows the registration results of four models under the proposed algorithm. The source point clouds, the target point clouds, and the registered point clouds are displayed in one figure. The source point clouds are set to green, the target point clouds are set to blue, and the registered point clouds are set to red. It can be seen that the blue point clouds and the red point clouds almost overlap, indicating that the proposed algorithm has high registration accuracy.
In order to further verify the feasibility of the proposed algorithm, the registration experiment of the VGA connector for monitor is carried out. First, a single VGA connector point clouds are obtained as the template point clouds, and then different scene point clouds are obtained as the target point clouds. The template point clouds are used as the source point clouds and the target scene point clouds for registration. The final registration pose information can be sent to the robot for decision-making. Point clouds from two different scenes are collected, and the obtained point clouds of the two scenes are shown in
Figure 15.
The background of the collected scene point clouds are removed and the improved voxel filter is used to remove outliers.
Table 6 shows the number of filtered points and extracted ISS feature points for the two scenes under different grid sizes. The grid size is selected by experiment to be 0.8 m.
Figure 16 is the feature points plot extracted from two scenes.
An experiment is set up to register the VGA connector for monitor.
Figure 17 is the operation diagram of the experimental site.
Figure 18 is the registration result diagram under the two scenes. The template point clouds are set to green, the target scene point clouds are set to blue, and the registered point clouds are set to red. It can be seen that the template point clouds can be accurate with one of the target point clouds in different scenes. The position and pose of the registered point clouds obtained are sent to the robot, and the robot can stack the registered VGA connector correctly.