A hierarchical clustering method for multi-view single-line lidar point cloud
By deploying multiple lidar sensors in the working scene, building a multi-source lidar fusion system, and using spatiotemporal synchronization, dynamic threshold segmentation, and an improved distance intersection-over-union loss function for point cloud clustering, the problems of high computational complexity and poor real-time performance of multi-source point cloud segmentation and clustering under multi-perspective are solved, and efficient point cloud fusion and improved real-time performance are achieved.
Patent Information
- Application Number
- CN202410225187.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-02-29
- Publication Date
- 2025-09-19
- Estimated Expiration
- 2044-02-29
AI Technical Summary
In the existing technology, the multi-source lidar point cloud segmentation and clustering method under multi-view has high computational complexity, poor real-time performance, and cannot effectively cluster, especially when a single lidar is blocked, the robustness is poor.
Multiple lidar sensors are deployed in the working scene to build a multi-source lidar fusion system. Through spatiotemporal synchronization, dynamic threshold segmentation, hierarchical bounding box method and improved distance intersection-over-union loss function, point cloud clustering is performed using an undirected graph to generate the target point cloud.
It improves the computational efficiency and real-time fusion of multi-source point clouds, provides a technical basis for tracking and positioning of target point clouds, and solves the problem of point cloud segmentation and clustering under multiple perspectives.
Smart Images

Figure CN118097203B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the fields of intelligent manufacturing and robotics, and in particular to a multi-view single-line laser radar point cloud hierarchical clustering method. Background Art
[0002] LiDAR is a sensor that uses laser beams to measure distance, speed, and other information. It operates based on the emission and reception of laser beams, calculating distance by measuring the time of flight from emission to reception. Compared to other sensors, LiDAR offers advantages such as high measurement accuracy, fast acquisition speed, and minimal impact from light. In recent years, with the expansion of the industry and technological innovation, LiDAR's cost has continued to decrease, leading to its widespread application in areas such as autonomous driving, robotic navigation, and industrial applications.
[0003] LiDAR point cloud segmentation and clustering is a key step in feature extraction, feature matching, detection and tracking of point clouds. The point cloud segmentation and clustering process usually divides the point cloud based on features such as spatial distance and geometric relationships, and merges point cloud clusters with similar features into one category. Segmentation and clustering usually occurs after point cloud preprocessing. The basic principle of segmentation and clustering is to define a distance relationship that represents a certain property between points and set a threshold. Then, two points that are less than the set threshold are merged into one category. The distance between each category of point clouds is then calculated separately. The process is recursive and iterated until the distance between any two categories of point clouds is greater than the set threshold, or the number of point clouds in a category is less than the set threshold.
[0004] Existing segmentation and clustering methods have high computational complexity, poor real-time performance, and are unable to effectively cluster multi-source laser point clouds from multiple perspectives. For example, the Chinese invention patent with publication number CN116993828A proposes a point cloud matching and positioning method based on lidar point cloud clustering. This method uses an improved DBCSAN algorithm to segment and cluster the reference point cloud to generate a set of straight point cloud clusters. However, its algorithm complexity is high, the method has poor real-time performance, and the clustering results of a single lidar are less robust when blocked. The Chinese invention patent with publication number CN117237913A proposes a multi-lidar obstacle recognition method. In this method, multiple point cloud data are collected, and the Euclidean clustering method is used to fuse and cluster the multi-source point clouds from a common perspective. However, it does not consider the structural characteristics of the same-source point clouds and is unable to effectively cluster the multi-source point clouds from multiple perspectives. Summary of the Invention
[0005] In order to solve the problems of the prior art, the present invention provides a multi-view single-line lidar point cloud hierarchical clustering method, which effectively improves the cloud computing efficiency and fusion real-time performance of multi-source point clouds, and provides a technical basis for the next step of tracking and positioning the target point cloud.
[0006] The present invention first deploys multiple lidar sensors in the working scene to build a multi-source lidar fusion system. Secondly, the multi-source point cloud data is synchronized in time and space. Thirdly, the dynamic threshold segmentation method is used to convert the multi-source lidar point cloud into a point cloud cluster. A hierarchical bounding box method based on surface area inspiration is proposed to divide the point cloud space, and a spatial hierarchical tree is constructed according to a recursive method. Finally, the distance intersection-to-union ratio loss function is improved, and a correlation point cloud clustering method based on an undirected graph is proposed to generate each target point cloud. The multi-view point cloud hierarchical clustering method designed by the present invention effectively improves the computing efficiency and real-time fusion of multi-source point clouds, and provides a technical basis for the next step of tracking and positioning the target point cloud.
[0007] The present invention is mainly achieved through the following technical solutions:
[0008] Multi-view single-line lidar point cloud hierarchical clustering includes the following steps:
[0009] Step 1: Spatiotemporal synchronization of multi-source laser point clouds: Deploy multi-source lidar sensors in the work scene, acquire multi-source laser point cloud data, and perform offline coordinate system calibration and online time synchronization.
[0010] Furthermore, the multi-source laser point cloud spatiotemporal synchronization method includes the following steps:
[0011] Step 1.1: Multi-source LiDAR deployment: Deploy a master LiDAR and multiple slave LiDARs in the work scenario. Use wired communication to connect the LiDARs to the ground computer. Measure and record the distance between the master and slave LiDARs to obtain the approximate relative position between the master and slave LiDARs.
[0012] Step 1.2: Offline calibration of the master and slave LiDAR coordinate systems: Place multiple reflective columns in the working scene, extract the feature point set of the multi-source LiDAR after reflection from the reflective columns, use the iterative closest point (ICP) matching method to obtain the precise pose relationship between the master and slave LiDARs, and transform the slave LiDAR coordinate system into the master LiDAR coordinate system.
[0013] Step 1.3: Online time synchronization of multi-source point cloud data: synchronize the lidar point cloud data with similar timestamps according to the PTP protocol. The synchronized point cloud data is recorded as Where p is a point in the point cloud P, ρ is the polar radius of the point cloud, θ is the polar angle of the point cloud, k is the radar index to which the point cloud belongs, and i is the scanning order of the point cloud under the radar to which it belongs.
[0014] The multi-source master-slave lidar coordinate system calibration method further comprises the following steps:
[0015] Step 1.2.1: Deploy reflective markers: Clear the work area and place at least three reflective markers within the area. Adjust the positions of the markers so that they are not obstructed by the primary and secondary LiDARs, ensuring that they can be illuminated by all LiDARs simultaneously.
[0016] Step 1.2.2: Extraction of high-reflection feature point set data: Set the reflected light intensity and distance threshold to extract the feature point set on the surface of the reflective fixed column. Let the high-reflection feature point set reflected by the reflective fixed column after being illuminated by the laser radar be Where ρ is the point cloud polar radius, θ is the point cloud polar angle, k is the radar index to which the point cloud belongs, and i is the scanning order of the point cloud under the radar to which it belongs. Approximately:
[0017]
[0018] Step 1.2.3: Constructing the feature point set error model: Assume that the paired feature point sets under the perspective of the master and slave radars are: Find the Euclidean transformation R j , t j , such that:
[0019]
[0020] Assume the error term of the i-th pair of points:
[0021]
[0022] Construct the least squares problem and set the minimum corresponding to the minimum sum of squared errors value:
[0023]
[0024] Step 1.2.4: SVD solves the rotation transformation matrix: Assume two sets of point centroids:
[0025]
[0026] Simplifying the error function yields:
[0027]
[0028] Let the centroid coordinates of each point be:
[0029]
[0030] Construct an optimization problem and calculate the rotation matrix:
[0031]
[0032] Define W j matrix:
[0033]
[0034] To W j Perform SVD decomposition to get W j =UΣV T , where Σ is a diagonal matrix composed of singular values, the diagonal elements are arranged from large to small, and U and V are orthogonal matrices. When W j When full rank, for:
[0035]
[0036] Let the coordinate transformation matrix be The rotation matrix is The translation column vector is Then the following relationship exists:
[0037]
[0038] The conversion formula of master-slave laser point cloud after calibration is as follows:
[0039]
[0040] Step 2: Dynamic threshold point cloud segmentation: Set the dynamic threshold to segment the laser point cloud data, sequentially traverse the same source laser point cloud data, and segment the point cloud within the clustering threshold.
[0041] Furthermore, the dynamic threshold value point cloud segmentation method includes the following steps:
[0042] Step 2.1: Parameter initialization: Set the dynamic segmentation threshold t and create a point cloud cluster container group b c , initialize the point cloud cluster container b.
[0043] Step 2.2: Sequentially traverse the point cloud data: access the point cloud data sequentially from lidar index 1 to m and point cloud index 1 to m.
[0044] Step 2.3: Calculate the distance between adjacent points: Convert the laser point cloud polar coordinate system data Convert rectangular coordinate system data in
[0045]
[0046] Calculate the distance d between adjacent points:
[0047]
[0048] Step 2.4: Calculate the dynamic threshold t between adjacent points:
[0049] t = α·ρ i ·θ r (15)
[0050] where α is the adjustment coefficient, ρ i is the polar radius of the current point cloud, and θ r is the lidar resolution.
[0051] Step 2.5: Segment the point cloud: Judge the relationship between the distance d between adjacent points and the dynamic threshold t. If d < t, then store it in the point cloud cluster container b. Otherwise, store b in the point cloud cluster container group b c and clear the point cloud cluster container b. Then execute Step 2.2 until all point cloud data is traversed and accessed.
[0052] ]>Step 3: Construct the spatial hierarchical tree of point cloud clusters: First, establish an AABB bounding box set and initialize the parameters; secondly, calculate the minimum AABB bounding box of the bounding box set, save the bounding box information in the node, and establish a BVH tree node; then, for the BVH tree node, calculate the expected sum of the areas of the bounding boxes at all splitting positions, and use the splitting position with the minimum expected sum of the bounding box areas as the optimal splitting position; again, recursively construct branches, and return to execute the step of establishing a BVH tree node for the left and right subsets after splitting at the optimal splitting position until the number of the bounding box set is less than the set threshold.
[0053] Furthermore, the construction of the spatial hierarchical tree of point cloud clusters includes the following steps:
[0054] Step 3.1: Parameter initialization: Set the minimum number of clusters n, and establish an AABB bounding box set RECT = {rect } for the point cloud clusters after segmentation. Let the diagonal two-point coordinates of rect i be i where
[0055] Step 3.2: Construction of BVH tree node: Calculate the minimum AABB bounding box of the bounding box set. Let the diagonal two-point coordinates of this bounding box be p max (x max ,y max ) and p min (x min ,y min ), where Save the bounding box information in the node. If the number of bounding box sets is greater than n, continue the step; if the number of bounding box sets is less than or equal to n, stop the tree building process, do not execute steps 3.3 and 3.4, take the current node as a leaf node and save the point cloud cluster information within the bounding box.
[0056] Step 3.3: Calculate the optimal segmentation position: Split the bounding box set into two left and right subsets in the coordinate axis direction, and calculate the expected sum c of the bounding box area under all segmentation positions, let c = S l ·n l +S r ·n r , S l is the minimum bounding box area of the left subset, S r is the minimum bounding box area of the right subset, n l is the number of bounding boxes in the left subset, n r is the number of bounding boxes of the right subset. Find the minimum expected area and c min , c min The corresponding segmentation position is the optimal segmentation position.
[0057] Step 3.4: Recursively construct branches: Recursively construct branches: Return to step 3.2 for the left and right subsets after the optimal split position, and establish a new BVH tree node as a child node of the current node.
[0058] Step 4: Clustering of point cloud clusters based on graph-correlation: First, an undirected graph structure is constructed with each point cloud cluster bounding box in each leaf node in the hierarchical bounding box tree as a vertex, and each vertice is connected by an edge; then the D-IOU loss function is improved to detect the correlation between the point cloud cluster bounding boxes; then the point cloud cluster subgraph is extracted by deeply traversing the adjacency matrix of the undirected graph, and the information of the correlated point cloud clusters in the subgraph is saved separately; finally, the correlated point clouds in the subgraph are fused, the correlated point cloud clusters are classified into one category, and the point cloud cluster index is redefined.
[0059] Furthermore, the graph-correlation point cloud clustering includes the following steps:
[0060] Step 4.1: Assume that the number of point cloud clusters in the leaf node is n, and the bounding box of each point cloud cluster in each leaf node in the hierarchical bounding box tree is a vertex. The vertex index is numbered, and the vertex index m_index has a value range of 0 to n-1. An undirected graph structure is constructed, and each vertex is connected by an edge. An adjacency matrix (n-dimensional square matrix) is created to encode the value of the edge between vertices.
[0061] Step 4.2: Point cloud cluster correlation detection: Improve the D-IOU loss function to detect the correlation between point cloud cluster bounding boxes. The improved D-IOU loss function is as follows:
[0062]
[0063] The value range of ldiou is (-1, 1). This function creates an adjacency matrix and uses the ldiou function to detect the association between vertices in an undirected graph. These associations are encoded in the adjacency matrix. If ldiou is greater than or equal to the set threshold, the bounding boxes of the two vertices are associated, and the encoding value is "1." If it is less than the set threshold, the bounding boxes of the two vertices are not associated, and the encoding value is "0."
[0064] Step 4.3: Extracting point cloud cluster subgraphs: Extract subgraphs by deeply traversing the adjacency matrix of the undirected graph and save the associated point cloud cluster information in each subgraph.
[0065] Furthermore, the point cloud cluster subgraph extraction includes the following steps:
[0066] Step 4.3.1: Define a variable m_traversed for each vertex access in the undirected graph. Initialize all vertex access variables and assign all m_traversed variables to "0" to indicate that the vertex has not been accessed. Define a container m_b for storing subgraph vertex indexes and a subgraph vertex index container group m_bs.
[0067] Step 4.3.2: Traverse the vertex access variable in order according to the vertex index m_index of the undirected graph, and return the index value of the first unvisited vertex encountered. If all vertices have been visited, end the process and go to step 4.4, otherwise go to 4.3.3;
[0068] Step 4.3.3: Assign "1" to the access variable corresponding to the current vertex index, and store the current vertex index value in the subgraph vertex index storage container m_b. In addition, traverse the adjacency matrix value of the current vertex sequentially to determine the association between other vertices and the current vertex. If its value is equal to "1" and the vertex access variable value of the vertex currently traversed is equal to "0", then continue to recursively execute step 4.3.3 for the vertex currently traversed. After the recursive process ends, store the subgraph vertex index storage container m_b in the subgraph vertex index container group m_bs, clear m_b, and continue to execute step 4.3.2.
[0069] Step 4.4: Associative point cloud cluster fusion: Subgraph vertex index container group m_bs, merge the point cloud clusters in each subgraph into a new point cloud cluster, and number them according to the access order of each subgraph.
[0070] The beneficial effects of the present invention are as follows: in order to address the problem that a single radar has a close-range blind spot when performing target detection and is easily blocked, resulting in an incomplete point cloud of the measured object, multiple lidar sensors are deployed in the working scene, and the original point cloud data of the multi-source lidar is constructed by using the spatiotemporal synchronization of multi-source radars. Subsequently, the structural characteristics of the single-line laser point cloud are used to set a dynamic threshold to segment and cluster the point cloud, and the point cloud space is divided using a hierarchical bounding box method inspired by surface area, and a spatial hierarchical tree is constructed by a recursive method. Finally, by improving the distance intersection-to-union ratio loss function and using the correlation point cloud clustering method based on an undirected graph, the target point cloud of each mobile robot is generated. The multi-view point cloud hierarchical clustering method designed by the present invention effectively improves the computing efficiency and real-time fusion of multi-source point clouds, and provides a technical basis for the next step of tracking and positioning the target point cloud. BRIEF DESCRIPTION OF THE DRAWINGS
[0071] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, 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.
[0072] Figure 1 This is a flow chart of the multi-view single-line laser radar point cloud hierarchical clustering method of the present invention;
[0073] Figure 2 This is a schematic diagram of multi-source lidar calibration;
[0074] Figure 3 Schematic diagram of point cloud dynamic threshold segmentation;
[0075] Figure 4 This is the first spatial partitioning process of SAH-BVH point cloud cluster;
[0076] Figure 5 This is the second spatial partitioning process of SAH-BVH point cloud cluster;
[0077] Figure 6 This is the third spatial partitioning process of SAH-BVH point cloud cluster;
[0078] Figure 7 Schematic diagram of the spatial hierarchical tree structure of SAH-BVH point cloud clusters;
[0079] Figure 8 Schematic diagram of point cloud clustering based on graph-correlation;
[0080] Figure 9 DIoU diagram;
[0081] Figure 10It is the undirected graph corresponding to the bounding box of the point cloud cluster. DETAILED DESCRIPTION
[0082] 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.
[0083] like Figure 1 As shown, the multi-view single-line laser radar point cloud hierarchical clustering method of the present invention specifically includes the following steps:
[0084] The first is the spatiotemporal synchronization of multi-source laser point clouds: deploy multi-source lidar sensors in the work scene, obtain multi-source laser point cloud data, and perform offline coordinate system calibration and online time synchronization.
[0085] Then, dynamic threshold point cloud segmentation is performed: a dynamic threshold is set to segment the laser point cloud data, and the homologous laser point cloud data is sequentially traversed to segment the point cloud within the clustering threshold.
[0086] The point cloud cluster space hierarchical tree is constructed again: through the steps of establishing bounding boxes, initializing parameters, establishing BVH tree nodes, determining the optimal segmentation position, recursively constructing branches, etc., the point cloud space is hierarchically segmented and a hierarchical tree is constructed.
[0087] Finally, point cloud cluster clustering based on graph-correlation: for the point cloud space after hierarchical segmentation, the point clouds belonging to the same object are clustered through the steps of constructing an undirected graph of point cloud clusters, improving the D-IOU loss function, detecting the correlation of point cloud clusters, extracting point cloud cluster subgraphs, and fusing correlated point cloud clusters.
[0088] like Figure 2 As shown, the master-slave lidar coordinate system calibration described in the present invention includes the following steps: placing multiple reflective columns in the working scene, extracting the feature point set of the multi-source lidar after reflection by the reflective columns, and using the iterative closest point (ICP) point cloud matching method to obtain the precise posture relationship between the master and slave lidars, and transforming the slave lidar coordinate system into the master lidar coordinate system.
[0089] like Figure 3 As shown in Figure 1, point cloud dynamic threshold segmentation mainly includes the following steps:
[0090] First, initialize the parameters, set the dynamic segmentation threshold, point cloud cluster container group, and initialize the point cloud cluster container.
[0091] Secondly, use the lidar index 1 to m to traverse the point cloud data in sequence, convert the lidar polar coordinate system data into rectangular coordinate system data and calculate the distance between adjacent points.
[0092] Subsequently, the dynamic threshold between adjacent points is calculated. If the distance between adjacent points is less than the dynamic threshold, the current point is placed in the point cloud cluster container. Otherwise, the point cloud cluster container is stored in the point cloud cluster container group. The point cloud cluster container is cleared and the remaining point cloud data is traversed and the distance between adjacent points is calculated until all point cloud data are traversed.
[0093] The final point cloud cluster container group is the collection of point cloud clusters after clustering.
[0094] like Figure 4-Figure 7 As shown in Figure 2, the spatial hierarchical partitioning process of SAH-BVH point cloud clusters mainly includes the following steps:
[0095] First, the bounding box A is established as the root node of the spatial hierarchy tree through the first spatial division process. A is the minimum AABB bounding box of T1 to T6. Then the second spatial division divides A into two subspaces B and C at the optimal division position. B and C are the child nodes of A. The optimal division position is as follows Figure 5 As shown, T1 to T6 are divided into a bounding box B containing T1 to T2 and a bounding box C containing T3 to T6 in the horizontal direction. B and C are the minimum AABB bounding boxes of T1 to T2 and T3 to T6 respectively.
[0096] Then, the third spatial division is performed to continue to find the best segmentation position to divide regions B and C. Since the number of point cloud clusters in region B is equal to the minimum number of clusters (assuming the minimum number of clusters is 2), the division of region B is stopped and the point cloud cluster information in the region is saved. At the same time, the division of region C is continued to find the best segmentation position, such as Figure 6 As shown in the figure, vertically, T3-T6 is divided into a bounding box D containing T3-T4 and a bounding box E containing T5-T6. D and E are the minimum AABB bounding boxes of T3-T4 and T5-T6, respectively. Since the number of point cloud clusters in regions D and E has reached the minimum number of clusters, the segmentation of regions D and E is stopped and the point cloud cluster information in their respective spaces is saved.
[0097] Finally, the entire segmentation process ends, the point cloud cluster information is saved in the leaf node, and the child node in the spatial hierarchical tree structure serves as the spatial subset of the parent node.
[0098] like Figure 8 、 Figure 9 、 Figure 10 As shown in Figure 2, the point cloud clustering method based on graph-correlation mainly includes the following steps:
[0099] First, an undirected graph of point cloud clusters is constructed. Each point cloud cluster bounding box in each leaf node in the hierarchical bounding box tree is used as a vertex to build an undirected graph structure, and each vertex is connected by an edge.
[0100] Then the improved D-IOU loss function is used to detect the correlation between the bounding boxes of the point cloud clusters. The improved D-IOU loss function is as follows:
[0101]
[0102] The value range of ldiou is (-1, 1). This function creates an adjacency matrix and uses the ldiou function to detect the association between vertices in an undirected graph. These associations are encoded in the adjacency matrix. If ldiou is greater than or equal to the set threshold, the bounding boxes of the two vertices are associated, and the encoding value is "1." If it is less than the set threshold, the bounding boxes of the two vertices are not associated, and the encoding value is "0."
[0103] Finally, point cloud cluster subgraphs are extracted and associated point cloud clusters are fused. Subgraphs are extracted by deeply traversing the adjacency matrix of the undirected graph, and the associated point cloud cluster information is saved in each subgraph. The associated point clouds in the subgraphs are fused, and the associated point cloud clusters are grouped together, and the point cloud cluster index is redefined.
[0104] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the device embodiment, the above is only a preferred embodiment of the present invention. Since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment. The above is only a specific embodiment of the present invention, but the protection scope of the present invention is not limited to this. Any technical personnel familiar with this technical field is within the technical scope disclosed by the present invention. For ordinary technical personnel in this technical field, changes or replacements that can be easily thought of should be covered within the protection scope of the present invention without departing from the principle of the present invention. Therefore, the protection scope of the present invention should be based on the protection scope of the claims.
Claims
1. A multi-view single-line laser radar point cloud hierarchical clustering method, characterized in that: The following steps are involved: Step 1: Spatiotemporal synchronization of multi-source laser point clouds: Deploy multi-source lidar sensors in the work scene, acquire multi-source laser point cloud data, and perform offline coordinate system calibration and online time synchronization; The multi-source laser point cloud spatiotemporal synchronization method includes the following steps: Step 1.1: Multi-source LiDAR deployment: Deploy a master LiDAR and multiple slave LiDARs in the work scenario, connect the LiDARs to the ground computer, measure and record the distance between the master and slave LiDARs, and obtain the relative pose between the master and slave LiDARs. Step 1.2: Offline calibration of the master and slave LiDAR coordinate systems: Place multiple reflective columns in the working scene, extract the feature point set of the multi-source LiDAR after the reflective columns reflect, use the iterative closest point matching method to obtain the precise pose relationship between the master and slave LiDARs, and transform the slave LiDAR coordinate system to the master LiDAR coordinate system. The multi-source master-slave LiDAR calibration method includes the following steps: Step 1.2.1: Deploy reflective markers: Clear the work area and place at least three reflective markers within the area. Adjust the positions of the markers so that they are not obstructed by the primary and secondary LiDARs, ensuring that they can be illuminated by all LiDARs simultaneously. Step 1.2.2: Extraction of high-reflection feature point set data: Set the reflected light intensity and distance threshold to extract the feature point set on the surface of the reflective fixed column. Let the high-reflection feature point set reflected by the reflective fixed column after being illuminated by the laser radar be Where ρ is the polar radius of the point cloud, θ is the polar angle of the point cloud, k is the radar index to which the point cloud belongs, and i is the scanning order of the point cloud under the radar to which it belongs; let the radius of the reflective cursor fixed column be R, and the coordinates of the center of the circle after radius compensation Approximately: Step 1.2.3: Constructing the feature point set error model: Assume that the paired feature point sets under the perspective of the master and slave radars are: Find the Euclidean transformation R j , t j , such that: Assume the error term of the i-th pair of points: Construct the least squares problem and set the minimum corresponding to the minimum sum of squared errors value: Step 1.2.4: SVD solves the rotation transformation matrix: Assume two sets of point centroids: Simplifying the error function yields: Let the centroid coordinates of each point be: Construct an optimization problem and calculate the rotation matrix: Define W j matrix: To W j Perform SVD decomposition to get W j =UΣV T , where Σ is a diagonal matrix composed of singular values, the diagonal elements are arranged from large to small, and U and V are orthogonal matrices; When W j When full rank, for: Let the coordinate transformation matrix be The rotation matrix is The translation column vector is Then the following relationship exists: The conversion formula of master-slave laser point cloud after calibration is as follows: Step 1.3: Online time synchronization of multi-source point cloud data: synchronize the laser radar point cloud data with similar timestamps according to the PTP protocol, and store the synchronized multi-source point cloud data of a frame according to the radar index and scanning order of the point cloud. The synchronized point cloud data is recorded as Where p is a point in the point cloud P, ρ is the polar radius of the point cloud, θ is the polar angle of the point cloud, k is the radar index to which the point cloud belongs, and i is the scanning order of the point cloud under the radar to which it belongs; Step 2: Dynamic threshold point cloud segmentation: Set the dynamic threshold to segment the laser point cloud data, sequentially traverse the laser point cloud data of the same source, and segment the point cloud within the clustering threshold; Step 3: Constructing a spatial hierarchical tree of point cloud clusters: First, establish an AABB bounding box set and initialize the parameters; second, calculate the minimum AABB bounding box of the bounding box set, save the bounding box information in the node, and establish a BVH tree node; then, for the BVH tree node, calculate the expected sum of the bounding box areas under all segmentation positions, and take the segmentation position with the minimum expected sum of the bounding box areas as the optimal segmentation position; recursively construct branches again, and return to the step of establishing the BVH tree node for the left and right subsets after the optimal segmentation position, until the number of bounding box sets is less than the set threshold; Step 4: Clustering of point cloud clusters based on graph-correlation: First, an undirected graph structure is constructed with each point cloud cluster bounding box in each leaf node in the hierarchical bounding box tree as a vertex, and each vertice is connected by an edge; then the D-IOU loss function is improved to detect the correlation between the point cloud cluster bounding boxes; then the point cloud cluster subgraph is extracted by deeply traversing the adjacency matrix of the undirected graph, and the information of the correlated point cloud clusters in the subgraph is saved separately; finally, the correlated point clouds in the subgraph are fused, the correlated point cloud clusters are classified into one category, and the point cloud cluster index is redefined.
2. The multi-view single-line laser radar point cloud hierarchical clustering method according to claim 1, characterized in that: Step 2) The dynamic threshold point cloud segmentation method includes the following steps: Step 2.1: Parameter initialization: Set the dynamic segmentation threshold t and create a point cloud cluster container group b c , initialize point cloud cluster container b; Step 2.2: Sequentially traverse the point cloud data: sequentially access the point cloud data from lidar index 1 to m and point cloud index 1 to m; Step 2.3: Calculate the distance between adjacent points: Convert the laser point cloud polar coordinate system data Convert rectangular coordinate system data in Calculate the distance d between adjacent points: Step 2.4: Calculate the dynamic threshold t between adjacent points: t=a·r i ·i r (15) Where α is the adjustment coefficient, ρ i is the current point cloud polar radius, θ r is the lidar resolution; Step 2.5: Segment the point cloud: Judge the relationship between the distance d between adjacent points and the dynamic threshold t. If d < t, then store it in the point cloud cluster container b, otherwise store b in the point cloud cluster container group b c and clear the point cloud cluster container b; then execute Step 2.2) until all point cloud data are traversed and accessed.
3. The multi-view single-line laser radar point cloud hierarchical clustering method according to claim 1, characterized in that: Step 3) The point cloud cluster spatial hierarchical tree construction process includes the following steps: Step 3.1: Parameter initialization: Set the minimum number of clusters n, and the point cloud clusters after segmentation Create AABB bounding box set RECT = {rect i }, set rect i Coordinates of two diagonal points in Step 3.2: BVH tree node construction: Calculate the minimum AABB bounding box of the bounding box set, and set the coordinates of the two diagonal points of the bounding box p max (x max ,y max ) and p min (x min ,y min ),in Save the bounding box information in the node. If the number of bounding box sets is greater than n, continue the steps. If the number of bounding box sets is less than or equal to n, stop the tree building process and skip steps 3.3 and 3.
4. Set the current node as a leaf node and save the point cloud cluster information within the bounding box. Step 3.3: Calculate the optimal segmentation position: Split the bounding box set in the BVH tree node constructed in step 3.2 into two left and right subsets along the coordinate axis direction, and calculate the expected sum c of the bounding box area under all segmentation positions, let c = S l ·n l +S r ·n r , S l is the minimum bounding box area of the left subset, S r is the minimum bounding box area of the right subset, n l is the number of bounding boxes in the left subset, n r is the number of bounding boxes of the right subset; find the minimum expected area and c min , c min The corresponding segmentation position is the optimal segmentation position; Step 3.4: Recursively construct branches: Return to step 3.2) for the left and right subsets after the optimal split position, and establish a new BVH tree node as a child node of the current node.
4. The multi-view single-line laser radar point cloud hierarchical clustering method according to claim 1, characterized in that: Step 4) The graph-correlation point cloud clustering process includes the following steps: Step 4.1: Construct an undirected graph of point cloud clusters: Assume that the number of point cloud clusters in a leaf node is n, and each point cloud cluster bounding box in each leaf node in the hierarchical bounding box tree is a vertex. The vertex index is numbered and set as m_index, with a value range of 0 to n-1. Construct an undirected graph structure with edges connecting each vertex. Create an adjacency matrix to encode the values of the edges between vertices. Step 4.2: Point cloud cluster correlation detection: Improve the D-IOU loss function to detect the correlation between point cloud cluster bounding boxes. The improved D-IOU loss function is as follows: The value range of ldiou is (-1, 1). Based on the ldiou function, the association between the vertices of the undirected graph is detected and the association is encoded in the adjacency matrix. If ldiou is greater than or equal to the set threshold, the bounding boxes of the two vertices are associated, and the encoding value is "1". If it is less than the set threshold, the bounding boxes of the two vertices are not associated, and the encoding value is "0". Step 4.3: Extracting point cloud cluster subgraphs: Extract subgraphs by deeply traversing the adjacency matrix of the undirected graph and save the associated point cloud cluster information in each subgraph. Step 4.4: Associative point cloud cluster fusion: traverse the subgraph vertex index container group m_bs, merge the point cloud clusters in each subgraph into a new point cloud cluster, and number them according to the access order of each subgraph.
5. The multi-view single-line laser radar point cloud hierarchical clustering method according to claim 4, characterized in that: Step 4.3) The point cloud cluster subgraph extraction process includes the following steps: Step 4.3.1: Define the access variable m_traversed for each vertex of the undirected graph, initialize all vertex access variables, and assign all m_traversed variables to "0" to indicate that the vertex has not been visited; define the subgraph vertex index storage container m_b and define the subgraph vertex index container group m_bs; Step 4.3.2: Traverse the vertex access variable in order according to the vertex index m_index of the undirected graph, and return the index value of the first unvisited vertex encountered. If all vertices have been visited, end the process and go to step 4.4, otherwise go to 4.3.3; Step 4.3.3: Assign "1" to the access variable corresponding to the current vertex index, and store the current vertex index value in the subgraph vertex index storage container m_b. In addition, sequentially traverse the adjacency matrix value of the current vertex to determine the association between other vertices and the current vertex. If its value is equal to "1" and the vertex access variable value of the vertex currently traversed is equal to "0", then continue to recursively execute step 4.3.3 for the vertex currently traversed. After the recursive process ends, store the subgraph vertex index storage container m_b in the subgraph vertex index container group m_bs, clear m_b, and continue to execute step 4.3.2.
Citation Information
Patent Citations
Point cloud matching positioning method, system and product based on laser radar point cloud clustering
CN116993828A
Multi-laser radar obstacle identification method
CN117237913A
Rapid calibration method for multi-laser radar point cloud deduplication of automatic driving system
CN114839620A
Target identification method based on fusion of image information and laser radar point cloud information
CN116229408A