A plane-based point cloud registration and precision evaluation method

By employing a plane-based point cloud registration method, the matching planes are extracted and precisely matched using the RANSAC algorithm. The weighted average displacement vector magnitude is then calculated, which solves the problems of high computational complexity and insufficient accuracy in point cloud registration, thus achieving efficient and accurate point cloud registration and evaluation.

CN116342667BActive Publication Date: 2026-02-10UNIV OF ELECTRONICS SCI & TECH OF CHINA
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310266645.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-19
Publication Date
2026-02-10
Estimated Expiration
2043-03-19

AI Technical Summary

Technical Problem

Existing point cloud registration methods suffer from high computational complexity, insufficient accuracy, and poor robustness. In particular, they are difficult to achieve efficient and accurate registration and accuracy assessment in the case of unordered point clouds.

Method used

A plane-based point cloud registration method is adopted. The RANSAC algorithm is used to extract matching plane pairs between the source point cloud and the target point cloud. The points on the plane are matched precisely, and the magnitude of the weighted average displacement vector is calculated to evaluate the registration accuracy, thereby reducing computational complexity and improving accuracy.

Benefits of technology

It effectively improves the accuracy and robustness of point cloud registration, reduces computational time complexity, is applicable to unordered point clouds, and has higher reliability and universality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116342667B_ABST
    Figure CN116342667B_ABST
Patent Text Reader

Abstract

The present application relates to computer vision, point cloud registration, more particularly, to a plane-based point cloud registration and accuracy evaluation method. The main idea is to use the planes contained in the point cloud to realize the registration and accuracy evaluation of the point cloud, improve the accuracy of point pair matching, reduce the interference of noise and point cloud density, and reduce the computational complexity of point cloud registration accuracy evaluation. The main scheme includes steps 1, respectively taking the centers of gravity of the source point cloud P and the target point cloud Q as G P , G Q , then using the RANSAC algorithm to extract the plane point cloud, and determining a plurality of matching plane pairs of the source point cloud and the target point cloud; step 2, pairing the points on the matching plane pair, completing the accurate pairing of the inliers in the matching plane m and the plane n; step 3, calculating the average moving vector of the accurately paired point pairs in the two point clouds, and calculating the module of the weighted average displacement vector as the evaluation accuracy.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to computer vision and point cloud registration, and more specifically, to a planar point cloud registration and accuracy evaluation method. Technical Background

[0002] With the rapid development of 3D sensing technologies such as LiDAR and other high-precision sensors, 3D data of objects is becoming increasingly easy to acquire and widely used. Point clouds, as a common 3D data model, possess excellent spatial representation capabilities. They not only preserve the original 3D geometric structure but also accurately depict surface features and other depth information, such as coordinates and vectors. Therefore, point cloud research has enormous potential and wide-ranging applications in autonomous driving, 3D reconstruction, automotive welding, mining subsidence, and building renovation. Currently, common 3D scanners are categorized as follows:

[0003] Laser scanners: Laser 3D scanners utilize the principle of laser ranging to quickly reconstruct a 3D model of the measured object and various graphic data such as lines, surfaces, and volumes by recording the 3D coordinates, reflectivity, and texture of a large number of dense points on the surface of the object. They are primarily used in reverse engineering for surface digitization and 3D measurement of workpieces. For existing 3D objects (samples or models) without technical documentation, they can quickly measure the object's contour set data, construct, edit, and modify it to generate a digital surface model in a universal output format.

[0004] Depth cameras: These use near-infrared lasers to project light with structural features onto objects, and then use infrared cameras to collect depth information, such as Microsoft's Kinect and Kinect 2.

[0005] Binocular camera: Uses two cameras to acquire two images of an object from different locations. By calculating the positional deviation of corresponding points, the three-dimensional coordinates of the points are calculated using triangulation. Advantages include low cost, applicability both indoors and outdoors, and sensitivity to ambient light. Disadvantages include a baseline limiting the measurement range.

[0006] Point clouds obtained based on laser measurement principles include three-dimensional coordinates and laser reflection intensity. The intensity information is related to the target's surface material, roughness, incident angle, as well as the instrument's emission energy and laser wavelength. Point clouds obtained based on photogrammetry principles include three-dimensional coordinates and color information. Point clouds obtained by combining laser measurement and photogrammetry principles include three-dimensional coordinates, laser reflection intensity, and color information.

[0007] Based on their compositional characteristics, point clouds can be classified into two types: ordered point clouds and unordered point clouds. Ordered point clouds are generally reconstructed from depth maps, arranged row by row from the top left to the bottom right of the map matrix, although some points may be invalid. Ordered point clouds are arranged sequentially, making it easy to find neighboring points. While convenient in certain processing scenarios, ordered point clouds are often unavailable. Unordered point clouds are simply collections of points on an object's surface; the points are arranged without any order and their density is uneven. Changing the order of the points has no effect, making it a more common form of point cloud. Ordered point clouds can also be treated as unordered point clouds. This article focuses on unordered point clouds acquired by laser 3D scanning equipment.

[0008] 3D scanning measurement equipment is limited by the measurement method and the shape of the object being measured, and can only scan a limited area of ​​the object at a time to obtain partial point cloud data. This necessitates multiple scans from multiple perspectives, with each scan acquiring a portion of the point cloud data. However, the point cloud data obtained from each perspective has an independent coordinate system, making direct stitching impossible. Therefore, it is necessary to transform the coordinates of the point clouds acquired from each perspective to unify them into a global coordinate system. Specifically, this process involves establishing the relationship between each point in one point cloud (target point cloud) and the corresponding point in another point cloud (source point cloud) to achieve the transformation between the two point cloud coordinate systems; this process is called point cloud registration. After point cloud registration is achieved, the accuracy of the registration should be evaluated to assess the quality of the registration algorithm.

[0009] Currently, the registration accuracy of point clouds is mainly evaluated by using the nearest point search accuracy test method for matching point pairs, and calculating the root mean square error.

[0010]

[0011] Where p i For a point in the target point cloud P, q i Let p be a point in the source point cloud Q, and N be the number of pairs of points registered between the two point clouds. i and q i For a pair of corresponding points, the meaning is q i It is the midpoint p of the Q-axis of the point cloud. i The nearest point. If several points are equidistant, the point with the highest laser reflection intensity is selected as the corresponding point. For the two registered point clouds, err RMSE The smaller the value, the higher the registration accuracy between the two point clouds.

[0012] The above-mentioned method uses the nearest point as the matching point pair and calculates the root mean square error of the distance between the matching point pairs to verify the registration accuracy. This method has relatively uniform sampling, but its time complexity is high, requiring traversal of all points in the point cloud. Furthermore, relying solely on distance to pair corresponding points results in insufficient accuracy. Therefore, it is essential to seek a point cloud registration accuracy evaluation method with lower time complexity, containing more point cloud information, and higher precision.

[0013] A classic point cloud registration method is the ICP algorithm, or the nearest point iteration method. It scans to obtain the nearest point set for each point set, performs mathematical calculations to obtain a new nearest point set, and terminates the iteration when the target function value no longer changes. Essentially, it's a least-squares algorithm used to solve irregular surface problems. The first step of the ICP algorithm iteration is crucial; it needs to determine that each point set corresponds to another point set, i.e., that there are corresponding points. Then, under a certain optimization criterion, the two point cloud datasets are registered. However, the ICP algorithm has several problems. During the first iteration, the computational load is enormous, resulting in slow speed. For large workloads, this algorithm cannot achieve accurate and fast registration. Furthermore, the ICP algorithm has extremely high requirements for the initial position; the registered data may not be completely overlapping, nor may it be the optimal solution.

[0014] The point cloud registration method described in "Point Cloud Registration and Rotation Transformation Method, Point Cloud Registration Method, Device, and Readable Storage Medium" involves selecting the two farthest points in the point cloud and denoteing the line connecting these two points as the feature axis x. The point cloud is then projected onto a plane with the feature axis x as its normal vector, resulting in a projected point cloud. Next, the two farthest points in the projected point cloud are selected, and the line connecting these two points is denoteed as the feature axis y. The normal vectors perpendicular to the feature axes x and y are denoteed as the feature axis z. The three feature axes are normalized to obtain unit eigenvectors, which are then used to form a rotation matrix R. Finally, a rotation transformation is performed on the point cloud. While this method has relatively low computational complexity, it relies on only a few points in the point cloud for registration, resulting in significant registration quality errors and susceptibility to noise.

[0015] In the research on point cloud registration accuracy methods, the method used in "Evaluation Method, Apparatus, Electronic Equipment, and Readable Storage Medium for Point Cloud Registration Technology" involves determining at least one first key point for each point in the first point cloud data, as well as matching points for each first key point, after point cloud registration; obtaining the positional distribution characteristics of the first key points and the error distribution characteristics of the matching points; and then obtaining the point cloud registration accuracy based on the error distribution characteristics of the matching points. This method places high demands on the selection of key points and determines registration accuracy through a small number of points, making it susceptible to noise and exhibiting relatively poor robustness.

[0016] The method described in "Evaluation Method, Apparatus, Equipment, and Storage Medium for Point Cloud Registration Results" involves acquiring source and target point clouds, registering them, and obtaining the corresponding rotation and translation matrices. The target point cloud registration result is then calculated based on a preset camera imaging strategy to obtain the target's two-dimensional overlap rate. Finally, the target point cloud registration result is evaluated based on the target's two-dimensional overlap rate and the two-dimensional overlap rate of a preset model to obtain the corresponding evaluation result. This method utilizes the pixel coordinate information of the point cloud, requiring the point cloud acquisition method to be a binocular vision sensor, and must acquire the pixel coordinate information of the point cloud. It has specific requirements for the equipment used to acquire the point cloud and is not applicable to point clouds acquired by other 3D scanning and measurement equipment.

[0017] In the paper "Reconstruction of Ancient Buildings Based on 3D Laser Scanning and UAV Oblique Photogrammetry," the registration accuracy is verified by selecting feature points from both the source point cloud model and the registered point cloud model. However, since the source point cloud is already part of the registration data, the coordinates of points extracted from the point cloud model may completely overlap with those extracted from the source point cloud model. Therefore, this accuracy verification method may lead to inaccurate results. Summary of the Invention

[0018] The purpose of this invention is to utilize the planes contained in point clouds to achieve point cloud registration and accuracy evaluation, improve the accuracy of point pair matching, reduce the interference of noise and point cloud density, and reduce the computational time complexity of point cloud registration accuracy evaluation.

[0019] To achieve the above objectives, the present invention employs the following technical means:

[0020] This invention provides a planar point cloud registration and accuracy evaluation method, comprising the following steps:

[0021] Step 1: Extract the centroid positions of the source point cloud P and the target point cloud Q, and denote them as G. P G Q Then, the RANSAC algorithm is used to extract planar point clouds and determine several matching plane pairs between the source point cloud and the target point cloud.

[0022] Step 2: Pair the points on the matching planes to complete the fine pairing of points in matching plane m and plane n;

[0023] Step 3: Calculate the average movement vector of the perfectly matched point pairs in the two point clouds, and calculate the weighted average displacement vector. The model is used as the evaluation accuracy.

[0024] In the above technical solution, step 1 includes the following steps:

[0025] Step 1.1: Preprocess the source point cloud P and the target point cloud Q respectively. Use uniform sampling to make the distribution of points in the point cloud relatively uniform in space, and extract the centroid position of the two and record it as G. P G Q ;

[0026] Step 1.2: Use the RANSAC algorithm to extract planar point clouds from the source point cloud P, search for the top i planes with the most points, and add them to the plane set V, where the value of i is set by the user: 4≤i≤20.

[0027] Step 1.3: Use the RANSAC algorithm to extract several planes from the target point cloud Q, and find the point cloud planes that match the planes in the plane set V to obtain the matching plane pairs {m}. i ,n i};

[0028] In the above technical solution, step 1.3 specifically includes the following steps:

[0029] 1.3.1 Determine if the planar set V is empty; if so, the process terminates.

[0030] 1.3.2. Select the plane point cloud with the most points from the plane set V, denoted as plane m, calculate the area S of plane m, and calculate the centroid G of the source point cloud. p The distance l to plane m;

[0031] 1.3.3 Find the matching plane of plane m in the target point cloud Q;

[0032] 1.3.4 Remove plane m from the plane set V. If a matching plane is found, remove the points contained in the matching plane n from the target point cloud Q to obtain the matching plane pair m and n, and return to process 1.3.1.

[0033] In the above technical solution, step 1.3.3 specifically includes the following steps:

[0034] 1.3.3.1 Extract the j-th planes containing the most points from the target point cloud Q, and calculate the area S of each of the j-th planes. j Determine the area S of each plane. j The difference between the area S of plane m and the area of ​​plane m, if |S j If -S|<η, then it represents the area S of the plane. j If the area S of the plane is close to that of m, then the plane is added to the undetermined plane set H1, j = 3, η = 0.05*S. If the undetermined plane set H1 is not empty after traversing j planes, then proceed to process 1.3.3.2; otherwise, the value of η can be adjusted to expand the search range for matching planes: when η is less than 0.12*S, take η = η + 0.01*S, and re-determine whether the area of ​​the j planes satisfies |Sj -S|<η, the plane that meets the condition is added to the set of undetermined planes H1; if the set of undetermined planes H1 is still empty until η is greater than or equal to 0.12*S, it is determined that there is no plane matching plane m in the target point cloud Q, plane m is deleted from V and the process jumps to process 1.3.1;

[0035] 1.3.3.2 Calculate the centroid G of each undetermined plane in the undetermined plane set H1 to the target point cloud. Q The distance is denoted as l. j Determine the centroid G of each undetermined plane in the undetermined plane set H1 to the target point cloud. Q The difference between the distance and the distance l, if |l j -l|<ε indicates that the centroid G of the plane to the target point cloud is... Q The distance from the plane m to the cloud centroid G of the source point p If the distances are close, the planes are recorded in the undetermined plane set H2, with ε = 0.05 * l. If the undetermined plane set H2 is not empty after traversing all planes in the undetermined plane set H1, then proceed to process 1.3.3.3. If it is empty, the value of ε can be adjusted to expand the search range for matching surfaces: when ε is less than 0.20 * l, take ε = ε + 0.05 l, and re-determine the centroid G of the planes in the undetermined plane set H1 to the target point cloud. Q The relationship between the distance and the distance l is determined, and planes that meet the conditions are added to the set of undetermined planes H2; if the set of undetermined planes H2 is still empty until ε is greater than or equal to 0.20*l, it is determined that there is no plane matching m in the target point cloud at this time, the m plane is deleted from V and the process jumps to process 1.3.1.

[0036] 1.3.3.3 The final determination of the matching plane has the following two possibilities:

[0037] i. If there is only one plane in the set of undetermined planes H2, then directly denote that plane as the matching plane n, which is a matching plane with plane m;

[0038] ii. If the number of planes in the set of undetermined planes H2 is greater than 1, it means that there are multiple planes in the target point cloud that have a relatively close area S and distance l with plane m. One of these planes needs to be determined as the matching plane. The specific method is as follows: select several points uniformly on plane m, search for matching points between each undetermined plane in the set of undetermined planes H2 and the selected points on plane m, calculate the average Euclidean distance k between plane m and all matching points on each plane in the set of undetermined planes H2, and select the undetermined plane with the smallest k as the matching plane n of plane m.

[0039] In the above technical solution, step 2 includes the following steps:

[0040] Step 2.1: Downsample the two matched planes m and n to obtain sparse point clouds. Use the nearest distance point search to coarsely pair the sparse point clouds in plane m and plane n to obtain point pairs.

[0041] Step 2.2: Select any pair of points from the points that have completed coarse registration as references. The point on plane m is denoted as p0, and the point on plane n is denoted as q0. Set the number of neighborhood points as χ. Add the χ points closest to p0 to the neighborhood point set M of p0, and delete all points contained in the neighborhood point set M from plane m. Add the 2χ points closest to the matching point q0 from p0 to the neighborhood point set N of q0, and delete all points contained in N from plane n.

[0042] Step 2.3: Calculate the Euclidean distance d between each point in the neighborhood point set M and point p0. x Calculate the Euclidean distance D between each point in the neighborhood set N and point q0. y Calculate the distances between point p0 and the centroid G. P The connection and the center of gravity G P The angle α formed by the lines connecting the points to each point in the neighborhood set M. x Calculate the relationship between point q0 and centroid G. Q The connection and G Q The angle β formed by the lines connecting the points to the neighboring point set N. y It is stored in the form of a hash table;

[0043] Step 2.4: Find matching points in neighborhood point set M within neighborhood point set N;

[0044] Step 2.5: Determine if there are any points in planes m and n, i.e., determine if they are empty. If neither is empty, proceed to step 2.2; otherwise, there are two possibilities:

[0045] If 'in' is empty, the process ends.

[0046] ii. If n is not empty, the process ends after finding the matching point of n in the set of remaining points R by the method of searching for the nearest point;

[0047] At this point, the points in plane m and plane n have been precisely paired.

[0048] In the above technical solution, step 2.4 specifically includes:

[0049] 2.4.1 Determine if the neighborhood point set M is empty at this time. If it is, proceed to step 2.5.

[0050] 2.4.2 Randomly select a point p from the neighborhood point set M. x Iterate through all points in the neighborhood point set N. If |D y -dx If |<τ, then record the point in the undetermined point set C1, where τ=0.1*d x If the set of undetermined points C1 is not empty after traversing all points in the neighborhood point set N, then proceed to process 2.4.3. If it is empty, the value of τ can be adjusted to expand the search range for matching points: when τ is less than 0.15*d x When τ = τ + 0.01*d x Re-traverse all points in the neighborhood point set N, and add points that meet the conditions to the undetermined point set C1; if until τ is greater than or equal to 0.15*d x If the set of points to be determined, C1, is still empty, then it is determined that p does not exist in the neighborhood set N at this time. x The matching point is removed from the neighborhood point set M and added to the remaining point set R. Then, proceed to process 2.4.1.

[0051] 2.4.3. Traverse all points in the undetermined point set C1. If |β y -α x If |<δ, then the point is added to the undetermined point set C2, where δ = π / 6. If the undetermined point set C2 is not empty after traversing all points in C1, proceed to step 2.4.4. If it is empty, the value of δ can be adjusted to expand the search range for matching points: when δ is less than π / 4, take δ = δ + π / 24, and traverse all points in the undetermined point set C1 again. Points that meet the conditions are added to the undetermined point set C2. If the undetermined point set C2 is still empty until τ is greater than or equal to π / 4, then it is determined that p does not exist in the neighborhood point set N at this time. x If the matching point is not found, then the point is removed from the neighborhood point set M and added to the remaining point set R, and the process jumps to step 2.4.1;

[0052] 2.4.4 Calculate the distance from all points in the undetermined point set C2 to point p. x Given the Euclidean distance, select the point with the shortest Euclidean distance as p. x matching point q y Registration is complete; remove point p from neighborhood point set M and neighborhood point set N. x and its matching point q y Jump to process 2.4.1.

[0053] In the above technical solution, step 3 includes the following steps:

[0054] Step 3.1: Calculate the mean values ​​of the displacement vectors in the x, y, and z directions for the i-th pair of matched points on the plane after the perfect pairing is completed:

[0055]

[0056]

[0057]

[0058] Where k is the number of matching point pairs on the i-th plane, and N i (x), N i (y), N i (z) represents the average difference in the three displacement directions of the point pair on the i-th pair of matching planes, and p represents the j-th pair of matching points on the i-th pair of planes. j and q j The coordinates are respectively (p xj ,p yj ,p zj ) and (q xj ,q yj ,q zj );

[0059] Step 3.2: Calculate the weighted average displacement vector The formula is as follows:

[0060]

[0061] Where v is the number of matching plane pairs in the source and target point clouds, and S i For the i-th pair of matching planes m i and n i The sum of areas, ∑S is the sum of the areas of all matching planes, that is... Weighted average displacement vector The direction is the direction in which the target point cloud should move towards the source point cloud, and the magnitude is the moving distance. The smaller the magnitude, the higher the registration accuracy. Therefore, a weighted average displacement vector can be used. absolute value To evaluate the matching accuracy between the target point cloud and the source point cloud.

[0062] Because the present invention employs the above-mentioned technical means, it has the following beneficial effects:

[0063] 1. This invention effectively improves the accuracy of point pairing when evaluating point cloud registration accuracy, effectively utilizes the planar geometric features of point clouds, reduces the error of judging matching point pairs solely based on distance, can objectively evaluate the registration accuracy of point clouds, and improves the computational efficiency of registration accuracy evaluation.

[0064] 2. It effectively utilizes the planar geometric features of point clouds, enabling objective evaluation of point cloud registration accuracy and improving the robustness of registration accuracy evaluation.

[0065] 3. It adopts downsampling and uses the angle information in the point cloud to determine the matching point pairs, which has higher reliability than the traditional method of relying solely on distance to determine the matching point pairs.

[0066] 4. For disordered point clouds, the acquisition equipment is simpler and more universal.

[0067] 5. It reduces the time complexity of evaluating point cloud registration accuracy. Accuracy evaluation can be completed by extracting part of the feature plane point cloud without traversing all the points. Attached Figure Description

[0068] Figure 1 This is a simplified flowchart of the present invention;

[0069] Figure 2 A flowchart for planar matching search between source and target point clouds;

[0070] Figure 3 A flowchart for pairing points on a corresponding plane. Detailed Implementation

[0071] The embodiments of the present invention will be described in detail below. Although the present invention will be described and illustrated in conjunction with some specific embodiments, it should be noted that the present invention is not limited to these embodiments. On the contrary, any modifications or equivalent substitutions made to the present invention should be covered within the scope of the claims of the present invention.

[0072] Furthermore, to better illustrate the present invention, numerous specific details are set forth in the following detailed embodiments. Those skilled in the art will understand that the present invention can be practiced without these specific details.

[0073] This invention provides a planar point cloud registration and accuracy evaluation method, comprising the following steps:

[0074] Step 1: Extract the centroid positions of the source point cloud P and the target point cloud Q, and denote them as G. P G Q Then, the RANSAC algorithm is used to extract planar point clouds and determine several matching plane pairs between the source point cloud and the target point cloud.

[0075] Step 2: Pair the points on the matching planes to complete the fine pairing of points in matching plane m and plane n;

[0076] Step 3: Calculate the average movement vector of the perfectly matched point pairs in the two point clouds, and calculate the weighted average displacement vector. The model is used as the evaluation accuracy.

[0077] In the above technical solution, step 1 includes the following steps:

[0078] Step 1.1: Preprocess the source point cloud P and the target point cloud Q respectively. Use uniform sampling to make the distribution of points in the point cloud relatively uniform in space, and extract the centroid position of the two and record it as G. P G Q ;

[0079] Step 1.2: Use the RANSAC algorithm to extract planar point clouds from the source point cloud P, search for the i planes with the most points, and include them in the plane set V, where the value of i is set by the user 4≤i≤20; the larger i is, the more planes are in V and the higher the matching accuracy, but the amount of computation will increase significantly.

[0080] Step 1.3: Use the RANSAC algorithm to extract several planes from the target point cloud Q, and find the point cloud planes that match the planes in the plane set V to obtain the matching plane pairs {m}. i ,n i};

[0081] In the above technical solution, step 1.3 specifically includes the following steps:

[0082] 1.3.1 Determine if the planar set V is empty; if so, the process terminates.

[0083] 1.3.2. Select the plane point cloud with the most points from the plane set V, denoted as plane m, calculate the area S of plane m, and calculate the centroid G of the source point cloud. p The distance l to plane m;

[0084] 1.3.3 Find the matching plane of plane m in the target point cloud Q;

[0085] 1.3.4 Remove plane m from the plane set V. If a matching plane is found, remove the points contained in the matching plane n from the target point cloud Q to obtain the matching plane pair m and n, and return to process 1.3.1.

[0086] In the above technical solution, step 1.3.3 specifically includes the following steps:

[0087] 1.3.3.1 Extract the j-th planes containing the most points from the target point cloud Q, and calculate the area S of each of the j-th planes. j Determine the area S of each plane. j The difference between the area S of plane m and the plane m, if |S j If -S|<η, then it represents the area S of the plane. j If the area S of the plane is close to that of m, then the plane is added to the undetermined plane set H1, j = 3, η = 0.05*S. If the undetermined plane set H1 is not empty after traversing j planes, then proceed to process 1.3.3.2; otherwise, the value of η can be adjusted to expand the search range for matching planes: when η is less than 0.12*S, take η = η + 0.01*S, and re-determine whether the area of ​​the j planes satisfies |S j-S|<η, the plane that meets the condition is added to the set of undetermined planes H1; if the set of undetermined planes H1 is still empty until η is greater than or equal to 0.12*S, it is determined that there is no plane matching plane m in the target point cloud Q, plane m is deleted from V and the process jumps to process 1.3.1;

[0088] 1.3.3.2 Calculate the centroid G of each undetermined plane in the undetermined plane set H1 to the target point cloud. Q The distance is denoted as l. j Determine the centroid G of each undetermined plane in the undetermined plane set H1 to the target point cloud. Q The difference between the distance and the distance l, if |l j -l|<ε indicates that the centroid G of the plane to the target point cloud is... Q The distance from the plane m to the source cloud centroid G p If the distances are close, the planes are recorded in the undetermined plane set H2, with ε = 0.05 * l. If the undetermined plane set H2 is not empty after traversing all planes in the undetermined plane set H1, then proceed to process 1.3.3.3. If it is empty, the value of ε can be adjusted to expand the search range for matching surfaces: when ε is less than 0.20 * l, take ε = ε + 0.05 l, and re-determine the centroid G of the planes in the undetermined plane set H1 to the target point cloud. Q The relationship between the distance and the distance l is determined, and planes that meet the conditions are added to the set of undetermined planes H2; if the set of undetermined planes H2 is still empty until ε is greater than or equal to 0.20*l, it is determined that there is no plane matching m in the target point cloud at this time, the m plane is deleted from V and the process jumps to process 1.3.1.

[0089] 1.3.3.3 The final determination of the matching plane has the following two possibilities:

[0090] i. If there is only one plane in the set of undetermined planes H2, then directly denote that plane as the matching plane n, which is a matching plane with plane m;

[0091] ii. If the number of planes in the set of undetermined planes H2 is greater than 1, it means that there are multiple planes in the target point cloud that have a relatively close area S and distance l with plane m. One of these planes needs to be determined as the matching plane. The specific method is as follows: select several points uniformly on plane m, search for matching points between each undetermined plane in the set of undetermined planes H2 and the selected points on plane m, calculate the average Euclidean distance k between plane m and all matching points on each plane in the set of undetermined planes H2, and select the undetermined plane with the smallest k as the matching plane n of plane m.

[0092] In the above technical solution, step 2 includes the following steps:

[0093] Step 2.1: Downsample the two matched planes m and n to obtain sparse point clouds. Use the nearest distance point search to coarsely pair the sparse point clouds in plane m and plane n to obtain point pairs.

[0094] Step 2.2: Select any pair of points from the points that have completed coarse registration as references. The point on plane m is denoted as p0, and the point on plane n is denoted as q0. Set the number of neighborhood points as χ. Add the χ points closest to p0 to the neighborhood point set M of p0, and delete all points contained in the neighborhood point set M from plane m. Add the 2χ points closest to the matching point q0 from p0 to the neighborhood point set N of q0, and delete all points contained in N from plane n.

[0095] Step 2.3: Calculate the Euclidean distance d between each point in the neighborhood point set M and point p0. x Calculate the Euclidean distance D between each point in the neighborhood set N and point q0. y Calculate the distances between point p0 and the centroid G. P The connection and the center of gravity G P The angle α formed by the lines connecting the points to each point in the neighborhood set M. x Calculate the relationship between point q0 and centroid G. Q The connection and G Q The angle β formed by the lines connecting the points to the neighboring point set N. y It is stored in the form of a hash table;

[0096] Step 2.4: Find matching points in neighborhood point set M within neighborhood point set N;

[0097] Step 2.5: Determine if there are any points in planes m and n, i.e., determine if they are empty. If neither is empty, proceed to step 2.2; otherwise, there are two possibilities:

[0098] If 'in' is empty, the process ends.

[0099] ii. If n is not empty, the process ends after finding the matching point of n in the set of remaining points R by the method of searching for the nearest point;

[0100] At this point, the points in plane m and plane n have been precisely paired.

[0101] In the above technical solution, step 2.4 specifically includes:

[0102] 2.4.1 Determine if the neighborhood point set M is empty at this time. If it is, proceed to step 2.5.

[0103] 2.4.2 Randomly select a point p from the neighborhood point set M. x Iterate through all points in the neighborhood point set N. If |D y -dx If |<τ, then record the point in the undetermined point set C1, where τ=0.1*d x If the set of undetermined points C1 is not empty after traversing all points in the neighborhood point set N, then proceed to process 2.4.3. If it is empty, the value of τ can be adjusted to expand the search range for matching points: when τ is less than 0.15*d x When τ = τ + 0.01*d x Re-traverse all points in the neighborhood point set N, and add points that meet the conditions to the undetermined point set C1; if until τ is greater than or equal to 0.15*d x If the set of points to be determined, C1, is still empty, then it is determined that p does not exist in the neighborhood set N at this time. x The matching point is removed from the neighborhood point set M and added to the remaining point set R. Then, proceed to process 2.4.1.

[0104] 2.4.3. Traverse all points in the undetermined point set C1. If |β y -α x If |<δ, then the point is added to the undetermined point set C2, where δ = π / 6. If the undetermined point set C2 is not empty after traversing all points in C1, proceed to step 2.4.4. If it is empty, the value of δ can be adjusted to expand the search range for matching points: when δ is less than π / 4, take δ = δ + π / 24, and traverse all points in the undetermined point set C1 again. Points that meet the conditions are added to the undetermined point set C2. If the undetermined point set C2 is still empty until τ is greater than or equal to π / 4, then it is determined that p does not exist in the neighborhood point set N at this time. x If a matching point is found, the point is removed from the neighborhood point set < and added to the remaining point set R. Then proceed to process 2.4.1.

[0105] 2.4.4 Calculate the distance from all points in the undetermined point set C2 to point p. x Given the Euclidean distance, select the point with the shortest Euclidean distance as p. x matching point q y Registration is complete; remove point p from neighborhood point set M and neighborhood point set N. x and its matching point q y Jump to process 2.4.1.

[0106] In the above technical solution, step 3 includes the following steps:

[0107] Step 3.1: Calculate the mean values ​​of the displacement vectors in the x, y, and z directions for the i-th pair of matched points on the plane after the perfect pairing is completed:

[0108]

[0109]

[0110]

[0111] Where k is the number of matching point pairs on the i-th plane, and N i (x), N i (y), N i (z) represents the average difference in the three displacement directions of the point pair on the i-th pair of matching planes, and p represents the j-th pair of matching points on the i-th pair of planes. j and q j The coordinates are respectively (p xj ,p yj ,p zj ) and (q xj ,q yj ,q zj );

[0112] Step 3.2: Calculate the weighted average displacement vector The formula is as follows:

[0113]

[0114] Where v is the number of matching plane pairs in the source and target point clouds, and S i For the i-th pair of matching planes m i and n i The sum of areas, ∑S is the sum of the areas of all matching planes, that is... Weighted average displacement vector The direction is the direction in which the target point cloud should move towards the source point cloud, and the magnitude is the moving distance. The smaller the magnitude, the higher the registration accuracy. Therefore, a weighted average displacement vector can be used. absolute value To evaluate the matching accuracy between the target point cloud and the source point cloud.

Claims

1. A planar point cloud registration and accuracy evaluation method, characterized in that, Includes the following steps: Step 1: Extract the centroid positions of the source point cloud P and the target point cloud Q respectively, and denote them as follows: , Then, the RANSAC algorithm is used to extract planar point clouds and determine several matching plane pairs between the source point cloud and the target point cloud. Step 2: Pair the points on the matching planes to complete the fine pairing of points in matching plane m and plane n; Step 3: Calculate the average movement vector of the perfectly matched point pairs in the two point clouds, and calculate the weighted average displacement vector. The model is used to evaluate accuracy; Step 1 includes the following steps: Step 1.1: Preprocess the source point cloud P and the target point cloud Q respectively. Use uniform sampling to make the distribution of points in the point cloud relatively uniform in space, and extract the centroid positions of the two, denoted as . , ; Step 1.2: Use the RANSAC algorithm to extract planar point clouds from the source point cloud P, and search for the top point cloud containing the most points. Each plane is included in the plane set. ,in The value is set by the user. ; Step 1.3: Use the RANSAC algorithm to extract several planes from the target point cloud Q, and find the set of planes. The point cloud planes that match the planes in the middle are used to obtain matching plane pairs { }; Step 2 includes the following steps: Step 2.1: For two matching planes and plane Downsampling yields sparse point clouds, and the planar Sparse point clouds and planes in In the sparse point cloud, coarse pairing is performed by searching for the nearest point to obtain point pairs; Step 2.2: Select any pair of points from the points that have completed coarse registration as a reference. The point on plane m is denoted as... A point on plane n is denoted as Set the number of neighboring points to , distance Recent Adding points neighborhood point set And remove all points contained in the neighborhood set M from plane m; and use the distance... matching point The closest Adding points neighborhood point set And remove all points contained in N from plane n; Step 2.3: Calculate the neighborhood point set Each point within European distance Calculate the neighborhood point set Each point within European distance Calculate the points respectively With center of gravity The connection and center of gravity With neighborhood point set The included angle formed by the lines connecting all points inside. Calculation points With center of gravity The connection and With neighborhood point set The included angle formed by the lines connecting all points inside. It is stored in the form of a hash table; Step 2.4, in the neighborhood point set Finding neighborhood point sets matching points; Step 2.5: Determine if there are any points in planes m and n, i.e., determine if they are empty. If neither is empty, proceed to step 2.2; otherwise, there are two possibilities: i. If n is empty, the process ends; ii. If n is not empty, then use the nearest-neighbor method to find the points in n within the set of remaining points. The process ends after the matching point is reached; At this point, the points in plane m and plane n have been precisely paired.

2. The planar point cloud registration and accuracy evaluation method according to claim 1, characterized in that, Step 1.3 specifically includes the following steps: Step 1.3.1: Determine the planar set Is it empty? If so, the process terminates. Step 1.3.2, from planar sets The plane point cloud with the most points is denoted as the plane. Calculate the plane area Calculate the centroid of the source point cloud to plane distance ; Step 1.3.3: Find the plane in the target point cloud Q. The matching plane; Step 1.3.4 [The plane] Remove from the set of planes V. If a matching plane is found, then remove the matching plane. The included points are removed from the target point cloud Q to obtain the matching plane pair. and Return to step 1.3.

1.

3. The planar point cloud registration and accuracy evaluation method according to claim 2, characterized in that, Step 1.3.3 specifically includes the following steps: Step 1.3.3.1: Extract the j-th planes containing the most points from the target point cloud Q, and calculate the area of ​​each of the j-th planes. Determine the area of ​​each plane. With plane The difference in area S, if satisfying , then represents the area of ​​the plane. If the area S of plane m is close to that of plane m, then the plane is recorded in the set of undetermined planes H1. 3, = If the set of undetermined planes H1 is not empty after traversing j planes, proceed to step 1.3.3.2; otherwise, adjust accordingly. Expanding the range of values ​​for searching the matching plane: when Less than Time to take Re-evaluate whether the areas of the j planes satisfy the condition. Planes that meet the conditions are added to the set of undetermined planes H1; if until... Greater than or equal to If the undetermined plane set H1 is still empty, then it is determined that the target point cloud Q does not contain any points that intersect the plane. For the matched plane, delete the m plane from V and jump to step 1.3.1; Step 1.3.3.2: Calculate the centroid of each undetermined plane in the undetermined plane set H1 to the target point cloud. The distance is denoted as Determine the centroid of each undetermined plane in the undetermined plane set H1 to the target point cloud. Distance and distance The difference, if satisfied This indicates the centroid of the plane relative to the target point cloud. The distance from the plane m to the cloud centroid of the source point Since the distances are close, the planes are recorded in the undetermined plane set H2. = If the set of undetermined planes H2 is not empty after traversing all planes in the set of undetermined planes H1, then proceed to step 1.3.3.3; otherwise, adjustments can be made. Expanding the range of search matching surfaces: when Less than Time to take Re-determine the centroid of the plane in the undetermined plane set H1 to the target point cloud. Distance and distance The planes that satisfy the conditions are added to the set of undetermined planes H2; if until... Greater than or equal to If the undetermined plane set H2 is still empty, then it is determined that there is no target point cloud containing the target point. For the matched plane, delete the m plane from V and jump to step 1.3.1; Step 1.3.3.3: The final determination of the matching plane has the following two possibilities: i. If there is only one plane in the undetermined plane set H2, then directly denote that plane as the matching plane. It is related to the plane It is a matching plane; ii. If the number of planes in the undetermined plane set H2 is greater than 1, it means that there are multiple planes in the target point cloud. Having relatively similar areas and distance A plane needs to be determined as the matching surface. The specific method is as follows: uniformly on the plane... Select several points and search for points on each of the undetermined planes in the set H2. For the selected points, calculate the average Euclidean distance between plane m and all matching points on each plane in the set of undetermined planes H2. ,choose The smallest undetermined plane is taken as a plane. Matching plane .

4. The planar point cloud registration and accuracy evaluation method according to claim 1, characterized in that, Step 2.4 specifically includes: Step 2.4.1: Determine the neighborhood point set at this time. Is it empty? If so, proceed to step 2.

5. Step 2.4.2, from the neighborhood point set Randomly select a point traverse the neighborhood point set All points in the array, if they satisfy Then, record the point in the undetermined point set C1. = If the set of undetermined points C1 is not empty after traversing all points in the neighborhood point set N, then proceed to step 2.4.3; otherwise, adjustments can be made. Expanding the range of values ​​to search for matching points: when Less than Time to take Retrace the neighborhood point set All points in the set, those satisfying the conditions are added to the undetermined point set C1; if until... Greater than or equal to If the set of points to be determined, C1, is still empty, then it is determined that the set of points in the neighborhood is empty. It does not exist in The matching point is from the neighborhood point set. Delete the point and add it to the set of remaining points. In the middle, jump to step 2.4.1; Step 2.4.3: Traverse all points in the undetermined point set C1. If the condition is met... Then, record this point in the undetermined point set C2. = If, after traversing all points in C1, the set of points to be determined, C2, is not empty, then proceed to step 2.4.4; otherwise, adjustments can be made. Expanding the range of values ​​to search for matching points: when Less than Time to take Re-traverse all points in the undetermined point set C1, and add points that satisfy the conditions to the undetermined point set C2; if until... Greater than or equal to If the set of points to be determined, C2, is still empty, then it is determined that the set of points in the neighborhood is empty. It does not exist in The matching point is then determined from the neighborhood point set. Delete the point and add it to the set of remaining points. In the middle, jump to step 2.4.1; Step 2.4.4: Calculate the distances from all points in the undetermined point set C2 to the destination. Given the Euclidean distance, select the point with the shortest Euclidean distance as... matching points Registration is complete, starting from the neighborhood point set. Neighborhood point set Remove points and its matching point Proceed to step 2.4.

1.

5. The planar point cloud registration and accuracy evaluation method according to claim 1, characterized in that, Step 3 includes the following steps: Step 3.1: Calculate the first matching step for each pair. The mean values ​​of the displacement vectors in the x, y, and z directions for a pair of matching points on a plane: Where k is the th The number of matching point pairs on the plane, , , The first For the average difference of the three displacement directions of a pair of points on the matching plane, the j-th pair of matching points on the i-th pair of planes and The coordinates are respectively and ; Step 3.2: Calculate the weighted average displacement vector The formula is as follows: Where v is the number of matching plane pairs in the source and target point clouds. For the first For matching plane and The sum of areas The sum of the areas of all matching planes, i.e. Weighted average displacement vector The direction is the direction in which the target point cloud should move towards the source point cloud, and the magnitude is the moving distance. The smaller the magnitude, the higher the registration accuracy. Therefore, a weighted average displacement vector can be used. absolute value To evaluate the matching accuracy between the target point cloud and the source point cloud.

Citation Information

Patent Citations

  • Determination method and determination device of pose, and speedometer

    CN110243390A

  • Multi-point cloud registration method based on plane point cloud segmentation

    CN113344983A