Clustering method and device of point cloud data, electronic equipment and computer program product

By rasterizing the LiDAR point cloud data and weight threshold calculation, and clustering with and search algorithms, the problem of low clustering accuracy and long processing in the existing technology is solved, and more efficient and adaptable point cloud clustering is achieved.

CN119963865APending Publication Date: 2025-05-09MUSHROOM CHELIAN INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510033692.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-09
Publication Date
2025-05-09

AI Technical Summary

Technical Problem

The prior art is difficult to process complex three-dimensional structures when processing LiDAR point cloud data, resulting in low clustering accuracy and long processing time, and lack of ability to adapt to multiple complex scenarios.

Method used

By obtaining the point cloud data collected by lidar for rasterization, the initialization weight between point cloud rasters is determined, and the dynamic weight threshold is determined based on the multi-dimensional point cloud raster information, and the point cloud raster is clustered using and search algorithm.

Benefits of technology

It improves the accuracy and adaptability of point cloud clustering, can handle complex three-dimensional structures and multiple complex scenarios more accurately, and reduces processing time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119963865A_ABST
    Figure CN119963865A_ABST
Patent Text Reader

Abstract

The invention discloses a point cloud data clustering method and device, electronic equipment and a computer program product, and the method comprises the steps: obtaining point cloud data collected by a laser radar, and carrying out the rasterization processing, and obtaining a plurality of point cloud grids; determining an initialization weight between two point cloud grids in the plurality of point cloud grids; determining a dynamic weight threshold value of each point cloud grid based on the multi-dimensional point cloud grid information; and clustering the plurality of point cloud grids according to the initialization weight between two point cloud grids in the plurality of point cloud grids and the dynamic weight threshold of each point cloud grid to obtain a point cloud clustering result. According to the method, the multi-dimensional information of the point cloud grids is comprehensively considered, and the dynamic weight threshold value of each point cloud grid is adaptively determined based on the multi-dimensional point cloud grid information, so that the initial weight calculated based on distance information and the like can simultaneously adapt to point cloud clustering requirements of various complex and variable scenes and the like, and the point cloud clustering precision is improved.
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 clustering, and in particular to a point cloud data clustering method, device, electronic device, and computer program product. Background Art

[0002] Laser radar (LiDAR) is widely used in autonomous driving, robot navigation, 3D reconstruction and other fields. The point cloud data generated by LiDAR usually contains a large number of discrete points, which represent the 3D structure of the surrounding environment. Therefore, clustering analysis of LiDAR point cloud data is an important part of environmental perception.

[0003] Existing clustering algorithms, such as DBSCAN, K-means, spectral clustering, FloodFill, etc., can process point cloud data to a certain extent, but they are often difficult to handle complex three-dimensional structures, especially when it is necessary to identify irregular clusters and clusters with large density changes. Over-segmentation and under-segmentation will lead to low clustering accuracy and other problems, and the processing is time-consuming.

[0004] In traditional point cloud processing technology, rasterization is widely used because of its simplicity, but this method has obvious shortcomings when processing high-dimensional point cloud data. Rasterization usually only performs rough spatial division of point clouds, ignoring key information such as geometric properties and density distribution of points, resulting in the loss of a large amount of useful information. When processing high-dimensional point cloud data, the rasterization method not only increases the computational complexity sharply, but also easily causes performance bottlenecks, limiting its application in high-precision and high-efficiency scenarios.

[0005] In addition, traditional point cloud clustering algorithms are often optimized for specific application scenarios or data types and lack sufficient generalization capabilities to cope with a variety of complex scenarios. For example, some algorithms may overemphasize the extraction of geometric features and ignore the integration of semantic information, resulting in poor performance in scenes containing rich semantic information. This limitation restricts the widespread application of traditional algorithms in diverse and complex application scenarios.

[0006] In summary, the existing technology still has many shortcomings in processing LiDAR point cloud data, and it is urgent to develop a more efficient, accurate and adaptable clustering algorithm to meet the urgent needs of cutting-edge fields such as autonomous driving and robot navigation for high-precision environmental perception. Summary of the invention

[0007] The embodiments of the present application provide a point cloud data clustering method, device, electronic device, and computer program product to improve the accuracy of point cloud clustering.

[0008] The present application embodiment adopts the following technical solutions:

[0009] In a first aspect, an embodiment of the present application provides a point cloud data clustering method, wherein the point cloud data clustering method includes:

[0010] Obtain the point cloud data collected by the laser radar and perform rasterization processing to obtain multiple point cloud grids;

[0011] Determine the initialization weights between any two point cloud grids in the plurality of point cloud grids;

[0012] Determine the dynamic weight threshold of each point cloud grid based on multi-dimensional point cloud grid information;

[0013] The multiple point cloud grids are clustered according to the initialization weights between any two point cloud grids in the multiple point cloud grids and the dynamic weight threshold of each point cloud grid to obtain a point cloud clustering result.

[0014] Optionally, the initialization weight is a distance weight, and determining the initialization weights between any two point cloud grids in the plurality of point cloud grids includes:

[0015] Calculate the distance between two point cloud grids in multiple point cloud grids;

[0016] The distance weights between any two point cloud grids are determined according to the distances between any two point cloud grids in the plurality of point cloud grids.

[0017] Optionally, determining the dynamic weight threshold of each point cloud grid based on multi-dimensional point cloud grid information includes:

[0018] Determine the multi-dimensional point cloud grid information corresponding to each point cloud grid;

[0019] Determine a multi-dimensional dynamic weight threshold corresponding to each point cloud grid according to the multi-dimensional point cloud grid information corresponding to each point cloud grid;

[0020] The multi-dimensional dynamic weight thresholds corresponding to each point cloud grid are fused to obtain the fused dynamic weight threshold corresponding to each point cloud grid.

[0021] Optionally, the multi-dimensional point cloud grid information includes the center point position of the point cloud grid, the point cloud density and the point cloud semantic information, and the multi-dimensional dynamic weight threshold corresponding to each point cloud grid is determined according to the multi-dimensional point cloud grid information corresponding to each point cloud grid, including:

[0022] Determine the distance from each point cloud grid to the laser radar according to the center point position of each point cloud grid and the current position of the laser radar, and determine the position weight threshold corresponding to each point cloud grid according to the distance from each point cloud grid to the laser radar;

[0023] Determine the point cloud density weight threshold corresponding to each point cloud grid according to the multi-dimensional point cloud density corresponding to each point cloud grid;

[0024] Determine the semantic information weight threshold corresponding to each point cloud grid according to the category of each point in each point cloud grid and the corresponding confidence score;

[0025] The multi-dimensional dynamic weight thresholds corresponding to each point cloud grid are fused to obtain the fused dynamic weight threshold corresponding to each point cloud grid, including:

[0026] The position weight threshold, the point cloud density weight threshold, and the semantic information weight threshold are summed and averaged to obtain a fusion dynamic weight threshold corresponding to each point cloud grid.

[0027] Optionally, clustering the multiple point cloud grids according to the initialization weights between any two point cloud grids in the multiple point cloud grids and the dynamic weight threshold of each point cloud grid to obtain the point cloud clustering result includes:

[0028] In the initialization stage, each point cloud grid is used as the initial seed grid;

[0029] According to the initialization weights between any two point cloud grids and the dynamic weight threshold of each point cloud grid, a union-find algorithm is used to cluster the multiple point cloud grids to obtain the point cloud clustering result.

[0030] Optionally, each of the plurality of point cloud grids includes a first point cloud grid and a second point cloud grid, the initialization weight is a distance weight, and the plurality of point cloud grids are clustered using a union-find algorithm according to the initialization weights between each of the point cloud grids and a dynamic weight threshold of each point cloud grid, to obtain the point cloud clustering result, including:

[0031] Compare the distance weight between the first point cloud grid and the second point cloud grid with the dynamic weight threshold corresponding to the first point cloud grid and the dynamic weight threshold corresponding to the second point cloud grid, respectively, to determine whether the first point cloud grid and the second point cloud grid meet the merging condition;

[0032] When the merging condition is met, searching for the parent node cluster corresponding to the first point cloud grid;

[0033] Merging the second point cloud grid into the parent node cluster corresponding to the first point cloud grid;

[0034] The dynamic weight threshold corresponding to the parent node cluster corresponding to the first point cloud grid is updated.

[0035] Optionally, comparing the distance weight between the first point cloud grid and the second point cloud grid with a dynamic weight threshold corresponding to the first point cloud grid and a dynamic weight threshold corresponding to the second point cloud grid, respectively, to determine whether the first point cloud grid and the second point cloud grid meet a merging condition includes:

[0036] If the distance weight between the first point cloud grid and the second point cloud grid is greater than the dynamic weight threshold corresponding to the first point cloud grid and greater than the dynamic weight threshold corresponding to the second point cloud grid, it is determined that the first point cloud grid and the second point cloud grid meet the merging condition;

[0037] Otherwise, the merging condition is not met.

[0038] In a second aspect, an embodiment of the present application further provides a point cloud data clustering device, wherein the point cloud data clustering device comprises:

[0039] An acquisition unit is used to acquire point cloud data collected by the laser radar and perform rasterization processing to obtain multiple point cloud grids;

[0040] A first determining unit is used to determine the initialization weights between any two point cloud grids in the plurality of point cloud grids;

[0041] A second determining unit, configured to determine a dynamic weight threshold of each point cloud grid based on multi-dimensional point cloud grid information;

[0042] The clustering unit is used to cluster the multiple point cloud grids according to the initialization weights between any two point cloud grids in the multiple point cloud grids and the dynamic weight threshold of each point cloud grid to obtain a point cloud clustering result.

[0043] In a third aspect, an embodiment of the present application further provides an electronic device, including:

[0044] A processor; and a memory arranged to store computer executable instructions, wherein when the executable instructions are executed, the processor executes any of the aforementioned point cloud data clustering methods.

[0045] In a fourth aspect, an embodiment of the present application further provides a computer program product, including a computer program or instructions, which, when executed by a processor, implements any of the aforementioned point cloud data clustering methods.

[0046] At least one of the above technical solutions adopted in the embodiments of the present application can achieve the following beneficial effects: the clustering method of point cloud data in the embodiments of the present application first obtains the point cloud data collected by the laser radar and performs rasterization processing to obtain multiple point cloud grids; then determines the initialization weights between the multiple point cloud grids; then determines the dynamic weight threshold of each point cloud grid based on the multi-dimensional point cloud grid information; finally, clusters the multiple point cloud grids according to the initialization weights between the multiple point cloud grids and the dynamic weight threshold of each point cloud grid to obtain a point cloud clustering result. The clustering method of point cloud data in the embodiments of the present application comprehensively considers the multi-dimensional information of the point cloud grid, and adaptively determines the dynamic weight threshold of each point cloud grid based on the multi-dimensional point cloud grid information, so that the initialization weights calculated based on distance information can simultaneously adapt to the point cloud clustering requirements of various complex and changeable scenes, thereby improving the accuracy of point cloud clustering. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0048] Figure 1 A schematic diagram of a process of clustering a point cloud data in an embodiment of the present application;

[0049] Figure 2 This is a schematic diagram of the structure of a point cloud data clustering device in an embodiment of the present application;

[0050] Figure 3 This is a schematic diagram of the structure of an electronic device in an embodiment of the present application. DETAILED DESCRIPTION

[0051] In order to make the purpose, technical solution and advantages of the present application clearer, the technical solution of the present application will be clearly and completely described below in combination with the specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present application.

[0052] The technical solutions provided by various embodiments of the present application are described in detail below in conjunction with the accompanying drawings.

[0053] The present application embodiment provides a point cloud data clustering method, such as Figure 1 As shown, a schematic diagram of a process of a point cloud data clustering method in an embodiment of the present application is provided, and the point cloud data clustering method at least includes the following steps S110 to S140:

[0054] Step S110, acquiring the point cloud data collected by the laser radar and performing rasterization processing to obtain a plurality of point cloud grids.

[0055] When performing clustering processing of point cloud data, the embodiment of the present application needs to first obtain point cloud data collected by a laser radar. The laser radar here can be an on-board laser radar on an autonomous driving vehicle or a laser radar on a roadside device. The laser radar can obtain three-dimensional coordinate information of the surrounding environment by emitting a laser beam and receiving the reflected signal to form point cloud data. Point cloud data consists of a large number of three-dimensional points, each of which contains its position information (x, y, z) in three-dimensional space.

[0056] In order to process and analyze these large amounts of point cloud data, the point cloud data needs to be further divided into multiple small three-dimensional spatial regions, which are called "grids" or "voxels". The process of rasterization is to assign point cloud data to these grids, each of which may contain one or more point cloud data points. Rasterization can convert complex point cloud data into a more manageable grid structure, thereby simplifying subsequent processing.

[0057] Step S120, determining the initialization weights between any two point cloud grids in the plurality of point cloud grids.

[0058] After obtaining multiple point cloud grids, it is necessary to calculate the degree of association or similarity between each pair of point cloud grids. This degree of association or similarity can be quantified as a "weight". The larger the weight, the more likely the two point cloud grids are to belong to the same target. In the embodiment of the present application, the size of the initialization weight between any two point cloud grids can be measured based on information such as distance. For example, the closer the two grids are, the greater the weight between them, which means that they may belong to the same target or part of the scene. Of course, how to measure the initialization weights between point cloud grids can be flexibly set by those skilled in the art according to actual needs, and no specific limitation is made here.

[0059] Step S130, determining a dynamic weight threshold of each point cloud grid based on multi-dimensional point cloud grid information.

[0060] The embodiment of the present application defines a dynamic weight threshold for clustering point cloud data as a basis for judging the merging and clustering of point cloud grids. On the one hand, the dynamic weight threshold is calculated based on multi-dimensional point cloud grid information, which may include information such as grid position, point cloud density, semantic category, etc. On the other hand, clustering between point cloud grids is a step-by-step process, and each merging process will dynamically update the weight threshold of each point cloud grid to adapt to the merged point cloud grid.

[0061] The embodiment of the present application uses comprehensive calculation of multi-dimensional point cloud information so that the initialization weights calculated based on distance and other methods can adapt to the point cloud clustering needs of more complex scenes, and in the subsequent clustering process can also more accurately determine which point cloud grids should be classified into the same category.

[0062] Step S140 , clustering the multiple point cloud grids according to the initialization weights between any two point cloud grids in the multiple point cloud grids and the dynamic weight threshold of each point cloud grid to obtain a point cloud clustering result.

[0063] Based on the initialization weights and dynamic weight thresholds calculated in the previous steps, multiple point cloud grids are clustered. The purpose of clustering is to classify similar grids, that is, those that meet the dynamic weight threshold conditions, into the same category, thereby identifying different objects or scene parts in the point cloud data. Finally, through the clustering algorithm, one or more clustering results can be obtained, each clustering result represents an object or scene part in the point cloud data. These clustering results can be used in subsequent analysis, recognition or reconstruction tasks.

[0064] The clustering method of point cloud data in the embodiment of the present application comprehensively considers the multi-dimensional information of the point cloud grid, and adaptively determines the dynamic weight threshold of each point cloud grid based on the multi-dimensional point cloud grid information, so that the initialization weight calculated based on distance information, etc. can simultaneously adapt to the point cloud clustering needs of various complex and changeable scenes, thereby improving the accuracy of point cloud clustering.

[0065] In some embodiments of the present application, the initialization weight is a distance weight, and determining the initialization weight between pairwise point cloud grids in a plurality of point cloud grids includes: calculating the distance between pairwise point cloud grids in a plurality of point cloud grids; and determining the distance weight between pairwise point cloud grids based on the distance between pairwise point cloud grids in a plurality of point cloud grids.

[0066] The initialization weight of the embodiment of the present application can be a distance weight, that is, measured by the Euclidean distance between two point cloud grids. The basic idea of ​​distance weight is that the closer the distance between two point cloud grids, the higher the correlation or similarity between them, so a higher weight should be given.

[0067] There are several ways to calculate the distance between two point cloud grids:

[0068] 1) Centroid distance: For each point cloud grid, the centroid (i.e., center point) of all the point cloud data inside it can be calculated, and then the Euclidean distance between each pair of grid centroids can be calculated.

[0069] 2) Closest point distance: For each pair of grids, the two closest point cloud data points between them can be found, and the distance between these two points is calculated as the Euclidean distance between the grids.

[0070] 3) Average distance: For each pair of grids, the average of all point pair distances between them can be calculated as the Euclidean distance between the grids.

[0071] Of course, the specific method to be selected depends on the specific application scenario and the characteristics of the point cloud data, and is not specifically limited here.

[0072] After calculating the pairwise distances between all point cloud grids, the distance weights can be determined based on these distances. The calculation principle of distance weights is mainly: the closer the distance, the greater the weight; the farther the distance, the smaller the weight, so it can be achieved by using the reciprocal of the distance as the weight, or using other functions that are inversely proportional to the distance to calculate the weight. In addition, in order to ensure that the weights of all grids are on the same scale, the calculated weights can be normalized.

[0073] The calculated distance weight can be used in the subsequent clustering algorithm as a basis for judging the association or similarity between rasters. In the clustering process, raster pairs with higher weights are more likely to be classified into the same class, while raster pairs with lower weights are more likely to be classified into different classes.

[0074] The embodiment of the present application calculates the distances between point cloud grids and determines the distance weights based on these distances, providing important input information for the subsequent clustering process. This approach can simplify the data and highlight important spatial relationships when processing large-scale point cloud data, thereby improving processing efficiency and accuracy.

[0075] In some embodiments of the present application, determining the dynamic weight threshold of each point cloud grid based on multi-dimensional point cloud grid information includes: determining the multi-dimensional point cloud grid information corresponding to each point cloud grid; determining the multi-dimensional dynamic weight threshold corresponding to each point cloud grid based on the multi-dimensional point cloud grid information corresponding to each point cloud grid; and fusing the multi-dimensional dynamic weight thresholds corresponding to each point cloud grid to obtain a fused dynamic weight threshold corresponding to each point cloud grid.

[0076] Because point cloud clustering is a step-by-step process, when clustering, you can first determine the point cloud grid currently being processed, that is, "each point cloud grid", and extract the multi-dimensional information corresponding to the point cloud grid. This information includes but is not limited to:

[0077] Grid position: The coordinate position of the grid in three-dimensional space, which reflects the spatial distribution and relative position relationship of the grid.

[0078] Point cloud density: The number or density of point cloud data in a grid, which reflects the density or importance of objects in the area where the grid is located.

[0079] Semantic categories: If the point cloud data has been classified (for example, by methods such as semantic segmentation), the raster may contain specific semantic category information, such as trees, buildings, vehicles, pedestrians, etc., so the semantic category of the raster can be used as prior knowledge for the calculation of the weight threshold.

[0080] Based on the extracted multi-dimensional information, a dynamic weight threshold can be calculated for each point cloud grid in each dimension. These thresholds reflect the importance of the point cloud grid in different dimensions or the degree of similarity with other grids. It should be noted that these dynamic weight thresholds are not fixed, but are dynamically adjusted according to each point cloud grid and its corresponding multi-dimensional information.

[0081] After obtaining the dynamic weight thresholds of multiple dimensions corresponding to each grid, they can be further fused into a comprehensive dynamic weight threshold, for example, the comprehensive weight threshold can be calculated by summing and averaging, weighted averaging, etc. The fused dynamic weight threshold will be used in subsequent clustering decisions. In the clustering process, the comprehensive dynamic weight threshold can be used to determine which grids should be classified into the same category.

[0082] The embodiment of the present application introduces multi-dimensional point cloud grid information to determine the dynamic weight threshold of each point cloud grid, thereby providing more comprehensive and accurate input information for subsequent clustering.

[0083] In some embodiments of the present application, the multi-dimensional point cloud grid information includes the center point position, point cloud density and point cloud semantic information of the point cloud grid, and determining the multi-dimensional dynamic weight threshold corresponding to each point cloud grid according to the multi-dimensional point cloud grid information corresponding to each point cloud grid includes: determining the distance from each point cloud grid to the laser radar according to the center point position of each point cloud grid and the current position of the laser radar, and determining the position weight threshold corresponding to each point cloud grid according to the distance from each point cloud grid to the laser radar; determining the point cloud density weight threshold corresponding to each point cloud grid according to the multi-dimensional point cloud density corresponding to each point cloud grid; determining the semantic information weight threshold corresponding to each point cloud grid according to the category of each point in each point cloud grid and the corresponding confidence score; fusing the multi-dimensional dynamic weight thresholds corresponding to each point cloud grid to obtain the fused dynamic weight threshold corresponding to each point cloud grid includes: summing and averaging the position weight threshold, the point cloud density weight threshold and the semantic information weight threshold to obtain the fused dynamic weight threshold corresponding to each point cloud grid.

[0084] The point cloud grid information of the embodiment of the present application mainly includes the center point position of the point cloud grid, the point cloud density, and the point cloud semantic information. The center point position of the point cloud grid refers to the center point coordinates of each point cloud grid in three-dimensional space, which reflects the spatial position of the grid. The point cloud density refers to the number or density of point clouds in the grid, which reflects the density of objects in the area where the grid is located. The point cloud semantic information refers to the semantic category of the point cloud in the grid and its confidence score, which provides additional information about the target type in the grid.

[0085] When calculating the position weight threshold, the straight-line distance from the grid to the laser radar can be calculated based on the center point position of each point cloud grid and the current position of the laser radar. This distance reflects the relative position relationship between the grid and the sensor. Based on the distance from the grid to the laser radar, a position weight threshold can be set. The position weight threshold function can, for example, use a logarithmic function based on the distance to adaptively attenuate the position weight threshold, so that the position weight threshold corresponding to the grid at a longer distance is appropriately reduced. This is because the farther the point cloud grid is from the laser radar, the sparser the scanned distant target point cloud may be. If the weight threshold is not reduced accordingly, it may cause point cloud grid data that are far away but belong to the same target to not be merged into one target, such as some large targets such as trucks and buses.

[0086] When calculating the point cloud density weight threshold, the point cloud density inside each point cloud grid can be calculated first, which can be achieved by counting the number of point clouds in the grid or calculating the average spacing of the point clouds. Based on the point cloud density of the grid, a point cloud density weight threshold function such as a logarithmic function can also be set to adaptively attenuate the point cloud density weight threshold, so that a grid with a higher density has a lower point cloud density weight threshold, while a grid with a lower density has a higher point cloud density weight threshold.

[0087] When calculating the semantic information weight threshold, for each point in each point cloud grid, its semantic category and corresponding confidence score are obtained. Based on the semantic category and confidence score of the point cloud in the grid, the semantic information weight threshold can be set so that grids with higher confidence scores or more important semantic categories, such as pedestrians, have lower semantic information weight thresholds. This is mainly because based on the aforementioned point cloud density weight threshold, it is possible to merge large-area targets such as large vehicles with surrounding pedestrian targets. However, since pedestrians are also very important road targets, the semantic information weight threshold of important targets such as pedestrians is lowered by combining the setting of the semantic information weight threshold, so that the point cloud grid data of pedestrian targets can be separated from other targets to avoid being mistakenly merged.

[0088] After obtaining the position weight threshold, point cloud density weight threshold and semantic information weight threshold, these weight thresholds can be fused into a comprehensive dynamic weight threshold. For example, they can be calculated by first summing and then averaging. Multiple dynamic weight thresholds complement each other to improve the accuracy and adaptability of point cloud clustering.

[0089] In some embodiments of the present application, clustering multiple point cloud grids according to the initialization weights between each pair of point cloud grids and the dynamic weight threshold of each point cloud grid to obtain the point cloud clustering result includes: in the initialization stage, each point cloud grid is used as an initial seed grid; according to the initialization weights between each pair of point cloud grids and the dynamic weight threshold of each point cloud grid, clustering the multiple point cloud grids using a union-find algorithm to obtain the point cloud clustering result.

[0090] In traditional clustering algorithms, the grid with the highest weight is usually selected from the unassigned grids as the seed point of the cluster to start a new cluster. However, in the initialization stage of the clustering process, the embodiment of the present application regards each point cloud grid as a potential clustering center, i.e., the initial seed grid, and considers that each grid is independent and may represent a different object or scene area.

[0091] Union-Find is a data structure used to handle the merging and querying of some disjoint sets. It supports two operations: Find: querying which subset an element belongs to (i.e. finding the root of an element), and Union: merging two subsets (i.e. setting the roots of two elements to the same).

[0092] After having the initial weights and dynamic weight thresholds, the point cloud grid can be clustered using the union-find algorithm. The specific steps are as follows:

[0093] 1) Initialize and find the set: Create an independent set for each point cloud grid, that is, each grid is its own root.

[0094] 2) Calculate the comprehensive weight: For each pair of point cloud rasters, determine whether the two rasters meet the merging conditions based on their initialization weights and dynamic weight thresholds.

[0095] 3) Merge operation: If two point cloud rasters meet the weight threshold requirement, that is, meet the merge condition, the sets they belong to are merged into a new set using the Union operation of the union-find set.

[0096] 4) Iteration: Repeat the above steps until there are no more point cloud grids to be merged. At this point, each set represents a cluster, and the grids in the set have a high degree of similarity or association.

[0097] After the above clustering process, one or more clusters will be obtained, each of which contains a set of interrelated point cloud grids. These clusters represent different objects or areas in the scene.

[0098] In some embodiments of the present application, each pair of point cloud grids among the multiple point cloud grids includes a first point cloud grid and a second point cloud grid, the initialization weight is a distance weight, and the multiple point cloud grids are clustered using a union-find algorithm based on the initialization weights between the pair of point cloud grids and the dynamic weight threshold of each point cloud grid, to obtain the point cloud clustering result, including: comparing the distance weight between the first point cloud grid and the second point cloud grid with the dynamic weight threshold corresponding to the first point cloud grid and the dynamic weight threshold corresponding to the second point cloud grid, respectively, to determine whether the first point cloud grid and the second point cloud grid meet a merging condition; if the merging condition is met, searching for the parent node cluster corresponding to the first point cloud grid; merging the second point cloud grid into the parent node cluster corresponding to the first point cloud grid; and updating the dynamic weight threshold corresponding to the parent node cluster corresponding to the first point cloud grid.

[0099] In the clustering process, for any two point cloud grids to be analyzed, such as the first point cloud grid and the second point cloud grid, the distance weight between the two point cloud grids can be compared with the dynamic weight threshold of the two point cloud grids. If the distance weight is greater than the dynamic weight threshold of the two point cloud grids at the same time, it is considered that the two point cloud grids meet the merging conditions.

[0100] In the union-find data structure, each point cloud grid has a parent node, which represents the cluster (or set) to which the grid belongs. If the first point cloud grid and the second point cloud grid meet the merging condition, the parent node cluster corresponding to the first point cloud grid can be found, which can be achieved by performing a Find operation with path compression in the union-find set.

[0101] Merge the second point cloud grid into the parent node cluster corresponding to the first point cloud grid. This can be achieved by performing a Union operation in the union query set, that is, setting the parent node of the second point cloud grid to the parent node of the first point cloud grid. Of course, you can also find the parent node cluster corresponding to the second point cloud grid, and then merge the first point cloud grid into the parent node cluster corresponding to the second point cloud grid.

[0102] After merging, the dynamic weight threshold of the parent node cluster corresponding to the first point cloud grid needs to be updated. This update can be achieved in the following ways:

[0103] threshold_w'=α1*threshold_w+α2*W,

[0104] Among them, threshold_w is the dynamic weight threshold before updating, threshold_w' is the dynamic weight threshold after updating, α1 and α2 are custom coefficients, ranging from 0 to 1, and α1+α2=1. Of course, in addition to the above methods, it can also be updated based on the features of the newly merged grid, such as point cloud density, semantic information, etc.

[0105] In some embodiments of the present application, the distance weight between the first point cloud grid and the second point cloud grid is compared with the dynamic weight threshold corresponding to the first point cloud grid and the dynamic weight threshold corresponding to the second point cloud grid, respectively, to determine whether the first point cloud grid and the second point cloud grid meet the merging condition, including: if the distance weight between the first point cloud grid and the second point cloud grid is greater than the dynamic weight threshold corresponding to the first point cloud grid, and greater than the dynamic weight threshold corresponding to the second point cloud grid, it is determined that the first point cloud grid and the second point cloud grid meet the merging condition; otherwise, the merging condition is not met.

[0106] In order to determine whether two point cloud grids, such as the first point cloud grid and the second point cloud grid, meet the merging condition, the distance weight and the dynamic weight threshold between the two point cloud grids can be compared. If the distance weight is greater than the dynamic weight threshold of both point cloud grids, it is considered that the similarity or correlation between the two point cloud grids is strong enough to meet the merging condition. If the distance weight is not greater than the dynamic weight threshold of one (or both), it is considered that the similarity or correlation between the two point cloud grids is not strong enough to meet the merging condition.

[0107] If the merging conditions are met, the two rasters are merged into the same cluster according to the previously described clustering process (such as using the union-find algorithm). After the merger, the dynamic weight thresholds of the related rasters or clusters may need to be updated to reflect the new clustering status or characteristics.

[0108] The clustering process may be an iterative process that requires continuous comparison and merging of rasters until some stopping condition is met, such as no more rasters can be merged, or a preset number of clusters is reached.

[0109] The present application embodiment also provides a point cloud data clustering device 200, such as Figure 2 As shown, a schematic diagram of the structure of a point cloud data clustering device in an embodiment of the present application is provided, wherein the point cloud data clustering device 200 comprises: an acquisition unit 210, a first determination unit 220, a second determination unit 230 and a clustering unit 240, wherein:

[0110] An acquisition unit 210 is used to acquire point cloud data collected by the laser radar and perform rasterization processing to obtain a plurality of point cloud grids;

[0111] A first determining unit 220 is used to determine the initialization weights between any two point cloud grids in the plurality of point cloud grids;

[0112] A second determining unit 230, configured to determine a dynamic weight threshold of each point cloud grid based on multi-dimensional point cloud grid information;

[0113] The clustering unit 240 is used to cluster the multiple point cloud grids according to the initialization weights between any two point cloud grids in the multiple point cloud grids and the dynamic weight threshold of each point cloud grid to obtain a point cloud clustering result.

[0114] In some embodiments of the present application, the initialization weight is a distance weight, and the first determination unit 220 is specifically used to: calculate the distance between each pair of point cloud grids in a plurality of point cloud grids; determine the distance weight between each pair of point cloud grids according to the distance between each pair of point cloud grids in a plurality of point cloud grids.

[0115] In some embodiments of the present application, the second determination unit 230 is specifically used to: determine the multi-dimensional point cloud grid information corresponding to each point cloud grid; determine the multi-dimensional dynamic weight threshold corresponding to each point cloud grid based on the multi-dimensional point cloud grid information corresponding to each point cloud grid; and fuse the multi-dimensional dynamic weight threshold corresponding to each point cloud grid to obtain the fused dynamic weight threshold corresponding to each point cloud grid.

[0116] In some embodiments of the present application, the multi-dimensional point cloud grid information includes the center point position, point cloud density and point cloud semantic information of the point cloud grid, and the second determination unit 230 is specifically used to: determine the distance of each point cloud grid to the laser radar according to the center point position of each point cloud grid and the current position of the laser radar, and determine the position weight threshold corresponding to each point cloud grid according to the distance of each point cloud grid to the laser radar; determine the point cloud density weight threshold corresponding to each point cloud grid according to the multi-dimensional point cloud density corresponding to each point cloud grid; determine the semantic information weight threshold corresponding to each point cloud grid according to the category of each point in each point cloud grid and the corresponding confidence score; the multi-dimensional dynamic weight threshold corresponding to each point cloud grid is fused to obtain the fused dynamic weight threshold corresponding to each point cloud grid, including: summing and averaging the position weight threshold, the point cloud density weight threshold and the semantic information weight threshold to obtain the fused dynamic weight threshold corresponding to each point cloud grid.

[0117] In some embodiments of the present application, the clustering unit 240 is specifically used to: in the initialization stage, each point cloud grid is used as an initial seed grid; according to the initialization weights between each point cloud grid and the dynamic weight threshold of each point cloud grid, a union-find algorithm is used to cluster multiple point cloud grids to obtain the point cloud clustering result.

[0118] In some embodiments of the present application, pairs of point cloud grids among the multiple point cloud grids include a first point cloud grid and a second point cloud grid, the initialization weight is a distance weight, and the clustering unit 240 is specifically used to: compare the distance weight between the first point cloud grid and the second point cloud grid with the dynamic weight threshold corresponding to the first point cloud grid and the dynamic weight threshold corresponding to the second point cloud grid, respectively, to determine whether the first point cloud grid and the second point cloud grid meet the merging condition; if the merging condition is met, find the parent node cluster corresponding to the first point cloud grid; merge the second point cloud grid into the parent node cluster corresponding to the first point cloud grid; and update the dynamic weight threshold corresponding to the parent node cluster corresponding to the first point cloud grid.

[0119] In some embodiments of the present application, the clustering unit 240 is specifically used to: if the distance weight between the first point cloud grid and the second point cloud grid is greater than the dynamic weight threshold corresponding to the first point cloud grid, and greater than the dynamic weight threshold corresponding to the second point cloud grid, then determine that the first point cloud grid and the second point cloud grid meet the merging condition; otherwise, the merging condition is not met.

[0120] It can be understood that the above-mentioned point cloud data clustering device can implement the various steps of the point cloud data clustering method provided in the aforementioned embodiment. The relevant explanations on the point cloud data clustering method are applicable to the point cloud data clustering device and will not be repeated here.

[0121] Figure 3 This is a schematic diagram of the structure of an electronic device according to an embodiment of the present application. Figure 3 At the hardware level, the electronic device includes a processor, and optionally also includes an internal bus, a network interface, and a memory. The memory may include a memory, such as a high-speed random access memory (RAM), and may also include a non-volatile memory (non-volatile memory), such as at least one disk storage. Of course, the electronic device may also include hardware required for other services.

[0122] The processor, network interface and memory can be interconnected through an internal bus, which can be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 3 Only one bidirectional arrow is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0123] The memory is used to store the program. Specifically, the program may include a program code, and the program code includes a computer operation instruction. The memory may include a memory and a non-volatile memory, and provides instructions and data to the processor.

[0124] The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it, forming a point cloud data clustering device at the logical level. The processor executes the program stored in the memory and is specifically used to perform the following operations:

[0125] Obtain the point cloud data collected by the laser radar and perform rasterization processing to obtain multiple point cloud grids;

[0126] Determine the initialization weights between any two point cloud grids in the plurality of point cloud grids;

[0127] Determine the dynamic weight threshold of each point cloud grid based on multi-dimensional point cloud grid information;

[0128] The multiple point cloud grids are clustered according to the initialization weights between any two point cloud grids in the multiple point cloud grids and the dynamic weight threshold of each point cloud grid to obtain a point cloud clustering result.

[0129] The above application Figure 1The method performed by the clustering device of point cloud data disclosed in the illustrated embodiment can be applied to a processor or implemented by a processor. The processor may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by an integrated logic circuit of hardware in the processor or an instruction in software form. The above processor may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it may also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. The steps of the method disclosed in the embodiments of the present application can be directly embodied as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in a decoding processor. The software module can be located in a storage medium mature in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.

[0130] The present application also provides a computer program product, which stores one or more programs, wherein the one or more programs include instructions, which, when executed by an electronic device including multiple application programs, enable the electronic device to execute Figure 1 The method performed by the point cloud data clustering device in the embodiment shown is specifically used to perform:

[0131] Obtain the point cloud data collected by the laser radar and perform rasterization processing to obtain multiple point cloud grids;

[0132] Determine the initialization weights between any two point cloud grids in the plurality of point cloud grids;

[0133] Determine the dynamic weight threshold of each point cloud grid based on multi-dimensional point cloud grid information;

[0134] The multiple point cloud grids are clustered according to the initialization weights between any two point cloud grids in the multiple point cloud grids and the dynamic weight threshold of each point cloud grid to obtain a point cloud clustering result.

[0135] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may 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.

[0136] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks 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.

[0137] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate 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 A function specified in one or more boxes.

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

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

[0140] The 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. The memory is an example of a computer-readable medium.

[0141] 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. 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 disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0142] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.

[0143] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment or an embodiment in combination with software and hardware. Moreover, the present application may adopt 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.) that contain computer-usable program code.

[0144] The above is only an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.

Claims

1. A clustering method for point cloud data, wherein: The point cloud data clustering method comprises: Obtain the point cloud data collected by the laser radar and perform rasterization processing to obtain multiple point cloud grids; Determine the initialization weights between any two point cloud grids in the plurality of point cloud grids; Determine the dynamic weight threshold of each point cloud grid based on multi-dimensional point cloud grid information; The multiple point cloud grids are clustered according to the initialization weights between any two point cloud grids in the multiple point cloud grids and the dynamic weight threshold of each point cloud grid to obtain a point cloud clustering result.

2. The point cloud data clustering method according to claim 1, wherein: The initialization weight is a distance weight, and determining the initialization weights between any two point cloud grids in the plurality of point cloud grids includes: Calculate the distance between two point cloud grids in multiple point cloud grids; The distance weights between any two point cloud grids are determined according to the distances between any two point cloud grids in the plurality of point cloud grids.

3. The point cloud data clustering method according to claim 1, wherein: The method of determining the dynamic weight threshold of each point cloud grid based on multi-dimensional point cloud grid information includes: Determine the multi-dimensional point cloud grid information corresponding to each point cloud grid; Determine a multi-dimensional dynamic weight threshold corresponding to each point cloud grid according to the multi-dimensional point cloud grid information corresponding to each point cloud grid; The multi-dimensional dynamic weight thresholds corresponding to each point cloud grid are fused to obtain the fused dynamic weight threshold corresponding to each point cloud grid.

4. The point cloud data clustering method according to claim 3, wherein: The multi-dimensional point cloud grid information includes the center point position, point cloud density and point cloud semantic information of the point cloud grid, and the multi-dimensional dynamic weight threshold corresponding to each point cloud grid is determined according to the multi-dimensional point cloud grid information corresponding to each point cloud grid, including: Determine the distance from each point cloud grid to the laser radar according to the center point position of each point cloud grid and the current position of the laser radar, and determine the position weight threshold corresponding to each point cloud grid according to the distance from each point cloud grid to the laser radar; Determine the point cloud density weight threshold corresponding to each point cloud grid according to the multi-dimensional point cloud density corresponding to each point cloud grid; Determine the semantic information weight threshold corresponding to each point cloud grid according to the category of each point in each point cloud grid and the corresponding confidence score; The multi-dimensional dynamic weight thresholds corresponding to each point cloud grid are fused to obtain the fused dynamic weight threshold corresponding to each point cloud grid, including: The position weight threshold, the point cloud density weight threshold, and the semantic information weight threshold are summed and averaged to obtain a fusion dynamic weight threshold corresponding to each point cloud grid.

5. The point cloud data clustering method according to claim 1, wherein: The step of clustering the multiple point cloud grids according to the initialization weights between any two point cloud grids in the multiple point cloud grids and the dynamic weight threshold of each point cloud grid to obtain the point cloud clustering result includes: In the initialization stage, each point cloud grid is used as the initial seed grid; According to the initialization weights between any two point cloud grids and the dynamic weight threshold of each point cloud grid, a union-find algorithm is used to cluster the multiple point cloud grids to obtain the point cloud clustering result.

6. The point cloud data clustering method according to claim 5, wherein: The pairwise point cloud grids in the plurality of point cloud grids include a first point cloud grid and a second point cloud grid, the initialization weight is a distance weight, and the plurality of point cloud grids are clustered using a union-find algorithm according to the initialization weights between the pairwise point cloud grids and the dynamic weight threshold of each point cloud grid, and the point cloud clustering result obtained includes: Compare the distance weight between the first point cloud grid and the second point cloud grid with the dynamic weight threshold corresponding to the first point cloud grid and the dynamic weight threshold corresponding to the second point cloud grid, respectively, to determine whether the first point cloud grid and the second point cloud grid meet the merging condition; When the merging condition is met, searching for the parent node cluster corresponding to the first point cloud grid; Merging the second point cloud grid into the parent node cluster corresponding to the first point cloud grid; The dynamic weight threshold corresponding to the parent node cluster corresponding to the first point cloud grid is updated.

7. The point cloud data clustering method according to claim 6, wherein: The step of comparing the distance weight between the first point cloud grid and the second point cloud grid with the dynamic weight threshold corresponding to the first point cloud grid and the dynamic weight threshold corresponding to the second point cloud grid, respectively, to determine whether the first point cloud grid and the second point cloud grid meet the merging condition comprises: If the distance weight between the first point cloud grid and the second point cloud grid is greater than the dynamic weight threshold corresponding to the first point cloud grid and greater than the dynamic weight threshold corresponding to the second point cloud grid, it is determined that the first point cloud grid and the second point cloud grid meet the merging condition; Otherwise, the merging condition is not met.

8. A point cloud data clustering device, wherein: The point cloud data clustering device comprises: An acquisition unit is used to acquire point cloud data collected by the laser radar and perform rasterization processing to obtain multiple point cloud grids; A first determining unit is used to determine the initialization weights between any two point cloud grids in the plurality of point cloud grids; A second determining unit, configured to determine a dynamic weight threshold of each point cloud grid based on multi-dimensional point cloud grid information; The clustering unit is used to cluster the multiple point cloud grids according to the initialization weights between any two point cloud grids in the multiple point cloud grids and the dynamic weight threshold of each point cloud grid to obtain a point cloud clustering result.

9. An electronic device, comprising: processor; and a memory arranged to store computer executable instructions, wherein when the executable instructions are executed, the processor executes the point cloud data clustering method according to any one of claims 1 to 7.

10. A computer program product, comprising a computer program or an instruction, wherein when the computer program or the instruction is executed by a processor, the point cloud data clustering method according to any one of claims 1 to 7 is implemented.