Method for point cloud data registration

By combining ISS feature point extraction, FPFH feature descriptor and SAC-IA algorithm for rough registration, and using the improved ICP algorithm and k-d tree algorithm for fine registration, the traditional ICP algorithm is sensitive to the initial position and has a large amount of calculation. problem, achieving efficient and accurate point cloud data registration.

CN119359774APending Publication Date: 2025-01-24HARBIN ENG UNIV

Patent Information

Application Number
CN202411497927.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-25
Publication Date
2025-01-24

AI Technical Summary

Technical Problem

In the prior art, traditional ICP algorithms are sensitive to initial positions and are prone to fall into local optimal solutions, with large calculations, resulting in insufficient feature extraction, low accuracy and time-consuming problems.

Method used

The ISS feature point extraction algorithm and the FPFH feature descriptor combine the SAC-IA algorithm for rough configuration, and use the improved ICP algorithm to use the K-D Tree algorithm to accelerate the corresponding point-paired search to reduce the number of iterations.

Benefits of technology

The quality of the initial alignment of Dianyun data is improved, the computational complexity and hardware resources occupation is reduced, the standard efficiency and accuracy are significantly improved, and the risk of local optimal solutions is avoided.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119359774A_ABST
    Figure CN119359774A_ABST
Patent Text Reader

Abstract

The invention discloses a method for point cloud data registration, and relates to the technical field of point cloud data processing. In order to solve the technical problems that in the prior art, a traditional ICP algorithm is sensitive to an initial position, prone to falling into a local optimal solution, large in calculation amount, insufficient in feature extraction, low in precision and long in consumed time, the technical scheme provided by the invention is that the method for point cloud data registration comprises the steps of extracting feature points of point cloud data; a step of describing the feature points; performing coarse registration on the point cloud data according to the description result; and a step of performing accurate alignment on the coarse registration result. Wherein the feature points are subjected to coarse registration through an SAC-IA algorithm, and an initial alignment position between the point cloud data is obtained. And accurate alignment is carried out through an ICP algorithm. And searching corresponding point pairs through a k-d tree algorithm. The method is suitable for point cloud data registration.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the technical field of point cloud data processing, and in particular to point cloud data registration. Background Art

[0002] Point cloud registration technology has been widely studied and applied in the fields of computer vision, robot navigation and 3D reconstruction in recent years. Existing point cloud registration methods can be roughly divided into feature-based methods and surface matching-based methods. Feature-based methods rely on extracting feature points from point clouds, such as ISS (Intrinsic Shape Signature) feature points. These feature points usually have local geometric stability, which helps to improve the registration accuracy. Common feature descriptors such as FPFH (Fast Point Feature Histograms) are used to describe the local geometric information of feature points. These descriptors can effectively transform point clouds into representations in feature space, which is convenient for matching and alignment.

[0003] For example, the ISS feature point extraction method can extract significant feature points by establishing a local coordinate system and analyzing local geometric characteristics. These feature points have high stability and resolution. The FPFH feature descriptor can capture the local geometric characteristics of the point cloud by calculating the normal vectors of the neighboring points around the feature point, and is widely used in large-scale point cloud data processing.

[0004] In the coarse registration stage, SAC-IA (Sample Consensus Initial Alignment) is a commonly used coarse registration method that quickly estimates the initial alignment relationship between point clouds by randomly selecting and matching point pairs. However, due to the limited accuracy of coarse registration, it is usually necessary to combine the ICP (Iterative Closest Point) algorithm for fine registration. The ICP algorithm further improves the registration accuracy by minimizing the Euclidean distance between the two sets of point clouds. However, the traditional ICP algorithm has problems such as sensitivity to the initial position, easy to fall into the local optimal solution, and large amount of calculation, which limits its application in large-scale point cloud processing.

[0005] The existing technology has the following problems:

[0006] 1. Insufficient feature extraction: When dealing with complex scenes, the feature points of existing feature point extraction methods may not be sufficient to fully reflect the local geometric characteristics, thus affecting the registration accuracy.

[0007] 2. Low coarse registration accuracy: Traditional coarse registration methods such as SAC-IA have large randomness in initial position estimation, which easily leads to large initial alignment errors.

[0008] 3. Precision registration takes a long time: When processing large-scale point clouds, the traditional ICP algorithm has a large amount of calculation and is sensitive to the initial position. It is easy to fall into the local optimal solution, affecting the final registration effect. Summary of the invention

[0009] In order to solve the technical problems existing in the prior art, that the traditional ICP algorithm is sensitive to the initial position, easily falls into the local optimal solution, has a large amount of calculation, leads to insufficient feature extraction, low accuracy and long time consumption, the technical solution provided by the present invention is:

[0010] A method for point cloud data registration, the method comprising:

[0011] Steps for extracting feature points of point cloud data;

[0012] A step of describing the feature points;

[0013] A step of roughly registering the point cloud data according to the description result;

[0014] A step of performing precise alignment on the rough registration result.

[0015] Furthermore, a preferred implementation is provided, in which feature points of point cloud data are extracted by an ISS feature point extraction algorithm.

[0016] Furthermore, a preferred implementation is provided, in which the extracted feature points are described using the FPFH descriptor to obtain local geometric features.

[0017] Furthermore, a preferred implementation is provided, in which the feature points are roughly aligned using a SAC-IA algorithm to obtain the initial alignment positions between the point cloud data.

[0018] Furthermore, a preferred embodiment is provided for performing precise alignment through an ICP algorithm.

[0019] Furthermore, a preferred implementation is provided, in which corresponding point pairs are searched using a kd tree algorithm.

[0020] Based on the same inventive concept, the present invention also provides a device for point cloud data registration, the device comprising:

[0021] Module for extracting feature points of point cloud data;

[0022] A module for describing the feature points;

[0023] A module for coarsely registering point cloud data according to the description results;

[0024] A module for performing precise alignment on the rough registration result.

[0025] Based on the same inventive concept, the present invention also provides a computer storage medium for storing a computer program, and when the computer reads the computer program, the computer executes the described method.

[0026] Based on the same inventive concept, the present invention also provides a computer, including a processor and a storage medium. When the processor reads a computer program stored in the storage medium, the computer executes the method described.

[0027] Based on the same inventive concept, the present invention also provides a computer program product, which is a computer program. When the computer program is executed, the method described above is implemented.

[0028] Compared with the prior art, the technical solution provided by the present invention is beneficial in that:

[0029] The ISS feature point extraction algorithm is used to improve the stability and accuracy of feature points in point cloud data. This improvement enables feature points to better reflect local geometric characteristics in complex scenes, thereby improving the initial alignment quality of registration and reducing the randomness and error accumulation of feature point selection compared to existing feature point extraction methods.

[0030] The FPFH feature descriptor is used to describe feature points, which effectively reduces the computational complexity. Compared with traditional feature description methods, FPFH captures the local geometric characteristics of point clouds through histograms and simplifies the calculation process. It is suitable for processing large-scale point cloud data, improves the overall registration efficiency, and reduces the occupation of hardware resources.

[0031] The SAC-IA algorithm is introduced in the coarse registration stage to provide a more accurate initial alignment position. Compared with other coarse registration methods, SAC-IA combines the description of feature points for matching, reduces the randomness of the initial alignment, thereby reducing the workload of subsequent fine registration and improving the robustness of the overall registration.

[0032] The improved ICP algorithm uses the kd tree algorithm to accelerate the search for corresponding point pairs, significantly reducing the number of registration iterations. Compared with the traditional ICP algorithm, this improved solution solves the problem of sensitivity to initial position, significantly improves the computational efficiency when processing large-scale point clouds, avoids the risk of falling into a local optimal solution, and significantly improves the final registration accuracy.

[0033] The improved ICP algorithm combined with the initial alignment position provided by the coarse registration effectively reduces the possibility of ICP falling into the local optimum when processing large-scale point clouds. Compared with the traditional method, this improvement improves the stability of the overall registration, especially when dealing with multiple complex scenes, ensuring the repeatability and consistency of each registration result.

[0034] By combining ISS feature point extraction with FPFH descriptors, the extracted feature points are ensured to be highly distinguishable and stable between different point cloud data sets. This combination effectively improves the performance of the registration algorithm when processing data sets with noise and overlapping areas, thereby increasing the robustness and adaptability of the algorithm, making it suitable for more complex application scenarios.

[0035] In the feature description and matching stage, the use of FPFH descriptors greatly reduces the computational complexity of feature matching compared to traditional descriptors, and achieves an efficient matching process with smaller storage requirements. In this way, the registration algorithm not only speeds up the overall operation speed, but also achieves reasonable utilization of hardware resources while ensuring accuracy, which is especially suitable for resource-constrained embedded systems and mobile robot platforms.

[0036] The SAC-IA algorithm is used for coarse registration. Through the method of multiple sampling consensus, the random dependence on matching pairs is effectively reduced, ensuring the initial alignment quality of point cloud registration. Compared with other coarse registration techniques that rely on random sampling, this method not only improves the success rate of initial alignment, but also provides a more accurate initial estimated position for subsequent ICP fine registration, thereby reducing the number of iterations required for overall registration.

[0037] The improved ICP algorithm uses the kd tree structure to significantly speed up the nearest neighbor search. In large-scale point clouds, the nearest neighbor search is one of the computational bottlenecks of ICP. Through the optimization of the kd tree, the registration speed has been greatly improved and the processing time has been greatly reduced. This improvement is particularly important in application scenarios with high real-time requirements, such as autonomous driving and real-time 3D environment modeling.

[0038] Combining ISS feature extraction, FPFH descriptor and improved ICP algorithm, this solution forms a complete point cloud registration link, from feature point extraction to coarse registration and then to fine registration. The output of each step is used as the input of the next step, making the overall registration process highly coherent, significantly improving the overall efficiency and effect of point cloud data registration. This coherent process design has shown significant advantages in multi-stage point cloud processing tasks, ensuring quality output at each stage and reducing the risk of error accumulation.

[0039] It is suitable for point cloud data registration. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] Figure 1 ISS feature point extraction diagram for different sheet metal parts;

[0041] (a) is a schematic diagram of feature point extraction for workpiece 1, and (b) is a schematic diagram of feature point extraction for workpiece 2;

[0042] Figure 2 Point P q The feature histogram of

[0043] Figure 3 It is a schematic diagram of the fixed coordinate system uvw;

[0044] Figure 4 Point P q Fast point feature histogram FPFH;

[0045] Figure 5 It is the FPFH feature line graph of different sheet metal parts;

[0046] (a) is the FPFH feature line graph of workpiece 1, and (b) is the FPFH feature line graph of workpiece 2;

[0047] Figure 6 It is the flow chart of ICP algorithm;

[0048] Figure 7 Flowchart for improving the ICP algorithm. DETAILED DESCRIPTION

[0049] In order to make the advantages and benefits of the technical solution provided by the present invention more clearly reflected, the technical solution provided by the present invention is now further described in detail with reference to the accompanying drawings, specifically:

[0050] Embodiment 1: This embodiment provides a method for point cloud data registration, the method comprising:

[0051] Steps for extracting feature points of point cloud data;

[0052] A step of describing the feature points;

[0053] A step of roughly registering the point cloud data according to the description result;

[0054] A step of performing precise alignment on the rough registration result.

[0055] Specifically,

[0056] 1. Overview of the overall framework of the technical solution

[0057] It is mainly divided into two stages: coarse registration and fine registration. Coarse registration achieves preliminary alignment between different point clouds through ISS feature point extraction and FPFH feature description. Then the ICP algorithm is used for fine registration to improve the registration accuracy and effect. This embodiment involves technologies such as ISS feature point extraction algorithm, FPFH feature description, SAC-IA coarse registration, and improved ICP fine registration. The following is a brief description and detailed description of the specific steps.

[0058] 2. Brief description of the coarse registration steps

[0059] ISS feature point extraction: The feature points of the point cloud are extracted through the ISS algorithm to obtain the key points for coarse registration.

[0060] FPFH feature description: Use FPFH descriptors to describe the extracted feature points for subsequent matching.

[0061] SAC-IA algorithm coarse alignment: Use the SAC-IA algorithm to perform preliminary alignment on the extracted feature points to form a better initial position.

[0062] 3. Brief description of precise registration steps

[0063] ICP algorithm fine registration: Based on the results of coarse registration, the ICP algorithm is used for precise alignment.

[0064] Improved ICP algorithm: Improve the traditional ICP algorithm to improve the registration accuracy and efficiency and solve the problems of local optimal solution and long calculation time.

[0065] Detailed description of the coarse registration steps

[0066] 1ISS feature point extraction

[0067] Step description: First, establish a local coordinate system for each point of the point cloud data P, and set the search radius r to filter and retain key points. The size of the search radius directly affects the number and quality of feature points.

[0068] Implementation details:

[0069] Set an appropriate search radius r. The larger the search radius, the more extensive the geometric information, but the positioning accuracy may decrease; the smaller the search radius, the more accurate the feature information, but the more redundant points.

[0070] The ISS algorithm is used to filter feature points according to the set threshold, and each point is determined to be a key point, such as an edge point or a corner point, by judging the feature value.

[0071] Output result: Generate point cloud data containing key points for subsequent feature description.

[0072] 2FPFH feature description

[0073] Step description: For the feature points extracted by the ISS algorithm, use FPFH (Fast Point Feature Histogram) to describe the features and construct a feature histogram to capture local geometric information.

[0074] Implementation details:

[0075] Taking each feature point as the center, set the radius r and search for k neighboring points in the neighborhood.

[0076] Calculate the normal vector difference of each neighboring point and generate a multidimensional histogram.

[0077] Using FPFH instead of PFH reduces computational complexity, is suitable for large-scale point cloud processing, and improves feature description efficiency.

[0078] Output result: Get the FPFH descriptor of each feature point for subsequent coarse registration.

[0079] 3SAC-IA algorithm rough registration

[0080] Step description: Use the SAC-IA algorithm to roughly align the feature points and find the initial alignment position between point clouds.

[0081] Implementation details:

[0082] Select the points to be matched from the source point cloud and set the distance threshold to ensure that the distribution of the points to be matched is sufficiently dispersed to avoid duplication.

[0083] Use the FPFH descriptor to search for corresponding matching points in the target point cloud.

[0084] Eliminate incorrect matching points to ensure registration accuracy.

[0085] Set the maximum number of iterations, calculate the rotation and translation matrices, and complete the rough registration.

[0086] Output result: Generate a preliminary registered point cloud, providing a good starting point for subsequent fine registration.

[0087] 5. Detailed description of the precise registration steps

[0088] 5.1 ICP Algorithm Precision Alignment

[0089] Step description: Based on the rough registration, the ICP (Iterative Closest Point) algorithm is used for precise alignment.

[0090] Implementation details:

[0091] Select a subset P0 from the point cloud P to be registered, and find the nearest neighbor point in the target point cloud Q as the matching point.

[0092] Calculate the rigid body transformation matrix, including rotation and translation matrices, and align the point cloud by minimizing the distance between matching point pairs.

[0093] Continue iterating until the termination condition is met, such as the number of iterations or the error threshold.

[0094] Output result: Obtain precisely aligned point cloud data to ensure that the two sets of point clouds are highly overlapped.

[0095] 5.2 Improved ICP algorithm

[0096] Step description: Improve the shortcomings of the traditional ICP algorithm to reduce the calculation time and improve the registration accuracy.

[0097] Implementation details:

[0098] The kd tree algorithm is used to speed up the search for corresponding point pairs and improve matching efficiency.

[0099] The ISS feature point extraction and FPFH descriptor are combined with the SAC-IA algorithm for rough alignment to provide a good initial position.

[0100] By reducing the sensitivity to the initial position, the risk of the algorithm falling into a local optimal solution is reduced.

[0101] Output results: The improved ICP algorithm reduces the number of iterations, improves the registration accuracy and efficiency, and obtains the final registered high-precision point cloud data.

[0102] Implementation method 2: This implementation method further limits the method for point cloud data registration provided in implementation method 1, and extracts feature points of point cloud data by using an ISS feature point extraction algorithm.

[0103] Implementation method three: This implementation method further limits the method for point cloud data registration provided in implementation method one, and uses FPFH descriptors to describe the extracted feature points to obtain local geometric features.

[0104] Implementation method 4: This implementation method further limits the method for point cloud data registration provided in implementation method 1. The feature points are roughly registered by the SAC-IA algorithm to obtain the initial alignment position between the point cloud data.

[0105] Implementation method five: This implementation method further limits the method for point cloud data registration provided in implementation method one, and performs precise alignment through the ICP algorithm.

[0106] Implementation method 6: This implementation method further limits the method for point cloud data registration provided in implementation method 5, and searches for corresponding point pairs through a kd tree algorithm.

[0107] In this implementation mode, the implementation process is described in detail step by step, specifically:

[0108] ISS feature point extraction

[0109] Feature points with high stability and accuracy are extracted from point cloud data, laying the foundation for subsequent feature description and matching.

[0110] Detailed description:

[0111] First, a local coordinate system is established for each point in the point cloud data P, and local geometric information is calculated. An appropriate search radius r is set to filter the retained key points. The size of the search radius directly affects the quality and quantity of feature points.

[0112] Set a suitable threshold, determine whether each point is a feature point, such as an edge point or a corner point, by judging the feature value, and use the ISS algorithm for screening.

[0113] Output: The obtained feature point set serves as input for feature description in the next step.

[0114] FPFH Characterization

[0115] Describe the extracted feature points to facilitate subsequent matching and alignment.

[0116] Detailed description:

[0117] For each feature point extracted by ISS, take it as the center, set the search radius r, and find k neighboring points in the neighborhood.

[0118] The normal vector differences between neighboring points are calculated and a multidimensional histogram is constructed to capture the local geometric characteristics of the point cloud.

[0119] The FPFH descriptor is used to improve the efficiency of large-scale point cloud processing by reducing the computational complexity.

[0120] Output: FPFH descriptor for each feature point, which serves as input for the coarse registration step.

[0121] SAC-IA algorithm coarse registration

[0122] The descriptors of feature points are used to achieve coarse registration between point clouds and provide a more accurate initial alignment position.

[0123] Detailed description:

[0124] Select the points to be matched from the source point cloud and set the distance threshold to ensure that the distribution of the points to be matched is dispersed enough to avoid duplication.

[0125] Use the FPFH descriptor to find matching points in the target point cloud, remove incorrect matching points, and improve the registration accuracy.

[0126] Set the maximum number of iterations, calculate the rotation and translation matrices, and complete the preliminary alignment.

[0127] Output: The resulting preliminary registered point cloud provides the initial alignment position for the fine registration step.

[0128] ICP algorithm precise registration

[0129] Based on the results of the rough registration, further fine alignment is performed to improve the accuracy of the final registration.

[0130] Detailed description:

[0131] A subset is selected from the point cloud after preliminary registration, and the ICP algorithm is used to find the nearest neighbor points in the target point cloud.

[0132] Calculate the rigid body transformation matrix, including rotation and translation matrices, to achieve accurate alignment by minimizing the distance between the two sets of point clouds.

[0133] Iteration termination conditions, such as error threshold and number of iterations, are set to ensure the efficiency and accuracy of the registration.

[0134] Output: The final accurately aligned point cloud data.

[0135] Improved ICP algorithm

[0136] Optimization is performed on the basis of traditional ICP to improve the registration efficiency and solve the local optimal problem.

[0137] Detailed description:

[0138] Use the k-dtree algorithm to speed up the search for matching point pairs and improve matching efficiency.

[0139] The previous ISS feature point extraction and FPFH descriptor are combined with the SAC-IA algorithm to reduce the sensitivity to the initial position and reduce the risk of local optimal solutions.

[0140] Output: Improved ICP registration result, ensuring higher accuracy and computational efficiency.

[0141] Embodiment 7: This embodiment provides a device for point cloud data registration, the device comprising:

[0142] Module for extracting feature points of point cloud data;

[0143] A module for describing the feature points;

[0144] A module for coarsely registering point cloud data according to the description results;

[0145] A module for performing precise alignment on the rough registration result.

[0146] Embodiment 8: This embodiment provides a computer storage medium for storing a computer program. When the computer reads the computer program, the computer executes the method provided in embodiment 1.

[0147] Embodiment 9: This embodiment provides a computer, including a processor and a storage medium. When the processor reads a computer program stored in the storage medium, the computer executes the method provided in embodiment 1.

[0148] Embodiment 10: This embodiment provides a computer program product, which is a computer program. When the computer program is executed, the method provided in embodiment 1 is implemented.

[0149] Implementation Method XI: Combination Figure 1-7 This embodiment is described in detail by using specific examples to further describe the technical solution provided above. Specifically:

[0150] In point cloud rough registration, ISS feature point extraction algorithm:

[0151] The Intrinsic Shape Signatures (ISS) algorithm is a point cloud feature detection algorithm that is used to extract feature points from point cloud data and identify and describe surface features. It can be used in high-quality point cloud initial registration. Suppose the point cloud data P contains N data points, and any point p i The coordinates of i (x i ,y i ,z i ), i = 0, 1, 2, ..., N-1, the specific process of the algorithm is as follows:

[0152] (1) For each point p in the point cloud data i Establish a local coordinate system and set the search radius r for all points. The larger the search radius, the higher the degree of screening, the fewer key points are retained, and a wider range of geometric information can be captured, but it is also more likely to lose some important key points, making the positioning of feature points vague or inaccurate. The smaller the search radius, the lower the degree of screening, the more key points are retained, but it is also more likely to have some redundant key points, increasing the calculation load of the algorithm. Therefore, it is necessary to select an appropriate search radius r based on the actual situation such as the density of the point cloud.

[0153] (2) Query each point p in the point cloud data P i All points in the area with a radius of r as the center and calculate the weights w of these points ij , as shown in formula (1).

[0154]

[0155] (3) Calculate each point p i The covariance matrix of is shown in formula (2).

[0156]

[0157] (4) Calculate each point p in the point cloud data i The covariance matrix cov(p i ) And arrange them in order from largest to smallest.

[0158] (5) Set the thresholds ε1 and ε2. The points that meet the screening conditions of formula (3) are ISS feature points.

[0159]

[0160] The ratio ε1 of the second largest eigenvalue to the first largest eigenvalue is used to determine whether a point is an edge point. The smaller the ratio, the closer the neighborhood of the point is to a plane and the less likely the point is to be an edge point. The larger the ratio, the closer the neighborhood of the point is to a line segment and the more likely the point is to be an edge point. The ratio ε2 of the third largest eigenvalue to the second largest eigenvalue is used to determine whether a point is a corner point. The smaller the ratio, the closer the neighborhood of the point is to a line segment and the less likely the point is to be a corner point. The larger the ratio, the closer the neighborhood of the point is to a point and the more likely the point is to be a corner point. Therefore, an appropriate threshold should be selected according to the actual situation to avoid key points falling on planes and line segments.

[0161] The feature points of the two workpieces are extracted by the ISS feature point extraction algorithm. The parameters of the key functions are adjusted by the following code. The experimental results are as follows: Figure 1 shown.

[0162] iss_detector.setSalientRadius(0.45f);

[0163] iss_detector.setNonMaxRadius(0.85f);

[0164] iss_detector.setThreshold21(0.65);

[0165] iss_detector.setThreshold32(0.1);

[0166] By extracting features from different sheet metal parts using the ISS algorithm, we can see that the ISS feature extraction algorithm deletes most of the points on the plane of the sheet metal parts and retains the blue key points, including edge points, corner points, etc., which better displays the shape of the sheet metal parts.

[0167] FPFH feature description:

[0168] The calculation principle of the point feature histogram (PFH) is as follows: taking a point in the point cloud data as the center, determine the k neighboring points within the radius r, and calculate the normal vectors of these points. Then, by comparing the differences in the normal vectors between these neighborhood points, the spatial geometric characteristics of each point are described, and a multidimensional histogram is constructed accordingly. In this process, the calculation accuracy of the normal vectors of the neighborhood points will directly affect the description quality of the point feature histogram.

[0169] Figure 2 Describes the process of calculating the PFH value in a specific area. The red point P in the figure q Indicates the key point to be calculated PFH value, the area within the dotted line is the area around the calculation point P q All points P within a radius of r k1 -P k5 The data points outside the dotted line are the points in the point cloud data that are consistent with the calculation point P. q The distance between the points P6-P is greater than the radius r 11 , connect all the points in the dotted line area two by two, calculate and analyze the difference relationship between the normal vectors of all points, and calculate the point P q Therefore, for each point, the k neighboring points in its neighborhood are calculated, and the computational complexity of PFH is approximately O(k 2 ), where k represents the number of neighboring points to be searched in the search neighborhood.

[0170] The specific steps for calculating the PFH value of the point feature histogram are as follows:

[0171] (1) For a given point cloud data, first select a query point p s And determine the search radius r.

[0172] (2) Use the K nearest neighbor method to search for the query point p within a given search radius r. s k adjacent points.

[0173] (3) Select any two points p in the search space i and p j , calculate their normal vector n i and n j Connect the two selected points and calculate the angle between the line and the normal vectors of the two points. The point with the smallest calculated angle is the source point p. s , and the other point is p t . As shown in formula (4).

[0174]

[0175] (4) Define a fixed coordinate system. s and pt , and its corresponding normal vector n s and n t , through the normal vector n s The direction of the fixed coordinate system uvw is defined, such as Figure 3 As shown, the calculation formula is shown in (5).

[0176]

[0177] (5) Using the fixed coordinate system uvw, calculate the normal vector n s and n t The deviation relationship between them can be expressed using another set of angle values ​​α, θ is used to represent the deviation relationship, as shown in formula (6).

[0178]

[0179] Where: d——point p t With point p s The distance between.

[0180] (6) For each key point, calculate their Three angle values, and each value is divided into 5 intervals, so that the index of 125 dimensions can be calculated. Then the number of point pairs in each dimension is counted and a histogram is formed. Each dimension of this histogram corresponds to a key point in Different combinations of the three values ​​reflect the distribution of these point pairs on these combinations. idx As shown in formula (7).

[0181]

[0182] Where: f i ——Change α, The normalized value of θ is rounded to an integer, f i ∈[0,4]. At the same time, it can ensure that h idx ∈[0,124] is an integer. The calculation dimension is shown in formula (8).

[0183]

[0184] Where: (p s ,p t )——query point network with the same h idx The point pair;

[0185] k s ——p s The number of neighboring points.

[0186] Fast Point Feature Histograms (FPFH) are improved on the basis of point feature histograms (PFH). Compared with PFH, the computational complexity of FPFH is O(k), which reduces the computational complexity and the amount of computation, thus improving the computational efficiency. FPFH introduces a method of histogram statistics of adjacent point attributes, avoiding the complex feature calculation process like PFH, retaining the description of the local geometric information of the point cloud as much as possible, and is suitable for processing large-scale point cloud data. Due to its fast computational speed, FPFH is suitable for application scenarios and fields that require high computational speed, such as robot navigation or real-time perception systems.

[0187] The calculation steps of FPFH are as follows:

[0188] (1) For the point P to be calculated q , with it as the center and r as the radius, find the k nearest neighboring points in the domain space, and compare the remaining points in the neighborhood space with point P q Connect the lines and find the corresponding Four values ​​are used to represent the positional relationship between two points. Compared with PFH, FPFH lacks the connection lines between adjacent points and calculates the Euclidean distance between adjacent points. Thus, a simplified point feature histogram SPFH is established, denoted as S(M q ).

[0189] (2) Point P q All neighboring points P k , according to step (1), re-establish the neighborhood space with radius r, and search for k neighboring points P in the neighborhood space k , get each neighboring point P k The SPFH value is denoted as S(M k ). Calculate point P based on this value q The FPFH value is denoted as F(M q ), the calculation formula is shown in formula (9).

[0190]

[0191] Where: w k ——Click P q The weighted value of the kth neighboring point;

[0192] ——Point P to be calculated q The distance between the kth neighboring point.

[0193] They are used to judge the relationship between point pairs. Figure 4 shown.

[0194] The features of the two sheet metal parts are described by the FPFH description method, and the parameters of the key functions are adjusted by the following code, such as Figure 5 shown.

[0195] fpfh.setRadiusSearch(1.5);

[0196] exist Figure 5 In the FPFH feature histogram, the X-axis [0,35] represents the relevant components of the surface shape of the sheet metal parts, and the Y-axis represents the FPFH values ​​in different intervals. It can be seen that for different sheet metal parts, their FPFH line graphs are quite different.

[0197] SAC-IA algorithm:

[0198] The ISS algorithm is used to extract point cloud feature points, the FPFH feature description algorithm is used to describe the point cloud features, and then the SAC-IA algorithm is used for coarse registration. The specific steps of the SAC-IC algorithm are as follows:

[0199] (1) Select sampling points: Select the points to be matched from the source point cloud to be registered and set the distance threshold d so that the distance between the points to be matched is greater than d, avoiding duplication or over-concentration of the selected point cloud, ensuring that the selected points to be matched are relatively dispersed and the FPFH values ​​of the sampling points are different. If the distance threshold d is set too large, the distribution of the selected points to be matched may be too sparse, unable to cover the important features of the point cloud, and may also reduce the accuracy of the registration; if the distance threshold d is set too small, the distribution of the selected points to be matched may be too dense, unable to reflect the overall shape of the point cloud, and may also increase the calculation time.

[0200] (2) Searching for corresponding points of the sampling points: Based on the calculated FPFH features of the point cloud to be matched, search for points in the target point cloud that are identical or similar to the sampling point features, and use them as corresponding points to the points to be matched in the source point cloud to be registered.

[0201] (3) Eliminate incorrect matching points: Set the corresponding distance l of the matching points to remove incorrect corresponding points to improve the accuracy of registration. Generally, if this parameter is set too small, some correct matching points may be eliminated, reducing the accuracy of registration; if this parameter is set too large, some incorrect matching points may be retained, increasing the registration error. Therefore, the setting of this parameter needs to be adjusted according to the actual situation such as the number of point clouds. Generally, the more point clouds there are, the larger this parameter can be set; the fewer point clouds there are, the smaller this parameter can be set.

[0202] (4) Setting the number of iterations: In order to prevent the algorithm from failing to converge and to limit the algorithm's running time, a maximum number of iterations will be set. If the algorithm has found a transformation matrix that meets all conditions before the maximum number of iterations is reached, the algorithm will end early; if the algorithm has not found a transformation matrix that meets all conditions after the maximum number of iterations is reached, the algorithm will return the current optimal transformation matrix. If the number of iterations is set too low, the algorithm may not be able to converge to a better solution, reducing the accuracy of the registration; if the number of iterations is set too high, the algorithm may waste time on some invalid iterations, increasing the calculation time.

[0203] (5) Calculate the change matrix: Calculate the rotation matrix and translation matrix between all corresponding point pairs, and then calculate the "distance error sum" function between the corresponding point sets based on the calculated change matrix, and use this function as an indicator for determining the registration performance, as shown in formula (10).

[0204]

[0205] Where: m l — a pre-set fixed value;

[0206] l i ——The points to be matched selected in the i-th group of point clouds to be registered are transformed and correspond to the points in the target point cloud

[0207] The distance difference between .

[0208] ICP Precision Registration:

[0209] After the point cloud is roughly aligned, the two groups of point clouds have a relatively good initial position and seem to have roughly overlapped, but the alignment effect at this time cannot actually meet the accuracy requirements, so it is necessary to continue to fine-align the point cloud after the rough alignment. The iterative nearest algorithm proposed by Besl and Mcaky and Chen and Medioni, the ICP algorithm, is the most commonly used in point cloud alignment, with the advantages of high processing efficiency, good stability, and high processing result accuracy.

[0210] Rigid body transformation matrix and solution:

[0211] The essence of point cloud registration is to transform the point clouds of the same object measured at different times, different positions, different directions, and different coordinate systems to the same coordinate system through rigid body transformation. Rigid body transformation can be divided into two aspects: translation transformation and rotation transformation. Suppose the two point clouds to be registered are the point cloud to be registered P and the target point cloud Q. The transformation from the point cloud to be registered P to the target point cloud Q can be expressed as M = R*P+T. Where T = (t x ,t y,t z ) T is the translation transformation matrix, and R is a 3×3 orthogonal matrix representing the rotation transformation. The transformation matrix H is shown in formula (11).

[0212]

[0213] Simplify it as shown in formula (12).

[0214]

[0215] Where: Represents the rotation transformation matrix;

[0216] T=[t x t y t z ] T Represents the translation transformation matrix;

[0217] V=[v x v y v z ] represents the perspective transformation matrix;

[0218] S – overall scaling factor.

[0219] Generally speaking, the point cloud data obtained by scanning the workpiece with a 3D scanner will not be deformed. Therefore, the rigid body transformation matrix H can usually be expressed as formula (13).

[0220]

[0221] The rotation transformation matrix R and the translation transformation matrix T are shown in equations (14) and (15).

[0222]

[0223] T 3×1 =[t x t y t z ] T (15)

[0224] Where: α, β, γ – the angles of rotation of the point cloud along the x-axis, y-axis, and z-axis;

[0225] t x ,t y ,t z ——The distance the point cloud is translated along the x-axis, y-axis, and z-axis.

[0226] According to formula (14), the rotation transformation matrix R 3×3 It can be expressed by formula (16).

[0227]

[0228] In order to determine the six parameters t in the above rigid body transformation matrix x ,t y ,t z ,α,β,λ, theoretically, at least six equations are needed. This requires selecting three pairs of non-collinear matching points in the overlapping area of ​​the roughly registered point cloud data: (P1, Q1), (P2, Q2) and (P3, Q3), in order to correctly calculate the parameter values ​​of the rigid body transformation matrix. As shown in equation (17).

[0229] Q=RP+T (17)

[0230] Assume the coordinates of point cloud data P are [X p Y p Z p ] T , the coordinates of Q are [X Q Y Q Z Q ] T .

[0231] Substituting equation (14) and equation (15) into equation (17), we can obtain:

[0232]

[0233] The essence of point cloud registration is to solve the rigid body transformation matrix between the model to be registered P and the target point cloud Q. The quaternion method and singular value decomposition method are used to solve the rigid body transformation matrix.

[0234] 1. Quaternion method

[0235] Faugeras and Hebert

[63] A method for calculating the rigid body transformation matrix parameters based on unit quaternion is proposed. A quaternion is a four-element vector composed of a real number and three imaginary numbers. The expression of the quaternion is shown in formula (19).

[0236] a=a0+a1i+a2j+a3k=[a0 a1 a2 a3] T (19)

[0237] In this formula, a0, a1, a2, a3 are real numbers, and i, j, k represent generalized imaginary units that are perpendicular to each other and satisfy i 2 =j 2 =k 2 = -1. The steps to solve the rigid body transformation matrix parameters using the quaternion method are as follows:

[0238] (1) Calculate the centroid C of point clouds P and Qp and C q , as shown in equations (20) and (21).

[0239]

[0240] Where: n is the number of point clouds in point cloud data P and Q;

[0241] P i , Q i ——Corresponding point pairs in two sets of point cloud data.

[0242] (2) Calculate the covariance matrix, as shown in formula (22).

[0243]

[0244] (3) Solve the circulant column vector Δ of the covariance matrix = [e 23 e 31 e 12 ], the three values ​​e in the formula 23 ,e 31 ,e 12 According to e ij =(EE T ),(i,j=1,2,3) to calculate.

[0245] (4) Use the covariance matrix E and the circulant column vector △ to construct a 4×4 symmetric matrix, as shown in formula (23).

[0246]

[0247] Where: I3——3×3 unit matrix;

[0248] tr(E) – trace of the covariance matrix E.

[0249] (5) To determine the eigenvalues ​​of the symmetric matrix M and its corresponding eigenvectors, it is necessary to select the eigenvector corresponding to the maximum eigenvalue. This eigenvector is the required quaternion value a = [a0 a1 a2 a3] T .

[0250] (6) Solve the rotation transformation matrix R and the translation transformation matrix T.

[0251]

[0252] T=C p -RC q (25)

[0253] 2. Singular Value Decomposition

[0254] Arun et al. proposed the singular value decomposition (SVD) method, which is a solution method that relies on matrix diagonalization. This algorithm is not only suitable for solving rotation and translation matrices, but also for calculating normals and curvatures of point cloud data.

[0255] Calculate the centroid and covariance matrix E of point clouds P and Q as shown in equations (26) and (27).

[0256]

[0257] Performing SVD decomposition on the covariance matrix E yields E = UΛV T , where Λ is a non-negative diagonal matrix consisting of the eigenvalues ​​of E, and U and V are both 3×3 unit orthogonal matrices. The rotation matrix R and translation matrix T can be calculated by equation (28).

[0258] R=UV T ,T=C p -RC q (28)

[0259] Traditional ICP algorithm:

[0260] The core idea of ​​point cloud registration is to select point p from the point cloud P to be registered, and then select the point p from the point cloud P to be registered. i , search for the point q with the closest Euclidean distance in the target point cloud i , and point p i The corresponding point pairs are formed, and the rigid body transformation matrix parameters are solved through continuous iteration. The rigid body transformation matrix parameters with the minimum value are taken through formula (29), which is used as the condition for terminating the iteration and realizing the point cloud position update.

[0261]

[0262] Where: R——rotation transformation matrix;

[0263] T——translation transformation matrix;

[0264] k – the number of corresponding points.

[0265] The principle of the ICP algorithm is to optimize the rigid body transformation matrix gradually through iteration, based on the nearest point matching between point cloud data, and find the corresponding point in the target point cloud with the smallest distance to the source point cloud; then, through this iterative process, the spatial position deviation of the two point clouds in the same coordinate system is gradually reduced until the termination condition of the iteration is met, so that the optimal spatial position relationship between the point clouds can be determined and the precise alignment of the point clouds can be achieved. Assume that the point cloud to be registered P is P = {p i ∈R 3 , i=1,2,…,n}, the target point cloud Q is Q={q i∈R 3 , i=1,2,…,n}.

[0266] The registration process of the ICP algorithm is as follows Figure 6 shown.

[0267] The specific process of the ICP algorithm is as follows:

[0268] (1) Sample the point cloud P to be registered, P0∈P, P0 is a subset of the point cloud P.

[0269] (2) Search the target point cloud Q for the point with the closest Euclidean distance corresponding to the point cloud subset P0.

[0270] Pq i -p i P=min (30)

[0271] (3) Set the maximum distance between corresponding points and remove erroneous point pairs that exceed this distance.

[0272] (4) Calculate the centroid of the point cloud data P and Q, as shown in formula (31).

[0273]

[0274] (5) Solve the rigid transformation matrix of the point cloud according to step (2) to obtain the rigid transformation parameters that satisfy equation (29), and apply the calculated rigid transformation matrix to the point cloud subset P0 to be registered to translate and rotate it, and update its coordinate information to obtain the new point cloud subset P1.

[0275] (6) Calculate the average distance of corresponding point pairs, as shown in equations (32) and (33).

[0276]

[0277] Where: d k ——Average distance after k iterations;

[0278] d k+1 ——The average distance after iteration k+1 times.

[0279] According to the difference d between the two iterations k -d k+1 To determine whether the iteration is over, if the absolute value of the difference is greater than the set threshold τ, return to step (2) to continue the iteration; if the difference is less than the preset threshold τ, the algorithm converges and stops the iteration.

[0280] The ICP algorithm is used to accurately align the point cloud data.

[0281] Improved ICP algorithm:

[0282] In the field of point cloud registration, the traditional ICP algorithm plays an extremely important role and has many advantages over other algorithms. This algorithm can directly find matching points for registration without performing point cloud segmentation or other preprocessing steps; it can achieve high-precision point cloud registration by iteratively solving the rigid body transformation matrix and minimizing the distance between the point cloud to be registered and the target point cloud. However, this algorithm also has some shortcomings:

[0283] (1) The ICP algorithm has high requirements for the initial position of the point cloud. If the distance between two point clouds is far, the registration may fall into a local optimal solution, making it impossible to achieve the optimal registration result, affecting the accuracy of the registration and even causing registration failure.

[0284] (2) The ICP algorithm searches for corresponding points of the point cloud to be registered in the target point cloud. Since every point in the target point cloud participates in the search, when the point cloud data scale is large, it will lead to a large amount of calculation and require more computing resources to process the data, thereby increasing the calculation time and reducing the calculation efficiency.

[0285] (3) The ICP algorithm will cause a large number of erroneous point pairs in the process of searching for corresponding point pairs, which will reduce the registration accuracy and affect the final registration result; it will slow down the convergence speed. The algorithm needs to deal with more errors and it is difficult to converge to the optimal solution quickly. More iterations are required to obtain better registration results.

[0286] In view of the above three shortcomings, this implementation method proposes the following improvement measures:

[0287] (1) According to the characteristics of point cloud data, the kd tree algorithm is used to search for corresponding point pairs and improve the search efficiency.

[0288] (2) The ISS algorithm is used to extract key feature points, and point cloud registration is performed by matching these significant feature points to improve the registration speed. In addition, the parameters of the ISS algorithm can be dynamically adjusted according to actual conditions such as point cloud density and curvature changes, so that it can adapt to feature extraction in different scenarios.

[0289] (3) By combining FPFH and SAC-IA algorithms to achieve rough registration before precise registration of point clouds, a better initial position is provided for the point cloud, thus laying a good foundation for ICP algorithm registration. By calculating the FPFH value to express the local geometric features of the point cloud, a more informative feature descriptor is provided for SAC-IA rough registration, which helps to estimate the initial correspondence more accurately; by using the SAC-IA algorithm rough registration to provide a better initial position for the ICP algorithm, the sensitivity of the ICP algorithm to the initial position is reduced, so that the ICP algorithm can start iteration at a better starting point, and at the same time better solve the problem that the ICP algorithm is prone to fall into the local optimal solution. In addition, since SAC-IA provides a better initial registration result, it helps the ICP algorithm converge to the optimal solution faster, reduces the number of algorithm iterations, and improves the efficiency of registration.

[0290] The specific steps to improve the ICP algorithm are as follows: Figure 7 shown.

[0291] The technical solution provided by the present invention is further described in detail above through several specific implementation modes in order to highlight the advantages and benefits of the technical solution provided by the present invention. However, the several specific implementation modes described above are not intended to be used as limitations on the present invention. Any reasonable modification and improvement of the present invention, combination of implementation modes and equivalent substitution within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. A method for point cloud data registration, characterized in that: Methods include: Steps for extracting feature points of point cloud data; A step of describing the feature points; A step of roughly registering the point cloud data according to the description result; A step of performing precise alignment on the rough registration result.

2. A method for point cloud data registration according to claim 1, characterized in that: The feature points of point cloud data are extracted using the ISS feature point extraction algorithm.

3. A method for point cloud data registration according to claim 1, characterized in that: The extracted feature points are described using the FPFH descriptor to obtain local geometric features.

4. The method for point cloud data registration according to claim 1, characterized in that: The feature points are roughly aligned using the SAC-IA algorithm to obtain the initial alignment positions between the point cloud data.

5. The method for point cloud data registration according to claim 1, characterized in that: Precise alignment is performed using the ICP algorithm.

6. A method for point cloud data registration according to claim 5, characterized in that: The corresponding point pairs are searched through the kd tree algorithm.

7. A device for point cloud data registration, characterized in that: The device includes: Module for extracting feature points of point cloud data; A module for describing the feature points; A module for coarsely registering point cloud data according to the description results; A module for performing precise alignment on the rough registration result.

8. A computer storage medium for storing a computing program, characterized in that: When the computer reads the computer program, the computer executes the method of claim 1.

9. A computer, comprising a processor and a storage medium, characterized in that: When the processor reads the computer program stored in the storage medium, the computer executes the method of claim 1 .

10. A computer program product, being a computer program, characterized in that When the computer program is executed, the method of claim 1 is implemented.

Citation Information

Patent Citations

  • Complex mechanical part measurement point cloud registration method and system based on improved ICP

    CN115797418A

  • Point cloud registration method based on second-order space compatibility measurement

    CN117132630A

Cited By

  • Three-dimensional reconstruction method of sheet metal part

    CN119379914A

  • Vehicle-mounted screen testing method and device based on mechanical arm

    CN120008951A