A point cloud registration method

By generating regional binary descriptors and utilizing the point cloud registration method of least squares method and singular value decomposition, the problems of strong dependence on initial pose and insufficient robustness in the existing technology are solved, and efficient point cloud registration in complex scenes is achieved.

CN120411189BActive Publication Date: 2025-09-30QUANZHOU HUAZHONG UNIV OF SCI & TECH INST OF MFG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510930625.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-07-07
Publication Date
2025-09-30
Estimated Expiration
2045-07-07

AI Technical Summary

Technical Problem

Existing point cloud registration methods rely on the accuracy of the initial pose, are prone to falling into local optimality, and are difficult to handle the real-time registration requirements of large-scale point clouds. They are also insufficiently robust in complex scenarios and cannot adapt to non-rigid deformations and dynamic scenes. It is difficult to strike a balance between computational efficiency and accuracy.

Method used

By obtaining the normal vector and curvature binary quantity of the point cloud to generate a regional binary descriptor, the transformation matrix of the point cloud is obtained using the least squares method and singular value decomposition to achieve point cloud registration, which is independent of the initial pose and suitable for complex scenes.

Benefits of technology

It reduces the registration error, reduces the time consumption, is suitable for complex practical scenes, and improves the robustness and efficiency of point cloud registration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120411189B_ABST
    Figure CN120411189B_ABST
Patent Text Reader

Abstract

The present invention provides a point cloud registration method, belonging to the field of industrial inspection, comprising: for any point cloud in a source point cloud group and a target point cloud group, obtaining the neighborhood of the point cloud and forming multiple pairs of points; obtaining a normal vector binary quantity based on the difference in normal vector modulus lengths between the two point clouds in each pair of points, and obtaining a curvature binary quantity based on the difference in principal curvature between the two point clouds in each pair of points, thereby generating a regional binary descriptor; for each type of similar point cloud, using the least squares method and singular value decomposition to obtain the corresponding transformation matrix of the source point cloud and its nearest neighbor point cloud, and the target point cloud and its nearest neighbor point cloud, respectively, using the transformation matrix corresponding to each type of point cloud to transform the target point cloud group, and comparing the transformed target point cloud group with the source point cloud group to obtain the optimal transformation matrix. The present invention is independent of the initial point cloud pose, reduces registration error, and is more suitable for complex scenes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of industrial detection, and in particular relates to a point cloud registration method. Background Art

[0002] Existing point cloud registration methods generally use methods based on iterative optimization (such as the ICP algorithm) or feature matching (such as FPFH), both of which have drawbacks: the former heavily relies on the accuracy of the initial pose, easily falling into local optimality, and is sensitive to noise and partial overlap, making it difficult to handle the real-time registration needs of large-scale point clouds; the latter relies on manually designed feature descriptors, which are insufficiently robust in scenarios with repetitive structures, dynamic interference, or uneven point cloud density, and information loss in binary features can easily lead to increased mismatch rates. Furthermore, existing methods are generally limited to the rigid transformation assumption and cannot adapt to non-rigid deformations or dynamic scenarios. Furthermore, it is difficult to balance computational efficiency and accuracy in multimodal data fusion and large-scale environments, restricting their application in complex real-world scenarios. Summary of the Invention

[0003] The purpose of this invention is to propose a point cloud registration method that is independent of the initial point cloud pose, reduces registration errors, and is more suitable for complex scenes.

[0004] The present invention is achieved through the following technical solutions:

[0005] A point cloud registration method comprises the following steps:

[0006] Step S1: Take the same number of corresponding source point cloud groups and target point cloud groups, and for any point cloud in the source point cloud group or the target point cloud group, obtain the neighborhood of the point cloud and form multiple point pairs with the nearest neighbor point clouds in the neighborhood;

[0007] Step S2: obtaining a normal vector binary quantity based on the difference in normal vector modulus lengths between the two point clouds in each pair of point pairs, obtaining a curvature binary quantity based on the difference in principal curvatures between the two point clouds in each pair of point pairs, and generating a region binary descriptor based on the normal vector binary quantities and curvature binary quantities of all point pairs corresponding to any point cloud;

[0008] Step S3: The source point clouds and target point clouds with the same regional binary descriptors in the source point cloud group and the target point cloud group are respectively grouped into similar point clouds. For each similar point cloud, the rotation matrix and the corresponding transformation matrix corresponding to the similar point cloud are obtained by using the least squares method and singular value decomposition according to the source point cloud and its nearest neighbor point cloud, and the target point cloud and its nearest neighbor point cloud. The target point cloud group is transformed using the transformation matrix corresponding to each similar point cloud, and the transformed target point cloud group is compared with the source point cloud group to obtain the optimal transformation matrix.

[0009] Furthermore, in step S1, for any point cloudP , use K-neighborhood search to get the point cloud P The neighborhood of i nearest neighbor point cloud { P 1, P 2, P 3,…, P i}, take the neighborhood M The nearest neighbor point clouds form point pairs with the point cloud P, and the point pairs are expressed as .

[0010] Furthermore, in step S2, according to the formula Generate point cloud P Corresponding region binary descriptor LBFD ( R p ),in, R p Representing point clouds P Neighborhood, sign(.) is an indicator function, which returns 1 if the condition is true, otherwise it returns 0. For point pairs ( P , P j )’s normal vector binary quantity, N ( P ) is the point cloud P The normal vector of Point Cloud P The normal vector modulus of For point pairs ( P , P j ), k ( P ) is the point cloud P Gaussian curvature.

[0011] Furthermore, in step S2, the point cloud is obtained P Normal vector N ( P ) specifically includes the following steps:

[0012] Step S21: Using point cloud P of M The nearest neighbor point cloud is fitted to the neighborhood plane, and the normal vector of the neighborhood plane is N ( P ) as a point cloud P The normal vector of N ( P ) ,in, P j is the nearest neighbor point cloud, for M The center of the nearest neighbor points;

[0013] Step S22: Set y j = x j - N ( P ), then the objective function is simplified to ,make , , perform singular value decomposition on the matrix S and use the eigenvector corresponding to the minimum eigenvalue as the normal vector N ( P ),in, Y =[ y 1, y 2,…, y M ].

[0014] Furthermore, in step S2, the point cloud is obtained P The main curvature of the point cloud is specifically included in the following: according to the predefined two-dimensional sampling template, P Extract a sampling point set for the center, define a moving least squares energy function based on the sampling point set, and use the explicit expression of the least squares energy function to calculate the point cloud P Gaussian curvature k ( P ).

[0015] Furthermore, in step S3, for each type of point cloud, the source point cloud and its nearest neighbor point cloud are represented as P S ={ P S1 , P S2 ,…, P SN}, the target point cloud and its neighboring point clouds are represented as P Q ={ P Q1 , P Q2 ,…, P QN}, the transformation matrix includes a rotation matrix R and translation vectors t , construct the least squares equation to find the rotation matrix R , define the objective function as ,make , for the matrix S' Perform singular value decomposition to obtain ,when S'When full rank, the rotation matrix , then the translation vector ,in, for P S The center of mass, for P Q The center of mass, for P S Point Cloud P Sn The centroid coordinates of for P Q Point Cloud P Qn The de-centering coordinates of .

[0016] Furthermore, in step S3, the target point cloud group is transformed using the rotation matrix and translation vector corresponding to each similar point cloud. If the result after transformation is the same as the source point cloud group, the corresponding rotation matrix and translation vector are the optimal rotation matrix and optimal translation vector. Otherwise, the corresponding rotation matrix and translation vector are discarded.

[0017] The present invention has the following beneficial effects:

[0018] 1. The present invention first groups a point cloud and each nearest neighbor point cloud in the neighborhood into multiple pairs of point pairs. For each pair of point pairs, the binary value of the normal vector and the binary value of the curvature are obtained, and then the regional binary descriptor corresponding to the neighborhood is generated. The source point cloud and the target point cloud with the same regional binary descriptor are then grouped into similar point clouds. For each pair of similar point clouds, the transformation matrix corresponding to the similar point cloud is obtained by using the least squares method and singular value decomposition according to the source point cloud and its nearest neighbor point cloud, and the target point cloud and its nearest neighbor point cloud. Finally, the target point cloud group is multiplied with the transformation matrix corresponding to each similar point cloud and then compared with the source point cloud group to obtain the optimal transformation matrix, thereby realizing point cloud registration. The registration process does not depend on the initial posture of the point cloud, the registration error is smaller, and for point clouds with obvious features, it takes less time, and is more suitable for complex actual scenes. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The present invention will be further described in detail below with reference to the accompanying drawings.

[0020] Figure 1 Flowchart of the present invention.

[0021] Figure 2 It is the feature K neighborhood of the point cloud P of the present invention.

[0022] Figure 3 Schematic diagram of pairing the point cloud P with the nearest neighbor points of the present invention. DETAILED DESCRIPTION

[0023] like Figures 1 to 3 As shown in FIG, the point cloud registration method includes the following steps:

[0024] Step S1: Take the same number of corresponding source point cloud groups and target point cloud groups, and for any point cloud in the source point cloud group or the target point cloud group, obtain the neighborhood of the point cloud and form multiple point pairs with the nearest neighbor point clouds in the neighborhood;

[0025] The source point cloud group and the target point cloud group come from the same object, and the point clouds of the two groups correspond to each other. P , use K-neighborhood search to get the point cloud P The neighborhood of i nearest neighbor point cloud { P 1, P 2, P 3,…, P i}, take the neighborhood M The nearest neighbor point clouds form point pairs with the point cloud P, and the point pairs are expressed as Among them, the nearest neighbor point cloud P i With point cloud P Satisfy the formula and formula , R' is the K-neighborhood search radius, x P and x Pi , y P and y Pi , z P and z Pi Point to the cloud P and nearest neighbor point cloud P i of x 、 y 、 z coordinate.

[0026] like Figure 3 In point cloud P The six point clouds in its neighborhood can form six pairs of points. Figure 3 ①, ②, ③, ④, ⑤, ⑥ in the table represent point pairs ( P , P 1), ( P , P 2) ( P , P 3) ( P ,P 4) ( P , P 5) and ( P , P 6), in this embodiment, take the point pair ( P , P 1), ( P , P 2) ( P , P 3) Describe the region binary descriptor.

[0027] Step S2: obtaining a normal vector binary quantity based on the difference in normal vector modulus lengths between the two point clouds in each pair of point pairs, obtaining a curvature binary quantity based on the difference in principal curvatures between the two point clouds in each pair of point pairs, and generating a region binary descriptor based on the normal vector binary quantities and curvature binary quantities of all point pairs corresponding to any point cloud;

[0028] The specific steps include:

[0029] Step S21: Using point cloud P of M The nearest neighbor point cloud is fitted to the neighborhood plane, and the normal vector of the neighborhood plane is N ( P ) as a point cloud P The normal vector of N ( P ) as the optimization target, then the normal vector N ( P ) , so that the objective function is minimized, that is, the sum of the squares of the projection distances of all points to the fitting neighborhood plane is minimized, where, P j is the nearest neighbor point cloud, represents the average value of the neighborhood and can be regarded as M The center of the nearest neighbor points;

[0030] Step S22: To simplify the modeling, take the normal vector projection distance of unit length, that is, set y j= x j - N ( P ), then the objective function is simplified to , which can be written as , in which, , , perform singular value decomposition on the matrix S and use the eigenvector corresponding to the minimum eigenvalue as the normal vector N ( P ),in, Y =[ y 1,y 2,…, y M ]; The process of fitting the neighborhood plane is the prior art;

[0031] Step S23: Calculate point cloud P The surrounding discrete index map is based on the predefined two-dimensional sampling template and is represented by a point cloud in the neighborhood. P Extract a sampling point set for the center, define a moving least squares energy function based on the sampling point set, and use the explicit expression of the least squares energy function to calculate the point cloud P The mean curvature H and Gaussian curvature k ( P ), according to the formula Calculating point clouds P The principal curvature K 1 and principal curvature K 2. The features of the point cloud can be obtained through the two principal curvatures; the process of calculating Gaussian curvature is an existing technology;

[0032] Step S24: Calculate the point cloud according to the above steps P As well as the normal vector and principal curvature of each nearest neighbor point cloud, if the point cloud P The normal vector modulus is larger than the nearest neighbor point cloud P j The normal vector modulus of the point pair ( P , P j ) is 1, otherwise it is 0, that is, , if the point cloud P The principal curvature of is greater than that of the nearest neighbor point cloud P j The principal curvature of , then the point pair ( P , P j ) is 1, otherwise it is 0, that is, , and according to the formula Generate point cloud P Corresponding region binary descriptor LBFD ( R p ),in, R P Representing point clouds P Neighborhood, sign(.) is an indicator function, which returns 1 if the condition is true, otherwise it returns 0. Point Cloud P The normal vector modulus of k ( P ) is the point cloud P Gaussian curvature.

[0033] Take M=3 as an example to describe the region binary descriptor:

[0034] Table 1 shows the point cloud P and nearest neighbor point cloud P 1. P 2. P 3’s normal vector modulus and principal curvature value, Table 2 shows the normal vector binary value and curvature binary value of each point pair composed of the nearest neighbor point cloud and point cloud P, then we can know the area binary descriptor corresponding to point cloud P LBFD ( R P )=15.

[0035] Table 1

[0036]

[0037] Table 2

[0038]

[0039] Step S3: Grouping the source point clouds and target point clouds with the same regional binary descriptors in the source point cloud group and the target point cloud group into similar point clouds. For each similar point cloud, using the least squares method and singular value decomposition to obtain the transformation matrix corresponding to the similar point cloud based on the source point cloud and its nearest neighbor point cloud, and the target point cloud and its nearest neighbor point cloud, respectively, the target point cloud group is transformed using the transformation matrix corresponding to each similar point cloud, and the transformed target point cloud group is compared with the source point cloud group to obtain the optimal transformation matrix.

[0040] The specific steps include:

[0041] Step S31: For each type of similar point cloud, the source point cloud and its nearest neighbor point cloud are represented as P S ={ P S1 , P S2 ,…, P SN}, the target point cloud and its neighboring point clouds are represented as P Q ={ P Q1 , P Q2 ,…, P QN}, the transformation matrix includes the rotation matrix R and translation vectors t , construct the least squares equation to find the rotation matrix R , the corresponding rotation matrix when the sum of squared errors is minimized R and translation vectors tSatisfy the objective function , according to the definition of For the error function to be optimized, both sides of the error function F ( t )right t Taking the derivative we get ;

[0042] definition P S and P Q The center of mass is and , substitute the centroid into the formula The translation vector is expressed as ;

[0043] P S Point Cloud P Sn The centroid coordinates of , P Q Point Cloud P Qn The centroid coordinates of , so the objective function can be Simplified to , define the matrix , for the matrix S' Perform singular value decomposition to obtain ,when S' When full rank, the transformation matrix ,but ,in, is a diagonal matrix consisting of singular values, U 、 V are the left diagonal matrix and the right diagonal matrix respectively, U and V orthogonal;

[0044] Step S32: Use the rotation matrix and translation vector corresponding to each similar point cloud to transform the target point cloud group. If the result after transformation is the same as the source point cloud group, the corresponding rotation matrix and translation vector are the optimal rotation matrix and optimal translation vector. Otherwise, the corresponding rotation matrix and translation vector are discarded.

[0045] When the curvature features of the point cloud are obvious, the algorithm of the present invention takes less than 4 seconds, which is more time-efficient than the existing point cloud registration method and is more suitable for complex actual scenes.

[0046] The above description is merely a preferred embodiment of the present invention and therefore cannot be used to limit the scope of the present invention. In other words, equivalent changes and modifications made according to the scope of the patent application and the contents of the specification should still fall within the scope of the patent of the present invention.

Claims

1. A point cloud registration method, characterized by: The steps include: Step S1: Take the same number of corresponding source point cloud groups and target point cloud groups, and for any point cloud in the source point cloud group or the target point cloud group, obtain the neighborhood of the point cloud and form multiple point pairs with the nearest neighbor point clouds in the neighborhood; Step S2: obtaining a normal vector binary quantity based on the difference in normal vector modulus lengths between the two point clouds in each pair of point pairs, obtaining a curvature binary quantity based on the difference in principal curvatures between the two point clouds in each pair of point pairs, and generating a region binary descriptor based on the normal vector binary quantities and curvature binary quantities of all point pairs corresponding to any point cloud; Step S3: Grouping the source point clouds and target point clouds with the same regional binary descriptors in the source point cloud group and the target point cloud group into similar point clouds. For each similar point cloud, using the least squares method and singular value decomposition to obtain the transformation matrix corresponding to the similar point cloud based on the source point cloud and its nearest neighbor point cloud, and the target point cloud and its nearest neighbor point cloud, respectively, the target point cloud group is transformed using the transformation matrix corresponding to each similar point cloud, and the transformed target point cloud group is compared with the source point cloud group to obtain the optimal transformation matrix. In step S1, for any point cloud P , use K-neighborhood search to get the point cloud P The neighborhood of i nearest neighbor point cloud { P 1, P 2, P 3,…, P i }, take the neighborhood M The nearest neighbor point clouds form point pairs with the point cloud P, and the point pairs are expressed as ; In step S2, according to the formula Generate point cloud P Corresponding region binary descriptor LBFD ( R p ),in, R p Representing point clouds P Neighborhood, sign(.) is an indicator function, which returns 1 if the condition is true, otherwise it returns 0. For point pairs ( P , P j )’s normal vector binary quantity, N ( P ) is the point cloud P The normal vector of Point Cloud P The normal vector modulus of For point pairs ( P , P j ), k ( P ) is the point cloud P Gaussian curvature of In step S2, the point cloud is obtained P Normal vector N ( P ) specifically includes the following steps: Step S21: Using point cloud P of M The nearest neighbor point cloud is fitted to the neighborhood plane, and the normal vector of the neighborhood plane is N ( P ) as a point cloud P The normal vector of N ( P ) ,in, P j is the nearest neighbor point cloud, for M The center of the nearest neighbor points; Step S22: Set y j = x j - N ( P ), then the objective function is simplified to ,make , , perform singular value decomposition on the matrix S and use the eigenvector corresponding to the minimum eigenvalue as the normal vector N ( P ),in, Y =[ y 1, y 2,…, y M ].

2. A point cloud registration method according to claim 1, characterized in that: In step S2, the point cloud is obtained P The main curvature of the point cloud is specifically included in the following: according to the predefined two-dimensional sampling template, P Extract a sampling point set for the center, define a moving least squares energy function based on the sampling point set, and use the explicit expression of the least squares energy function to calculate the point cloud P Gaussian curvature k ( P ).

3. A point cloud registration method according to claim 2, characterized in that: In step S3, for each type of point cloud, the source point cloud and its nearest neighbor point cloud are represented as P S ={ P S1 , P S2 ,…, P SN }, the target point cloud and its neighboring point clouds are represented as P Q ={ P Q1 , P Q2 ,…, P QN }, the transformation matrix includes a rotation matrix R and translation vectors t , construct the least squares equation to find the rotation matrix R , define the objective function as ,make , for the matrix S' Perform singular value decomposition to obtain ,when S' When full rank, the rotation matrix , then the translation vector ,in, is a diagonal matrix consisting of singular values, U 、 V are the left diagonal matrix and the right diagonal matrix respectively, for P S The center of mass, for P Q The center of mass, for P S Point Cloud P Sn The centroid coordinates of for P Q Point Cloud P Qn The de-centering coordinates of .

4. A point cloud registration method according to claim 3, characterized in that: In step S3, the target point cloud group is transformed using the rotation matrix and translation vector corresponding to each similar point cloud. If the result after transformation is the same as the source point cloud group, the corresponding rotation matrix and translation vector are the optimal rotation matrix and optimal translation vector. Otherwise, the corresponding rotation matrix and translation vector are discarded.