Strip-shaped point cloud splicing method based on normal vector similarity

Through the strip point cloud splicing method based on normal vector similarity, the accuracy and reliability problems caused by noise, occlusion and missing data in point cloud splicing are solved, the calculation cost is reduced, and the splicing accuracy and efficiency are improved.

CN119152155APending Publication Date: 2024-12-17XIAN INST OF OPTICS & PRECISION MECHANICS CHINESE ACAD OF SCI
View PDF 0 Cites 3 Cited by

Patent Information

Application Number
CN202411182877.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-27
Publication Date
2024-12-17

AI Technical Summary

Technical Problem

The existing point cloud splicing methods are insufficient in processing noise, occlusion and missing data, have high computational complexity, and are difficult to perform global optimization to avoid cumulative errors.

Method used

Using the strip point cloud splicing method based on normal vector similarity, the point cloud data of the overlapping part is obtained by rotating the camera, feature points are extracted using principal component analysis method, and the initial transformation matrix is ​​calculated, and point cloud registration is carried out by combining the K nearest neighbor search algorithm. and splicing.

Benefits of technology

It effectively reduces the calculation cost and splicing complexity, improves splicing accuracy and reliability, and ensures the accuracy and efficiency of point cloud splicing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119152155A_ABST
    Figure CN119152155A_ABST
Patent Text Reader

Abstract

The invention relates to a three-dimensional point cloud processing method, in particular to a strip-shaped point cloud splicing method based on normal vector similarity, and mainly solves the technical problems that the precision and reliability of a traditional point cloud splicing method cannot be guaranteed, the splicing process is relatively complex, the calculation cost is relatively high and the like. The method comprises the following steps of: 1, respectively acquiring two adjacent groups of original point cloud data with overlapped parts through a rotary camera; (2) obtaining a normal vector of each point in the overlapped part data by using a principal component analysis method, and further extracting feature points to obtain a feature point set; 3, performing calculation by adopting a principal component analysis method to obtain initial transformation of the target point cloud; 4, performing point cloud registration to obtain optimal rigid body transformation of original point cloud data corresponding to the target point cloud; and (5) according to the optimal rigid body transformation, alignment of overlapped parts of two adjacent groups of original point cloud data is completed, so that point cloud splicing is realized. According to the method, the calculation cost is effectively reduced, and the splicing precision is relatively high.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to a point cloud data processing technology, and in particular to a strip point cloud splicing method based on normal vector similarity. Background Art

[0002] Point cloud stitching is a key step in point cloud data processing. It is the process of aligning and fusing multiple point cloud data from different perspectives into an overall model. It has important application value in 3D reconstruction, robot navigation, and autonomous driving. Due to the limited measurement range of 3D data acquisition equipment, when 3D data is collected for large objects or large scenes, only a part of the data set of the area can be collected at the same time, rather than a complete set. Therefore, in order to obtain complete 3D data, it is necessary to scan large objects or scenes multiple times and then stitch the scanned data.

[0003] Point cloud stitching is a method of merging multiple point cloud data sets into a whole. Existing point cloud stitching methods face the following challenges:

[0004] 1. Point cloud data usually comes from devices such as lidar and depth cameras, and may contain noise, occlusion, and missing data. These problems will affect the accuracy and reliability of stitching.

[0005] Second, the initial alignment of the point cloud is crucial to the stitching effect. Without a good initial transformation matrix, it is difficult for subsequent fine registration algorithms (such as ICP) to converge to the correct position. As a commonly used algorithm in the traditional point cloud stitching process, ICP is sensitive to the initial transformation. If the initial position deviation is large, ICP is prone to fall into the local optimum. In addition, ICP is sensitive to noise and outliers, and the point cloud data needs to be pre-processed and denoised, which increases the difficulty of stitching.

[0006] 3. Point clouds usually contain a large number of data points. Processing and aligning these points requires high computing resources and time, that is, the computational complexity is high and the computational cost is also high. In real-time applications, this computational complexity is a huge challenge.

[0007] Fourth, for the stitching of multiple point clouds, how to perform global optimization to avoid cumulative errors is a difficult problem, because local alignment errors may be magnified globally, resulting in distortion of the final result. Summary of the invention

[0008] The purpose of the present invention is to solve the technical problems that the accuracy and reliability of traditional point cloud stitching methods cannot be guaranteed, the stitching process is relatively complicated, and the calculation cost is high, and to provide a strip point cloud stitching method based on normal vector similarity.

[0009] In order to achieve the above objectives, the technical solutions provided by the present invention are as follows:

[0010] A strip point cloud splicing method based on normal vector similarity, which is special in that it includes the following steps:

[0011] Step [1] Obtain original point cloud data

[0012] The camera is rotated to obtain two adjacent groups of images respectively, and then two adjacent groups of original point cloud data corresponding to the two groups of images are obtained by laser centerline extraction and plane calibration; there is an overlapping part between the two adjacent groups of original point cloud data, and the point cloud of the overlapping part is obtained according to the prior information of the camera rotation angle;

[0013] Step [2] Extract feature points

[0014] The principal component analysis method is used to obtain the normal vector of each point in the overlapping part of each group of original point cloud data, and then the feature points of the overlapping part are extracted according to the normal vector similarity method, so as to obtain the corresponding feature point set of the overlapping part of the two adjacent groups of original point cloud data;

[0015] Step [3] Calculate the initial transformation

[0016] One of the two sets of feature point sets obtained in step [2] is defined as a reference point cloud, and the other is a target point cloud. Then, the principal component analysis method is used to calculate the initial transformation of the target point cloud; the initial transformation includes an initial rotation matrix and an initial translation vector;

[0017] Step [4] Point cloud registration

[0018] Establish a functional relationship between the target point cloud and the reference point cloud, and perform point cloud registration based on the normal vector of each point obtained in step [2] and the initial transformation obtained in step [3], so as to obtain the optimal rigid body transformation of the original point cloud data corresponding to the target point cloud; the optimal rigid body transformation includes an optimal rotation matrix and an optimal translation vector;

[0019] Step【5】Point cloud stitching

[0020] Based on the optimal rigid body transformation of the original point cloud data obtained in step [4], the overlapping parts of two adjacent sets of original point cloud data are aligned to achieve point cloud stitching.

[0021] Furthermore, the step [6] includes stitching n groups of point clouds

[0022] For the splicing and fusion of n groups of point clouds, n ≥ 3 and is a positive integer, according to steps [1] to [5], first the nth group of original point cloud data is spliced ​​with the n-1th group of original point cloud data, and then the splicing result is spliced ​​with the n-2th group of original point cloud data, and this order is followed until the splicing with the first group of original point cloud data is completed, thereby achieving the splicing and fusion of all point clouds.

[0023] Furthermore, step [2] is specifically as follows:

[0024] 2.1. Select any set of original point cloud data, take any point in the overlapping part of the point cloud data and its neighboring points to form a point set, and obtain the centroid of the point set by calculation;

[0025] 2.2. Translate all points in the point set so that their center of mass is located at the origin;

[0026] 2.3. Based on step 2.2, the covariance matrix of the point set is calculated;

[0027] 2.4. Perform eigenvalue decomposition on the covariance matrix of the point set to obtain the eigenvalue set and the corresponding eigenvector set of the point set, and then obtain the normal vector of any point taken in step 2.1; the eigenvector set includes the normal vector of the neighboring points corresponding to any point taken in step 2.1; the normal vector of any point refers to the eigenvector corresponding to the minimum eigenvalue in the eigenvalue set;

[0028] 2.5. According to steps 2.1 to 2.4, respectively obtain the normal vector of each remaining point in the overlapping part of any set of original point cloud data selected in step 2.1;

[0029] 2.6. Calculate the cosine value of the angle between the normal vectors of all points obtained in step 2.4 and step 2.5 and the normal vectors of each corresponding neighboring point, and define the cosine value of the angle as the similarity between each point and its neighboring point;

[0030] 2.7. Calculate the mean of the similarities obtained in step 2.6, and use the mean as a threshold, extract points corresponding to similarities less than the threshold, and use the points as feature points, and then extract a set of feature points corresponding to the overlapping parts of any set of original point cloud data in step 2.1;

[0031] 2.8. According to steps 2.1 to 2.7, extract a set of feature points corresponding to the overlapping part of another set of original point cloud data.

[0032] Furthermore, step [3] is specifically as follows:

[0033] 3.1. Define one of the two sets of feature point sets obtained in step 2.7 as the reference point cloud and the other as the target point cloud. Assuming that the reference point cloud and the target point cloud are in one-to-one correspondence according to their respective arrangement orders, the centroids of the reference point cloud and the target point cloud are calculated and obtained respectively;

[0034] 3.2. Translate all points in the reference point cloud and the target point cloud so that their centroids are located at the origin;

[0035] 3.3. Based on step 3.2, the covariance matrix of the reference point cloud and the target point cloud is calculated;

[0036] 3.4. Perform eigenvalue decomposition on the covariance matrix described in step 3.3 to obtain eigenvector matrices corresponding to the reference point cloud and the target point cloud respectively;

[0037] 3.5. According to the eigenvector matrix obtained in step 3.4, the initial rotation matrix of the target point cloud is calculated;

[0038] 3.6. Using the center of mass obtained in step 3.1 and the initial rotation matrix obtained in step 3.5, the initial translation vector of the target point cloud is calculated to complete the initial transformation.

[0039] Furthermore, step [4] is specifically as follows:

[0040] 4.1. Establish a functional relationship between the target point cloud and the reference point cloud, and use the K nearest neighbor search algorithm to search for neighboring points corresponding to each target point in the target point cloud in the reference point cloud to form corresponding point pairs between the target point cloud and the reference point cloud;

[0041] 4.2. Calculate the minimized objective function of the target point cloud based on the corresponding point pairs mentioned above;

[0042] 4.3. Based on the normal vectors of all points obtained in step 2.4 and step 2.5, the rotation matrix obtained in step 3.5, and the translation vector obtained in step 3.6, the optimal rigid body transformation of the target point cloud is calculated according to the minimization objective function of step 4.2, thereby obtaining the optimal rigid body transformation of the overlapping part of the original point cloud data corresponding to the target point cloud.

[0043] Furthermore, step 4.3 is specifically as follows:

[0044] 4.3.1. Based on the normal vectors of all points obtained in step 2.4 and step 2.5, the rotation matrix obtained in step 3.5, and the translation vector obtained in step 3.6, for each point in the target point cloud, search the reference point cloud for the nearest point that satisfies the minimization objective function described in step 4.2, and establish a new correspondence between the target point cloud and the reference point cloud;

[0045] 4.3.2. According to the new correspondence, recalculate the rotation matrix and translation vector of the target point cloud according to the methods of steps 3.1 to 3.6;

[0046] 4.3.3. Set the error threshold and iteration number threshold respectively, and iteratively calculate the target point cloud and the reference point cloud according to steps 4.3.1 to 4.3.2 until the registration error is less than the error threshold, or the iteration number reaches the maximum iteration number threshold. The iteration ends and the optimal rigid body transformation of the target point cloud is obtained, thereby obtaining the optimal rigid body transformation of the overlapping part of the target point cloud corresponding to the original point cloud data.

[0047] Furthermore, in step 4.1, the corresponding point pair searched by the K nearest neighbor search algorithm refers to the feature point pair with the smallest distance between the two points and the largest similarity of the normal vectors between the two points.

[0048] Compared with the prior art, the present invention has the following beneficial effects:

[0049] 1. The present invention obtains two adjacent groups of original point cloud data with overlapping parts through the prior information of the camera rotation angle, and then uses the principal component analysis method to calculate the normal vectors of the overlapping point cloud data in turn to extract feature points and calculate a good initial transformation of the point cloud, and then performs point cloud registration and splicing. Based on this method, the calculation cost is effectively reduced; at the same time, since only the overlapping parts are spliced, the complexity of splicing is effectively reduced.

[0050] 2. Based on the initial transformation, the present invention establishes a functional relationship between the target point cloud and the reference point cloud, and uses the K nearest neighbor search algorithm to search for corresponding point pairs. Finally, based on minimizing the objective function, the point clouds are aligned by iteratively optimizing the distance between the point clouds, thereby improving the accuracy of the registration and further improving the accuracy and reliability of the stitching.

[0051] 3. The present invention can also be applied to the stitching of multiple groups of point clouds. The stitching is achieved by aligning the last group of data with the previous group of data in sequence. The overall stitching efficiency and stitching accuracy are high. BRIEF DESCRIPTION OF THE DRAWINGS

[0052] Figure 1 The figure is a flowchart of the existing point cloud stitching method.

[0053] Figure 2 This is a schematic diagram of the process of extracting feature points in step 2 of an embodiment of the present invention.

[0054] Figure 3 Schematic diagram of the process of point cloud registration in step 4 of an embodiment of the present invention.

[0055] Figure 4 The figure is an example of the stitching process and results of two groups of point clouds in an embodiment of the present invention; wherein, (a) is two groups of point cloud images to be stitched; (b) is two groups of overlapping point cloud images; (c) is a feature point map extracted from overlapping point clouds; (d) is an initial pose map of overlapping point clouds; (e) is a registration result map; and (f) is a stitching result map. DETAILED DESCRIPTION

[0056] The present invention is described in detail below with reference to the accompanying drawings and specific embodiments.

[0057] like Figure 1 As shown in the figure, the general process of the existing point cloud stitching method mainly includes: data preprocessing, feature point detection, initial transformation estimation, point cloud registration and point cloud fusion. Data preprocessing generally refers to denoising and downsampling. Denoising can remove noise in point cloud data and improve the accuracy of subsequent processing. Downsampling the point cloud can reduce the amount of calculation while maintaining the necessary geometric features. Feature point detection refers to detecting key feature points in the point cloud, usually using methods such as SIFT or Harris 3D, and then calculating feature descriptors for each feature point, such as fast point histogram feature descriptor FPFH or direction histogram feature descriptor SHOT, for subsequent feature matching. Initial transformation estimation can generally use RANSAC, principal component analysis, etc. for initial transformation estimation. Based on the initial transformation, the iterative closest point (ICP) algorithm is used for precise registration, and the point clouds are aligned by iteratively optimizing the distance between point clouds. Point cloud fusion refers to fusing multiple aligned point cloud data into an overall point cloud, dealing with overlapping areas and data redundancy.

[0058] In order to make the stitched point cloud data as complete as possible and reduce deviations, point cloud stitching technology requires overlapping areas in multiple scanning views. There should be stable local features in the overlapping areas. Then, two similar feature points are found by matching the local features, and the rotation and translation matrices are calculated through the corresponding feature point pairs.

[0059] The present invention discloses a strip point cloud splicing method based on normal vector similarity, which is mainly used for the splicing of strip point cloud data extracted from a series of images obtained by rotating a monocular camera. The method first uses the rotation angle of the camera during image acquisition as prior information to obtain the overlapping part between the two groups of point clouds to be spliced; feature extraction is performed on the point cloud of the overlapping part, that is, the normal vector of each three-dimensional point is calculated, and then the similarity between the normal vector of the neighborhood point of the point and the normal vector of the point is calculated, and the points with similarity higher than the threshold are extracted as feature points, and then the principal component analysis is performed on the two groups of feature points to calculate the initial rotation matrix; a corresponding relationship is established based on the initial rotation matrix and the normal vector similarity, and then the space transformation matrix is ​​calculated, and it is iteratively run until the space transformation matrix that aligns the two point clouds is obtained. Finally, multiple aligned point clouds are fused to achieve point cloud splicing.

[0060] Reference Figure 2 , Figure 3 , Figure 4 , a strip point cloud splicing method based on normal vector similarity provided in this embodiment is specifically described, and the method includes the following steps:

[0061] Step [1] Obtain original point cloud data

[0062] The camera is rotated to obtain two adjacent groups of images, and then the laser centerline extraction and plane calibration are used to obtain two adjacent groups of original point cloud data corresponding to the two groups of images. There are overlapping parts between the two adjacent groups of original point cloud data ( Figure 4 (a) and (b)).

[0063] In this embodiment, the rotation angle of the camera when capturing images is used as prior information to obtain the overlapping data X={x1, x2,…, x N}∈R 3 and Y={y1,y2,…,y M}∈R 3 .

[0064] Step [2] Extract feature points

[0065] The principal component analysis method is used to obtain the normal vector of each point in the overlapping part of each group of original point cloud data, and then the feature points of the overlapping part are extracted according to the normal vector similarity method, so as to obtain the feature point set corresponding to the overlapping part of two adjacent groups of original point cloud data ( Figure 4 (c)).

[0066] Reference Figure 2 , step [2] is as follows:

[0067] 2.1、Get the overlapping point cloud data X={x1,x2,…,x N}∈R 3 , N>2, and is a positive integer; take any point x in the point cloud data, first search for its k nearest neighbors, 1≤k≤N; then form a point set of the point x and its neighboring points, written in matrix form as X k =[x1,x2,…x k ] T , calculate the centroid of the point set:

[0068]

[0069] in, represents the centroid of the point set corresponding to point x, and i represents the sequence number of each point in the point set.

[0070] 2.2. Translate all points in the point set so that their center of mass is at the origin:

[0071]

[0072] in, represents the centroid of the point set at the origin, and T represents the transpose.

[0073] 2.3. Based on step 2.2, the covariance matrix Cov of the point set is calculated. k :

[0074]

[0075] 2.4. Covariance matrix Cov of the point set k Perform eigenvalue decomposition to obtain the eigenvalue set and corresponding eigenvector set of the point set, and then obtain the normal vector of point x, where the eigenvector set includes the normal vector b of the neighboring points corresponding to point x i (i=1,,k); and the normal vector of point x refers to the eigenvector corresponding to the minimum eigenvalue in the eigenvalue set.

[0076] 2.5. According to steps 2.1 to 2.4, obtain point cloud data X = {x1, x2, ..., x N}∈R 3 The normal vectors of all points in the vector except point x.

[0077] 2.6. Calculate the cosine value of the angle between the normal vectors of all points obtained in steps 2.4 and 2.5 and the normal vectors of each corresponding neighboring point: i , and define the angle cosine value as the similarity between each point and its neighboring points. The calculation formula is as follows:

[0078]

[0079] 2.7. Calculate the mean of the similarities obtained in step 2.6, and use the mean as the threshold to extract the points corresponding to the similarities less than the threshold, and use the points as feature points to extract the point cloud data X = {x1, x2, ..., x N}∈R 3 The corresponding feature point set X F ={x F1 ,x F2 ,…,x FP}∈X.

[0080] 2.8. According to steps 2.1 to 2.7, another set of original point cloud data overlapping parts Y = {y1, y2, ..., y M}∈R 3 The corresponding feature point set Y F ={y F1 ,y F2 ,…,y FQ}∈Y.

[0081] Step [3] Calculate the initial transformation

[0082] Define the two sets of feature points obtained in step [2], one of which is the reference point cloud and the other is the target point cloud. Then, the principal component analysis method is used to calculate the initial transformation of the target point cloud. The initial transformation includes the initial rotation matrix and the initial translation vector ( Figure 4 (d)).

[0083] Step [3] is as follows:

[0084] 3.1. Define the feature point set Y obtained in step 2.7 F ={y F1 ,y F2 ,…,y FQ}∈Y is the reference point cloud, the feature point set X F ={x F1 ,x F2 ,…,x FP}∈X is the target point cloud. Assuming that the reference point cloud and the target point cloud are in one-to-one correspondence according to their respective arrangement orders, the centroids of the reference point cloud and the target point cloud are calculated respectively:

[0085]

[0086] Among them, m X Represents the point cloud feature set X F The center of mass, m Y Represents the point cloud feature set Y F The centroid of , P and Q represent the number of points in the corresponding feature set, and their values ​​are integers greater than 0.

[0087] 3.2. Translate all points in the reference point cloud and the target point cloud so that their centroids are located at the origin:

[0088]

[0089] in, Represents the feature point set X located at the origin F The center of mass, Represents the feature point set Y located at the origin F The center of mass.

[0090] 3.3. Based on step 3.2, the covariance matrix of the reference point cloud and the target point cloud is calculated:

[0091]

[0092] Among them, C X Represents the feature point set X F The covariance matrix, C Y Represents the feature point set X F The covariance matrix of .

[0093] 3.4. Perform eigenvalue decomposition on the covariance matrix obtained in step 3.3 to obtain the eigenvector matrices corresponding to the reference point cloud and the target point cloud respectively:

[0094]

[0095] Where V X and V Y They are the feature point sets X F And the feature point set X F The corresponding eigenvector matrix, Λ X and Λ Y are their diagonal eigenvalue matrices respectively.

[0096] 3.5. According to the eigenvector matrix obtained in step 3.4, the initial rotation matrix R0 of the target point cloud is calculated;

[0097]

[0098] 3.6. Using the center of mass obtained in step 3.1 and the initial rotation matrix obtained in step 3.5, the initial translation vector of the target point cloud is calculated to complete the initial transformation. The calculation formula of the translation vector t0 is as follows:

[0099] t0= m Y -R0·m X (14)

[0100] Step [4] Point cloud registration

[0101] Reference Figure 3 , use normal vector consistency combined with iterative closest point (ICP) algorithm combined with normal vector similarity to accurately align point clouds. Establish a functional relationship between the target point cloud and the reference point cloud (i.e., the source point cloud in the figure), and perform point cloud alignment based on the normal vector of each point obtained in step [2] and the initial transformation obtained in step [3] to obtain the optimal rigid body transformation of the target point cloud, thereby obtaining the optimal rigid body transformation of the original point cloud data corresponding to the target point cloud. The optimal rigid body transformation includes the optimal rotation matrix and the optimal translation vector ( Figure 4 (e)).

[0102] Step [4] is as follows:

[0103] 4.1. Establish the functional relationship between the target point cloud and the reference point cloud as follows:

[0104]

[0105] In the formula, R represents the rotation matrix, t represents the translation vector, It is a function to determine the normal vector similarity between two points.

[0106] Using the K nearest neighbor search algorithm, in the reference point cloud Y F ={y F1 ,y F2 ,…,y FQ}∈Y search for the point cloud X F ={x F1 ,x F2 ,…,x FP}∈X for each target point x Fi The corresponding neighboring point y Fj , forming corresponding point pairs between the target point cloud and the reference point cloud.

[0107] 4.2. Calculate the minimized objective function of the target point cloud based on the above corresponding point pairs.

[0108] For any point x Fi , minimizing formula (16) means finding the corresponding point y Fj Make the distance between the two points minimum and the normal vector similarity between the two points maximum. Calculate the optimal transformation based on the above correspondence and minimize the objective function for all points in the point set:

[0109]

[0110] 4.3. By minimizing the target point cloud X F and reference point cloud Y F The optimal rigid body transformation of the target point cloud is calculated by using the Euclidean distance between the corresponding point pairs in the target point cloud, which is:

[0111] 4.3.1. Based on the normal vectors of all points obtained in step 2.4 and step 2.5, as well as the rotation matrix obtained in step 3.5 and the translation vector obtained in step 3.6, for each point in the target point cloud, search for neighboring points in the reference point cloud that satisfy formula (17) to minimize the objective function, and establish a new correspondence between the target point cloud and the reference point cloud based on the search relationship.

[0112] 4.3.2. Based on the new correspondence, recalculate the rotation matrix and translation vector of the target point cloud according to the methods of steps 3.1 to 3.6.

[0113] 4.3.3. Set the error threshold er and the iteration number threshold itm respectively, and iteratively calculate the target point cloud and the reference point cloud according to steps 4.3.1 to 4.3.2 until the registration error is less than the error threshold (i.e. E<er), or the number of iterations reaches the maximum iteration number threshold (i.e. iter≥itm). The iteration ends and the optimal rigid body transformation of the target point cloud is obtained, thereby obtaining the optimal rotation matrix R and the optimal translation vector t of the overlapping part of the target point cloud corresponding to the original point cloud data.

[0114] Step【5】Point cloud stitching

[0115] According to the optimal rigid body transformation of the original point cloud data obtained in step [4], the overlapping parts of two adjacent groups of original point cloud data are aligned to achieve point cloud splicing ( Figure 4 (f)).

[0116] Step [6] stitching of n groups of point clouds

[0117] For the splicing and fusion of n groups of point clouds, n ≥ 3 and is a positive integer, according to steps [1] to [5], the transformation relationship (rotation matrix R and translation vector t) between two adjacent groups of original point cloud data is calculated respectively, and then the nth group of original point cloud data is spliced ​​with the n-1th group of original point cloud data, and then the splicing result is spliced ​​with the n-2th group of original point cloud data, and this order is followed until the splicing with the first group of original point cloud data is completed, thereby realizing the splicing and fusion of all point clouds.

[0118] The present invention aims at the problem of splicing strip point cloud data, extracts feature points for matching by calculating normal vectors, and effectively reduces the calculation cost. In addition, the principal component analysis method is used to estimate the initial transformation of the point cloud to obtain a good initial transformation matrix; when using ICP for precise registration, the normal vector consistency is added as the registration basis on the basis of the original error function to improve the accuracy of the registration.

[0119] The above embodiments are only used to illustrate the technical solutions of the present invention, but not to limit the present invention. Although the above embodiments have described the present invention in detail, it should be understood by those skilled in the art that the technical solutions described in the above embodiments can still be modified, or some or all of the technical features can be replaced by equivalents, and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the present invention.

Claims

1. A strip point cloud splicing method based on normal vector similarity, characterized in that: The following steps are involved: Step [1] Obtain original point cloud data The camera is rotated to obtain two adjacent groups of images respectively, and then two adjacent groups of original point cloud data corresponding to the two groups of images are obtained by laser centerline extraction and plane calibration; there is an overlapping part between the two adjacent groups of original point cloud data, and the point cloud of the overlapping part is obtained according to the prior information of the camera rotation angle; Step [2] Extract feature points The principal component analysis method is used to obtain the normal vector of each point in the overlapping part of each group of original point cloud data, and then the feature points of the overlapping part are extracted according to the normal vector similarity method, so as to obtain the feature point set corresponding to the overlapping part of two adjacent groups of original point cloud data; Step [3] Calculate the initial transformation One of the two sets of feature point sets obtained in step [2] is defined as a reference point cloud, and the other is a target point cloud. Then, the principal component analysis method is used to calculate the initial transformation of the target point cloud; the initial transformation includes an initial rotation matrix and an initial translation vector; Step [4] Point cloud registration Establish a functional relationship between the target point cloud and the reference point cloud, and perform point cloud registration based on the normal vector of each point obtained in step [2] and the initial transformation obtained in step [3], so as to obtain the optimal rigid body transformation of the original point cloud data corresponding to the target point cloud; the optimal rigid body transformation includes an optimal rotation matrix and an optimal translation vector; Step【5】Point cloud stitching Based on the optimal rigid body transformation of the original point cloud data obtained in step [4], the overlapping parts of two adjacent sets of original point cloud data are aligned to achieve point cloud stitching.

2. The strip point cloud splicing method based on normal vector similarity according to claim 1, characterized in that: It also includes step [6] stitching of n groups of point clouds For the splicing and fusion of n groups of point clouds, n ≥ 3 and is a positive integer, according to steps [1] to [5], first the nth group of original point cloud data is spliced ​​with the n-1th group of original point cloud data, and then the splicing result is spliced ​​with the n-2th group of original point cloud data, and this order is followed until the splicing with the first group of original point cloud data is completed, thereby achieving the splicing and fusion of all point clouds.

3. The strip point cloud splicing method based on normal vector similarity according to claim 1 or 2, characterized in that: Step [2] is as follows: 2.

1. Select any set of original point cloud data, take any point in the overlapping part of the point cloud data and its neighboring points to form a point set, and obtain the centroid of the point set by calculation; 2.

2. Translate all points in the point set so that their center of mass is located at the origin; 2.

3. Based on step 2.2, the covariance matrix of the point set is calculated; 2.

4. Perform eigenvalue decomposition on the covariance matrix of the point set to obtain the eigenvalue set and the corresponding eigenvector set of the point set, and then obtain the normal vector of any point taken in step 2.1; the eigenvector set includes the normal vector of the neighboring points corresponding to any point taken in step 2.1; the normal vector of any point refers to the eigenvector corresponding to the minimum eigenvalue in the eigenvalue set; 2.

5. According to steps 2.1 to 2.4, respectively obtain the normal vector of each remaining point in the overlapping part of any set of original point cloud data selected in step 2.1; 2.

6. Calculate the cosine value of the angle between the normal vectors of all points obtained in step 2.4 and step 2.5 and the normal vectors of each corresponding neighboring point, and define the cosine value of the angle as the similarity between each point and its neighboring point; 2.

7. Calculate the mean of the similarities obtained in step 2.6, and use the mean as a threshold, extract points corresponding to similarities less than the threshold, use the points as feature points, and further extract a set of feature points corresponding to the overlapping parts of any set of original point cloud data described in step 2.1; 2.

8. According to steps 2.1 to 2.7, extract a set of feature points corresponding to the overlapping part of another set of original point cloud data.

4. The strip point cloud splicing method based on normal vector similarity according to claim 3 is characterized in that: Step [3] is as follows: 3.

1. Define one of the two sets of feature point sets obtained in step 2.7 as the reference point cloud and the other as the target point cloud. Assuming that the reference point cloud and the target point cloud are in one-to-one correspondence according to their respective arrangement orders, the centroids of the reference point cloud and the target point cloud are calculated and obtained respectively; 3.

2. Translate all points in the reference point cloud and the target point cloud so that their centroids are located at the origin; 3.

3. Based on step 3.2, the covariance matrix of the reference point cloud and the target point cloud is calculated; 3.

4. Perform eigenvalue decomposition on the covariance matrix described in step 3.3 to obtain eigenvector matrices corresponding to the reference point cloud and the target point cloud respectively; 3.

5. According to the eigenvector matrix obtained in step 3.4, the initial rotation matrix of the target point cloud is calculated; 3.

6. Using the center of mass obtained in step 3.1 and the initial rotation matrix obtained in step 3.5, the initial translation vector of the target point cloud is calculated to complete the initial transformation.

5. The strip point cloud splicing method based on normal vector similarity according to claim 4 is characterized in that: Step [4] is as follows: 4.

1. Establish a functional relationship between the target point cloud and the reference point cloud, and use the K nearest neighbor search algorithm to search for neighboring points corresponding to each target point in the target point cloud in the reference point cloud to form corresponding point pairs between the target point cloud and the reference point cloud; 4.

2. Calculate the minimized objective function of the target point cloud based on the corresponding point pairs mentioned above; 4.

3. Based on the normal vectors of all points obtained in steps 2.4 and 2.5, the rotation matrix obtained in step 3.5, and the translation vector obtained in step 3.6, the optimal rigid body transformation of the target point cloud is calculated according to the minimization objective function of step 4.2, thereby obtaining the optimal rigid body transformation of the overlapping part of the original point cloud data corresponding to the target point cloud.

6. The strip point cloud splicing method based on normal vector similarity according to claim 5, characterized in that: Step 4.3 is as follows: 4.3.

1. Based on the normal vectors of all points obtained in step 2.4 and step 2.5, the rotation matrix obtained in step 3.5, and the translation vector obtained in step 3.6, for each point in the target point cloud, search the reference point cloud for the nearest point that satisfies the minimization objective function described in step 4.2, and establish a new correspondence between the target point cloud and the reference point cloud; 4.3.

2. According to the new correspondence, recalculate the rotation matrix and translation vector of the target point cloud according to the methods of steps 3.1 to 3.6; 4.3.

3. Set the error threshold and iteration number threshold respectively, and iteratively calculate the target point cloud and the reference point cloud according to steps 4.3.1 to 4.3.2 until the registration error is less than the error threshold, or the iteration number reaches the maximum iteration number threshold. The iteration ends and the optimal rigid body transformation of the target point cloud is obtained, thereby obtaining the optimal rigid body transformation of the overlapping part of the target point cloud corresponding to the original point cloud data.

7. The strip point cloud splicing method based on normal vector similarity according to claim 5, characterized in that: In step 4.1, the corresponding point pairs searched by the K nearest neighbor search algorithm refer to the feature point pairs with the smallest distance between the two points and the largest normal vector similarity between the two points.

Citation Information

Cited By

  • Point cloud splicing method based on measurement field and key feature constraint

    CN119540049A

  • Coating thickness measuring method and system based on multi-source sensor

    CN121067731A