Point cloud data registration method, device, storage medium and electronic device

By performing initial registration of point cloud data by noise filtering and principal component analysis, combined with ICP algorithm, the problem of low registration efficiency of point cloud data is solved, and fast and accurate registration of point cloud data is achieved.

CN118762066BActive Publication Date: 2025-08-12BEIJING XINXING HUAAN WISDOM TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411120898.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-15
Publication Date
2025-08-12
Estimated Expiration
2044-08-15

AI Technical Summary

Technical Problem

The existing point cloud data registration methods are relatively inefficient, especially when the number of three-dimensional point clouds is large, iterative nearest point algorithm (ICP) requires a large number of matching calculations, resulting in inefficient processing.

Method used

By filtering the target and reference point cloud data, abnormal points are eliminated; initial registration is performed using principal component analysis method, target data structure is constructed to find the nearest child nodes of the three-dimensional point to be paired, and final registration is performed through the ICP algorithm.

Benefits of technology

It improves the processing efficiency of point cloud data registration, shortens the determination time of matching point pairs, and realizes fast global alignment and refined registration of point cloud data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118762066B_ABST
    Figure CN118762066B_ABST
Patent Text Reader

Abstract

The present application relates to a point cloud data registration method, device, storage medium, and electronic device, and relates to the technical field of point cloud data registration. The method comprises: performing noise point filtering processing on target point cloud data and reference point cloud data to obtain denoised target point cloud data and denoised reference point cloud data; performing initial registration processing on the denoised target point cloud data and denoised reference point cloud data based on principal component analysis to obtain preliminary matched target point cloud data and preliminary matched reference point cloud data; determining a target subnode in the target data structure that has the smallest first distance to a to-be-matched 3D point in the preliminary matched reference point cloud data; selecting a target 3D point from all 3D points contained in the target subnode that has the smallest second distance to the to-be-matched 3D point, and determining the target 3D point and the to-be-matched 3D point as a matching point pair; and completing final registration based on an ICP algorithm. The present application has the effect of improving the efficiency of point cloud data registration.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of point cloud data registration, and in particular to a point cloud data registration method, device, storage medium and electronic device. Background Art

[0002] Point cloud data refers to a data set consisting of a large number of points in a three-dimensional coordinate system. These points are usually represented in the form of X, Y, and Z three-dimensional coordinates. Point cloud data registration refers to the process of integrating point cloud data from different perspectives into a specified coordinate system through rigid transformations such as rotation and translation based on the coordinate transformation relationship. With the continuous development of three-dimensional modeling technology, the role of point cloud data registration is becoming more and more important. It can improve the accuracy and richness of the model, simplify the modeling process, support complex scene modeling, and enhance the application value of the model. Among them, the processing efficiency of point cloud data registration will also directly determine the time cost in the subsequent three-dimensional modeling process, and play a decisive role in the efficiency of the entire three-dimensional reconstruction project.

[0003] Currently, point cloud data registration is commonly performed using the Iterative Closest Point (ICP) algorithm. Its core mechanism involves selecting the closest 3D points in one point cloud and identifying them as matching point pairs. The matching point pairs are then used to estimate the optimal coordinate transformation parameters between the two point clouds, ultimately completing the point cloud registration. If the other point cloud contains a large number of 3D points, selecting the closest 3D points using this method requires matching calculations. This means that the number of candidate points for distance calculations and determining matching point pairs also increases, ultimately leading to lower point cloud registration efficiency. Summary of the Invention

[0004] In order to improve the efficiency of point cloud data registration, the present application provides a point cloud data registration method, device, storage medium and electronic device.

[0005] In a first aspect of the present application, a point cloud data registration method is provided, specifically comprising:

[0006] Obtain target point cloud data and reference point cloud data to be registered;

[0007] Performing noise point filtering on the target point cloud data to obtain denoised target point cloud data, and performing noise point filtering on the reference point cloud data to obtain denoised reference point cloud data;

[0008] Based on the principal component analysis method, the denoised target point cloud data and the denoised reference point cloud data are initially registered to obtain preliminary registration target point cloud data and preliminary registration reference point cloud data, wherein the positions of the preliminary registration target point cloud data and the preliminary registration reference point cloud data are in a preliminary coincident state;

[0009] Constructing a target data structure corresponding to the initially matched target point cloud data, and determining a target subnode in the target data structure having the smallest first distance to the to-be-matched three-dimensional point in the initially matched reference point cloud data, wherein the target data structure is a data structure describing the three-dimensional space of the initially matched target point cloud data;

[0010] Selecting a target 3D point with the smallest second distance to the 3D point to be paired from all 3D points included in the target subnode, and determining the target 3D point and the 3D point to be paired as a matching point pair;

[0011] Based on the ICP algorithm, the optimal coordinate transformation parameters between the initial matching target point cloud data and the initial matching reference point cloud data are determined through the matching point pairs, and the point cloud data registration is completed according to the optimal coordinate transformation parameters.

[0012] By adopting the above technical solution, the target point cloud data and the reference point cloud data are respectively subjected to noise point filtering processing, thereby eliminating abnormal 3D points in the target point cloud data and the reference point cloud data, making the subsequent point cloud data registration smoother and reducing the difficulty of point cloud data registration, thereby improving the processing efficiency of point cloud data registration to a certain extent. Furthermore, through the principal component analysis method, the denoised target point cloud data and the denoised reference point cloud data are respectively subjected to initial registration processing to achieve rapid global alignment of the two point cloud data, so that the two point cloud data are initially overlapped, thereby making the subsequent formal point cloud data registration processing faster. Furthermore, by creating a target data structure, the target subnode closest to the 3D point to be paired is found, and the number of candidate points for matching calculation is quickly reduced. Then, from each 3D point in the target subnode, the target 3D point with the smallest distance to the 3D point to be paired is selected, thereby greatly shortening the time for determining the matching point pair. Finally, the ICP algorithm is used for refined registration, thereby improving the processing efficiency of the entire point cloud data registration process.

[0013] Optionally, performing noise point filtering on the target point cloud data to obtain denoised target point cloud data specifically includes:

[0014] Determining an outer cuboid of the target point cloud data, and dividing the outer cuboid into a preset number of outer cubes;

[0015] Calculating the third distance between each three-dimensional point in the outer cube and the corresponding center of gravity, the average distance, and the standard deviation of each third distance;

[0016] Determining a standard distance range of the corresponding outer cube based on the standard deviation and average distance corresponding to each outer cube;

[0017] Determining whether the third distance of each three-dimensional point in each of the outer bounding cubes is within a corresponding standard distance range;

[0018] If not, the corresponding three-dimensional points are eliminated until all the outer cubes are traversed to obtain the denoised target point cloud data.

[0019] By adopting the above technical solution, after determining the third distance, average distance and standard deviation of each third distance from the three-dimensional point in each outer cube to the corresponding center of gravity, the corresponding standard distance range is determined according to the standard deviation and average distance corresponding to the single outer cube, which can exclude the distance range affected by outliers and random errors in the three-dimensional points contained in the corresponding outer cube. Furthermore, if the third distance from the three-dimensional point in a single outer cube to the center of gravity is within the corresponding standard distance range, it means that it is not a noise point. Otherwise, the corresponding three-dimensional point in the single outer cube is a noise point and is eliminated to avoid excessive noise in the target point cloud data.

[0020] Optionally, determining the standard distance range of the corresponding outer cube based on the standard deviation and average distance corresponding to each outer cube specifically includes:

[0021] Determining a corresponding allowable error range according to a standard deviation corresponding to each of the outer cubes;

[0022] Adding the corresponding average distance to the starting value of the allowable error range of each outer cube to obtain a distance starting value, and adding the corresponding average distance to the ending value of the allowable error range of each outer cube to obtain a distance ending value;

[0023] Based on the distance start value and the distance end value of each of the outer cubes, a corresponding standard distance range is determined.

[0024] By adopting the above technical solution, since the standard deviation of the third distance corresponding to the outer cube can be used as the basis for evaluating the limit error of the third distance, the limit error corresponding to the outer cube can be evaluated based on the standard deviation, thereby determining the allowable error range corresponding to the third distance. Furthermore, the starting value of the allowable error range is added to the corresponding average distance to obtain the starting distance value, and the end value of the allowable error range is added to the corresponding average distance to obtain the end distance value. Finally, the standard distance range corresponding to the third distance of a single 3D point in the outer cube is determined. This facilitates the subsequent determination of whether a 3D point in the outer cube is a noise point.

[0025] Optionally, before calculating the third distance, the average distance, and the standard deviation of each third distance between each three-dimensional point in the outer cube and the corresponding center of gravity, the method further includes:

[0026] Determine the ratio of the number of three-dimensional points in adjacent bounding cubes along any of the x-axis, y-axis, and z-axis directions;

[0027] Comparing the ratio with a preset ratio threshold, wherein the ratio threshold is less than 1;

[0028] If the ratio is less than the ratio threshold, the outer cube corresponding to the minimum number of three-dimensional points among the three-dimensional point quantities is determined as an abnormal cube, and the three-dimensional points in the abnormal cube are removed.

[0029] By adopting the above technical solution, after the outer bounding box is divided into multiple outer bounding cubes, two adjacent outer bounding cubes are selected along any direction of the x-axis, y-axis and z-axis, and the ratio of the number of three-dimensional points contained in the two outer bounding cubes is calculated. Then, this ratio is compared with the ratio threshold. If the ratio is less than the ratio threshold, it means that the minimum number of three-dimensional points in the number of three-dimensional points contained in the two outer bounding cubes is an outlier. Then, the three-dimensional points in the corresponding outer bounding cube, that is, the outlier cube, are eliminated, thereby achieving noise point elimination of the target point cloud data, which helps to improve the accuracy of subsequent point cloud data registration.

[0030] Optionally, performing initial registration processing on the denoised target point cloud data and the denoised reference point cloud data based on a principal component analysis method to obtain preliminary registration target point cloud data and preliminary registration reference point cloud data specifically includes:

[0031] Determining the three-dimensional feature vector corresponding to the denoised target point cloud data and the three-dimensional feature vector corresponding to the denoised reference point cloud data based on principal component analysis;

[0032] Determining a first principal direction coordinate system of the denoised target point cloud data according to a three-dimensional feature vector corresponding to the denoised target point cloud data;

[0033] Determining a second principal direction coordinate system of the denoised reference point cloud data according to a three-dimensional feature vector corresponding to the denoised reference point cloud data;

[0034] The first principal direction coordinate system and the second principal direction coordinate system are rotated and translated to obtain initial matching target point cloud data and initial matching reference point cloud data.

[0035] By adopting the above technical solution, the first principal direction coordinate system and the second principal direction coordinate system are rotated and translated to achieve the purpose of alignment. This allows the principal direction coordinate systems of the two point cloud data to be converted into a unified reference coordinate system framework. After the conversion, the two point cloud data can reach a preliminary coincidence state, thereby quickly achieving rapid global alignment of the two point cloud data. The ICP algorithm then provides a good initial registration, avoiding the dilemma of falling into a local optimal solution when the two point cloud data are subsequently matched to the same coordinate system based on the ICP algorithm.

[0036] Optionally, after obtaining the initial matching target point cloud data and the initial matching reference point cloud data, the method further includes:

[0037] Constructing a target outsourcing cuboid corresponding to the initially matched target point cloud data, and constructing a reference outsourcing cuboid for the initially matched reference point cloud data;

[0038] Determining an overlap percentage between the target outer cuboid and the reference outer cuboid, and comparing the overlap percentage with a preset percentage threshold;

[0039] If the overlap percentage exceeds the percentage threshold, it is determined that the initial registration is successful.

[0040] By adopting the above technical solution, after constructing the target outer packaging cuboid corresponding to the initial target point cloud data and the reference outer packaging cuboid corresponding to the initial reference point cloud data, the overlap percentage between the target outer packaging cuboid and the reference outer packaging cuboid is determined. If this overlap percentage is greater than the percentage threshold, it means that the target outer packaging cuboid and the reference outer packaging cuboid have a high degree of overlap, and the situation where the main direction coordinate systems corresponding to the initial target point cloud data and the initial reference point cloud data are 180 degrees relative to each other is excluded, thereby further verifying that the initial alignment between the initial target point cloud data and the initial reference point cloud data is successful.

[0041] Optionally, based on the target data structure, a preset number of nearest points corresponding to the three-dimensional point to be paired are determined, and the target data structure is a kd-tree structure;

[0042] Determining a fitting plane corresponding to the three-dimensional points to be paired based on the least squares method and the nearest points, and determining the centroid of the fitting plane;

[0043] Based on the centroid, determining a covariance matrix corresponding to the matching point pair, and performing eigenvalue decomposition on the covariance matrix to obtain an approximate direction vector corresponding to the matching point pair;

[0044] The cosine value of the vector angle between each of the approximate direction vectors is calculated, and if the cosine value is not greater than a preset angle cosine value threshold, the matching point pair is eliminated.

[0045] By adopting the above technical solution, if the cosine value is not greater than the angle cosine value threshold, it means that the angle between the two approximate direction vectors is large, which means that this matching point pair may not be matched correctly, and this matching point pair is eliminated. This is because the angle between the approximate direction vectors corresponding to the correct matching point pair should be smaller, that is, the direction vectors of the 3D point to be paired and the target 3D point have high directional consistency.

[0046] In a second aspect of the present application, a point cloud data registration device is provided, specifically comprising:

[0047] Point cloud acquisition module, used to obtain target point cloud data and reference point cloud data to be registered;

[0048] a noise removal module, configured to perform noise point filtering processing on the target point cloud data to obtain denoised target point cloud data, and to perform noise point filtering processing on the reference point cloud data to obtain denoised reference point cloud data;

[0049] An initial registration module is used to perform initial registration processing on the denoised target point cloud data and the denoised reference point cloud data based on a principal component analysis method to obtain preliminary registration target point cloud data and preliminary registration reference point cloud data, wherein the positions of the preliminary registration target point cloud data and the preliminary registration reference point cloud data are in a preliminary coincidence state;

[0050] a node screening module, configured to construct a target data structure corresponding to the initially matched target point cloud data, and determine a target subnode in the target data structure having the smallest first distance to the to-be-matched three-dimensional point in the initially matched reference point cloud data, wherein the target data structure is a data structure describing the three-dimensional space of the initially matched target point cloud data;

[0051] a point pair determination module, configured to select a target 3D point having the smallest second distance to the 3D point to be paired from all 3D points included in the target subnode, and determine the target 3D point and the 3D point to be paired as a matching point pair;

[0052] The point cloud registration module is used to determine the optimal coordinate transformation parameters between the initial matching target point cloud data and the initial matching reference point cloud data through the matching point pairs based on the ICP algorithm, and complete the point cloud data registration according to the optimal coordinate transformation parameters.

[0053] By adopting the above technical solution, the point cloud acquisition module obtains the point cloud data to be registered, the noise removal module performs noise point filtering on the two point cloud data, and then the initial registration module performs initial registration on the two point cloud data based on the principal component analysis method. The node screening module selects the target sub-node with the smallest first distance to the three-dimensional point to be paired, the point pair determination module determines the matching point pairs, and finally the point cloud registration module completes the final point cloud data registration through the ICP algorithm.

[0054] In a third aspect of the present application, a computer-readable storage medium is provided, in which a computer program is stored. When the computer program is loaded and executed by a processor, the method steps as described in any one of the first aspects are performed.

[0055] In a fourth aspect of the present application, an electronic device is provided, specifically comprising:

[0056] A processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the processor is used to load and execute the computer program stored in the memory so that the electronic device performs the method as described in any one of the first aspects.

[0057] In summary, the present application includes at least one of the following beneficial technical effects: by using the principal component analysis method, initial registration processing is performed on the denoised target point cloud data and the denoised reference point cloud data, respectively, to achieve rapid global alignment of the two point cloud data, so that the two point cloud data are initially overlapped, thereby making the subsequent formal point cloud data registration processing faster. Furthermore, by creating a target data structure, the target sub-node closest to the 3D point to be paired is found, the number of candidate points for matching calculation is quickly reduced, and then the target 3D point with the smallest distance to the 3D point to be paired is selected from each 3D point in the target sub-node, thereby greatly shortening the time for determining the matching point pair. Finally, refined registration is performed through the ICP algorithm, thereby improving the processing efficiency of the entire point cloud data registration process. BRIEF DESCRIPTION OF THE DRAWINGS

[0058] Figure 1 This is a flow chart of a point cloud data registration method provided in an embodiment of the present application;

[0059] Figure 2 This is a flow chart of another point cloud data registration method provided in an embodiment of the present application;

[0060] Figure 3 This is a structural diagram of a point cloud data registration device provided in an embodiment of the present application;

[0061] Figure 4 It is a structural diagram of another point cloud data registration device provided in an embodiment of the present application.

[0062] Explanation of the accompanying symbols: 11. Point cloud acquisition module; 12. Noise removal module; 13. Initial alignment module; 14. Node screening module; 15. Point pair determination module; 16. Point cloud registration module; 17. Anomaly rejection module; 18. Registration verification module; 19. Point pair rejection module. DETAILED DESCRIPTION

[0063] In order to enable people skilled in the art to better understand the technical solutions in this specification, the technical solutions in the embodiments of this specification will be clearly and completely described below in conjunction with the drawings in the embodiments of this specification. Obviously, the described embodiments are only part of the embodiments of this application, not all of the embodiments.

[0064] In the description of the embodiments of this application, words such as "exemplary," "for example," or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary," "for example," or "for example" in the embodiments of this application should not be construed as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary," "for example," or "for example" is intended to present the relevant concepts in a concrete manner.

[0065] In the description of the embodiments of the present application, the term "and / or" is merely a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, B exists alone, and A and B exist at the same time. In addition, unless otherwise specified, the term "multiple" means two or more. For example, multiple systems refer to two or more systems, and multiple screen terminals refer to two or more screen terminals. In addition, the terms "first" and "second" are used for descriptive purposes only and cannot be understood as indicating or implying relative importance or implicitly indicating the indicated technical features. Therefore, the features defined as "first" and "second" may explicitly or implicitly include one or more of the features. The terms "include", "comprise", "have" and their variations all mean "including but not limited to", unless otherwise specifically emphasized.

[0066] See also Figure 1 The present invention discloses a flowchart of a point cloud data registration method, which can be implemented by a computer program or run on a point cloud data registration device based on the von Neumann architecture. The computer program can be integrated into an application or run as a standalone tool application, specifically including:

[0067] S101: Acquire target point cloud data and reference point cloud data to be registered.

[0068] Specifically, in a 3D reconstruction project, in order to construct a 3D point cloud model, it is necessary to collect point cloud data from different perspectives using a 3D laser scanner. In the embodiments of this application, the target point cloud data and reference point cloud data are point cloud data collected from different perspectives. The reference point cloud data refers to a point cloud dataset that serves as a reference or benchmark in point cloud data processing, analysis, or application. In other embodiments, the collected point cloud data can also be calibrated and used as the reference point cloud data. The target point cloud data refers to the specific point cloud dataset that serves as the processing or analysis object when processing, analyzing, or applying point cloud data. In addition, a 3D point cloud model is a data structure widely used in computer vision and graphics to represent and process objects or scenes in three-dimensional space. This model consists of a large number of three-dimensional coordinate points, each of which represents a specific location on the surface of an object or scene. It should be noted that the acquired target point cloud data and reference point cloud data need to be precisely aligned and unified into the same three-dimensional coordinate system to facilitate the registration of the target point cloud data and the reference point cloud data, thereby increasing the accuracy of the subsequently constructed 3D point cloud model.

[0069] In addition, the execution subject of a point cloud data registration method disclosed in an embodiment of the present application is a server. The server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. The server is wirelessly connected to a three-dimensional laser scanner. The three-dimensional laser scanner can be a terrestrial laser scanner (TLS). In other embodiments, it can also be a handheld laser scanner. The user builds a related client through the three-dimensional point cloud model installed in the terminal and sends a registration instruction to the server. The server is the background server of the client. The server obtains the target point cloud data and reference point cloud data to be registered through the three-dimensional laser scanner. Among them, the terminal can be a tablet computer or a personal computer.

[0070] S102: performing noise point filtering processing on the target point cloud data to obtain denoised target point cloud data, and performing noise point filtering processing on the reference point cloud data to obtain denoised reference point cloud data.

[0071] Specifically, noise point filtering refers to the process of removing or reducing noise points in point cloud data through specific algorithms and technical means. In the embodiment of the present application, noise point filtering is performed on both the target point cloud data and the reference point cloud data, which can effectively remove outliers and random errors in the point cloud data, avoid introducing errors in the point cloud data registration, and cause inaccurate point cloud data registration. Further, the target point cloud data is subjected to noise point filtering to obtain denoised target point cloud data. A feasible implementation method is as follows: determining the outer cuboid of the target point cloud data, and dividing the outer cuboid into a preset number of outer cubes; calculating the third distance, average distance and standard deviation of each third distance between the three-dimensional point in each outer cube and the corresponding center of gravity point; based on the standard deviation and average distance corresponding to each outer cube, determining the standard distance range of the corresponding outer cube; judging whether the third distance of each three-dimensional point in each outer cube is within the corresponding standard distance range; if not, eliminating the corresponding three-dimensional point until all outer cubes are traversed to obtain denoised target point cloud data.

[0072] Specifically, the coordinates of each 3D point in the target point cloud data are compared for extreme values along the x-axis, y-axis, and z-axis, and the minimum and maximum coordinate values along each axis are screened out. Furthermore, based on these minimum and maximum coordinate values, the coordinates of the 8 vertices of the outer cuboid corresponding to the target point cloud data are constructed, which are: (X min 、Y min 、Z min )、(X min 、Y max 、Z min )、(X min 、Y min 、Z max )、(X max 、Y min 、Z min )、(X min 、Y max 、Z max )、(X max 、Y min 、Z max )、(X max 、Y max 、Z min )、(X max 、Y max 、Z max), and then determine the outer cuboid corresponding to the target point cloud data based on the vertex coordinates, where the outer cuboid refers to the smallest cuboid bounding box constructed around the target point cloud data. Furthermore, it is necessary to divide the outer cuboid into multiple outer cuboids. The specific process is as follows: first, count the total number of 3D points of the target point cloud data contained in the outer cuboid, and then divide the total number of 3D points by the volume of the outer cuboid to obtain the average density of the 3D points in the outer cuboid. Further, determine the average number of 3D points contained in the outer cuboid to be divided, which is pre-set based on human experience. Divide the 3D average number by the average density, and take the result to the power of 1 / 3 to obtain the side length of the outer cuboid to be divided. Finally, based on this side length, divide the length, width and height of the outer cuboid into segments a, b and c respectively, and determine a*b*c as a preset number, and divide the outer cuboid into a preset number of outer cuboids.

[0073] Furthermore, the third distance from each 3D point in the single outer cube to the center of gravity is calculated. The third distance refers to the Euclidean distance, which is calculated specifically using the Euclidean distance calculation formula as follows: Where x i 、y i and z i is the coordinate value of the i-th three-dimensional point, and x0, y0, and z0 are the coordinate values of the center of gravity.

[0074] The center of gravity of a single outer cube is determined by calculating the Euclidean distance from each 3D point to the center of the outer cube, and determining the 3D point with the smallest Euclidean distance as the center of gravity. Furthermore, the third distances from each 3D point to the center of gravity are averaged to obtain the average distance from the 3D points in the single outer cube to the corresponding center of gravity. Furthermore, the standard deviation of each third distance is calculated using the standard deviation calculation formula to describe the degree of dispersion of each third distance. The standard deviation calculation formula is: , where m represents the standard deviation, n represents the number of three-dimensional points in the outer cube, and L i represents the third distance from the i-th three-dimensional point in the outer cube to the center of gravity, Represents the average distance.

[0075] In other embodiments, before calculating the third distance, average distance and standard deviation of each third distance between the three-dimensional point in each outer cube and the corresponding center of gravity point, any one of the x-axis, y-axis and z-axis directions of the coordinate system corresponding to the target point cloud data is selected, and two adjacent outer cubes are selected. The number of three-dimensional points contained in the two outer cubes is counted, and the two three-dimensional point numbers are divided to obtain a ratio, and the ratio is compared with a ratio threshold. If the ratio is less than the ratio threshold, where the ratio threshold is less than 1, which is the critical value for evaluating whether the number of three-dimensional points is abnormal, it means that the minimum number of three-dimensional points in the number of three-dimensional points contained in the two outer cubes, that is, the number of three-dimensional points in the molecular position when divided, is an outlier. Then the corresponding outer cube is determined as an abnormal cube, and then the three-dimensional points in the abnormal cube are eliminated, thereby achieving noise point elimination of the target point cloud data, which helps to improve the accuracy of subsequent point cloud data alignment.

[0076] Furthermore, based on the standard deviation and average distance corresponding to each outer cube, the standard distance range of the corresponding outer cube is determined. The standard distance range refers to the range interval of the third distance from a normal three-dimensional point in the outer cube to the corresponding center of gravity point. In an embodiment of the present application, a feasible determination method is: based on the standard deviation corresponding to the outer cube, the limit error corresponding to the outer cube is determined to be a first limit error of 1.5m, and then the allowable error range is determined to be (-1.5m, 1.5m). In other embodiments, the limit error can also be set to a second limit error of 2m, and the allowable error range is (-2m, 2m). Or the limit error can also be set to a third limit error of m, and the allowable error range is (-m, m). Wherein, m represents the standard deviation. It should be noted that the standard deviation corresponding to the outer cube is the standard deviation of the third distance corresponding to the outer cube, which can be used as a basis for evaluating the limit error of the third distance. The limit error (Limit of Error) is usually used in metrology or experimental science to indicate the maximum deviation that may exist between the measured value and the actual value.

[0077] Furthermore, the starting value of the allowable error range corresponding to the outer cube is added to the corresponding average distance to obtain the starting value of the distance, and the end value of the allowable error range corresponding to the outer cube is added to the corresponding average distance to obtain the end value of the distance. Finally, the starting value and end value of the distance of the same outer cube constitute the corresponding standard distance range. For example, the standard deviation of the outer cube B is b1, the corresponding allowable error range is (-1.5b1, 1.5b1), and the corresponding average distance is b2. Then the corresponding standard distance range is [b2-1.5b1, b2+1.5b1]. The third distance from the three-dimensional point B1 in the outer cube to the center of gravity is L1. If L1 is within the range of [b2-1.5b1, b2+1.5b1], it is determined that B1 is not a noise point and does not need to be eliminated. On the contrary, if L1 is not within the range of [b2-1.5b1, b2+1.5b1], it is determined that B1 is a noise point and needs to be eliminated. In other embodiments, the allowable error range corresponding to the outer cube can be any one of the allowable error ranges corresponding to the first limit error of 1.5m, the second limit error of 2m and the third limit error of m. Once the third distance from the three-dimensional point in the outer cube to the corresponding center of gravity point is not within the standard distance range corresponding to any of the allowable error ranges, it will be eliminated.

[0078] After all the outer cubes divided by the outer cuboid are traversed, that is, all the three-dimensional points in the outer cubes are eliminated, the noise points in each outer cube are eliminated, and finally the denoised target point cloud data is obtained.

[0079] Furthermore, the reference point cloud data is subjected to noise point filtering processing in the same manner. The processing process is detailed in the noise point filtering processing process of the target point cloud data, which will not be described in detail here. Finally, the corresponding denoised reference point cloud data is obtained.

[0080] S103: Based on the principal component analysis method, the denoised target point cloud data and the denoised reference point cloud data are initially registered to obtain preliminary registration target point cloud data and preliminary registration reference point cloud data.

[0081] Specifically, after the denoised target point cloud data and the denoised reference point cloud data are determined, they need to be initially registered to quickly achieve global alignment of the two point cloud data. This provides a good initial registration for the ICP algorithm and avoids the dilemma of falling into a local optimal solution when subsequently matching the two point cloud data to the same coordinate system based on the ICP algorithm. The ICP algorithm is one of the most widely used classic algorithms in the field of point cloud data registration. Its core idea is to find the optimal coordinate transformation through iterative optimization to align the two point cloud data in the same coordinate system.

[0082] Principal Component Analysis (PCA) is an analytical method used for data dimensionality reduction. Its core concept is to transform multiple variables (or features) in the original data into a small number of comprehensive variables (i.e., principal components) through linear transformation. These principal components can reflect the majority of the information in the original data. In the present embodiment, PCA can highlight the feature dimensions with the largest variance in the point cloud data. Furthermore, PCA is used to determine the three-dimensional feature vectors corresponding to the denoised target point cloud data and the denoised reference point cloud data. The three-dimensional feature vectors represent the x-axis, y-axis, and z-axis of the corresponding point cloud data's principal direction coordinate system. A coordinate system is then constructed with the centroid of the denoised target point cloud data as its origin and defined by the corresponding three-dimensional feature vectors. This is the first principal direction coordinate system corresponding to the denoised target point cloud data. The centroid of the denoised target point cloud data is determined by accumulating the x-axis coordinates, y-axis coordinates, and z-axis coordinates of each 3D point in the denoised target point cloud data and dividing the three accumulated results by the total number of 3D points to obtain the coordinates of the centroid. Among them, the Principal Axes Frame (PAF) is a coordinate system used to describe the main directions of point cloud data or objects.

[0083] Furthermore, similarly, the second principal direction coordinate system of the denoised reference point cloud data is determined based on the three-dimensional feature vector corresponding to the denoised reference point cloud data, which will not be repeated here. Finally, the first principal direction coordinate system and the second principal direction coordinate system are rotated and translated to achieve the purpose of alignment, so that the principal direction coordinate systems of the two point cloud data are converted into a unified reference coordinate system framework, and then the two point cloud data after conversion can reach a preliminary coincidence state, that is, a state that tends to coincide. The initial matching target point cloud data and the initial matching reference point cloud data are obtained, thereby completing the initial registration process.

[0084] S104: Constructing a target data structure corresponding to the initial matching target point cloud data, and determining a target sub-node in the target data structure having the smallest first distance to the to-be-matched three-dimensional point in the initial matching reference point cloud data.

[0085] Specifically, after the initial target point cloud data and the initial reference point cloud data are determined, a corresponding target data structure is constructed based on each three-dimensional point in the initial target point cloud data. The target data structure is a data structure that describes the three-dimensional space of the initial target point cloud data. In an embodiment of the present application, the target data structure can be a k-dimensional tree (kd-tree) structure. The kd-tree structure is a tree-like data structure that divides space in multiple dimensions. It is mainly used to store data points in k-dimensional space, specifically in the form of nodes, so as to efficiently search for the nearest neighbors of three-dimensional points. The kd-tree structure has multiple nodes, and each node contains a three-dimensional point data set. In other embodiments, the target data structure can also be an octree structure or a spatial cell structure.

[0086] A feasible way to construct the target data structure is to construct a corresponding kd-tree structure based on each three-dimensional point in the initial target point cloud data through the preset CloudCompare tool. In other embodiments, the kd-tree structure can also be constructed through the preset scikit-learn library. Furthermore, starting from the root node of the target data structure, all child nodes are traversed layer by layer. During the process, the first distance between the child node and the three-dimensional point to be paired in the initial reference point cloud data is determined, and the child node with the smallest first distance is selected and determined as the target child node. Then, the three-dimensional point set contained in the target child node is determined as the neighborhood of the three-dimensional point to be paired, that is, the local area around the three-dimensional point to be paired. It should be noted that when aligning point cloud data, it is usually necessary to find the three-dimensional point with the closest distance in the two point cloud data, and then determine it as the paired point pair. It should be noted that the first distance can be determined by the target data structure kd-tree structure itself.

[0087] S105: Select a target 3D point having the smallest second distance to the 3D point to be paired from all 3D points included in the target child node, and determine the target 3D point and the 3D point to be paired as a matching point pair.

[0088] Specifically, after the target subnode is determined, the second distance between each 3D point contained in the target subnode and the 3D point to be paired is calculated. This second distance refers to the Euclidean distance, specifically calculated using the Euclidean distance calculation formula. Furthermore, the 3D point corresponding to the minimum second distance is determined as the target 3D point. The target 3D point in the initial matching target point cloud data and the 3D point to be paired in the initial matching reference point cloud data are then determined as a matching point pair. This allows for the rapid determination of matching point pairs in the two point clouds.

[0089] S106: Based on the ICP algorithm, the optimal coordinate transformation parameters between the initial matching target point cloud data and the initial matching reference point cloud data are determined by matching point pairs, and the point cloud data registration is completed according to the optimal coordinate transformation parameters.

[0090] Specifically, after all the matching point pairs between the initial reference point cloud data and the initial target point cloud data are determined, the optimal coordinate transformation parameters between the initial target point cloud data and the initial reference point cloud data, i.e., the rotation matrix and the translation vector, are determined by the ICP algorithm. Specifically, this is determined by the singular value decomposition algorithm or the quaternion method. Furthermore, the initial target point cloud data is subjected to a rigid body transformation in three-dimensional space using the rotation matrix and the translation vector to obtain the transformed point cloud data. If the transformed point cloud data meets the preset convergence conditions with the initial reference point cloud data, then the point cloud data registration is determined to be complete. This is a prior art and will not be described in detail here.

[0091] See also Figure 2 The present invention discloses a flowchart of another point cloud data registration method, which can be implemented by a computer program or run on a point cloud data registration device based on the von Neumann architecture. The computer program can be integrated into an application or run as a standalone tool application, specifically including:

[0092] S201: Acquire target point cloud data and reference point cloud data to be registered.

[0093] S202: performing noise point filtering processing on the target point cloud data to obtain denoised target point cloud data, and performing noise point filtering processing on the reference point cloud data to obtain denoised reference point cloud data.

[0094] S203: Based on the principal component analysis method, the denoised target point cloud data and the denoised reference point cloud data are initially registered to obtain preliminary registration target point cloud data and preliminary registration reference point cloud data.

[0095] For details, please refer to steps S101-S103, which will not be described in detail here.

[0096] S204: Constructing a target outsourcing cuboid corresponding to the initial matching target point cloud data, and constructing a reference outsourcing cuboid for the initial matching reference point cloud data.

[0097] S205: Determine the overlap percentage between the target outer bounding cuboid and the reference outer bounding cuboid, and compare the overlap percentage with a preset percentage threshold.

[0098] S206: If the overlap percentage exceeds the percentage threshold, it is determined that the initial registration is successful.

[0099] Specifically, referring to step S103, since the two main direction coordinate systems may be 180 degrees relative to each other during the rotation and translation process of the first main direction coordinate system of the denoised target point cloud data and the second main direction coordinate system of the denoised reference point cloud data, resulting in poor initial registration results, a target outer cuboid corresponding to the initial target point cloud data and a reference outer cuboid corresponding to the initial reference point cloud data are constructed respectively. The construction method can be specifically referred to step S102 and will not be repeated here. Then determine the percentage of overlap between the target outer cuboid and the reference outer cuboid. A feasible determination method is to determine the overlapping volume of the target outer cuboid and the reference outer cuboid through the MATLAB tool, and then determine the overlap percentage through the formula: (overlap volume / min(target outer cuboid volume, reference outer cuboid volume)) x 100%. Furthermore, the overlap percentage is compared with the preset percentage threshold, where the percentage threshold is the critical value for measuring the degree of overlap. If the overlap percentage is greater than the percentage threshold, it means that the target outer cuboid and the reference outer cuboid have a high overlap, excluding the situation where the corresponding main direction coordinate systems are 180 degrees relative, thereby further verifying that the initial registration between the initial target point cloud data and the initial reference point cloud data is successful.

[0100] In other embodiments, if the constructed target outer cuboid cannot completely cover or surround the three-dimensional points in the initial target point cloud data, then it is necessary to reconstruct the corresponding outer cuboid, specifically through the following formula:

[0101] ;

[0102] ;

[0103] Where, Indicates the expansion coefficient of the target outer cuboid, usually set to 0.0001. x, y, and z represent the minimum values of the reconstructed outer cuboid on the x-axis, y-axis, and z-axis. min Indicates the minimum value of the target outer cuboid on the x-axis, x max Indicates the maximum value of the target's outer bounding box on the x-axis. min Indicates the minimum value on the y-axis, y max Indicates the maximum value on the y-axis. min Indicates the minimum value on the z-axis, z max Indicates the maximum value on the z-axis. x 、L y and L z Indicates the side length of the reconstructed outer cuboid. Finally, according to x, y, z, L x 、L y and L z, and reconstruct the expanded outsourcing cuboid to ensure that all three-dimensional points in the initial target point cloud data are covered.

[0104] S207: Construct a target data structure corresponding to the initial matching target point cloud data, and determine a target sub-node in the target data structure having the smallest first distance to the to-be-matched three-dimensional point in the initial matching reference point cloud data.

[0105] S208: Select a target 3D point having the smallest second distance to the 3D point to be paired from all 3D points included in the target child node, and determine the target 3D point and the 3D point to be paired as a matching point pair.

[0106] S209: Based on the ICP algorithm, the optimal coordinate transformation parameters between the initial matching target point cloud data and the initial matching reference point cloud data are determined by matching point pairs, and the point cloud data registration is completed according to the optimal coordinate transformation parameters.

[0107] For details, please refer to steps S104-S106, which will not be described in detail here.

[0108] In other embodiments, after determining that the target 3D point and the 3D point to be paired are a matching point pair, the method further includes: determining, based on the created target data structure, a neighborhood corresponding to the 3D point to be paired, i.e., a set of 3D points contained in the target child node; then selecting a subset from the 3D point set, i.e., a preset number of 3D points (nearest points) closest to the 3D point to be paired. In the embodiment of the present application, the preset number is 3. Furthermore, based on each of the closest points, a least squares method is used for fitting to obtain a fitting plane corresponding to the 3D point to be paired, where the mathematical expression of the fitting plane is: , where P represents the fitting plane, n represents the direction vector of the fitting plane P, d represents the distance between the fitting plane P and the coordinate origin, and p i represents the i-th closest point.

[0109] Furthermore, by finding the average value of the coordinates of a preset number of nearest points, the coordinates of the centroid of the fitting plane are determined, and then the covariance matrix corresponding to the matching point pair is determined. A feasible determination method is to substitute the coordinates of the centroid into the covariance matrix calculation formula In the equation, p0 represents the coordinates of the center of mass, p iRepresents the i-th closest point, T represents the translation vector in the initial registration, k represents the preset number, and M represents the covariance matrix. Finally, the covariance matrix is subjected to eigenvalue decomposition, where eigenvalue decomposition (Eigendecomposition) refers to an important method of matrix decomposition in linear algebra. This decomposition can represent the matrix as a combination of its eigenvalues and eigenvectors, and obtain the approximate direction vector corresponding to this matching point pair, that is, the direction vector corresponding to the target 3D point and the 3D point to be paired. In the embodiment of the present application, the direction vector of the target 3D point is represented by C O Indicates that the direction vector of the three-dimensional point to be paired is C p Furthermore, the cosine value of the vector angle between the direction vector of the target 3D point and the direction vector of the 3D point to be matched is calculated, that is, the cosine value of the vector angle between the approximate direction vectors. If the cosine value is not greater than the angle cosine value threshold, it means that the angle between the two approximate direction vectors is large, indicating that the matching point pair may not be matched correctly, and the matching point pair is eliminated because the angle between the approximate direction vectors corresponding to the correct matching point pair should be small. In other embodiments, if C O ·C p <0, indicating the direction vector C O and direction vector C p If the direction consistency is poor or reverse, then the direction vector needs to be redirected, then C O Reverse 180 degrees, and further determine the C after the reversal O with C p The cosine value of the angle between the direction vectors is compared with the cosine value of the angle to determine whether the matching point pair is correct.

[0110] The implementation principle of a point cloud data registration method in an embodiment of the present application is as follows: Using principal component analysis, initial registration processing is performed on the denoised target point cloud data and the denoised reference point cloud data, respectively, to achieve rapid global alignment of the two point cloud data, resulting in a preliminary overlap between the two point cloud data, thereby speeding up the subsequent formal point cloud data registration process. Furthermore, by creating a target data structure, the target subnode closest to the 3D point to be paired is found, rapidly reducing the number of candidate points for matching calculations. Then, from each 3D point in the target subnode, the target 3D point with the smallest distance to the 3D point to be paired is selected, thereby significantly shortening the time required to determine the matching point pair. Finally, refined registration is performed using the ICP algorithm, thereby improving the processing efficiency of the entire point cloud data registration process.

[0111] The following are device embodiments of the present application, which can be used to implement the method embodiments of the present application. For details not disclosed in the device embodiments of the present application, please refer to the method embodiments of the present application.

[0112] See Figure 3, which is a schematic diagram of the structure of a point cloud data registration device provided in an embodiment of the present application. This point cloud data registration device can be implemented as all or part of the device through software, hardware, or a combination of both. The device includes a point cloud acquisition module 11, a noise removal module 12, an initial registration module 13, a node screening module 14, a point pair determination module 15, and a point cloud registration module 16.

[0113] The point cloud acquisition module 11 is used to acquire the target point cloud data and reference point cloud data to be registered;

[0114] The noise removal module 12 is used to perform noise point filtering processing on the target point cloud data to obtain denoised target point cloud data, and to perform noise point filtering processing on the reference point cloud data to obtain denoised reference point cloud data;

[0115] An initial registration module 13 is configured to perform initial registration processing on the denoised target point cloud data and the denoised reference point cloud data based on a principal component analysis method, thereby obtaining preliminary registration target point cloud data and preliminary registration reference point cloud data, wherein the positions of the preliminary registration target point cloud data and the preliminary registration reference point cloud data are in a preliminary coincident state;

[0116] A node screening module 14 is configured to construct a target data structure corresponding to the initially matched target point cloud data and determine a target subnode in the target data structure having the smallest first distance to the to-be-matched 3D point in the initially matched reference point cloud data. The target data structure is a data structure describing the 3D space of the initially matched target point cloud data.

[0117] A point pair determination module 15 is configured to select a target 3D point having the smallest second distance to the 3D point to be paired from all 3D points included in the target child node, and determine the target 3D point and the 3D point to be paired as a matching point pair;

[0118] The point cloud registration module 16 is used to determine the optimal coordinate transformation parameters between the initial matching target point cloud data and the initial matching reference point cloud data by matching point pairs based on the ICP algorithm, and complete the point cloud data registration according to the optimal coordinate transformation parameters.

[0119] Optionally, the noise removal module 12 is specifically configured to:

[0120] Determine an outsourcing cuboid of target point cloud data, and divide the outsourcing cuboid into a preset number of outsourcing cubes;

[0121] Calculate the third distance, average distance and standard deviation of each third distance between each 3D point in the outer cube and the corresponding center of gravity point;

[0122] Based on the standard deviation and average distance corresponding to each outer cube, determine the standard distance range of the corresponding outer cube;

[0123] Determine whether the third distance of each three-dimensional point in each outer cube is within the corresponding standard distance range;

[0124] If not, the corresponding three-dimensional points will be eliminated until all the outer cubes are traversed to obtain the denoised target point cloud data.

[0125] Optionally, the noise removal module 12 is specifically configured to:

[0126] Determine the corresponding allowable error range based on the standard deviation of each outsourced cube;

[0127] Add the starting value of the allowable error range of each outer cube to the corresponding average distance to obtain the starting value of the distance, and add the ending value of the allowable error range of each outer cube to the corresponding average distance to obtain the ending value of the distance;

[0128] Based on the distance start value and distance end value of each outer bounding cube, the corresponding standard distance range is determined.

[0129] Optional, such as Figure 4 As shown, the device further includes an abnormality rejection module 17, which is specifically used to:

[0130] Determine the ratio of the number of three-dimensional points in adjacent bounding cubes along any of the x-axis, y-axis, and z-axis directions;

[0131] The ratio is compared with a preset ratio threshold, and the ratio threshold is less than 1;

[0132] If the ratio is less than the ratio threshold, the outer cube corresponding to the minimum number of three-dimensional points among the three-dimensional points is determined as an abnormal cube, and the three-dimensional points in the abnormal cube are removed.

[0133] Optionally, the initial registration module 13 is specifically configured to:

[0134] Based on the principal component analysis method, the three-dimensional feature vector corresponding to the denoised target point cloud data is determined, and the three-dimensional feature vector corresponding to the denoised reference point cloud data is determined;

[0135] Determine the first principal direction coordinate system of the denoised target point cloud data according to the three-dimensional feature vector corresponding to the denoised target point cloud data;

[0136] Determine the second principal direction coordinate system of the denoised reference point cloud data according to the three-dimensional feature vector corresponding to the denoised reference point cloud data;

[0137] The first principal direction coordinate system and the second principal direction coordinate system are rotated and translated to obtain initial matching target point cloud data and initial matching reference point cloud data.

[0138] Optionally, the device further includes a registration verification module 18, specifically configured to:

[0139] Construct a target outsourcing cuboid corresponding to the initial target point cloud data, and construct a reference outsourcing cuboid for the initial reference point cloud data;

[0140] Determine the overlap percentage between the target outer cuboid and the reference outer cuboid, and compare the overlap percentage with a preset percentage threshold;

[0141] If the overlap percentage exceeds a percentage threshold, the initial registration is determined to be successful.

[0142] Optionally, the device further includes a point pair rejection module 19, specifically configured to:

[0143] Determine a preset number of nearest points corresponding to the three-dimensional points to be paired based on the target data structure, where the target data structure is a kd-tree structure;

[0144] According to the least square method and the nearest points, the fitting plane corresponding to the three-dimensional points to be paired is determined, and the centroid of the fitting plane is determined;

[0145] Based on the centroid, the covariance matrix corresponding to the matching point pair is determined, and the eigenvalue decomposition of the covariance matrix is performed to obtain the approximate direction vector corresponding to the matching point pair;

[0146] Calculate the cosine of the vector angle between each approximate direction vector. If the cosine value is not greater than the preset angle cosine value threshold, the matching point pair is eliminated.

[0147] It should be noted that the above-mentioned embodiment provides a point cloud data registration device, and only uses the division of the above-mentioned functional modules as an example to illustrate when executing the point cloud data registration method. In actual applications, the above-mentioned functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the above-mentioned embodiment provides a point cloud data registration device and a point cloud data registration method embodiment, which are based on the same concept. The implementation process is detailed in the method embodiment and will not be repeated here.

[0148] An embodiment of the present application further discloses a computer-readable storage medium, and the computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, a point cloud data registration method of the above embodiment is adopted.

[0149] Among them, the computer program can be stored in a computer-readable medium, the computer program includes computer program code, the computer program code can be in the form of source code, object code, executable file or certain middleware, etc. The computer-readable medium includes any entity or device that can carry computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signal, telecommunication signal and software distribution medium, etc. It should be noted that computer-readable medium includes but is not limited to the above-mentioned components.

[0150] Among them, through this computer-readable storage medium, a point cloud data registration method of the above embodiment is stored in a computer-readable storage medium, and is loaded and executed on a processor to facilitate the storage and application of the above method.

[0151] An embodiment of the present application further discloses an electronic device, wherein a computer program is stored in a computer-readable storage medium, and when the computer program is loaded and executed by a processor, the above-mentioned point cloud data registration method is adopted.

[0152] Among them, the electronic device can be an electronic device such as a desktop computer, a laptop computer or a cloud server, and the electronic device includes but is not limited to a processor and a memory. For example, the electronic device can also include input and output devices, network access devices and buses, etc.

[0153] Among them, the processor can adopt a central processing unit (CPU). Of course, according to actual usage, other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. can also be adopted. The general-purpose processor can adopt a microprocessor or any conventional processor, etc., and this application does not impose any restrictions on this.

[0154] Among them, the memory can be an internal storage unit of the electronic device, such as the hard disk or memory of the electronic device, or it can be an external storage device of the electronic device, such as a plug-in hard disk, smart memory card (SMC), secure digital card (SD) or flash memory card (FC) equipped on the electronic device. In addition, the memory can also be a combination of an internal storage unit and an external storage device of the electronic device. The memory is used to store computer programs and other programs and data required by the electronic device. The memory can also be used to temporarily store data that has been output or is to be output. This application does not impose any restrictions on this.

[0155] Among them, through this electronic device, a point cloud data registration method of the above embodiment is stored in the memory of the electronic device, and is loaded and executed on the processor of the electronic device for easy use.

[0156] The above is only an exemplary embodiment of the present disclosure and cannot be used to limit the scope of the present disclosure. That is, any equivalent changes and modifications made according to the teachings of the present disclosure are still within the scope of the present disclosure. After considering the specification and practicing the disclosure herein, those skilled in the art will easily think of other embodiments of the present disclosure. This application is intended to cover any variations, uses or adaptations of the present disclosure, which follow the general principles of the present disclosure and include common knowledge or customary technical means in the art that are not recorded in the present disclosure. The description and examples are to be regarded as exemplary only, and the scope and spirit of the present disclosure are defined by the claims.

Claims

1. A point cloud data registration method, characterized in that: The method comprises: Obtain target point cloud data and reference point cloud data to be registered; performing noise point filtering on the target point cloud data to obtain denoised target point cloud data, and performing noise point filtering on the reference point cloud data to obtain denoised reference point cloud data; wherein the performing noise point filtering on the target point cloud data to obtain denoised target point cloud data specifically includes: Determining an outer cuboid of the target point cloud data, and dividing the outer cuboid into a preset number of outer cubes; Calculating the third distance between each three-dimensional point in the outer cube and the corresponding center of gravity, the average distance, and the standard deviation of each third distance; Determining a standard distance range of the corresponding outer cube based on the standard deviation and average distance corresponding to each outer cube; Determining whether the third distance of each three-dimensional point in each of the outer bounding cubes is within a corresponding standard distance range; If not, the corresponding three-dimensional points are eliminated until all the outer cubes are traversed to obtain the denoised target point cloud data; Based on the principal component analysis method, the denoised target point cloud data and the denoised reference point cloud data are initially registered to obtain preliminary registration target point cloud data and preliminary registration reference point cloud data, wherein the positions of the preliminary registration target point cloud data and the preliminary registration reference point cloud data are in a preliminary coincident state; Constructing a target data structure corresponding to the initially matched target point cloud data, and determining a target subnode in the target data structure having the smallest first distance to the to-be-matched three-dimensional point in the initially matched reference point cloud data, wherein the target data structure is a data structure describing the three-dimensional space of the initially matched target point cloud data; Select the target 3D point with the smallest second distance to the 3D point to be paired from all the 3D points contained in the target child node, and determine the target 3D point and the 3D point to be paired as a matching point pair, wherein, if C0·C p <0, then reverse C0 by 180 degrees and determine the difference between C0 and C p The cosine value of the angle between the direction vectors is then compared with the cosine value of the angle, where C0 represents the direction vector of the target three-dimensional point, and C p Represents the direction vector of the 3D point to be paired; Based on the ICP algorithm, the optimal coordinate transformation parameters between the initial matching target point cloud data and the initial matching reference point cloud data are determined through the matching point pairs, and the point cloud data registration is completed according to the optimal coordinate transformation parameters.

2. The point cloud data registration method according to claim 1, characterized in that: Determining the standard distance range of the corresponding outer cube based on the standard deviation and the average distance corresponding to each outer cube specifically includes: Determining a corresponding allowable error range according to a standard deviation corresponding to each of the outer cubes; Adding the corresponding average distance to the starting value of the allowable error range of each outer cube to obtain a distance starting value, and adding the corresponding average distance to the ending value of the allowable error range of each outer cube to obtain a distance ending value; Based on the distance start value and the distance end value of each of the outer cubes, a corresponding standard distance range is determined.

3. The point cloud data registration method according to claim 1, characterized in that: Before calculating the third distance, the average distance, and the standard deviation of each of the third distances between the three-dimensional point in each of the outer cubes and the corresponding center of gravity, the method further includes: Determine the ratio of the number of three-dimensional points in adjacent bounding cubes along any of the x-axis, y-axis, and z-axis directions; Comparing the ratio with a preset ratio threshold, wherein the ratio threshold is less than 1; If the ratio is less than the ratio threshold, the outer cube corresponding to the minimum number of three-dimensional points among the three-dimensional point quantities is determined as an abnormal cube, and the three-dimensional points in the abnormal cube are removed.

4. The point cloud data registration method according to claim 1, characterized in that: The initial registration processing of the denoised target point cloud data and the denoised reference point cloud data based on the principal component analysis method to obtain the initial registration target point cloud data and the initial registration reference point cloud data specifically includes: Determining the three-dimensional feature vector corresponding to the denoised target point cloud data and the three-dimensional feature vector corresponding to the denoised reference point cloud data based on principal component analysis; Determining a first principal direction coordinate system of the denoised target point cloud data according to a three-dimensional feature vector corresponding to the denoised target point cloud data; Determining a second principal direction coordinate system of the denoised reference point cloud data according to a three-dimensional feature vector corresponding to the denoised reference point cloud data; The first principal direction coordinate system and the second principal direction coordinate system are rotated and translated to obtain initial matching target point cloud data and initial matching reference point cloud data.

5. The point cloud data registration method according to claim 1, characterized in that: After obtaining the initial matching target point cloud data and the initial matching reference point cloud data, the method further includes: Constructing a target outsourcing cuboid corresponding to the initially matched target point cloud data, and constructing a reference outsourcing cuboid for the initially matched reference point cloud data; Determining an overlap percentage between the target outer cuboid and the reference outer cuboid, and comparing the overlap percentage with a preset percentage threshold; If the overlap percentage exceeds the percentage threshold, it is determined that the initial registration is successful.

6. The point cloud data registration method according to claim 1, characterized in that: After determining the target 3D point and the to-be-paired 3D point as a matching point pair, the method further includes: Determining a preset number of closest points corresponding to the three-dimensional points to be paired based on the target data structure, wherein the target data structure is a kd-tree structure; Determining a fitting plane corresponding to the three-dimensional points to be paired based on the least squares method and the nearest points, and determining the centroid of the fitting plane; Based on the centroid, determining a covariance matrix corresponding to the matching point pair, and performing eigenvalue decomposition on the covariance matrix to obtain an approximate direction vector corresponding to the matching point pair; The cosine value of the vector angle between each of the approximate direction vectors is calculated, and if the cosine value is not greater than a preset angle cosine value threshold, the matching point pair is eliminated.

7. A point cloud data registration device, used to implement the point cloud data registration method according to any one of claims 1 to 6, characterized in that: include: A point cloud acquisition module (11) is used to acquire target point cloud data and reference point cloud data to be registered; A noise removal module (12) is used to perform noise point filtering processing on the target point cloud data to obtain denoised target point cloud data, and to perform noise point filtering processing on the reference point cloud data to obtain denoised reference point cloud data; An initial registration module (13) is used to perform initial registration processing on the denoised target point cloud data and the denoised reference point cloud data based on a principal component analysis method to obtain initial registration target point cloud data and initial registration reference point cloud data, wherein the positions of the initial registration target point cloud data and the initial registration reference point cloud data are in a preliminary coincidence state; a node screening module (14) for constructing a target data structure corresponding to the initially matched target point cloud data, and determining a target subnode in the target data structure having the smallest first distance to the to-be-matched three-dimensional point in the initially matched reference point cloud data, wherein the target data structure is a data structure describing the three-dimensional space of the initially matched target point cloud data; a point pair determination module (15), configured to select a target 3D point having the smallest second distance to the 3D point to be paired from among all 3D points included in the target subnode, and determine the target 3D point and the 3D point to be paired as a matching point pair; A point cloud registration module (16) is used to determine the optimal coordinate transformation parameters between the initial matching target point cloud data and the initial matching reference point cloud data through the matching point pairs based on the ICP algorithm, and complete the point cloud data registration according to the optimal coordinate transformation parameters.

8. A computer-readable storage medium storing a computer program, wherein: When the computer program is loaded and executed by a processor, the method according to any one of claims 1 to 6 is adopted.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and capable of running on the processor, characterized in that: When the processor loads and executes the computer program, the method according to any one of claims 1 to 6 is adopted.

Citation Information

Patent Citations

  • Point cloud registration method, bone registration method, device, equipment and storage medium

    CN113205547A

  • Data registration method and device for three-dimensional point cloud and medium

    CN117237428A