Road edge determination method and device and storage medium
By grouping, sorting, and filtering ground points and smoothness values in lidar point cloud data, combined with cluster analysis, the problem of inaccurate road edge extraction in complex environments was solved, achieving more efficient and accurate edge detection.
Patent Information
- Application Number
- CN202511366481.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-23
- Publication Date
- 2026-02-13
AI Technical Summary
Existing road edge extraction methods struggle to accurately distinguish between road surfaces and edges in complex road environments, especially under poor lighting or inclement weather conditions. The presence of noise and outliers in lidar point cloud data leads to inaccurate extraction, impacting the safety and stability of autonomous driving.
By identifying ground points from lidar data, grouping and sorting them, calculating smoothness values, filtering target ground points using preset smoothness values, and combining cluster analysis to determine road edges.
It improves the accuracy and efficiency of road edge extraction, reduces false detections and missed detections, and ensures the safety and stability of autonomous driving systems in complex environments.
Smart Images

Figure CN121522663A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of automation control technology, and more specifically, to a method, apparatus, and storage medium for determining road edges. Background Technology
[0002] With the increasing maturity and widespread adoption of autonomous driving technology, LiDAR, as one of the core sensors, plays a crucial role in ensuring the safety and stability of vehicle operation through its road edge detection capabilities. Currently, LiDAR-based road edge extraction technology has been applied in various scenarios, such as urban road navigation, highway cruise, intelligent parking systems, and road asset management and maintenance. However, existing road edge extraction methods have significant limitations and challenges when facing complex road environments.
[0003] Specifically, in unstructured or semi-structured road environments, traditional algorithms often struggle to accurately distinguish between road surfaces and edges, especially in poor lighting, inclement weather, or variable road conditions. The point cloud data received by LiDAR may contain significant noise and outliers, making the extraction of road edge information extremely difficult. Furthermore, existing methods are not precise enough in segmenting ground and non-ground points when processing point cloud data, affecting the accuracy of subsequent edge detection. Moreover, traditional algorithms rely on specific geometric features or pattern matching to identify edge points, which not only increases computational burden but also performs poorly when dealing with atypical or dynamic edge morphologies, easily leading to false positives or false negatives.
[0004] Therefore, there is an urgent need for a more efficient and accurate method for road edge extraction to address the challenges of autonomous driving and road management and improve the overall performance of the system. Summary of the Invention
[0005] This invention provides a method, apparatus, and storage medium for determining road edges, thereby at least solving the technical problem of inaccurate road edge extraction in the prior art.
[0006] According to one embodiment of the present invention, a method for determining a road edge is provided, comprising: determining multiple ground points from multiple lidar points; grouping the multiple ground points to obtain multiple target beams, wherein each target beam includes multiple ground points; sorting the multiple ground points in each target beam to obtain a target array, wherein the multiple items in the target array are arranged in ascending order; calculating multiple smoothness values for the multiple ground points in the multiple target array, wherein each ground point corresponds to a smoothness value; determining multiple target smoothness values from the multiple smoothness values according to preset smoothness values; and determining a target road edge according to the multiple target ground points corresponding to the multiple target smoothness values.
[0007] Optionally, the method for determining the road edge also includes: determining multiple ground points from multiple lidar points based on a ground segmentation algorithm.
[0008] Optionally, the method for determining the road edge further includes: establishing a target coordinate system and determining the target origin; for each ground point, determining the ground coordinates and scan line of the ground point, wherein the scan line is the line connecting the ground point and the target origin; calculating the first target angle between the scan line and the horizontal plane based on the ground coordinates; and grouping the multiple ground points according to the multiple first target angles corresponding to the multiple ground points to obtain multiple target line bundles.
[0009] Optionally, the method for determining the road edge also includes: for each ground point, calculating the second target angle between the scan line and the horizontal coordinate system based on the ground coordinates corresponding to the ground point; sorting multiple ground points on each target bundle according to the multiple second target angles corresponding to multiple ground points to obtain a target array.
[0010] Optionally, the method for determining the road edge also includes: for each ground point, determining the target item of the ground point in the target array; and calculating the smoothness value of the ground point based on the ground coordinates, the ground coordinates corresponding to the previous item of the target item, and the ground coordinates corresponding to the next item of the target item.
[0011] Optionally, the method for determining the road edge further includes: comparing multiple smoothness values with preset smoothness values to obtain a comparison result; in response to the comparison result indicating that there is a smoothness value among the multiple smoothness values that is greater than the preset smoothness value, determining the smoothness value that is greater than the preset smoothness value as multiple target smoothness values.
[0012] Optionally, the method for determining the road edge further includes: determining a preset clustering value; performing clustering processing on multiple target ground points according to the preset clustering value to obtain multiple clusters; and determining the target road edge based on the multiple clusters.
[0013] According to one embodiment of the present invention, a road edge determination device is also provided, comprising: a first determination module for determining multiple ground points from multiple lidar points; a grouping module for grouping the multiple ground points to obtain multiple target bundles, wherein each target bundle includes multiple ground points; a sorting module for sorting the multiple ground points in each target bundle to obtain a target array, wherein the multiple items in the target array are arranged in ascending order; a calculation module for calculating multiple smoothness values of the multiple ground points in the multiple target array, wherein each ground point corresponds to a smoothness value; a second determination module for determining multiple target smoothness values from the multiple smoothness values according to preset smoothness values; and a third determination module for determining target road edges according to the multiple target ground points corresponding to the multiple target smoothness values.
[0014] Optionally, the first determining module includes: a first determining unit, used to determine multiple ground points from multiple lidar points according to a ground segmentation algorithm.
[0015] Optionally, the grouping module includes: an establishment unit for establishing a target coordinate system and determining the target origin; a second determination unit for determining the ground coordinates and scan line for each ground point, wherein the scan line is the line connecting the ground point and the target origin; a first calculation unit for calculating the first target angle between the scan line and the horizontal plane based on the ground coordinates; and a grouping unit for grouping multiple ground points according to multiple first target angles corresponding to multiple ground points to obtain multiple target line bundles.
[0016] Optionally, the sorting module includes: a second calculation unit, used to calculate the second target angle between the scan line and the horizontal coordinate system for each ground point based on the ground coordinates corresponding to the ground point; and a sorting unit, used to sort multiple ground points on each target bundle according to multiple second target angles corresponding to multiple ground points to obtain a target array.
[0017] Optionally, the calculation module includes: a third determining unit, used to determine the target item of each ground point in the target array; and a third calculation unit, used to calculate the smoothness value of the ground point based on the ground coordinates, the ground coordinates corresponding to the previous item of the target item, and the ground coordinates corresponding to the next item of the target item.
[0018] Optionally, the second determining module includes: a comparison unit, used to compare multiple smoothness values with a preset smoothness value to obtain a comparison result; and a fourth determining unit, used to determine the smoothness values greater than the preset smoothness value as multiple target smoothness values in response to the comparison result indicating that there is a smoothness value greater than the preset smoothness value among the multiple smoothness values.
[0019] Optionally, the third determining module includes: a fifth determining unit, used to compare multiple smoothness values with preset smoothness values to obtain comparison results; a clustering unit, used to perform clustering processing on multiple target ground points according to preset clustering values to obtain multiple cluster clusters; and a sixth determining unit, used to determine the target road edge according to the multiple cluster clusters.
[0020] According to one embodiment of the present invention, an electronic device is also provided, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the method for determining the road edge as described above.
[0021] According to one embodiment of the present invention, a non-volatile storage medium is also provided, wherein a computer program is stored in the non-volatile storage medium, wherein the computer program is configured to execute the method for determining the road edge in any of the above-mentioned embodiments when running.
[0022] According to one embodiment of the present invention, a computer program product is also provided, which stores a computer program, wherein the computer program, when executed by a processor, implements the steps of the method for determining the road edge as described above.
[0023] In this embodiment of the invention, multiple ground points are determined from multiple LiDAR points, and these ground points are grouped to obtain multiple target beams. Each target beam includes multiple ground points. The multiple ground points in each target beam are sorted to obtain a target array. The multiple items in the target array are arranged in ascending order. Multiple smoothness values of the multiple ground points in the multiple target arrays are calculated, and each ground point corresponds to a smoothness value. This achieves the purpose of determining multiple target smoothness values from multiple smoothness values based on preset smoothness values, thereby achieving the technical effect of determining the target road edge based on multiple target ground points corresponding to multiple target smoothness values. This can solve the technical problem of inaccurate road edge extraction in the prior art. Attached Figure Description
[0024] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this application, illustrate exemplary embodiments of the invention and, together with their description, serve to explain the invention and do not constitute an undue limitation thereof. In the drawings:
[0025] Figure 1 This is a flowchart of a method for determining the road edge according to one embodiment of the present invention;
[0026] Figure 2 This is a schematic diagram of point cloud data of a road according to one embodiment of the present invention;
[0027] Figure 3 This is a structural block diagram of a road edge determination device according to one embodiment of the present invention. Detailed Implementation
[0028] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0029] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such terms can be used interchangeably where appropriate so that embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0030] According to an embodiment of the present invention, an embodiment of a method for determining road edges is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system containing at least a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0031] This method embodiment can also be executed in an electronic device, similar control device, or vehicle-mounted terminal that includes a memory and a processor. Taking a vehicle-mounted terminal as an example, the vehicle-mounted terminal may include one or more processors and a memory for storing data. Optionally, the vehicle-mounted terminal may also include a communication device for communication functions and a display device. Those skilled in the art will understand that the above structural description is merely illustrative and does not limit the structure of the vehicle-mounted terminal. For example, the vehicle-mounted terminal may include more or fewer components than those described above, or have a different configuration than those described above.
[0032] A processor may include one or more processing units. For example, a processor may include a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processing (DSP) chip, a microcontroller unit (MCU), a field-programmable gate array (FPGA), a neural network processing unit (NPU), a tensor processing unit (TPU), or an artificial intelligence (AI) processor. Different processing units may be independent components or integrated into one or more processors. In some instances, electronic devices may also include one or more processors.
[0033] The memory can be used to store computer programs, such as the computer program corresponding to the road edge determination method in this embodiment of the invention. The processor implements the road edge determination method by running the computer program stored in the memory. The memory may include high-speed random access memory and non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory may further include memory remotely located relative to the processor, and these remote memories can be connected to electronic devices via a grid. Examples of such grids include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.
[0034] The communication device is used to receive or transmit data via a grid. Specific examples of the aforementioned grid may include a wireless grid provided by the mobile terminal's communication provider. In one example, the communication device includes a network interface controller (NIC), which can connect to other grid devices via a base station to communicate with the Internet. In another example, the communication device may be a radio frequency (RF) module used for wireless communication with the Internet. In some embodiments of this solution, the communication device is used to connect to mobile devices such as mobile phones and tablets, enabling the mobile device to send commands to the vehicle-mounted terminal.
[0035] The display device can be a touchscreen liquid crystal display (LCD) or a touch display (also referred to as a "touchscreen" or "touch screen"). This LCD allows the user to interact with the user interface of the in-vehicle terminal. In some embodiments, the in-vehicle terminal has a graphical user interface (GUI), allowing the user to interact with the GUI through finger contact and / or gestures on a touch-sensitive surface. This human-machine interaction function may include a vehicle gear shifting function. Executable instructions for performing these human-machine interaction functions are configured / stored in one or more processor-executable computer program products or readable storage media.
[0036] Figure 1 This is a flowchart of a method for determining the road edge according to one embodiment of the present invention, such as... Figure 1 As shown, the method includes the following steps:
[0037] Step S102: Determine multiple ground points from multiple lidar points.
[0038] Optionally, the execution subject in this embodiment is the curb determination system. It should be noted that other electronic devices and processors can also be used as the execution subject, and no further limitations are made here.
[0039] In the technical solution provided in step S102 of the present invention, the lidar continuously scans the surrounding environment and generates dense point cloud data, which includes three-dimensional information of the ground road.
[0040] Specifically, ground segmentation algorithms can be used to analyze the raw point cloud data. This process mainly utilizes the differences in height and distribution between ground points and non-ground points. A common implementation method is statistical, which identifies ground points by calculating the vertical distribution density of the point cloud. Alternatively, model-based methods, such as plane fitting, can be used. Through an iterative optimization process, a planar model that best fits the ground point cloud can be found, thereby distinguishing between ground and non-ground points.
[0041] Furthermore, the ground point identification step requires further refinement of ground point extraction to ensure accuracy. By analyzing the height information of the point cloud data and considering the continuity and uniform distribution of ground points on the ground, ground points can be effectively identified. For example, a height threshold can be set to remove points above or below that threshold, reducing interference from non-ground points. Simultaneously, by utilizing the density distribution characteristics of the point cloud data, points that form a continuous and dense distribution on the ground can be identified as candidate regions for the ground point cloud.
[0042] Optionally, ground segmentation algorithms are used to distinguish ground and non-ground features from 3D point cloud data. They are commonly used in the environmental perception systems of autonomous vehicles to provide the data required for vehicle localization and navigation.
[0043] Optionally, a lidar point cloud is a collection of three-dimensional points of the surrounding environment captured by lidar, each point containing three-dimensional coordinate information, which can be used to construct a three-dimensional model of the environment.
[0044] It is worth noting that the process of identifying multiple ground points from multiple LiDAR points enables accurate acquisition of ground information in complex environments, effectively reducing interference from non-ground points and improving the accuracy of ground point cloud data. In autonomous driving scenarios, this step is fundamental to road edge detection. Accurate ground point extraction improves the accuracy and reliability of subsequent road edge recognition, reduces false detections and missed detections, and ensures safe vehicle operation.
[0045] Step S104: Group the multiple ground points to obtain multiple target wire bundles, wherein each target wire bundle includes multiple ground points.
[0046] In the technical solution provided by step S104 of the present invention, the road edge determination system needs to further organize and classify the ground point cloud data generated by the lidar to obtain multiple target beams, wherein each target beam can include multiple ground points, but each ground point belongs to only one target beam. This step can enable subsequent processing to more efficiently identify road edge features.
[0047] Specifically, during the LiDAR scanning process, the angle between each scanning beam and the horizontal plane is fixed. This characteristic can be used to group ground points. Specifically, the system first calculates the angle between each ground point and the horizontal scanning line of the LiDAR based on the coordinate information of each ground point in the point cloud data. Based on this angle value, the ground points are divided into corresponding angle beams, forming multiple target beams, where the ground points in each beam have similar angular characteristics.
[0048] As an alternative implementation, the curb identification system can also group multiple ground points based on their spatial relationships, particularly the distribution characteristics of point cloud data in three-dimensional space. The system can classify ground points according to their positions within a virtual grid. Each grid represents a target line bundle, and ground points within the grid have similar spatial locations, facilitating local feature analysis.
[0049] Optionally, the target bundle refers to the set of point cloud data with similar characteristics grouped by a specific algorithm or rule in point cloud data processing. Each bundle represents an angle or spatial location range of the scan line, which facilitates subsequent feature analysis and processing.
[0050] It is worth noting that by grouping multiple ground points into multiple target bundles, this process significantly improves the accuracy and efficiency of road edge extraction. The points within the grouped target bundles have high homogeneity, which reduces the complexity of subsequent edge detection algorithms and increases processing speed. Simultaneously, the angle-based grouping method can fully utilize the scanning characteristics of LiDAR, ensuring that the point cloud data within each bundle more closely matches the actual road edge features, reducing false positives and false negatives.
[0051] Step S106: Sort the multiple ground points in each target bundle to obtain a target array, wherein the multiple items in the target array are arranged in ascending order.
[0052] In the technical solution provided in step S106 of the present invention, a sorting benchmark needs to be defined before sorting multiple ground points. In lidar applications, this benchmark is usually a dimension associated with the lidar scanning mechanism, such as the distance between a point and the lidar scanning origin or the position of a point on a coordinate axis (such as the X-axis or Y-axis). Further, after determining the sorting benchmark, the metric value related to the benchmark needs to be calculated for each ground point within the beam. For example, if distance is used as the sorting benchmark, the Euclidean distance from each point to the scanning origin needs to be calculated; if a coordinate axis is used as the benchmark, the coordinate value of each point on the selected axis needs to be calculated. Next, the multiple ground points are sorted according to their corresponding metric values. After sorting, a target array is constructed, that is, all ground points are reorganized into a new data structure according to the sorting result.
[0053] Specifically, each item in the target array represents a ground point, which are now arranged in ascending order of the selected metric.
[0054] As an optional implementation, the system first calculates the line segments from each ground point in the target beam to the origin of the lidar scan, and then sorts them according to the angles between these line segments and the horizontal coordinate system. Specifically, the point with the smallest angle is selected as the starting point, and the remaining ground points are then arranged in ascending order of angle. This method ensures that the point cloud data within the same target beam forms an ordered sequence along the scanning direction, facilitating the analysis of the continuity and abrupt changes in the point cloud, thereby identifying the features of the road edge.
[0055] As an alternative implementation, the system first calculates the distance from each ground point in the target beam to the origin of the lidar scan, and then sorts the point cloud data according to these distance values. Specifically, the point with the smallest distance is selected as the starting point, and then the remaining ground points are arranged in ascending order of distance.
[0056] It's worth noting that sorting multiple ground points within the target bundle to obtain the target array effectively improves the organization of the point cloud data, making the data more readable and analyzable. The sorted target array, with its items arranged according to specific rules, helps to quickly identify the distribution patterns of points within the bundle, especially abrupt changes or outliers, the latter often representing road edge features. This technique simplifies subsequent edge detection algorithms, improves processing efficiency and accuracy, and ensures real-time and precise capture of road edge changes in high-data-rate autonomous driving systems.
[0057] Step S108: Calculate multiple smoothness values for multiple ground points in multiple target arrays, where each ground point corresponds to a smoothness value.
[0058] In the technical solution provided in step S108 of the present invention, the calculation of the smoothness value first requires determining the neighborhood range of each ground point, that is, the set of surrounding points used to evaluate the smoothness of that point. The size of the neighborhood range directly affects the accuracy of the smoothness calculation and the sensitivity to local features. After the neighborhood is determined, the smoothness value is calculated for each ground point.
[0059] Specifically, smoothness values are typically calculated based on the coordinate relationships between a point and other points in its neighborhood (i.e., the target array). For example, the smoothness of a point can be measured by calculating the rate of change of distance between the target point and the points on its left and right sides in its neighborhood; the smaller the rate of change of distance, the higher the smoothness of the point.
[0060] As an alternative implementation, the smoothness value can be calculated by measuring the distance change between the target point and other points in the target array. The specific calculation formula involves summing the absolute or squared values of the differences between the target point's coordinates and the coordinates of its neighboring points in the target array, and comparing this sum with the average distance between the two points in the neighborhood.
[0061] As an alternative implementation, the smoothness value can also be calculated based on the rate of change of angle. For target line bundles grouped by angle, the vector angle formed in space between the target point and the points in the target array can be calculated. The smaller the rate of change of angle, the higher the smoothness of the ground point. This method is suitable for point cloud data on road edges because the angle change often increases suddenly at road edges, leading to a decrease in the smoothness value, which can then serve as a reference for edge point detection.
[0062] Optionally, the smoothness value is used as an indicator to quantify the continuity and smoothness of a point in point cloud data with respect to its surrounding points. The smaller the value, the more continuous and smooth the distribution of points in the point and its neighborhood.
[0063] It's worth noting that calculating the smoothness value for each ground point is a key feature that effectively enhances the point cloud processing algorithm's ability to identify road edges and other abrupt terrain changes. The calculation of the smoothness value provides a quantitative method to assess the local continuity of point cloud data, enabling the algorithm to locate outliers, i.e., potential road edge points, based on numerical variations. This process does not rely on complex image processing or machine learning models but is achieved through simple mathematical calculations, which not only improves computational efficiency but also maintains high detection accuracy under various road conditions.
[0064] Step S110: Determine multiple target smoothness values from multiple smoothness values based on preset smoothness values.
[0065] In the technical solution provided by step S110 of the present invention, before starting the screening, a preset smoothness value needs to be set. This value can be based on the understanding of the smoothness of normal road surfaces and the analysis of the distribution characteristics of road edge point cloud data. After determining the smoothness threshold, all points with smoothness values lower than (or higher than, depending on the threshold setting method) the preset smoothness value can be further screened out by comparing the smoothness value of each ground point with the preset smoothness value. These screened ground points are considered to have the target smoothness value, and they represent possible edge or abnormal features in the point cloud data, such as... Figure 2 As shown.
[0066] As an alternative implementation method, a specific smoothness value can be determined based on experience or data analysis as a preset smoothness value. For each calculated smoothness value of a ground point, if the value is lower than the set threshold, it is marked as a target smoothness value point, indicating that the point may be located near the edge of the road. This method is simple and direct and is suitable for application scenarios where the smoothness distribution is relatively stable.
[0067] As an alternative implementation, dynamic smoothness threshold filtering offers greater flexibility. It dynamically adjusts the smoothness threshold based on the statistical characteristics of the currently processed point cloud data. For example, the average or median of the smoothness values for the entire point cloud data or a specific region can be calculated, and an offset relative to this average or median can be set as the threshold. This method can better adapt to local variations in the point cloud data, improving the accuracy of edge recognition under different road conditions.
[0068] It is worth noting that determining the target smoothness value from multiple smoothness values based on preset smoothness values is a technique that can significantly improve the accuracy and efficiency of point cloud data processing. By setting a reasonable smoothness threshold, the system can effectively filter out a large number of points unrelated to the road edge, reducing the computational burden of subsequent processing, while accurately locating potential edge points.
[0069] Step S112: Determine the target road edge based on multiple target ground points corresponding to multiple target smoothness values.
[0070] In the technical solution provided by step S112 of the present invention, firstly, based on the calculated target smoothness value, corresponding ground points are selected. These points, exhibiting low smoothness in the point cloud data, are initially considered to be road edge points. Subsequently, the selected target ground points are further analyzed to observe their distribution patterns in the point cloud. Typically, road edge points appear in a certain pattern, such as forming a linear or curvilinear distribution along the road edge. Through the above analysis, combined with road geometry and terrain knowledge, the set of points constituting the target road edge is determined from the target ground points.
[0071] As an optional implementation, in the clustering analysis method, the system uses clustering algorithms such as K-means and DBSCAN to group the target ground points. Each group represents a potential road edge feature. By comparing the distribution characteristics of different groups, it ultimately determines which groups constitute the actual target road edges. This method is suitable for scenarios where edge features are relatively obvious in point cloud data and the surrounding environmental noise is relatively low.
[0072] As an alternative implementation, curve fitting techniques can be used to determine the target road edge. By fitting a curve to the target ground points, a mathematical function describing the shape of the road edge can be obtained. By comparing the goodness of fit and terrain relevance of different fitted curves, the most suitable curve is selected as the representative of the target road edge. This method is particularly suitable for handling complex or non-linear road edges, providing a more refined edge description.
[0073] It is worth noting that determining the target road edge based on multiple target ground points corresponding to multiple target smoothness values significantly improves the accuracy and robustness of road feature detection. By filtering and analyzing ground points with specific smoothness values, the system can effectively identify and extract road edge features from complex and noisy point cloud data, maintaining high recognition accuracy even under conditions of changing lighting, poor weather conditions, or complex road environments.
[0074] Steps S102 to S112 above show that in this invention, multiple ground points are determined from multiple lidar points, and these ground points are grouped to obtain multiple target beams. Each target beam includes multiple ground points. The multiple ground points in each target beam are sorted to obtain a target array. The multiple items in the target array are arranged from smallest to largest. Multiple smoothness values of the multiple ground points in the multiple target arrays are calculated. Each ground point corresponds to a smoothness value. This achieves the purpose of determining multiple target smoothness values from multiple smoothness values based on preset smoothness values. Thus, it achieves the technical effect of determining the target road edge based on multiple target ground points corresponding to multiple target smoothness values, thereby solving the technical problem of inaccurate road edge extraction in the prior art.
[0075] The method described in this embodiment will now be described in further detail.
[0076] Step S1021, determining multiple ground points from multiple lidar points includes: determining multiple ground points from multiple lidar points according to a ground segmentation algorithm.
[0077] In this embodiment, after processing by the ground segmentation algorithm, the system will filter out the set of all points identified as ground points from the original LiDAR point cloud. This set includes all points in the point cloud that are in contact with or close to the ground. The purpose of the ground segmentation algorithm is to distinguish between ground points and non-ground points in the point cloud data so that subsequent processing can focus only on ground features. The algorithm is usually based on the analysis of features such as the height, gradient or density of the points, and excludes those points that do not conform to the ground features.
[0078] As an alternative implementation, ground segmentation can be performed based on point elevation information. Since the elevation of ground points in a lidar point cloud is generally relatively uniform, while the elevations of buildings, vegetation, or moving objects vary considerably, a height threshold can be set. All points below this threshold are then identified as ground points, thus achieving initial separation of ground points.
[0079] As an alternative implementation, ground segmentation can also be performed using the density characteristics of point cloud data. Ground points have a higher density due to their good continuity, while non-ground points (such as trees, vehicles, etc.) may cause local interruptions or changes in point cloud density. By calculating the local density of the point cloud and setting a density threshold, ground points and non-ground points can be effectively distinguished.
[0080] It is worth noting that identifying multiple ground points from multiple LiDAR points, especially through ground segmentation algorithms, significantly improves the accuracy of road feature recognition. By excluding points unrelated to the ground (such as sky, buildings, and vegetation) from the point cloud data, the system can focus on analyzing ground features, reducing processing complexity and accelerating computation.
[0081] Step S1041: Establish the target coordinate system and determine the target origin;
[0082] Step S1042: For each ground point, determine the ground coordinates and scan line of the ground point, where the scan line is the line connecting the ground point and the target origin;
[0083] Step S1043: Calculate the first target angle between the scan line and the horizontal plane based on the ground coordinates;
[0084] Step S1044: Group the multiple ground points according to the multiple first target angles corresponding to the multiple ground points to obtain multiple target line bundles.
[0085] In this embodiment, to perform unified angle calculations and grouping, a target coordinate system needs to be established first, and a fixed origin needs to be determined within this coordinate system. The choice of the origin is usually based on the position of the lidar sensor, which ensures that all calculations are based on the same reference point. For each ground point, its precise coordinates in the target coordinate system, i.e., its ground coordinates, need to be determined. In addition, a scan line connecting the ground point to the target origin needs to be defined. Further, based on the ground coordinates of the ground point, the angle between the scan line corresponding to that point and the horizontal plane is calculated, which is the first target angle. Finally, based on the calculated first target angle of each ground point, all ground points are assigned to different target beams. Ground points in the same target beam have the same angle value, thus reflecting the linear distribution of multiple ground points in space.
[0086] Specifically, the formula for calculating the included angle of the first target is as follows:
[0087]
[0088] Where (x, y, z) represents the coordinates of the ground point in the point cloud.
[0089] As an optional implementation method, a series of fixed angle intervals are set as grouping criteria. Each ground point is assigned to the angle interval closest to its angle value according to the value of its first target angle, thus forming a corresponding target line bundle.
[0090] As an alternative implementation, a dynamic angle grouping strategy can be employed, automatically adjusting the size and position of angle intervals based on the distribution of the first target angles of ground points. This method can more accurately capture changes in linear features in point cloud data, and is particularly suitable for handling environments with linear features in multiple directions.
[0091] Optionally, the scan line is a virtual straight line connecting the lidar sensor (target origin) and the ground point, used to describe the relative position and orientation of the data points in space.
[0092] It is worth noting that grouping multiple ground points to obtain multiple target beams significantly improves the structuring of LiDAR point cloud data, facilitating efficient processing of ground features in specific directions. By establishing a target coordinate system and calculating the first target angle, automated classification of ground points according to their spatial distribution direction is achieved, reducing blind searches in data processing and increasing the targeting and efficiency of the processing.
[0093] Step S1061: For each ground point, calculate the second target angle between the scan line and the horizontal coordinate system based on the ground coordinates corresponding to the ground point;
[0094] Step S1062: Sort the multiple ground points on each target bundle according to the multiple second target angles corresponding to the multiple ground points to obtain the target array.
[0095] In this embodiment, a horizontal coordinate system needs to be defined first in the target coordinate system. Typically, the origin is centered on the lidar sensor, with the X and Y axes defined horizontally and the Z axis perpendicular to the ground. For each ground point in the target beam, the angle between the line connecting that point to the target origin (scan line) and the X-axis in the horizontal coordinate system is calculated based on its ground coordinates in the target coordinate system. This angle is called the second target angle. After calculating the second target angles for all ground points, the ground points in each target beam are then sorted according to their second target angles. Furthermore, the ground points arranged in a specific order form a target array. This sorting helps in identifying and extracting linear features, such as road edges, because edge points are typically distributed along a specific angle.
[0096] Specifically, the formula for calculating the included angle of the second target is as follows:
[0097] α = tan -1 y / z
[0098] As an optional implementation, all ground points on the target beam are sorted in ascending order of their second target angle values. This sorting method is simple and intuitive, suitable for most cases, especially when the distribution of ground points in the point cloud data is relatively uniform.
[0099] It is worth noting that sorting multiple ground points within the target beam in the target coordinate system to obtain a target array significantly improves the efficiency and accuracy of LiDAR data processing. Sorting according to the second target angle effectively organizes the point cloud data, grouping points with similar spatial characteristics together, facilitating subsequent feature analysis and extraction. For road edge feature recognition, point cloud data sorted by angle more clearly depicts the edge's direction and shape, reduces sensitivity to noise during processing, and improves the robustness and stability of recognition.
[0100] Step S1081: For each ground point, determine the target item of the ground point in the target array;
[0101] Step S1082: Calculate the smoothness value of the ground point based on the ground coordinates, the ground coordinates corresponding to the previous item of the target item, and the ground coordinates corresponding to the next item of the target item.
[0102] In this embodiment, for each ground point, its specific position in its target array, i.e., the target item, is determined. The determination of the target item is based on the sorting result, and each ground point has a specific index indicating its relative position in the array. Based on the ground point's position in the target array and the ground coordinate information of adjacent ground points, the smoothness value of that ground point is calculated. Calculating the smoothness value includes the following steps: obtaining the ground coordinates of the preceding and following items; obtaining the ground coordinates of the preceding (left neighbor) and following (right neighbor) items of the target item (current ground point) in the target array; and quantifying its smoothness by comparing the coordinate differences between the current point and its preceding and following neighbors. The smoothness value can be calculated in various ways, but a common method is to calculate the coordinate differences between the current point and its preceding and following neighbors in the X and Y directions. A numerical index is constructed based on these differences; the higher the index, the less smooth or abrupt the distribution of the current point and its neighboring points.
[0103] Specifically, the formula for calculating the smoothness value is as follows:
[0104] s i =Δx l *Δx r +Δy l *Δy r
[0105] Among them, s i Indicates the smoothness of the i-th point;
[0106] Δx l Δx represents the difference in x-coordinate between the point to the left and the current point. l =x i-1 -x i ;
[0107] Δy l Δy represents the difference in y-coordinate between the point to the left and the current point. l =y i-1 -y i ;
[0108] Δx r Δx represents the difference in x-coordinate between the point to the right and the current point. r =x i+1 -x i ;
[0109] Δy r Δy represents the difference in y-coordinate between the point to the right and the current point. r =y i+1 -y i .
[0110] It's worth noting that calculating multiple smoothness values for multiple ground points across multiple target arrays effectively quantifies the continuity and stability of point cloud data at different points. By comparing the coordinate differences or rates of change between the current point and its neighboring points, the system can automatically identify points with higher smoothness values, i.e., potential road edges or other abrupt changes. Furthermore, calculating smoothness values reduces manual intervention, increases the degree of automation, and also enhances the objectivity and accuracy of the recognition process.
[0111] Step S1101: Compare multiple smoothness values with preset smoothness values to obtain comparison results;
[0112] Step S1102: In response to the comparison result indicating that there is a smoothness value greater than a preset smoothness value among multiple smoothness values, the smoothness values greater than the preset smoothness value are determined as multiple target smoothness values.
[0113] In this embodiment, the system compares the smoothness value calculated for each ground point with a preset smoothness value. This step can identify points whose smoothness is significantly higher than the "normal" level. These points are often associated with road edges, obstacles, or other abrupt terrain features. Based on the comparison results, all points with smoothness values greater than the preset smoothness value are selected as target smoothness values. These ground points are initially considered as potential road edge points or abnormal terrain points because their smoothness values exceed a certain threshold, which are the target ground points.
[0114] As an optional implementation, the system can set a fixed smoothness value as a threshold. For example, the preset smoothness value is 0.5, so all points with a calculated smoothness value greater than 0.5 will be marked as outliers (target ground points) and then given special attention in subsequent processing.
[0115] As an alternative implementation, the system can also dynamically adjust the threshold based on the distribution of smoothness values across the entire point cloud dataset. The system or algorithm first analyzes the distribution of all smoothness values to determine a statistically significant baseline or outlier threshold (e.g., the median plus a few standard deviations). This approach better adapts to environmental diversity and reduces misjudgments, especially when dealing with complex terrain or scenes with varying lighting conditions, enabling more accurate selection of target smoothness values.
[0116] It is worth noting that the technical feature of determining the target smoothness value from multiple smoothness values based on a preset smoothness value enables the automatic identification and filtering of anomalous features in LiDAR point cloud data. By comparing the smoothness value of each ground point with the preset smoothness value, the system can quickly identify points with significantly increased smoothness, i.e., potential road edges or abrupt terrain features. The main technical advantage of this filtering process is that it reduces the amount of data required for subsequent processing and improves the accuracy and efficiency of anomalous feature identification.
[0117] Step S1121: Determine the preset clustering values;
[0118] Step S1122: Cluster multiple target ground points according to preset clustering values to obtain multiple cluster clusters;
[0119] Step S1123: Determine the target road edge based on multiple clusters.
[0120] In this embodiment, a preset clustering value must first be determined. Then, based on the preset clustering value, the selected target ground points (i.e., ground points with abnormal smoothness values) are clustered. The goal of clustering is to group points with similar spatial locations and characteristics into the same class, forming multiple clusters. These clusters can reflect the characteristic distribution of different regions in the point cloud data. By analyzing multiple clusters, it is determined which clusters represent the target road edge. This step can calculate the geometric center, shape features, or spatial distribution characteristics of each cluster to determine which clusters are most likely to correspond to road edge features. Finally, the clusters that meet the criteria are marked as the target road edge.
[0121] As an optional implementation, clustering values can be automatically adjusted based on the spatial distribution of target ground points. The algorithm may analyze the density, distribution range, or terrain complexity of the point cloud data to dynamically calculate the most suitable clustering values, ensuring that the clustering results accurately reflect the actual situation of the road edges. This method is more effective when dealing with complex and varied terrain features, improving the accuracy and robustness of road edge feature extraction. For example, when identifying road edges, a preset clustering value of 2 is typically set to extract road edge information.
[0122] It is worth noting that the technique of determining the target road edge based on multiple target ground points corresponding to multiple target smoothness values enables automatic identification and precise localization of road edge features. Through cluster analysis of anomalous smoothness value points, the system can effectively distinguish and extract point cloud data representing the road edge without relying on complex image processing or manual annotation. The selection of preset clustering values and the application of clustering processing ensure the automation and standardization of the feature extraction process, thereby improving the efficiency and accuracy of road feature recognition.
[0123] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or grid device, etc.) to execute the methods of the various embodiments of the present invention.
[0124] This embodiment also provides a road edge determining device, which is used to implement the above embodiments and preferred embodiments, and will not be repeated as already described. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.
[0125] Figure 3 This is a structural block diagram of a road edge determining device 300 according to one embodiment of the present invention, as shown below. Figure 3 As shown, the device includes: a first determining module 301, a grouping module 302, a sorting module 303, a calculation module 304, a second determining module 305, and a third determining module 306.
[0126] The first determining module 301 is used to determine multiple ground points from multiple lidar points;
[0127] Grouping module 302 is used to group multiple ground points to obtain multiple target bundles, wherein each target bundle includes multiple ground points;
[0128] The sorting module 303 is used to sort multiple ground points in each target bundle to obtain a target array, wherein multiple items in the target array are arranged in ascending order;
[0129] The calculation module 304 is used to calculate multiple smoothness values for multiple ground points in multiple target arrays, wherein each ground point corresponds to a smoothness value.
[0130] The second determining module 305 is used to determine multiple target smoothness values from multiple smoothness values based on preset smoothness values;
[0131] The third determining module 306 is used to determine the target road edge based on multiple target ground points corresponding to multiple target smoothness values.
[0132] Optionally, the first determining module 301 includes: a first determining unit, configured to determine multiple ground points from multiple lidar points according to a ground segmentation algorithm.
[0133] Optionally, the grouping module 302 includes: an establishment unit for establishing a target coordinate system and determining the target origin; a second determination unit for determining the ground coordinates and scan line for each ground point, wherein the scan line is the line connecting the ground point and the target origin; a first calculation unit for calculating the first target angle between the scan line and the horizontal plane based on the ground coordinates; and a grouping unit for grouping multiple ground points according to multiple first target angles corresponding to multiple ground points to obtain multiple target line bundles.
[0134] Optionally, the sorting module 303 includes: a second calculation unit, used to calculate the second target angle between the scan line and the horizontal coordinate system for each ground point based on the ground coordinates corresponding to the ground point; and a sorting unit, used to sort multiple ground points on each target bundle according to multiple second target angles corresponding to multiple ground points to obtain a target array.
[0135] Optionally, the calculation module 304 includes: a third determining unit, used to determine the target item of each ground point in the target array; and a third calculation unit, used to calculate the smoothness value of the ground point based on the ground coordinates, the ground coordinates corresponding to the previous item of the target item, and the ground coordinates corresponding to the next item of the target item.
[0136] Optionally, the second determining module 305 includes: a comparison unit, used to compare multiple smoothness values with preset smoothness values to obtain a comparison result; and a fourth determining unit, used to determine the smoothness values that are greater than the preset smoothness values as multiple target smoothness values in response to the comparison result indicating that there are smoothness values among the multiple smoothness values that are greater than the preset smoothness values.
[0137] Optionally, the third determining module 306 includes: a fifth determining unit, used to compare multiple smoothness values with preset smoothness values to obtain comparison results; a clustering unit, used to perform clustering processing on multiple target ground points according to preset clustering values to obtain multiple cluster clusters; and a sixth determining unit, used to determine the target road edge according to the multiple cluster clusters.
[0138] Embodiments of the present invention also provide an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to perform the above-described method for determining road edges.
[0139] Optionally, in this embodiment, the electronic device may be configured to store a computer program for performing the following steps:
[0140] Step S102: Determine multiple ground points from multiple lidar points;
[0141] Step S104: Group the multiple ground points to obtain multiple target bundles, wherein each target bundle includes multiple ground points;
[0142] Step S106: Sort the multiple ground points in each target bundle to obtain a target array, wherein the multiple items in the target array are arranged in ascending order;
[0143] Step S108: Calculate multiple smoothness values for multiple ground points in multiple target arrays, where each ground point corresponds to a smoothness value.
[0144] Step S110: Determine multiple target smoothness values from multiple smoothness values based on preset smoothness values;
[0145] Step S112: Determine the target road edge based on multiple target ground points corresponding to multiple target smoothness values.
[0146] Optionally, the processor also performs the following steps when executing the program: determining multiple ground points from multiple lidar points according to a ground segmentation algorithm.
[0147] Optionally, the processor may also perform the following steps when executing the program: establishing a target coordinate system and determining the target origin; for each ground point, determining the ground coordinates and scan line of the ground point, wherein the scan line is the line connecting the ground point and the target origin; calculating the first target angle between the scan line and the horizontal plane based on the ground coordinates; grouping the multiple ground points according to the multiple first target angles corresponding to the multiple ground points to obtain multiple target line bundles.
[0148] Optionally, the processor also performs the following steps when executing the program: for each ground point, calculate the second target angle between the scan line and the horizontal coordinate system based on the ground coordinates corresponding to the ground point; sort the multiple ground points on each target beam according to the multiple second target angles corresponding to multiple ground points to obtain a target array.
[0149] Optionally, the processor also performs the following steps when executing the program: for each ground point, determine the target item of the ground point in the target array; calculate the smoothness value of the ground point based on the ground coordinates, the ground coordinates corresponding to the previous item of the target item, and the ground coordinates corresponding to the next item of the target item.
[0150] Optionally, when the processor executes the program, it also performs the following steps: comparing multiple smoothness values with preset smoothness values to obtain a comparison result; in response to the comparison result indicating that there is a smoothness value among the multiple smoothness values that is greater than the preset smoothness value, determining the smoothness value that is greater than the preset smoothness value as multiple target smoothness values.
[0151] Optionally, the processor may also perform the following steps when executing the program: determining a preset clustering value; performing clustering processing on multiple target ground points according to the preset clustering value to obtain multiple clusters; and determining the target road edge according to the multiple clusters.
[0152] Optionally, specific examples in this embodiment can refer to the examples described in the above embodiments and optional implementations, and will not be repeated here.
[0153] Embodiments of the present invention also provide a computer-readable storage medium storing a computer program configured to perform the above-described method for determining road edges when run on a computer or processor.
[0154] Optionally, in this embodiment, the computer-readable storage medium may be configured to store a computer program for performing the following steps:
[0155] Step S102: Determine multiple ground points from multiple lidar points;
[0156] Step S104: Group the multiple ground points to obtain multiple target bundles, wherein each target bundle includes multiple ground points;
[0157] Step S106: Sort the multiple ground points in each target bundle to obtain a target array, wherein the multiple items in the target array are arranged in ascending order;
[0158] Step S108: Calculate multiple smoothness values for multiple ground points in multiple target arrays, where each ground point corresponds to a smoothness value.
[0159] Step S110: Determine multiple target smoothness values from multiple smoothness values based on preset smoothness values;
[0160] Step S112: Determine the target road edge based on multiple target ground points corresponding to multiple target smoothness values.
[0161] Optionally, the storage medium is configured to store program code for performing the following steps: determining multiple ground points from multiple lidar points according to a ground segmentation algorithm.
[0162] Optionally, the storage medium is configured to store program code for performing the following steps: establishing a target coordinate system and determining the target origin; for each ground point, determining the ground coordinates and scan line of the ground point, wherein the scan line is the line connecting the ground point and the target origin; calculating the first target angle between the scan line and the horizontal plane based on the ground coordinates; grouping the multiple ground points according to the multiple first target angles corresponding to the multiple ground points to obtain multiple target line bundles.
[0163] Optionally, the storage medium is configured to store program code for performing the following steps: for each ground point, calculate the second target angle between the scan line and the horizontal coordinate system based on the ground coordinates corresponding to the ground point; sort the multiple ground points on each target bundle according to the multiple second target angles corresponding to the multiple ground points to obtain a target array.
[0164] Optionally, the storage medium is configured to store program code for performing the following steps: for each ground point, determine the target item of the ground point in the target array; calculate the smoothness value of the ground point based on the ground coordinates, the ground coordinates corresponding to the previous item of the target item, and the ground coordinates corresponding to the next item of the target item.
[0165] Optionally, the storage medium is configured to store program code for performing the following steps: comparing multiple smoothness values with preset smoothness values to obtain a comparison result; in response to the comparison result indicating that there is a smoothness value among the multiple smoothness values that is greater than the preset smoothness value, determining the smoothness value that is greater than the preset smoothness value as multiple target smoothness values.
[0166] Optionally, the storage medium is configured to store program code for performing the following steps: determining a preset clustering value; clustering multiple target ground points according to the preset clustering value to obtain multiple clusters; and determining the target road edge according to the multiple clusters.
[0167] Optionally, specific examples in this embodiment can refer to the examples described in the above embodiments and optional implementations, and will not be repeated here.
[0168] Embodiments of the present invention also provide a computer program product, including a computer program, wherein the computer program, when executed by a processor, implements the steps of the road edge determination method described above.
[0169] Optionally, in this embodiment, the computer program product described above may be configured to store a computer program for performing the following steps:
[0170] Step S102: Determine multiple ground points from multiple lidar points;
[0171] Step S104: Group the multiple ground points to obtain multiple target bundles, wherein each target bundle includes multiple ground points;
[0172] Step S106: Sort the multiple ground points in each target bundle to obtain a target array, wherein the multiple items in the target array are arranged in ascending order;
[0173] Step S108: Calculate multiple smoothness values for multiple ground points in multiple target arrays, where each ground point corresponds to a smoothness value.
[0174] Step S110: Determine multiple target smoothness values from multiple smoothness values based on preset smoothness values;
[0175] Step S112: Determine the target road edge based on multiple target ground points corresponding to multiple target smoothness values.
[0176] Optionally, when the computer program executes the program, it also performs the following steps: determining multiple ground points from multiple lidar points according to a ground segmentation algorithm.
[0177] Optionally, when the computer program executes the program, it also performs the following steps: establishing a target coordinate system and determining the target origin; for each ground point, determining the ground coordinates and scan line of the ground point, wherein the scan line is the line connecting the ground point and the target origin; calculating the first target angle between the scan line and the horizontal plane based on the ground coordinates; grouping multiple ground points according to the multiple first target angles corresponding to multiple ground points to obtain multiple target line bundles.
[0178] Optionally, when the computer program executes the program, it also performs the following steps: for each ground point, calculate the second target angle between the scan line and the horizontal coordinate system based on the ground coordinates corresponding to the ground point; sort the multiple ground points on each target beam according to the multiple second target angles corresponding to multiple ground points to obtain a target array.
[0179] Optionally, when the computer program executes the program, it also performs the following steps: for each ground point, determine the target item of the ground point in the target array; calculate the smoothness value of the ground point based on the ground coordinates, the ground coordinates corresponding to the previous item of the target item, and the ground coordinates corresponding to the next item of the target item.
[0180] Optionally, when the computer program executes the program, it further implements the following steps: comparing multiple smoothness values with preset smoothness values to obtain a comparison result; in response to the comparison result indicating that there is a smoothness value among the multiple smoothness values that is greater than the preset smoothness value, determining the smoothness value that is greater than the preset smoothness value as multiple target smoothness values.
[0181] Optionally, when the computer program executes the program, it also performs the following steps: determining a preset clustering value; performing clustering processing on multiple target ground points according to the preset clustering value to obtain multiple clusters; and determining the target road edge according to the multiple clusters.
[0182] Optionally, specific examples in this embodiment can refer to the examples described in the above embodiments and optional implementations, and will not be repeated here.
[0183] In the above embodiments of the present invention, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0184] In the embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units can be a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual couplings, direct couplings, or communication connections may be through some interfaces; indirect couplings or communication connections between units or modules may be electrical or other forms.
[0185] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0186] Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0187] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or grid device, etc.) to execute all or part of the steps of the methods of the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.
[0188] The above are merely preferred embodiments of the present invention. It should be noted that those skilled in the art can make various improvements and modifications without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.
Claims
1. A method for determining the edge of a road, characterized in that, include: Determine multiple ground points from multiple lidar points; The plurality of ground points are grouped to obtain a plurality of target bundles, wherein each target bundle includes the plurality of ground points; Multiple ground points in each target bundle are sorted to obtain a target array, wherein multiple items in the target array are arranged in ascending order; Calculate multiple smoothness values for multiple ground points in multiple target arrays, where each ground point corresponds to a smoothness value; Multiple target smoothness values are determined from the multiple smoothness values based on preset smoothness values; The target road edge is determined based on the multiple target ground points corresponding to the multiple target smoothness values.
2. The method for determining the road edge according to claim 1, characterized in that, Determining the plurality of ground points from the plurality of lidar points includes: The plurality of ground points are determined from the plurality of lidar points according to the ground segmentation algorithm.
3. The method for determining the road edge according to claim 1, characterized in that, The plurality of ground points are grouped to obtain the plurality of target wire bundles, including: Establish the target coordinate system and determine the target origin; For each ground point, determine the ground coordinates and scan line of the ground point, wherein the scan line is the line connecting the ground point and the target origin; Calculate the first target angle between the scan line and the horizontal plane based on the ground coordinates; The multiple ground points are grouped according to the included angles of multiple first targets corresponding to the multiple ground points to obtain the multiple target bundles.
4. The method for determining the road edge according to claim 3, characterized in that, The target coordinate system includes a horizontal coordinate system, wherein sorting the plurality of ground points in each target bundle to obtain the target array includes: For each ground point, the second target angle between the scan line and the horizontal coordinate system is calculated based on the ground coordinates corresponding to the ground point. The target array is obtained by sorting the multiple ground points on each target bundle according to the multiple second target included angles corresponding to the multiple ground points.
5. The method for determining the road edge according to claim 4, characterized in that, Calculating the multiple smoothness values of the multiple ground points in the multiple target arrays includes: For each ground point, determine the target item for that ground point in the target array; The smoothness value of the ground point is calculated based on the ground coordinates, the ground coordinates corresponding to the previous item of the target item, and the ground coordinates corresponding to the next item of the target item.
6. The method for determining the road edge according to claim 1, characterized in that, Determining the plurality of target smoothness values from the plurality of smoothness values based on the preset smoothness values includes: The plurality of smoothness values are compared with the preset smoothness value to obtain a comparison result; In response to the comparison result indicating that there is a smoothness value among the plurality of smoothness values that is greater than the preset smoothness value, the smoothness value that is greater than the preset smoothness value is determined as the plurality of target smoothness values.
7. The method for determining the road edge according to claim 1, characterized in that, Determining the target road edge based on multiple target ground points corresponding to the multiple target smoothness values includes: Determine the preset clustering values; The multiple target ground points are clustered according to the preset clustering values to obtain multiple cluster clusters; The target road edge is determined based on the multiple clusters.
8. A device for determining the edge of a road, characterized in that, include: The first determining module is used to determine multiple ground points from multiple lidar points; A grouping module is used to group the plurality of ground points to obtain a plurality of target bundles, wherein each target bundle includes the plurality of ground points; The sorting module is used to sort multiple ground points in each target bundle to obtain a target array, wherein multiple items in the target array are arranged in ascending order; The calculation module is used to calculate multiple smoothness values for multiple ground points in multiple target arrays, where each ground point corresponds to a smoothness value. The second determining module is used to determine multiple target smoothness values from the multiple smoothness values based on preset smoothness values; The third determining module is used to determine the target road edge based on the multiple target ground points corresponding to the multiple target smoothness values.
9. An electronic device, characterized in that, It includes a memory and a processor, the memory storing a computer program, and the processor being configured to run the computer program to perform the method for determining the road edge according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, wherein the computer program is configured to, when run on a computer or processor, perform the method for determining the road edge as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Road edge detection method based on multi-line laser radar
CN111401176A
Road edge detection method and device, terminal equipment and storage medium
CN115015964A
Road edge identification method and system based on laser point cloud
CN115248447A
Urban tunnel high-precision positioning method based on multi-source information fusion
CN119375902A
Roadside detection method and system based on laser radar scanning
WO2018205119A1