Point cloud matching and positioning method, system and product based on lidar point cloud clustering

Through the improved DBCSAN algorithm and two-time grid cell division optimization solution, the problem of point cloud matching algorithm in accuracy and computing resource consumption is solved, and the point cloud registration and positioning accuracy is improved, especially the matching effect in complex environments.

CN116993828BActive Publication Date: 2025-08-08BEIJING UNIV OF TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310968359.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-08-02
Publication Date
2025-08-08
Estimated Expiration
2043-08-02

AI Technical Summary

Technical Problem

Existing point cloud matching algorithms such as ICP and NDT have problems with insufficient accuracy and excessive computing resource consumption during point cloud matching. Especially when dealing with corner points, the NDT algorithm cannot accurately describe the local geometric features of the point cloud, resulting in a decrease in positioning accuracy.

Method used

The improved DBCSAN algorithm is used to preprocess the reference point cloud, generate a straight set of point cloud clusters, and adaptively adjust the unit division to improve the accuracy of point cloud matching through two grid cell divisions and optimization solutions.

Benefits of technology

Through adaptive division and optimization solution, the accuracy of point cloud registration is improved and the accuracy of positioning is enhanced, especially in complex environments, the local geometric characteristics of point clouds can be better described.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116993828B_ABST
    Figure CN116993828B_ABST
Patent Text Reader

Abstract

The present invention provides a point cloud matching and positioning method, system, and product based on LiDAR point cloud clustering, relating to the field of robot positioning. The method includes: obtaining a reference point cloud and a target point cloud; preprocessing the reference point cloud using an improved DBCSAN algorithm to generate a set of straight point cloud clusters; determining the boundaries of each point cloud cluster and performing a first grid cell division on the point cloud cluster; calculating the unit length of the first grid cell and determining whether it is greater than a unit length threshold based on the unit length; if so, performing a second grid cell division; initializing a transfer matrix, transforming each point in the target point cloud, and generating a mapping point corresponding to each point; performing a first optimization solution to determine the transfer matrix of the first optimization solution; performing a second optimization solution to determine the point cloud matching result; if not, determining the point cloud matching result based on a first mean and a first covariance. The present invention can improve the accuracy of point cloud registration.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of robot positioning, and in particular to a point cloud matching positioning method, system and product based on laser radar point cloud clustering. Background Art

[0002] Point cloud matching algorithms have important applications in various fields and are key technologies for achieving simultaneous localization and mapping (SLAM), robot navigation, and robotic manipulation. The accuracy of scan matching directly impacts the quality of map generation and the precision of robot navigation.

[0003] Currently, there are two widely used scan matching algorithms. The first is the point-based Iterative Closest Point (ICP) algorithm. Point-to-point ICP is one of the most typical methods. In each iteration, it minimizes a distance function by finding the closest point to calculate the transformation between two point clouds. However, when searching for the closest point, it is often assumed that the point with the closest Euclidean distance is the corresponding point, an assumption that is not always reasonable. Furthermore, ICP has high requirements for the position of the matching point clouds and consumes a large amount of computing resources during the corresponding point search, which reduces the algorithm's operation speed. The second method is the distribution-based Normal Distribution Transform (NDT) algorithm. The NDT algorithm does not use individual points in the point cloud, but instead uses a probability density function to describe the distribution relationship of the point cloud. NDT divides the point cloud into cells and models the shape of the point cloud using a normal distribution. Therefore, during the matching process, NDT is faster and more robust than ICP and can minimize the impact of increasing point cloud data volume.

[0004] Due to its excellent balance between accuracy, robustness, computational efficiency, and scalability, NDT is widely used in fields such as point cloud matching and SLAM. However, NDT suffers from irrational segmentation when subdividing space into regular units, resulting in discontinuous normal distribution at unit edges. Furthermore, the NDT algorithm is prone to severe distortion when processing point clouds at corner locations, resulting in the inability of the divided units to accurately describe the local geometric features of the point cloud after normalization. These issues directly affect the accuracy of point cloud registration, leading to a decrease in positioning precision. Summary of the Invention

[0005] The purpose of the present invention is to provide a point cloud matching positioning method, system and product based on lidar point cloud clustering to solve the problem of decreased positioning accuracy.

[0006] To achieve the above object, the present invention provides the following solutions:

[0007] A point cloud matching and positioning method based on laser radar point cloud clustering, comprising:

[0008] Obtain reference point cloud and target point cloud;

[0009] Preprocessing the reference point cloud using an improved DBCSAN algorithm to generate a straight point cloud cluster set; the improved DBCSAN algorithm adds two judgment mechanism values; the judgment mechanism values include a correlation coefficient and a standard deviation;

[0010] Determine the boundary of each point cloud cluster, perform a first grid unit division on the point cloud cluster, and determine a first mean and a first covariance of the point cloud cluster within each first divided grid unit;

[0011] Calculating the unit length of the first grid unit divided for the first time, and determining whether the unit length is greater than a unit length threshold according to the unit length;

[0012] If yes, performing a second grid cell division on the point cloud clusters in the first grid cell, and determining a second mean and a second covariance of the point cloud clusters in each divided second grid cell;

[0013] Initialize the transfer matrix;

[0014] According to the initialized transfer matrix, each point in the target point cloud is transformed to generate a mapping point corresponding to each point;

[0015] Determining the normally distributed grid unit to which the mapping point belongs according to the first mean and the first covariance, and performing a first optimization solution on the initialized transfer matrix to determine a transfer matrix obtained by the first optimization solution;

[0016] Passing the transfer matrix obtained by the first optimization solution to a second optimization solution process, determining the normally distributed grid cells corresponding to the target point cloud according to the second mean and the second covariance, and performing a second optimization solution on the transfer matrix obtained by the first optimization solution to determine a point cloud matching result;

[0017] If not, determine a point cloud matching result according to the first mean and the first covariance.

[0018] Optionally, the reference point cloud is preprocessed using an improved DBCSAN algorithm to generate a straight point cloud cluster set, specifically including:

[0019] Obtaining the neighborhood radius and minimum number of samples of the reference point cloud;

[0020] Randomly select a data point in the reference point cloud and determine all data points whose distance from the data point is less than or equal to the neighborhood radius;

[0021] Determine whether the number of all the data points is less than the minimum sample point; if so, mark the data point as noise and discard it; if not, mark the data point as a core sample and assign a new cluster label;

[0022] Access all neighboring data points of the core sample; the neighboring data points are data points whose distance from the core sample is less than or equal to the neighborhood radius;

[0023] Determine whether the neighboring data point is not assigned a cluster label; if so, calculate the covariance matrix and correlation coefficient of the point cloud with the cluster label; if not, discard the neighboring data point;

[0024] Get the standard deviation of the point cloud with the cluster label;

[0025] Determine whether the newly added data point meets the standard deviation or the correlation coefficient; if so, classify the newly added data point into the cluster, assign the same cluster label, and continue to expand the current point cloud cluster; if not, discard the newly added data point;

[0026] Return to "arbitrarily select a data point in the reference point cloud and determine all data points whose distance from the data point is less than or equal to the neighborhood radius" until all data points in the reference point cloud are visited to generate a straight point cloud cluster set.

[0027] Optionally, the step of continuing to expand the current point cloud cluster further includes:

[0028] If the neighbor data point is a core sample, the neighbor data points of the neighbor data point are recursively visited until there is no core sample within the neighborhood radius of the point cloud cluster to which the neighbor data point belongs.

[0029] Optionally, the unit length l is:

[0030]

[0031] Among them, x min is the minimum value of the coordinate of the data point in the point cloud cluster in the x-axis direction; max is the maximum value of the coordinates of the data points in the point cloud cluster in the x-axis direction; min is the minimum value of the coordinate of the data point in the point cloud cluster in the y-axis direction; max is the maximum value of the coordinates of the data points in the point cloud cluster in the y-axis direction.

[0032] Optionally, the number of point cloud clusters seg in the second grid unit is:

[0033]

[0034] Among them, ε l is the cell length threshold.

[0035] A point cloud matching and positioning system based on laser radar point cloud clustering, comprising:

[0036] Point cloud acquisition module, used to obtain reference point cloud and target point cloud;

[0037] a point cloud cluster set generation module, configured to pre-process the reference point cloud using an improved DBCSAN algorithm to generate a straight point cloud cluster set; the improved DBCSAN algorithm adds two judgment mechanism values; the judgment mechanism values include a correlation coefficient and a standard deviation;

[0038] a first grid unit division module, configured to determine the boundary of each point cloud cluster, perform a first grid unit division on the point cloud cluster, and determine a first mean and a first covariance of the point cloud cluster within each divided first grid unit;

[0039] A first judgment module is used to calculate the unit length of the first grid unit divided for the first time, and determine whether the unit length is greater than a unit length threshold according to the unit length;

[0040] A second grid unit division module is configured to, if yes, perform a second grid unit division on the point cloud clusters in the first grid unit, and determine a second mean and a second covariance of the point cloud clusters in each divided second grid unit;

[0041] Initialization module, used to initialize the transfer matrix;

[0042] A mapping point generation module is used to transform each point in the target point cloud according to the initialized transfer matrix to generate a mapping point corresponding to each point;

[0043] a first optimization solution module, configured to determine the normally distributed grid unit to which the mapping point belongs based on the first mean and the first covariance, and perform a first optimization solution on the initialized transfer matrix to determine a transfer matrix obtained by the first optimization solution;

[0044] a point cloud matching result determination module, configured to transfer the transfer matrix obtained by the first optimization solution to a second optimization solution process, determine the normally distributed grid cells corresponding to the target point cloud according to the second mean and the second covariance, and perform a second optimization solution on the transfer matrix obtained by the first optimization solution to determine a point cloud matching result;

[0045] If not, determine a point cloud matching result according to the first mean and the first covariance.

[0046] Optionally, the point cloud cluster set generation module specifically includes:

[0047] A neighborhood radius and minimum sample number obtaining unit, configured to obtain the neighborhood radius and minimum sample number of the reference point cloud;

[0048] A data point determination unit, configured to arbitrarily select a data point in the reference point cloud and determine all data points whose distance from the data point is less than or equal to the neighborhood radius;

[0049] A first judgment unit is configured to judge whether the number of all the data points is less than the minimum sample point; if so, mark the data point as noise and discard it; if not, mark the data point as a core sample and assign a new cluster label;

[0050] A neighbor data point access unit, configured to access all neighbor data points of the core sample; the neighbor data points are data points whose distance from the core sample is less than or equal to the neighborhood radius;

[0051] A second judgment unit is configured to judge whether the neighboring data point is not assigned a cluster label; if so, calculate the covariance matrix and correlation coefficient of the point cloud with the cluster label; if not, discard the neighboring data point;

[0052] a standard deviation obtaining unit, configured to obtain a standard deviation of the point cloud with the cluster label;

[0053] The third judgment unit is used to judge whether the newly added data point meets the standard deviation or the correlation coefficient; if so, the newly added data point is classified into the cluster, assigned the same cluster label, and the current point cloud cluster is further expanded; if not, the newly added data point is discarded;

[0054] The point cloud cluster set generation unit is used to return "arbitrarily selecting a data point in the reference point cloud and determining all data points whose distance from the data point is less than or equal to the neighborhood radius" until all data points in the reference point cloud are visited to generate a straight point cloud cluster set.

[0055] Optionally, the unit length l is:

[0056]

[0057] Among them, x min is the minimum value of the coordinate of the data point in the point cloud cluster in the x-axis direction; max is the maximum value of the coordinates of the data points in the point cloud cluster in the x-axis direction; mi n is the minimum value of the coordinate of the data point in the point cloud cluster in the y-axis direction; y max is the maximum value of the coordinates of the data points in the point cloud cluster in the y-axis direction.

[0058] An electronic device includes a memory and a processor, wherein the memory is used to store a computer program, and the processor runs the computer program to enable the electronic device to perform the above-mentioned point cloud matching and positioning method based on lidar point cloud clustering.

[0059] A computer-readable storage medium stores a computer program, which, when executed by a processor, implements the above-mentioned point cloud matching and positioning method based on lidar point cloud clustering.

[0060] According to the specific embodiments provided by the present invention, the present invention discloses the following technical effects: the present invention provides a point cloud matching and positioning method, system and product based on lidar point cloud clustering. First, by adding two judgment mechanisms, the clustering effect of the DBSCAN algorithm on two-dimensional lidar point cloud data is improved, which provides a reasonable basis for the adaptive unit division of the NDT algorithm; secondly, the units are adaptively divided according to the boundaries of the straight point cloud clusters, and whether to continue the division is determined according to the unit length, which solves the problems of discontinuous normal distribution at the unit edge and inability to express the local geometric features of the point cloud, so that the local geometric features of the point cloud can be accurately described and the accuracy of point cloud registration can be improved; finally, the present invention can carry out two optimization solutions based on the two unit divisions respectively. The optimization solution based on the first division can improve the matching range of the algorithm, and the optimization solution based on the second division can improve the matching accuracy of the algorithm, thereby improving the positioning accuracy. BRIEF DESCRIPTION OF THE DRAWINGS

[0061] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0062] Figure 1 This is a flow chart of a point cloud matching and positioning method based on lidar point cloud clustering according to an embodiment of the present invention;

[0063] Figure 2 This is a diagram showing the effect of the first unit adaptive division according to an embodiment of the present invention;

[0064] Figure 3 This is a unit subdivision effect diagram of an embodiment of the present invention;

[0065] Figure 4 Schematic diagram of the simulation map and real track points according to an embodiment of the present invention; wherein, Figure 4 (a) is a schematic diagram of the simulation map and real trajectory points in the first scenario; Figure 4 (b) is a schematic diagram of the simulation map and real trajectory points in the second scenario; Figure 4(c) is a schematic diagram of the simulation map and real trajectory points in the third scenario;

[0066] Figure 5 This is a comparison diagram of simulation trajectory points of different algorithms in an embodiment of the present invention; wherein, Figure 5 (a) is a comparison of simulation trajectory points of different algorithms in the first environment; Figure 5 (b) is a comparison of simulation trajectory points of different algorithms in the second environment; Figure 5 (c) is a comparison chart of simulation trajectory points of different algorithms in the third environment. DETAILED DESCRIPTION

[0067] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.

[0068] The purpose of the present invention is to provide a point cloud matching and positioning method, system and product based on lidar point cloud clustering, which can improve the accuracy of point cloud registration and thus improve the accuracy of positioning.

[0069] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the present invention is further described in detail below with reference to the accompanying drawings and specific embodiments.

[0070] like Figure 1 As shown, the present invention provides a point cloud matching and positioning method based on laser radar point cloud clustering, comprising:

[0071] Step S1: Obtain input reference point cloud and target point cloud.

[0072] Step S2: Use the improved DBCSAN algorithm to perform denoising and clustering on the reference point cloud to obtain a straight point cloud cluster set C, where C = {C1 C2 ... Cn}, and n is the number of point cloud clusters.

[0073] Step S2 obtains a set of straight point cloud clusters by improving the DBSCAN algorithm, which specifically includes the following steps:

[0074] 1) Input the reference point cloud, set the neighborhood radius e, and specify the minimum number of samples m.

[0075] 2) Randomly select a data point and find all data points whose distance to this point is less than or equal to e. If the number of these data points is less than m (a specified number), the point is marked as noise and discarded; if the number is greater than or equal to m, the point is marked as a core sample and a new cluster label is assigned.

[0076] 3) Visit all neighboring data points of the core sample (within distance e). If the neighboring data point has not yet been assigned a cluster label, the disconnection mechanism is triggered to calculate the covariance matrix and correlation coefficient R of the point cloud in the cluster (including the newly added sample). The specific calculation formula is as follows:

[0077] cov(X,Y)=E[(X-μ x )(Y-μ y )];

[0078]

[0079] μ x =E(X),μ y =E(Y);

[0080]

[0081] Among them, cov(X,Y) is the covariance of the point cloud cluster, E[(X-μ x )(Y-μ y )] is the point cloud cluster covariance calculation formula, μ x is the mean x-coordinate of the point cloud cluster, μ y is the mean of the y coordinate of the point cloud cluster, σ x is the variance of the x-coordinate, σ y is the variance of the y-coordinate, E(X) is the expectation of the x-coordinate of the point cloud cluster, E(Y) is the expectation of the y-coordinate of the point cloud cluster, n is the number of point cloud points in the point cloud cluster, and X, Y represent the x-axis coordinate and y-axis coordinate of the two-dimensional point cloud respectively.

[0082] The correlation coefficient R reflects the closeness of the correlation between the x-axis and y-axis coordinates of a point cloud. A larger R indicates a higher correlation between the x-axis and y-axis, and the point cloud clusters tend to be straighter. However, when the point cloud clusters are vertical or horizontal, the correlation coefficient R may still be small even if the point cloud clusters are straight.

[0083] To address this issue, the present invention introduces a second judgment criterion, the standard deviation. The standard deviation can be used to describe the degree of concentration of a point cloud in the x or y direction. A smaller standard deviation indicates a more concentrated point cloud and a straighter point cloud cluster. Therefore, two thresholds are set to determine whether a newly added point meets the requirements. The specific judgment rules are as follows:

[0084] R>η R ;

[0085] σ x <η σ or σ y <η σ .

[0086] Among them, η R , η σ are the thresholds for the correlation coefficient and the standard deviation, respectively.

[0087] 4) When a newly added point meets either of the two thresholds, the point is classified into the cluster and assigned the same cluster label. Otherwise, no label is assigned and the cluster is expanded. If the neighboring data point is also a core sample, its neighboring data points are recursively visited until there are no more core samples within the e distance of the cluster.

[0088] 5) Select another data point that has not been visited and repeat the above steps until all data points have been visited.

[0089] 6) Output a set C of straight point cloud clusters, C = {C1 C2 ... Cn}, where n is the number of point cloud clusters.

[0090] Step S3: Calculate the mean and covariance of each point cloud cluster and determine the boundary of the point cloud cluster, perform the first unit division, and perform the adaptive first unit division according to the size of the point cloud cluster to obtain the boundary F of the grid unit. i , and calculate the length l of the grid unit. The calculation formula is as follows:

[0091] F i ={x min ,x max ,y min ,y max};

[0092]

[0093] The cell boundary x min , x max ,y min ,y max is the point cloud cluster C i The maximum and minimum values of the coordinates of the points in the x and y axes.

[0094] Figure 2 The partitioning of the point cloud and the normal distribution function generated based on the partitioning are shown, such as Figure 2 shown.

[0095] Step S4: Check whether the length of the grid cell is greater than a threshold. If it is, perform a second cell division and calculate the mean and covariance of each point cloud cluster. If it is less than the threshold, do not continue the division.

[0096] Furthermore, when the length l of the unit is greater than the preset unit length threshold ε l When , the point cloud cluster is further subdivided into seg overlapping small point cloud clusters. The calculation formula of seg is as follows:

[0097]

[0098] Figure 3 The results of the grid subdivision and the corresponding normal distribution function are shown, as Figure 3 shown.

[0099] Step S5: Initialize the transfer matrix p0 using zero value or odometer data.

[0100] Step S6: Use the initialized transfer matrix p0 to calculate the value of each point x in the target point cloud. i Perform the transformation to obtain the corresponding mapping point x′ i The normally distributed grid cells to which the mapping points belong are determined according to the first grid division, and the initialized transfer matrix is optimized and solved for the first time to obtain the transfer matrix p1.

[0101] Step S7: pass the result p1 of the first optimization solution to the second optimization solution, determine the normally distributed grid cells corresponding to the target point cloud according to the second mesh division, and perform the second optimization to obtain the point cloud matching result p2.

[0102] The following is a specific application example of the point cloud matching and positioning method based on lidar point cloud clustering provided in the first embodiment of the present invention.

[0103] In order to fully evaluate the reliability of the algorithm, three simulation maps with different scenes of different complexity were created by simulating the warehouse environment. One of the scenes consists of walls and shelves without other obstacles, such as Figure 4 The second scene consists of wall blocks and circular obstacles, as shown in (a). Figure 4 The last scene is composed of a mixture of wall blocks, circular obstacles and square obstacles, as shown in (b). Figure 4 (c) in the figure. In simple environments, obstacles have the same appearance, and the lidar sensor can clearly describe their outlines. However, the data changes little from frame to frame, resulting in repeated data representation. In complex environments, obstacles have different point, line, and surface features. Although the lidar sensor can obtain more obstacle information features, it cannot clearly describe the obstacle outlines. Through comparative experiments, we can effectively verify the performance of the algorithm in these three different simulation environments.

[0104] Figure 4In the environment map shown, scene (a) consists of walls and shelves, scene (b) consists of walls and circular obstacles, and scene (c) consists of a mixture of walls, circular obstacles, and square obstacles. The dots "·" represent the vehicle's actual trajectory points.

[0105] True trajectory Tr true 400 trajectory points Each trajectory point records the vehicle's true position and heading angle, and the LiDAR data obtained at each trajectory point serves as a dataset. To better evaluate the robustness of the algorithm, all algorithm transformation parameters are initially set to zero translation and zero rotation. In practical applications, data generated by additional sensors or motion models is often used to provide an initial pose estimate for the algorithm, thereby reducing the number of algorithm iterations.

[0106] The data of the i-th frame and the i+1-th frame are input into the algorithm to obtain the rigid body transformation matrix between the two frames. Then, the trajectory of the vehicle is calculated based on the transformation matrix, which is called the generated trajectory Tr generate The error of the generated trajectory relative to the true trajectory is cumulative. Figure 5 As shown in the figure, different symbols represent the trajectories generated by different algorithms, where “*” represents the trajectory points generated by the method proposed in this invention. It can be clearly seen that in the three different environments, this result is closest to the real trajectory. Figure 5 In the environment (a), it almost completely coincides with the true trajectory, while in Figure 5 In environments (b) and (c), it exhibits a slight offset from the true trajectory. "o" represents a trajectory point generated by NDT, which exhibits significant offsets in all three environments. The 322nd trajectory point in environment c fails to match, causing subsequent trajectories to deviate significantly from the true trajectory. "×" represents a trajectory point generated by ICP, which also exhibits a significant offset from the true trajectory. Experimental results show that compared to NDT and ICP, the proposed method achieves better matching results in various environments, particularly in environments composed of linear obstacles.

[0107] Example 2

[0108] In order to execute the method corresponding to the above-mentioned embodiment 1 and achieve the corresponding functions and technical effects, a point cloud matching and positioning system based on lidar point cloud clustering is provided below.

[0109] A point cloud matching and positioning system based on laser radar point cloud clustering, comprising:

[0110] The point cloud acquisition module is used to obtain reference point clouds and target point clouds.

[0111] The point cloud cluster set generation module is used to pre-process the reference point cloud using an improved DBCSAN algorithm to generate a straight point cloud cluster set; the improved DBCSAN algorithm adds two judgment mechanism values; the judgment mechanism values include a correlation coefficient and a standard deviation.

[0112] The first grid unit division module is used to determine the boundary of each point cloud cluster, perform the first grid unit division on the point cloud cluster, and determine the first mean and first covariance of the point cloud cluster in each divided first grid unit.

[0113] The first judgment module is used to calculate the unit length of the first grid unit divided for the first time, and judge whether the unit length is greater than the unit length threshold according to the unit length.

[0114] The second grid unit division module is used to perform a second grid unit division on the point cloud clusters in the first grid unit, and determine the second mean and second covariance of the point cloud clusters in each divided second grid unit.

[0115] Initialization module, used to initialize the transfer matrix.

[0116] The mapping point generation module is used to transform each point in the target point cloud according to the initialized transfer matrix to generate a mapping point corresponding to each point.

[0117] The first optimization solution module is used to determine the normally distributed grid unit to which the mapping point belongs based on the first mean and the first covariance, and perform a first optimization solution on the initialized transfer matrix to determine the transfer matrix of the first optimization solution.

[0118] In practical applications, each grid cell is assigned a normal distribution function to describe the distribution of the point cloud within the grid cell. If the point cloud point Point1 is mapped within this grid cell, a score can be calculated by substituting the x, y coordinates of Point1.

[0119] The mapping points of Point 1 are determined by the transfer matrix. Adding all the mapping points together yields a function whose variable is the transfer matrix. The goal of the optimization solution is to find the transfer matrix that maximizes the objective function. Newton's method or the trust region method are generally used.

[0120] The point cloud matching result determination module is used to transfer the transfer matrix obtained by the first optimization solution to the second optimization solution process, determine the normally distributed grid unit corresponding to the target point cloud according to the second mean and the second covariance, and perform a second optimization solution on the transfer matrix obtained by the first optimization solution to determine the point cloud matching result.

[0121] If not, determine a point cloud matching result according to the first mean and the first covariance.

[0122] In practical applications, the point cloud cluster set generation module specifically includes: a neighborhood radius and minimum sample number acquisition unit, which is used to obtain the neighborhood radius and minimum sample number of the reference point cloud; a data point determination unit, which is used to arbitrarily select a data point in the reference point cloud and determine all data points whose distance from the data point is less than or equal to the neighborhood radius; a first judgment unit, which is used to judge whether the number of all the data points is less than the minimum sample point; if so, the data point is marked as noise and discarded; if not, the data point is marked as a core sample and a new cluster label is assigned; a neighbor data point access unit, which is used to access all neighbor data points of the core sample; the neighbor data point is a data point whose distance from the core sample is less than or equal to the neighborhood radius; a second judgment unit, Used to determine whether the neighboring data points are not assigned cluster labels; if so, calculate the covariance matrix and correlation coefficient of the point cloud with the cluster label; if not, discard the neighboring data points; a standard deviation acquisition unit, used to obtain the standard deviation of the point cloud with the cluster label; a third judgment unit, used to determine whether the newly added data points meet the standard deviation or the correlation coefficient; if so, classify the newly added data points into the cluster, assign the same cluster label, and continue to expand the current point cloud cluster; if not, discard the newly added data points; a point cloud cluster set generation unit, used to return to "arbitrarily select a data point in the reference point cloud, determine all data points whose distance to the data point is less than or equal to the neighborhood radius", until all data points in the reference point cloud are visited to generate a straight point cloud cluster set.

[0123] In practical applications, the unit length l is: Among them, x min is the minimum value of the coordinate of the data point in the point cloud cluster in the x-axis direction; max is the maximum value of the coordinates of the data points in the point cloud cluster in the x-axis direction; min is the minimum value of the coordinate of the data point in the point cloud cluster in the y-axis direction; max is the maximum value of the coordinates of the data points in the point cloud cluster in the y-axis direction.

[0124] Example 3

[0125] An embodiment of the present invention provides an electronic device including a memory and a processor, wherein the memory is used to store a computer program, and the processor runs the computer program to enable the electronic device to execute the point cloud matching and positioning method based on lidar point cloud clustering provided in Example 1.

[0126] In practical applications, the above-mentioned electronic device may be a server.

[0127] In practical applications, an electronic device includes at least one processor, a memory, a bus, and a communication interface.

[0128] Wherein: the processor, the communication interface, and the memory communicate with each other via a communication bus.

[0129] Communication interface, used to communicate with other devices.

[0130] The processor is used to execute the program, and specifically can execute the method described in the above embodiment.

[0131] Specifically, the program may include program codes including computer operation instructions.

[0132] The processor may be a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present invention. The one or more processors included in the electronic device may be processors of the same type, such as one or more CPUs, or processors of different types, such as one or more CPUs and one or more ASICs.

[0133] Memory is used to store programs. The memory may include high-speed RAM memory, and may also include non-volatile memory (non-volatile memory), such as at least one disk storage.

[0134] Based on the description of the above embodiments, the present invention provides a storage medium on which computer program instructions are stored. The computer program instructions can be executed by a processor to implement the method described in any embodiment.

[0135] The point cloud matching and positioning system based on LiDAR point cloud clustering provided in the embodiments of the present application exists in various forms, including but not limited to:

[0136] (1) Mobile communication devices: These devices are characterized by their mobile communication capabilities and are primarily designed to provide voice and data communications. These terminals include smartphones (e.g., iPhones), multimedia phones, feature phones, and low-end phones.

[0137] (2) Ultra-mobile personal computer devices: These devices fall under the category of personal computers, have computing and processing capabilities, and generally also have mobile Internet access capabilities. These terminals include PDAs, MIDs, and UMPC devices, such as the iPad.

[0138] (3) Portable entertainment devices: These devices can display and play multimedia content. These devices include audio and video players (such as iPods), handheld game consoles, e-books, smart toys, and portable car navigation devices.

[0139] (4) Other electronic devices with data interaction functions.

[0140] Thus far, specific embodiments of the present subject matter have been described. Other embodiments are within the scope of the appended claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve the desired results. Furthermore, the processes depicted in the accompanying drawings do not necessarily require the specific order shown or sequential order to achieve the desired results. In certain embodiments, multitasking and parallel processing may be advantageous.

[0141] The systems, devices, modules, or units described in the above embodiments may be implemented by computer chips or entities, or by products having certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0142] For the convenience of description, the above devices are described in terms of their functions and are divided into various units and described separately. Of course, when implementing the present application, the functions of each unit can be implemented in the same one or more software and / or hardware. It should be understood by those skilled in the art that the embodiments of the present application can be provided as methods, systems or computer program products. Therefore, the present application can take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0143] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems) and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0144] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0145] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0146] In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.

[0147] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.

[0148] Computer-readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM),

[0149] Digital versatile discs (DVDs) or other optical storage, magnetic cassettes, magnetic tape, disk storage or other magnetic storage devices

[0150] Or any other non-transmission medium that can be used to store information that can be accessed by a computing device. According to the definition in the present invention, computer-readable media does not include temporary computer-readable media (transitory media), such as modulated data signals and carrier waves.

[0151] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.

[0152] The present application may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, and the like that perform specific tasks or implement specific abstract data types. The present application may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected via a communications network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.

[0153] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. Reference can be made to the common and similar parts between the various embodiments. For the systems disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the description is relatively simple, and the relevant parts can be referred to the method description.

[0154] The present invention uses specific examples to illustrate the principles and implementation methods of the present invention. The above examples are only intended to help understand the method and core concept of the present invention. At the same time, those skilled in the art will find that the specific implementation methods and application scopes may vary based on the concept of the present invention. In summary, the contents of this specification should not be construed as limiting the present invention.

Claims

1. A point cloud matching and positioning method based on laser radar point cloud clustering, characterized in that: include: Obtain reference point cloud and target point cloud; Preprocessing the reference point cloud using an improved DBCSAN algorithm to generate a straight point cloud cluster set; The improved DBCSAN algorithm adds two judgment mechanism values; the judgment mechanism values include correlation coefficient and standard deviation; Determine the boundary of each point cloud cluster, perform a first grid unit division on the point cloud cluster, and determine a first mean and a first covariance of the point cloud cluster within each first divided grid unit; Calculating the unit length of the first grid unit divided for the first time, and determining whether the unit length is greater than a unit length threshold according to the unit length; If yes, performing a second grid cell division on the point cloud clusters in the first grid cell, and determining a second mean and a second covariance of the point cloud clusters in each divided second grid cell; Initialize the transfer matrix; According to the initialized transfer matrix, each point in the target point cloud is transformed to generate a mapping point corresponding to each point; Determining the normally distributed grid unit to which the mapping point belongs according to the first mean and the first covariance, and performing a first optimization solution on the initialized transfer matrix to determine a transfer matrix obtained by the first optimization solution; Passing the transfer matrix obtained by the first optimization solution to a second optimization solution process, determining the normally distributed grid cells corresponding to the target point cloud according to the second mean and the second covariance, and performing a second optimization solution on the transfer matrix obtained by the first optimization solution to determine a point cloud matching result; If not, determine a point cloud matching result according to the first mean and the first covariance.

2. The point cloud matching and positioning method based on laser radar point cloud clustering according to claim 1, characterized in that: The reference point cloud is preprocessed using the improved DBCSAN algorithm to generate a straight point cloud cluster set, specifically including: Obtaining the neighborhood radius and minimum number of samples of the reference point cloud; Randomly select a data point in the reference point cloud and determine all data points whose distance from the data point is less than or equal to the neighborhood radius; Determine whether the number of all the data points is less than the minimum sample point; if so, mark the data point as noise and discard it; if not, mark the data point as a core sample and assign a new cluster label; Access all neighboring data points of the core sample; the neighboring data points are data points whose distance from the core sample is less than or equal to the neighborhood radius; Determine whether the neighboring data point is not assigned a cluster label; if so, calculate the covariance matrix and correlation coefficient of the point cloud with the cluster label; if not, discard the neighboring data point; Get the standard deviation of the point cloud with the cluster label; Determine whether the newly added data point meets the standard deviation or the correlation coefficient; if so, classify the newly added data point into the cluster, assign the same cluster label, and continue to expand the current point cloud cluster; if not, discard the newly added data point; Return to "arbitrarily select a data point in the reference point cloud and determine all data points whose distance from the data point is less than or equal to the neighborhood radius" until all data points in the reference point cloud are visited to generate a straight point cloud cluster set.

3. The point cloud matching and positioning method based on laser radar point cloud clustering according to claim 2, characterized in that: The method of continuing to expand the current point cloud cluster further includes: If the neighbor data point is a core sample, the neighbor data points of the neighbor data point are recursively visited until there is no core sample within the neighborhood radius of the point cloud cluster to which the neighbor data point belongs.

4. The point cloud matching and positioning method based on laser radar point cloud clustering according to claim 1, characterized in that: The unit length l is: Among them, x min is the minimum value of the coordinate of the data point in the point cloud cluster in the x-axis direction; max is the maximum value of the coordinates of the data points in the point cloud cluster in the x-axis direction; min is the minimum value of the coordinate of the data point in the point cloud cluster in the y-axis direction; max is the maximum value of the coordinates of the data points in the point cloud cluster in the y-axis direction.

5. The point cloud matching and positioning method based on laser radar point cloud clustering according to claim 4, characterized in that: The number of point cloud clusters seg in the second grid unit is: Among them, ε l is the cell length threshold.

6. A point cloud matching and positioning system based on laser radar point cloud clustering, characterized in that: include: Point cloud acquisition module, used to obtain reference point cloud and target point cloud; a point cloud cluster set generation module, configured to pre-process the reference point cloud using an improved DBCSAN algorithm to generate a straight point cloud cluster set; The improved DBCSAN algorithm adds two judgment mechanism values; the judgment mechanism values include correlation coefficient and standard deviation; a first grid unit division module, configured to determine the boundary of each point cloud cluster, perform a first grid unit division on the point cloud cluster, and determine a first mean and a first covariance of the point cloud cluster within each divided first grid unit; A first judgment module is used to calculate the unit length of the first grid unit divided for the first time, and determine whether the unit length is greater than a unit length threshold according to the unit length; A second grid unit division module is configured to, if yes, perform a second grid unit division on the point cloud clusters in the first grid unit, and determine a second mean and a second covariance of the point cloud clusters in each divided second grid unit; Initialization module, used to initialize the transfer matrix; A mapping point generation module is used to transform each point in the target point cloud according to the initialized transfer matrix to generate a mapping point corresponding to each point; a first optimization solution module, configured to determine the normally distributed grid unit to which the mapping point belongs based on the first mean and the first covariance, and perform a first optimization solution on the initialized transfer matrix to determine a transfer matrix obtained by the first optimization solution; a point cloud matching result determination module, configured to transfer the transfer matrix obtained by the first optimization solution to a second optimization solution process, determine the normally distributed grid cells corresponding to the target point cloud according to the second mean and the second covariance, and perform a second optimization solution on the transfer matrix obtained by the first optimization solution to determine a point cloud matching result; If not, determine a point cloud matching result according to the first mean and the first covariance.

7. The point cloud matching and positioning system based on laser radar point cloud clustering according to claim 6, characterized in that: The point cloud cluster set generation module specifically includes: A neighborhood radius and minimum sample number obtaining unit, configured to obtain the neighborhood radius and minimum sample number of the reference point cloud; A data point determination unit, configured to arbitrarily select a data point in the reference point cloud and determine all data points whose distance from the data point is less than or equal to the neighborhood radius; A first judgment unit is configured to judge whether the number of all the data points is less than the minimum sample point; if so, mark the data point as noise and discard it; if not, mark the data point as a core sample and assign a new cluster label; A neighbor data point access unit, configured to access all neighbor data points of the core sample; the neighbor data points are data points whose distance from the core sample is less than or equal to the neighborhood radius; A second judgment unit is configured to judge whether the neighboring data point is not assigned a cluster label; if so, calculate the covariance matrix and correlation coefficient of the point cloud with the cluster label; if not, discard the neighboring data point; a standard deviation obtaining unit, configured to obtain a standard deviation of the point cloud with the cluster label; The third judgment unit is used to judge whether the newly added data point meets the standard deviation or the correlation coefficient; if so, the newly added data point is classified into the cluster, assigned the same cluster label, and the current point cloud cluster is further expanded; if not, the newly added data point is discarded; The point cloud cluster set generation unit is used to return "arbitrarily selecting a data point in the reference point cloud and determining all data points whose distance from the data point is less than or equal to the neighborhood radius" until all data points in the reference point cloud are visited to generate a straight point cloud cluster set.

8. The point cloud matching and positioning system based on laser radar point cloud clustering according to claim 6, characterized in that: The unit length l is: Among them, x min is the minimum value of the coordinate of the data point in the point cloud cluster in the x-axis direction; max is the maximum value of the coordinates of the data points in the point cloud cluster in the x-axis direction; min is the minimum value of the coordinate of the data point in the point cloud cluster in the y-axis direction; max is the maximum value of the coordinates of the data points in the point cloud cluster in the y-axis direction.

9. An electronic device, characterized in that: It includes a memory and a processor, the memory is used to store a computer program, and the processor runs the computer program to enable the electronic device to perform the point cloud matching and positioning method based on lidar point cloud clustering as described in any one of claims 1 to 5.

10. A computer-readable storage medium, characterized in that It stores a computer program, which, when executed by a processor, implements the point cloud matching and positioning method based on laser radar point cloud clustering as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Laser radar-based point cloud registration method in dynamic environment

    CN111275748A

  • Radar cover regional adaptive modification method based on point cloud information

    CN115641418A