Overview of Point Cloud Registration and Stitching Concepts

        When the point cloud scanning device scans the environment, it often cannot measure the point cloud data of the environment in the same coordinate system at one time. The reason is that the size of the environment exceeds the measurement range of the scanning device, and the objects in the environment are occluded from each other. It is unlikely that the point cloud scanning device can scan the complete point cloud of the object at an angle. After obtaining multiple pieces of point cloud data, we need a technology to rotate and translate the multiple pieces of point cloud data into a unified coordinate system so that they can form a complete environmental point cloud data. This technology is called point cloud stitching .

        Point cloud splicing is the process of mutual registration of overlapping parts of point clouds at any position. Point cloud registration is divided into rigid body and non-rigid body (the registration problem with only spatial rotation and translation transformation is called rigid body registration, and there are scaling, deformation, The registration problem of affine transformation is called non-rigid body registration), here mainly introduces the rigid body point cloud registration. Rigid body registration calculates the rotation matrix R and translation matrix T , so that the source point cloud rotates and translates to coincide with the target point cloud, ensuring that the corresponding parts of the two point clouds overlap as much as possible. The solution is to transform it into an optimization problem, that is, in an appropriate metric space, by solving the optimal rotation and translation matrix to minimize the average distance between the corresponding points in the overlapping regions between such data sets.

        As shown in the figure above, the overlapping parts of the two point clouds are registered, and the two point clouds are combined into a more complete point cloud, which realizes the splicing of the two point clouds.

        According to the initial conditions and accuracy, point cloud registration can be divided into two registration methods: coarse registration and fine registration.

        Coarse registration is a registration method performed when the source point cloud and the target point cloud do not know any initial relative positions. The main purpose of this method is to quickly estimate a rough point cloud registration matrix when the initial conditions are unknown. The entire calculation process requires a relatively high calculation speed, and the accuracy of the calculation results is not too high. The ideas of common coarse registration algorithms include: methods based on local feature description, methods based on global search strategies, and statistical probability.

Among them, the method based on local feature description is to extract the neighborhood geometric features of the source point cloud and the target point cloud, quickly determine the corresponding relationship between the point pairs through the geometric features, and then calculate this relationship to obtain the transformation matrix. The geometric features of the point cloud include many kinds, and the more common one is the fast point feature histogram ( FPFH ).

The representative algorithm based on the global search strategy is the sampling consistency algorithm ( SAC_IA ), which randomly selects points with consistent geometric features between the source point cloud and the target point cloud to form point pairs. The optimal solution is obtained by calculating the transformation relation of corresponding point pairs.

The normal distribution algorithm ( NDT ) uses the method of statistical probability to determine the corresponding point pair according to the normal distribution of the point cloud to calculate the transformation relationship between the source point cloud and the target point cloud.

        Fine registration is to use the known initial transformation matrix to obtain a more accurate solution through calculations such as iterative closest point algorithm ( ICP algorithm). The ICP algorithm constructs the rotation and translation matrix RT by calculating the distance between the source point cloud and the corresponding point of the target point cloud, transforms the source point cloud through RT , and calculates the mean square error after the transformation. If the mean square error satisfies the threshold condition, the algorithm ends. Otherwise, continue to repeat iterations until the error meets the threshold condition or the number of iterations is terminated. The ICP algorithm has the following characteristics:

Advantages: The accuracy of the registration result is high, and it is an accurate registration algorithm;

Disadvantages: The initial position requirements for the two point clouds are relatively strict, otherwise it is easy to fall into local convergence and will

Affects the registration speed, so it is necessary to provide a better initial position of the point cloud for ICP through rough registration .

The registration effect is shown in the figure above. The left side is the rough registration of the point clouds of the outer contours of the two rabbits, and the right side is the fine registration.

 

Reference and recommended reading links:

Introduction to ICP multi-view point cloud alignment method_yuluoxuanyuan1992's blog-CSDN blog_point cloud alignment

ICP principle: https://zhuanlan.zhihu.com/p/104735380

Guess you like

Origin blog.csdn.net/xsh_roy/article/details/122131383