The common point cloud registration algorithms are usually divided into initial registration and precise registration. In this paper, SAC-IA algorithm, which is commonly used in PCL, is selected for initial registration, and the traditional ICP algorithm is used for accurate registration. Three different feature descriptors (3D shape context, Point Feature Histograms, Fast Point Feature Histograms) are used to realize SAC-IA algorithm and ICP precise registration algorithm. During the implementation of the algorithm, the registration time and registration error of point cloud are calculated; according to the experimental results, the registration time and registration error of SAC-IA algorithm and ICP algorithm based on three different descriptors are compared. The results show that the registration algorithm based on 3D shape context has high accuracy, but the registration time is too long, which is not suitable for a large number of point cloud data; the registration algorithm based on fast point feature histograms has short registration time and good registration effect.

With the rapid development of computer-aided design and computer-aided manufacturing technology, reverse engineering technology, which generates digital model through physical model, has been widely concerned. In reverse engineering, computer vision, 3D image processing and other fields, it is difficult to obtain all the data of the measured object in all directions at one time due to the influence of data acquisition equipment, the shape of the 3D object itself, external environment and so on. Usually, the point cloud data of three-dimensional objects are acquired from different angles by data acquisition equipment for many times, and the point cloud registration algorithm is used to splice the point clouds of various perspectives into the complete point cloud data. Point cloud registration is an important and difficult part of reverse engineering. The registration degree between point clouds will directly affect the accuracy of the whole 3D model, so point cloud registration has become a research hotspot in the field of point cloud processing.

Point cloud registration includes manual registration, instrument dependent registration and automatic registration, point cloud automatic registration algorithm is usually used. Automatic registration of point cloud is to calculate the dislocation between two groups of point clouds by algorithm, so as to achieve the purpose of automatic registration of point clouds. From the process of registration, it can be divided into two schemes: initial registration and accurate registration. The initial registration provides the initial transformation matrix for the accurate registration. The accurate registration is the secondary registration based on the initial transformation matrix, which can get more accurate solution and improve the final registration accuracy. Common registration algorithms include ICP algorithm[

In this paper, SAC-IA algorithm and ICP accurate registration algorithm based on three different descriptors are selected to perform initial registration and accurate registration for two groups of point cloud data collected from different angles. Finally, the experimental results are compared to compare the advantages and disadvantages of several different descriptors in the initial registration algorithm and accurate registration algorithm, and the descriptor more suitable for SAC-IA algorithm and ICP algorithm are selected.

The principle of point cloud registration algorithm is to match the source point cloud Q to the reference system of the target point cloud P through the transformation matrix, that is, P = R * Q + T, where R is the rotation transformation matrix and T is the translation transformation matrix. The essence of point cloud registration algorithm is the process of solving R and T. The specific implementation steps are as follows:

The initial registration is to prepare for the subsequent accurate registration. The initial registration is carried out for two pieces of point clouds, and the initial values of translation matrix and rotation matrix are calculated. Then the point cloud data to be registered is transformed into a unified coordinate system, providing a better initial position for accurate registration.

For the rough estimation of the initial transformation matrix, greedy initial registration method has a lot of work, using the point cloud data rotation invariant feature, and the computational complexity is high, so it is necessary to check all possible correspondence of the feature descriptors; in addition, greedy algorithm may fall into the local optimal solution. Therefore, for the initial registration method of point cloud, we usually choose the sampling consistency method to try to maintain the geometric relationship of the same correspondence, rather than trying to understand all combinations of finite correspondence. Sample Consistence Initial Alignment (sAC-IA for short) algorithm takes a large number of samples from the candidate correspondence, and quickly finds a good transformation by looking at a large number of correspondences. Until the best rotation and translation errors are obtained and stored.

In the initial registration algorithm of point cloud, 3D point cloud feature description and extraction is the most basic step, and also the most critical part of the initial registration algorithm of sampling consistency. sampling consistency registration algorithm is based on local feature description. This chapter mainly realizes the initial registration algorithm of sampling consistency based on three descriptors: 3D shape content descriptors, point feature histogram descriptors and fast point feature histogram descriptors, the optimal results of the initial registration algorithm are obtained by experiments.

3D shape context (3dsc for short) uses a vector to describe the shape features of the specified points and their fields on the surface, and establishes the corresponding relationship between the points of different surfaces by matching the values of the vector, which is the descriptor of the specified points. 3Dsc descriptors are simple in structure, strong in discrimination and insensitive to noise. The construction method is as follows: in the spherical support domain with designated point P as the center, the grid is divided into three coordinate directions: radial direction, direction angle and pitch angle, the number of points falling into the grid is counted, and the vector V is constructed. Each element of V corresponds to a grid in the support domain. The value of the element is the number of points in the corresponding grid. The vector V is the descriptor of point P[

3Dsc mesh generation

Point Feature Histograms (PFH for short) refer to the spatial differences between query points and neighboring points by parameterization, and form a multi-dimensional histogram to describe the neighbor geometric properties of point k. The high-dimensional hyperspace of histogram provides a measurable information space for feature representation, which is invariant to the 6-dimensional pose of the corresponding surface of point cloud, and robust under different sampling density or neighborhood noise level. PFH representation is based on the relationship between points and their k neighbors and their estimated normal, considering all the interactions between normal directions, trying to capture the best change of sample surface to describe the geometric characteristics of samples. Therefore, the synthetic feature hyperspace depends on the quality of the surface discovery estimation of each point. Fig. _{q}_{q}_{q}_{q}

Influence range chart of PFH calculation at query point _{q}

Fast point feature histograms[^{2}) to

For a persistent query point _{q}_{q}_{q}_{q}_{q}_{q}

FPFH calculation neighborhood influence range of query point _{q}

In this experiment, the classic Bunny point cloud model of Stanford University (as shown in Fig.

Point cloud data model

The general evaluation standard of point cloud registration is LCP (Largest Common Pointset). That is to say, given two groups of point set P and Q, a transformation T (P) is found, which makes the maximum overlap of P and Q after transformation. If there is another Q point in the tolerance range at any point in the transformed P, it is considered to be a coincidence point. The proportion of coincident points to the number of all points is the degree of overlap. In this paper, the registration accuracy is determined by the rotation and translation errors and distance errors of the registration point cloud relative to the target point cloud on the x-axis, y-axis and z-axis. Compared with LCP, the registration accuracy of the point cloud can be more intuitively expressed. The experimental results of SAC-IA algorithm registration based on 3Dsc, PFH and FPFH feature descriptors are shown in Fig.

Initial registration results

The registration time, rotation angle error on XYZ axis, translation distance error and distance error between registration point cloud and target point cloud of two sets of bunny point cloud are shown in Table

INITIAL REGISTRATION ERROR TABLE

Comparison of registration algorithms | Feature Descriptors | ||
---|---|---|---|

SAC-IA runtime | 417.381 s | 22.727 s | 8.085 s |

x-axis rotation error | 0.0400952 ° | 0.0474209 ° | 0.0265896 ° |

y-axis rotation error | 0.811471 ° | 0.758933 ° | 0.709945 ° |

z-axis rotation error | -0.740596 ° | -0.734409 ° | -0.756489 ° |

x-axis translation error | 0.012691 mm | 0.007121 mm | 0.019262 mm |

y-axis translation error | -0.297463 mm | -0.29991 mm | -0.298785 mm |

z-axis translation error | -0.192225 mm | -0.194115mm | -0.194264 mm |

distance error | 0.354395 mm | 0.357320 mm | 0.356906 mm |

In terms of algorithm efficiency, 3Dsc needs to calculate the surface shape characteristics of point cloud, which increases the calculation amount; compared with PFH and FPFH, it takes a long time, and FPFH is an improved algorithm based on PFH, that is, FPFH algorithm is more efficient and takes the shortest time. In terms of algorithm accuracy, the smaller the rotation, translation and distance errors of x-axis, y-axis and z-axis are, the higher the accuracy of the algorithm is. From Table

Through the initial registration, the two sets of point cloud data roughly coincide, but the registration accuracy is still far from the requirements of practical applications. Therefore, accurate registration of point cloud data is required to reduce registration errors. In order to register the two groups of point cloud as much as possible and minimize the error between them, this paper uses the classic Iterative Closest Point (ICP for short) algorithm for accurate registration.

ICP algorithm[

The basic principle of ICP algorithm is to find the nearest point (_{i}_{i}

Where n is the number of nearest neighbor point pairs, _{i}_{i}_{i}

According to the initial registration results, the point cloud data is accurately registered by the ICP algorithm. The SCA-IA algorithm based on the 3Dsc, PFH, and FPHF feature descriptors combined with the accurate results of ICP is shown in Fig.

Accurate registration results

After ICP precise registration, the initial registration time, precise registration time, rotation angle error on XYZ axis, translation distance error, and the distance error between the two point clouds of the registration point cloud and the target point cloud are as follows: Table

ACCURATE REGISTRATION ERROR TABLE

Comparison of registration algorithms | Feature Descriptors | ||
---|---|---|---|

total time | 415.765 s | 23.804 s | 9.094 s |

SAC-IA runtime | 414.86 s | 23.15 s | 8.435 s |

ICP runtime | 0.905 s | 0.654 s | 0.659 s |

x-axis rotation error | 0.0141387 ° | 0.0325149 ° | 0.0134278 ° |

y-axis rotation error | 0.764633 ° | 0.721214 ° | 0.744733 ° |

z-axis rotation error | -0.758194 ° | -0.76543 ° | -0.770207 ° |

x-axis translation error | 0.0128116 mm | 0.013648 mm | 0.015574 mm |

y-axis translation error | -0.298834 mm | -0.29914 mm | -0.299785 mm |

z-axis translation error | -0.194931 mm | -0.19437 mm | -0.193715 mm |

distance error | 0.357021 mm | 0.357004 mm | 0.357266 mm |

As can be seen from Table

Tooth Model Registration Results

In this paper, based on the SAC-IA algorithm of 3Dsc, PFH and FPFH, the bunny point cloud is registered, and the efficiency and accuracy of the initial registration algorithm are analyzed and compared. In the initial registration, SAC-IA algorithm based on 3dsc feature descriptor has a relatively high accuracy, but it takes a long time, which is suitable for the registration with a small number of point clouds and high accuracy requirements; SAC-IA algorithm based on FPFH feature descriptor has a high efficiency, which is suitable for the registration with a large number of point clouds and high efficiency requirements. For the accurate registration algorithm, the ICP algorithm of PCL is used in this paper, and the effect is not ideal from the registration results; in addition, the ICP algorithm can be improved to improve the overall accuracy of the registration algorithm.

The successful completion of this paper cannot be separated from the help of teachers, students and funds. Thanks to Professor Liu Baolong, Mr. Wu Qiong and Mr. Si Lipeng for their guidance and help. Finally, I would like to thank the science and technology program of Weiyang District of Xi’an City (Project No.: 2018036) for its fund support.