Ground recognition method and device thereof, mobile tool and related product
By performing ring alignment and connectivity analysis on multi-line lidar point clouds, the problem of high computational complexity in ground identification in existing technologies is solved, achieving efficient ground point identification and accurate calculation.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-22
- Publication Date
- 2026-04-07
AI Technical Summary
Existing ground identification methods are computationally complex, resource-intensive, and time-consuming, making them inefficient for ground point identification.
A single frame of multi-ring point cloud transmitted by a multi-line lidar is processed to align the ring directions, generating a multi-ring aligned point cloud. Suspected ground points are identified through the connected graph, and ground points are identified by fitting the ground equation.
It reduces the algorithmic complexity of ground identification, improves computational efficiency, shortens computation time, and ensures the spatiotemporal alignment and accuracy of data.
Smart Images

Figure CN116008999B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of autonomous driving technology, and in particular to a ground recognition method, a ground recognition device, a computer storage medium, a computer program product, a chip system, a control server, and a mobile tool. Background Technology
[0002] After correction, the laser point cloud forms a point cloud map. To obtain the perception results, the point cloud map needs to undergo calculations and operations such as ground removal (foreground and background segmentation), data clustering, classification, dynamic and static target analysis, and output. Ground segmentation mainly includes two parts: initial filtering by the Mesh algorithm and secondary filtering by the Ransac (Random Sample Consensus) algorithm; the former mainly determines ground points and obstacle points based on information such as the horizontal and vertical relationships between points and their distance from the origin; the latter performs plane fitting on the ground points and re-detects points missed by the former based on the fitted plane.
[0003] Existing point cloud ground segmentation technologies mainly consist of three parts: First, seed point calculation. Starting from the first line bundle, seed points are determined by acquiring and processing information about related points. Starting from any point, forward and backward traversals are performed sequentially. For points within the same bundle, the focus is on the radial distance and height difference between two points; for points in different bundles, the focus is on the gradient between two points. Second, ground point propagation. Based on the chain of evidence concept, traversals proceed sequentially to the right from the seed point. When an unmarked point is encountered, its relationship with related points is examined. If the point is marked as a ground point, a decision-making process is used to determine whether its preceding point is also a ground point. Third, secondary filtering. Based on the marked ground points, a plane is fitted using the Ransac algorithm, and non-ground points are filtered secondaryly using the plane equation.
[0004] From a computational perspective, existing technical solutions involve numerous divisions and squaring operations, require multiple traversals of the point cloud data frames laterally, and have high storage complexity, consuming significant resources and representing one of the system's key bottlenecks. The ground point spread algorithm follows a fixed pattern for data reading, primarily focusing on the radial distance and height difference between two points along the loop direction, and on the gradient and loop distance along the slice direction, resulting in high computational complexity. Summary of the Invention
[0005] The purpose of this invention is to address the shortcomings of existing technologies by providing a ground identification method that reduces the complexity of ground identification, improves efficiency, and shortens computation time.
[0006] To achieve the above objectives, the first aspect of the present invention provides a ground identification method, the method comprising:
[0007] Perform ring direction alignment processing on a single frame of multi-ring point cloud transmitted by multi-line lidar to generate multi-ring aligned point cloud;
[0008] For each ring of aligned point cloud, each data point in the ring of aligned point cloud and its forward, backward and left points are combined into a data element and stored in a queue. The connectivity relationship of the data points in each data element is calculated in turn. A connectivity graph of the ring of aligned point cloud is generated based on the connectivity relationship of the data points in each data element.
[0009] Based on the connectivity graph corresponding to the multi-ring aligned point cloud, suspected ground points are determined from the multi-ring aligned point cloud;
[0010] Based on the suspected ground points, a ground equation is fitted, and ground points are determined from the multi-ring aligned point cloud based on the ground equation.
[0011] Preferably, the process of aligning a single frame of multi-ring point cloud transmitted by a multi-line lidar to generate a multi-ring aligned point cloud specifically includes:
[0012] A first storage area is established for each ring point cloud, the first storage area includes an alignment area and an output area; the starting positions of the output areas corresponding to multiple ring point clouds are aligned.
[0013] For each ring of point cloud, the data points of that ring of point cloud are sequentially written into the alignment region starting from the starting offset point of the alignment region of the corresponding first storage area;
[0014] After all data points of the multi-ring aligned point cloud are written to the corresponding alignment area; for each ring point cloud, the data points of that ring point cloud are sequentially written to the output area of the corresponding first storage area.
[0015] The aligned regions of the multi-ring point cloud are output column-wise to obtain the multi-ring aligned point cloud.
[0016] Preferably, after assembling each data point in the ring-aligned point cloud and its forward, backward, and left points into a data element and storing it in a queue, the method further includes:
[0017] Assign a first vector to the data points;
[0018] Calculate the connectivity between the data point and its preceding, following, and leftmost points, and store the connectivity in the first vector.
[0019] Preferably, based on the connectivity graph corresponding to the multi-ring aligned point cloud, suspected ground points are determined from the multi-ring aligned point cloud, specifically including:
[0020] Seed points are determined from the ring-aligned point clouds based on the connectivity graph of each ring-aligned point cloud;
[0021] Suspected ground points are determined based on the seed points and the connected graph.
[0022] More preferably, seed points are determined from the ring-aligned point clouds based on the connectivity graph of each ring-aligned point cloud, specifically including:
[0023] For each data point, determine whether the data point satisfies the following condition based on its connectivity; if so, the data point is determined as a seed point:
[0024] The radial distance difference between the data point and its left-side point is less than or equal to a first threshold, and the height difference between the data point and its left-side point is less than or equal to a second threshold.
[0025] The distance between the data point and the origin is less than or equal to the seventh threshold;
[0026] The gradient value between the data point and the forward point is less than or equal to the third threshold.
[0027] In a second aspect, the present invention provides a ground identification device, comprising:
[0028] The alignment processing module is used to perform ring direction alignment processing on a frame of multi-ring point cloud transmitted by multi-line lidar to generate multi-ring aligned point cloud.
[0029] The data element generation module is used to generate data elements from each data point in the alignment point cloud of a ring and its forward, backward and left points and store them in a queue.
[0030] The connected graph generation module is used to calculate the connectivity of data points in each data element for each ring of aligned point cloud in turn; and generate a connected graph of the ring of aligned point cloud based on the connectivity of data points in each data element.
[0031] The ground point identification module is used to identify suspected ground points from the multi-ring aligned point cloud based on the connected graph corresponding to the multi-ring aligned point cloud;
[0032] The ground identification module is used to fit a ground equation based on the suspected ground points, and to determine the ground points from the multi-ring aligned point cloud based on the ground equation.
[0033] In a third aspect, the present invention provides a computer storage medium including a program or instructions that, when run on a computer, implement any of the ground identification methods provided in the first aspect.
[0034] In a fourth aspect, the present invention provides a computer program product that, when run on a computer, causes the computer to execute any of the ground identification methods provided in the first aspect.
[0035] In a fifth aspect, the present invention provides a chip system including a processor coupled to a memory storing program instructions, wherein when the program instructions stored in the memory are executed by the processor, any of the ground identification methods provided in the first aspect are implemented.
[0036] In a sixth aspect, the present invention provides a control server, including a memory and one or more processors communicatively connected to the memory;
[0037] The memory stores instructions that can be executed by the one or more processors to enable the one or more processors to implement any of the ground identification methods provided in the first aspect.
[0038] In a seventh aspect, the present invention provides a mobile tool that includes the control server provided in the sixth aspect above.
[0039] The technical solution provided by this invention firstly involves performing ring-direction alignment processing on a single frame of multi-ring point cloud output by a multi-line lidar to generate a multi-ring aligned point cloud. For each ring aligned point cloud, each data point in the ring aligned point cloud, along with its forward, backward, and left-side points, is grouped into data elements and stored in a queue. The connectivity relationships of the data points in each data element are then calculated sequentially. A connectivity graph of the ring aligned point cloud is generated based on the connectivity relationships of the data points in each data element. Then, based on the connectivity graph corresponding to the multi-ring aligned point cloud, suspected ground points are determined from the multi-ring aligned point cloud. A ground equation is fitted based on the suspected ground points, and ground points are determined from the aligned point cloud based on the ground equation. By employing the technical solution of this invention, on the one hand, existing technologies, in order to avoid the simultaneous reception of multiple adjacent laser point clouds by the laser receiver, do not transmit adjacent multiple beams of multi-line lidar simultaneously. Therefore, the received laser point cloud data is not aligned in the ring direction. This solution performs ring direction alignment processing on the multi-ring point clouds, which can ensure the data alignment between the multi-ring point clouds and ensure the spatiotemporal alignment of a frame of multi-ring point cloud data, resulting in more accurate data. On the other hand, for the ring-aligned point cloud data, a connected graph is established, and ground points can be determined directly from the connected graph, without the need for forward and reverse traversal starting from any point as in existing technologies. This greatly reduces the amount of data computation. Therefore, this solution can reduce the algorithm complexity of ground point recognition, improve computational efficiency, and shorten computation time. Attached Figure Description
[0040] Figure 1 This is one of the flowcharts for the ground identification method provided in Embodiment 1 of the present invention;
[0041] Figure 2 This is the second flowchart of the ground identification method provided in Embodiment 1 of the present invention;
[0042] Figure 3 This is the third flowchart of the ground identification method provided in Embodiment 1 of the present invention;
[0043] Figure 4 This is the fourth flowchart of the ground identification method provided in Embodiment 1 of the present invention;
[0044] Figure 5 This is a schematic diagram of the structure of the ground identification device provided in Embodiment 2 of the present invention. Detailed Implementation
[0045] The technical solution of the present invention will be further described in detail below with reference to the accompanying drawings and embodiments.
[0046] Example 1
[0047] This embodiment is applied to autonomous vehicles. After acquiring laser point cloud data, the lidar device on the autonomous vehicle corrects the point cloud data to form a point cloud map. In order to obtain the perception results, it is also necessary to perform calculations and operations on the point cloud map, such as ground removal (foreground and background segmentation), data clustering, classification, dynamic and static target analysis, and output.
[0048] To efficiently obtain the perception results from LiDAR, the ground removal algorithm needs to be reconstructed to reduce its design complexity, shorten computation time, and improve the computational efficiency of obtaining the perception results.
[0049] Figure 1 This is one of the flowcharts for the ground identification method provided in Embodiment 1 of the present invention, such as... Figure 1 As shown, the ground identification method provided in Embodiment 1 of the present invention includes:
[0050] Step 100: Perform ring direction alignment processing on a frame of multi-ring point cloud transmitted by multi-line lidar to generate multi-ring aligned point cloud.
[0051] Specifically, the point cloud data transmitted by the multi-line LiDAR is stored in an FPGA (Field Programmable Gate Array). Each frame of point cloud data is divided into multiple slices vertically and multiple rings horizontally. For example, in a 32-line LiDAR, one frame of point cloud data contains 32 rings, i.e., one frame of 32-ring point cloud. Assuming each ring contains 1812 laser points, it can be divided into 1812 slices vertically and 32 rings horizontally, meaning each slice contains 32 laser points. The 32 points on the same slice come from different rings. Therefore, one frame of point cloud data output by this 32-line LiDAR contains 1812 * 32 = 57984 laser points.
[0052] Within a slice, because the laser beam emission order is inconsistent with the ring order, the point cloud scanning is not performed from the inside out. Therefore, position alignment processing is required to ensure that the relationship between each data point and its preceding, following, and left-side points is correct. Specifically, this involves adjusting the positions of data points between rings or along the ring direction. For example, moving the original ring 1 data point to ring 3 (vertical adjustment) and shifting it 7 units to the right along the ring (horizontal adjustment). After aligning the original multi-ring point cloud along the ring direction, a multi-ring aligned point cloud is generated. In the multi-ring aligned point cloud, the relationship between each data point and its preceding, following, left, and right-side points is correct.
[0053] Step 101: For each ring alignment point cloud, each data point in the ring alignment point cloud and its forward, backward and left points are combined into a data element and stored in a queue. The connectivity relationship of the data points in each data element is calculated in turn.
[0054] For example, taking the direction of the laser beam emitted by the lidar as the reference direction, for each ring of aligned point cloud, the data point to the left of the target data point is the left point, the data point to the right of the target data point is the right point, the data point in the ring preceding the target data point and on the same slice as the target data point is the forward point, and the data point in the ring following the target data point and on the same slice as the target data point is the backward point.
[0055] Specifically, based on the data points in the multi-ring alignment point cloud generated in step 100, the forward point, backward point, and left point of the data point are obtained, and the data point and its forward point, backward point, and left point are packaged into a basic data element and stored in a queue.
[0056] Based on the data elements already stored in the queue, the connectivity of the data points in each data element is calculated sequentially. The connectivity of a data point represents the relationship between the data point and its preceding, following, left, and right points.
[0057] Step 102: Generate a connected graph of a ring-aligned point cloud based on the connectivity of the data points in each data element.
[0058] Specifically, the relationships between data points can be calculated in advance during the preprocessing stage, thereby constructing a connected graph based on rings that includes the connectivity relationships between the data points. Along the ring direction, the focus is primarily on the radial distance difference and height difference between two data points; along the slice direction, the focus is primarily on the gradient and the ring distance. Therefore, based on preset thresholds for each ring, the relationships between data points can be calculated in advance during the preprocessing stage, thereby constructing a point cloud connected graph based on rings. That is, slice-based storage stores the data for all data points, while ring-based storage stores the connectivity graph between the data points.
[0059] Step 103: Based on the connectivity graph corresponding to the multi-ring aligned point cloud, identify suspected ground points from the multi-ring aligned point cloud.
[0060] Specifically, based on the connectivity graph corresponding to the multi-ring aligned point cloud, suspected ground points are identified from the multi-ring aligned point cloud. Data points near the vehicle where the LiDAR is located are highly likely to be ground points. Therefore, the point cloud ring closest to the vehicle (e.g., the 1st to 8th line beams of the LiDAR) is selected for calculation to determine the suspected ground points in the multi-ring aligned point cloud. Then, the process spreads outwards, traversing the multi-ring aligned point cloud in order from the inner ring to the outer ring. Based on the corresponding connectivity graph, each line beam is traversed sequentially and in reverse order, and data points that meet the criteria are identified and segmented as suspected ground points.
[0061] Step 104: Fit the ground equation based on the suspected ground points, and determine the ground points from the multi-ring aligned point cloud based on the ground equation.
[0062] Specifically, after the suspected ground point identification calculation, the identified suspected ground points are fitted using the RANSAC (Random Sample Consensus) algorithm to obtain the ground equation, and the non-ground points in the multi-ring aligned point cloud are identified based on the ground equation to finally determine all ground points in the multi-ring aligned point cloud.
[0063] The RANSAC algorithm estimates the parameters of a mathematical model iteratively from a set of observations containing "outsiders." It is an uncertain algorithm, meaning it has a certain probability of yielding a reasonable result; to increase the probability, the number of iterations must be increased.
[0064] In a preferred embodiment, such as Figure 2 As shown, step 100 specifically includes:
[0065] Step 100A: Establish a first storage area for each ring point cloud. The first storage area includes an alignment area and an output area; align the starting positions of the output areas corresponding to the multi-ring point clouds.
[0066] Step 100B: For each ring of point cloud, write the data points of that ring of point cloud sequentially into the alignment region, starting from the starting offset point of the alignment region of the corresponding first storage area;
[0067] Step 100C: After all the data points of the multi-ring aligned point cloud have been written to the corresponding alignment area, for each ring point cloud, the data points of that ring point cloud are sequentially written to the output area of the corresponding first storage area.
[0068] Step 100D: Output the aligned regions of the multi-ring point cloud by column to obtain the multi-ring aligned point cloud.
[0069] To achieve alignment of multi-ring point clouds along the ring direction, a separate first storage area is established for each ring point cloud. This first storage area is a RAM (Random Access Memory) storage area, comprising an alignment region and an output region. The starting position of the output region for the multi-ring point cloud is aligned. During ring alignment, data points are first written sequentially to the alignment region according to the ring to which they belong, starting from the starting offset point of that ring. This continues until the right end of the alignment region is full, at which point data is added to the output region. When a column in the output region is full, that column is output as the alignment column. This process continues until all data points are stored in memory and all data in the alignment region is output, completing the ring alignment. All alignment columns are then output to generate the multi-ring aligned point cloud.
[0070] In another preferred embodiment, such as Figure 3 As shown, step 101 specifically includes:
[0071] Step 101A: For each ring alignment point cloud, each data point in the ring alignment point cloud and its forward, backward and left points are combined into a data element and stored in a queue.
[0072] Step 101B: Assign a first vector to the data point; calculate the connectivity between the data point and its preceding, following, and leftmost points, and store the connectivity in the first vector.
[0073] Specifically, to facilitate the calculation of connectivity relationships between data points, a simplified data structure is used to record these relationships. A first vector is assigned to each data point, storing the connectivity relationships between that data point and its preceding, following, left, and right data points. Compared to storing all data point information, the storage consumption of the connected graph information is reduced to approximately 1 / 36 of the original (36 bytes uncompressed, 9 bits compressed). The specific data structure is shown in Table 1.
[0074]
[0075] Table 1 Data Structure of the First Vector
[0076] Compared to storing all the information of a node, the storage consumption of the data structure of the first vector of a data point in a connected graph is very low, enabling faster retrieval efficiency and significantly reducing the amount of computation. If it is necessary to determine whether the radial distance difference or height difference between two points meets the requirements, it is only necessary to check the corresponding bits in the first vector of the data point, without the need for redundant calculations.
[0077] The specific calculation method for the values of the fields in the first vector is as follows:
[0078] vld: Determines whether a data point is valid, mainly by checking whether the coordinates of the data point are within a preset range. This calculation requires the data support of the current data point.
[0079] lc: Whether the device is connected to the left-hand point. This value is calculated in two parts: first, the radial distance difference with the left-hand point is calculated, and second, the height difference with the left-hand point is calculated. Only when both conditions are met is the bit position of this field set to 1. This calculation requires data support from the current data point and the left-hand point.
[0080] The formula (1) for calculating the radial distance difference with the left-side point is:
[0081]
[0082] P[M][N] represents the Nth data point in the Mth ring, where x and y represent the x and y values of the coordinates of the data point, respectively.
[0083] The formula (2) for calculating the height difference with the left side point is:
[0084] |P[M][N].zP[M][N-1].z|
[0085] P[M][N-1] represents the point to the left of point P[M][N], and z represents the z-value of the data point coordinates.
[0086] lc is set to 1 only if the radial distance difference with the left point is less than or equal to a preset first threshold and the height difference with the left point is also less than or equal to a preset second threshold; otherwise, it is set to 0.
[0087] uc: The gradient value relative to the forward point. If the gradient value is less than or equal to a preset third threshold, the corresponding bit is set to 1; otherwise, it is set to 0. The upward gradient needs to be compared with multiple thresholds, supporting a maximum of 5 thresholds. The gradient value calculation formula is as follows:
[0088]
[0089] Where P[M][N] represents the current point, P[M-1][N] represents the point preceding the current point, and x, y, and z represent the x, y, and z values of the data point coordinates, respectively.
[0090] lv: Determine whether the radial distance difference between the current point and the previous point meets the loop distance range. If the current point belongs to the 0th bundle, determine whether it is greater than the preset fourth threshold. Otherwise, determine whether the radial distance difference between the current point and the previous point is greater than the preset fifth threshold. If it is, set the corresponding bit to 1; otherwise, set it to 0.
[0091] ud: The difference between the gradient values of the forward and backward points. If the difference between the gradient values of the forward and backward points is less than the preset sixth threshold, it is set to 1; otherwise, it is set to 0.
[0092] In another preferred embodiment, such as Figure 4 As shown, step 103 specifically includes:
[0093] Step 103A: Determine the seed point from the ring-aligned point cloud based on the connectivity graph of each ring-aligned point cloud;
[0094] Step 103B: Determine suspected ground points based on seed points and the connected graph.
[0095] Specifically, seed points are also a type of ground point, referring to ground points close to the vehicle where the LiDAR is located. The criteria for determining seed points are more stringent than those for peripheral ground points. Seed points and peripheral ground points constitute a set of ground points. Seed point selection mainly targets the point cloud data closest to the vehicle (e.g., the 1st to 8th beams of the LiDAR). Seed point selection involves two steps: finding the starting point of the seed point chain and expanding the seed point chain.
[0096] The seed point calculation is mainly based on the connectivity of the data points in the generated connected graph. It determines whether the radial distance difference between the data point and the left-side point, the height difference between the data point and the left-side point, the distance from the origin, and the gradient with the forward point are within the preset threshold range.
[0097] When determining whether a data point is a seed point, for each data point, determine whether the data point meets the following conditions based on its connectivity:
[0098] A) The radial distance difference between the data point and the point to its left is less than or equal to the first threshold, and the height difference between the data point and the point to its left is less than or equal to the second threshold.
[0099] B) The distance between this data point and the origin is less than or equal to the preset seventh threshold.
[0100] C), the gradient value of the data point with respect to the forward point is less than or equal to the third threshold.
[0101] Data points that meet the above conditions can be identified as seed points.
[0102] When a data point and its left-hand neighbor are both seed points, the data point can be determined as the starting point of the seed point chain. Then, a chain-like judgment begins, and the following steps are executed in a loop:
[0103] 1) Take the point to the right of the starting point as the current point (move right along the chain);
[0104] 2) If the forward point of the left point is valid, then the left point and its forward point satisfy the threshold.
[0105] 3) If the previous point of the current point is valid, then the current point and its previous point satisfy the threshold.
[0106] 4) If steps 2) and 3) are both satisfied, mark the current point as a seed point and return 1; otherwise, the seed point marking chain is interrupted.
[0107] After the above processing, multiple seed point chains are obtained. If the head of the first seed point chain and the tail of the last seed point chain are close to each other (e.g., less than 12) and both points meet the threshold requirement, the two chains are merged. Finally, short chains with a length less than 12 are deleted. The data points in the remaining seed point chains are the seed points in the multi-ring aligned point cloud identified based on the connected graph.
[0108] Then, based on the identified seed points, the algorithm extends outwards, traversing the multi-ring aligned point cloud in order from the inner ring to the outer ring. Based on the corresponding connectivity graph, suspected ground points that meet the threshold relationship are identified and segmented. The specific suspected ground point identification algorithm is similar to the seed point identification algorithm described above, but with relatively looser conditions. The algorithm traverses each line bundle sequentially and in reverse order, identifying and segmenting data points that meet the conditions into suspected ground points.
[0109] The above judgment can be completed in the data preprocessing stage. Using a connected graph approach to compress the data can greatly reduce the amount of computation. Using a connected graph approach can simplify 32-bit floating-point comparison operations to single-bit comparison operations. Taking a 32-line lidar traversing the data 4 times as an example, using a connected graph approach can simplify the computation of approximately 232,000 floating-point operations to the corresponding number of bit comparisons, reducing the amount of computation by more than 90%.
[0110] Example 2
[0111] Embodiment 2 of the present invention provides a ground identification device. Figure 5 This is a schematic diagram of the structure of the ground identification device provided in Embodiment 2 of the present invention, as shown below. Figure 5 As shown, the ground identification device includes: an alignment processing module 51, a data element generation module 52, a connected graph generation module 53, a ground point identification module 54, and a ground identification module 55, wherein:
[0112] Alignment processing module 51 is used to perform ring direction alignment processing on a frame of multi-ring point cloud transmitted by multi-line lidar to generate multi-ring aligned point cloud;
[0113] The data element generation module 52 is used to generate data elements from each data point in the alignment point cloud of a ring and its forward, backward and left points and store them in a queue.
[0114] The connected graph generation module 53 is used to calculate the connectivity of data points in each data element for each ring of aligned point cloud in turn; and to generate a connected graph of the ring of aligned point cloud based on the connectivity of data points in each data element.
[0115] The ground point identification module 54 is used to identify suspected ground points from the multi-ring aligned point cloud based on the connected graph corresponding to the multi-ring aligned point cloud;
[0116] The ground identification module 55 is used to fit a ground equation based on suspected ground points and determine ground points from the multi-ring aligned point cloud based on the ground equation.
[0117] The ground identification device provided in Embodiment 2 of the present invention is used to implement steps 100 to 104 in Embodiment 1. The specific implementation method and effect are the same as in Embodiment 1, and will not be repeated here.
[0118] Example 3
[0119] Embodiment 3 of the present invention provides a computer-readable storage medium, including a program or instructions, which, when run on a computer, implements any of the ground identification methods provided in Embodiment 1.
[0120] Example 4
[0121] Embodiment 4 of the present invention provides a computer program product that, when run on a computer, causes the computer to execute any of the ground identification methods provided in Embodiment 1.
[0122] Example 5
[0123] Embodiment 5 of the present invention provides a chip system including a processor coupled to a memory. The memory stores program instructions, and when the program instructions stored in the memory are executed by the processor, any of the ground identification methods provided in Embodiment 1 are implemented.
[0124] Example 6
[0125] Embodiment 6 of the present invention provides a control server, including a memory and one or more processors communicatively connected to the memory;
[0126] The memory stores instructions that can be executed by one or more processors to enable one or more processors to implement any of the ground identification methods provided in Embodiment 1.
[0127] Example 7
[0128] Embodiment 7 of the present invention provides a mobile tool, including the control server provided in Embodiment 6 of the present invention.
[0129] The ground identification method provided by this invention firstly performs ring-direction alignment processing on a single frame of multi-ring point cloud output by a multi-line lidar to generate a multi-ring aligned point cloud. For each ring aligned point cloud, each data point in the ring aligned point cloud, along with its forward, backward, and left-side points, is grouped into data elements and stored in a queue. The connectivity relationships of the data points in each data element are calculated sequentially. A connectivity graph of the ring aligned point cloud is generated based on the connectivity relationships of the data points in each data element. Then, based on the connectivity graph corresponding to the multi-ring aligned point cloud, suspected ground points are determined from the multi-ring aligned point cloud. A ground equation is fitted based on the suspected ground points, and ground points are determined from the aligned point cloud based on the ground equation. By employing the technical solution of this invention, on the one hand, existing technologies, in order to avoid the simultaneous reception of multiple adjacent laser point clouds by the laser receiver, do not transmit adjacent multiple beams of multi-line lidar simultaneously. Therefore, the received laser point cloud data is not aligned in the ring direction. This solution performs ring direction alignment processing on the multi-ring point clouds, which can ensure the data alignment between the multi-ring point clouds and ensure the spatiotemporal alignment of a frame of multi-ring point cloud data, resulting in more accurate data. On the other hand, for the ring-aligned point cloud data, a connected graph is established, and ground points can be determined directly from the connected graph, without the need for forward and reverse traversal starting from any point as in existing technologies. This greatly reduces the amount of data computation. Therefore, this solution can reduce the algorithm complexity of ground point recognition, improve computational efficiency, and shorten computation time.
[0130] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.
[0131] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be implemented in hardware, a software module executed by a processor, or a combination of both. The software module can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.
[0132] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above description is only a specific embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A ground identification method, characterized in that, The method includes: A multi-ring point cloud is generated by performing ring direction alignment processing on a frame of multi-ring point cloud transmitted by a multi-line lidar; specifically, it includes: setting up a first storage area for each ring point cloud, the first storage area including an alignment area and an output area; and aligning the starting positions of the output areas corresponding to the multi-ring point clouds. For each ring of point cloud, the data points of that ring of point cloud are sequentially written into the alignment region starting from the starting offset point of the alignment region of the corresponding first storage area; after the data points of the multi-ring aligned point cloud have all been written into the corresponding alignment region; for each ring of point cloud, the data points of that ring of point cloud are sequentially written into the output region of the corresponding first storage area; the alignment regions of the multi-ring point cloud are output in columns to obtain the multi-ring aligned point cloud; For each ring of aligned point cloud, each data point in the ring of aligned point cloud and its forward, backward and left points are combined into a data element and stored in a queue. The connectivity relationship of the data points in each data element is calculated in turn. A connectivity graph of the ring of aligned point cloud is generated based on the connectivity relationship of the data points in each data element. Based on the connectivity graph corresponding to the multi-ring aligned point cloud, suspected ground points are determined from the multi-ring aligned point cloud; Based on the suspected ground points, a ground equation is fitted, and ground points are determined from the multi-ring aligned point cloud based on the ground equation.
2. The method according to claim 1, characterized in that, After assembling each data point in the ring-aligned point cloud and its preceding, following, and leftmost points into a data element and storing it in a queue, the method further includes: Assign a first vector to the data points; Calculate the connectivity between the data point and its preceding, following, and leftmost points, and store the connectivity in the first vector.
3. The method according to claim 1, characterized in that, Based on the connected graph corresponding to the multi-ring aligned point cloud, suspected ground points are determined from the multi-ring aligned point cloud, specifically including: Seed points are determined from the ring-aligned point clouds based on the connectivity graph of each ring-aligned point cloud; Suspected ground points are determined based on the seed points and the connected graph.
4. The method according to claim 3, characterized in that, Based on the connectivity graph of each ring-aligned point cloud, seed points are determined from the ring-aligned point cloud, specifically including: For each data point, determine whether the data point satisfies the following condition based on its connectivity; if so, the data point is determined as a seed point: The radial distance difference between the data point and its left-side point is less than or equal to a first threshold, and the height difference between the data point and its left-side point is less than or equal to a second threshold. The distance between the data point and the origin is less than or equal to the seventh threshold; The gradient value between the data point and the forward point is less than or equal to the third threshold.
5. A ground identification device, characterized in that, include: The alignment processing module is used to perform ring direction alignment processing on a frame of multi-ring point cloud transmitted by multi-line lidar to generate multi-ring aligned point cloud. Specifically, this includes: establishing a first storage area for each ring point cloud, the first storage area including an alignment area and an output area; aligning the starting positions of the output areas corresponding to the multiple ring point clouds; for each ring point cloud, sequentially writing the data points of that ring point cloud into the alignment area starting from the starting offset point of the corresponding first storage area; after all the data points of the multiple ring aligned point clouds have been written into the corresponding alignment areas; for each ring point cloud, sequentially writing the data points of that ring point cloud into the output area of the corresponding first storage area; and outputting the alignment areas of the multiple ring point clouds by columns to obtain the multiple ring aligned point cloud. The data element generation module is used to generate data elements from each data point in the alignment point cloud of a ring and its forward, backward and left points and store them in a queue. The connected graph generation module is used to calculate the connectivity of data points in each data element for each ring of aligned point cloud in turn; and generate a connected graph of the ring of aligned point cloud based on the connectivity of data points in each data element. The ground point identification module is used to identify suspected ground points from the multi-ring aligned point cloud based on the connected graph corresponding to the multi-ring aligned point cloud; The ground identification module is used to fit a ground equation based on the suspected ground points, and to determine the ground points from the multi-ring aligned point cloud based on the ground equation.
6. A computer storage medium, characterized in that, Includes a program or instructions that, when run on a computer, implement the ground identification method as described in any one of claims 1 to 4.
7. A computer program product, characterized in that, When the computer program product is run on a computer, the computer performs the ground identification method as described in any one of claims 1 to 4.
8. A chip system, characterized in that, The device includes a processor coupled to a memory that stores program instructions. When the program instructions stored in the memory are executed by the processor, the device implements the ground identification method according to any one of claims 1 to 4.
9. A control server, characterized in that, Includes a memory, and one or more processors communicatively connected to the memory; The memory stores instructions that can be executed by the one or more processors to enable the one or more processors to implement the ground identification method as described in any one of claims 1 to 4.
10. A mobile tool, characterized in that, It includes the control server as described in claim 9.
Citation Information
Patent Citations
Multi-line laser radar ground point separation method, device, vehicle
CN108427124A
Method and system for removing ground by using multi-line laser radar
CN111665524A