Method and apparatus for identifying road boundary, storage medium, and device
By meshing and identifying point cloud data, filtering and fitting the road boundary to generate road boundary, the accuracy problem of road boundary recognition under complex ground and interference factors is solved, and a more efficient identification effect is achieved.
Patent Information
- Application Number
- CN202210231649.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-09
- Publication Date
- 2025-05-27
- Estimated Expiration
- 2042-03-09
AI Technical Summary
The prior art is difficult to accurately identify road boundaries in complex ground and in the presence of disturbance factors.
By obtaining point cloud data of the target area, meshing is performed, the grid with the difference between the highest point and the lowest point within the height range of the road boundary, marked as the pending road boundary position point, and road boundaries are generated by filtering and fitting.
It realizes accurate identification of road boundaries under complex road conditions, improving the accuracy of identification.
Smart Images

Figure CN114779206B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of autonomous driving technology, and particularly to a method and device for identifying road boundaries, a storage medium, and a device. Background Art
[0002] In vehicle autonomous driving technology, the road boundary recognition algorithm is an important part of the vehicle perception module, which can reduce the computational complexity of the algorithm by removing areas outside the lane lines and reduce potential interference factors at the same time. In cities, road boundaries are usually marked by drawing line segments of different colors and shapes on the road for lane division; in mining areas, since the roads are repeatedly rolled by heavy vehicles and the driving routes of the vehicles also change frequently, lane division is usually carried out by building retaining walls on both sides of the lanes. Usually, the height difference between the retaining wall and the ground does not change much, so lidar can be used to collect point clouds and identify the retaining wall based on parameters such as height.
[0003] Currently, the existing technology is to calculate the slope of adjacent sampling points based on the point cloud data, and use the points with slope mutations as the critical points between the ground and the retaining wall to achieve the identification of the retaining wall.
[0004] However, in complex road conditions where the road is rough or there are interferences such as vehicles and dust, there are also slope mutations at the positions of ruts and potholes, as well as between the vehicles and dust and the ground. Therefore, there is an urgent need for a method for identifying road boundaries to identify road boundaries in complex ground conditions and in the presence of interference factors. Summary of the Invention
[0005] In view of this, the present application provides a method and device for identifying road boundaries, mainly aiming to improve the technical problem that the road boundaries cannot be accurately identified in complex road conditions where the road is rough or there are interferences such as vehicles and dust.
[0006] According to one aspect of the present application, a method for identifying road boundaries is provided, including:
[0007] Obtain the point cloud data of the target area, and divide the point cloud data into grids according to a preset rule to obtain the point cloud data grid of the target area;
[0008] Traverse the point cloud data grid, identify the grids where the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point is greater than the minimum road boundary height value and less than the maximum road boundary height value, mark the grids as pending road boundary position points, and screen multiple pending road boundary position points to obtain a set of road boundary position points, where the highest point and the lowest point are within the same preset traversal step unit;
[0009] Perform a fitting operation on the set of road boundary position points and generate the road boundary of the target area.
[0010] Preferably, traverse the point cloud data grid, identify the grid where the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point is greater than the minimum road boundary height value and less than the maximum road boundary height value, mark the grid as a pending road boundary position point, and perform an error point removal operation on multiple pending road boundary position points to obtain a set of road boundary position points, specifically including:
[0011] Mark the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point in each grid of the point cloud data grid.
[0012] Traverse the point cloud data grid according to the preset traversal step unit, and calculate the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point within each preset traversal step unit.
[0013] Mark the grid where the difference is greater than the minimum road boundary height value and less than the maximum road boundary height value as a pending road boundary position point.
[0014] Search for the neighboring position points of the pending road boundary position points, and divide multiple neighboring position points into multiple clustering clusters based on Euclidean clustering.
[0015] Calculate the projection data of each clustering cluster on the x-axis of the coordinate system with the point cloud data acquisition device as the origin and the projection data on the y-axis of the coordinate system. If the projection data on the x-axis is greater than the preset x-axis projection data threshold, and / or the projection data on the y-axis is greater than the preset y-axis projection data threshold, then determine that the neighboring position points within the clustering cluster are road boundary position points, and generate a set of road boundary position points based on the road boundary position points.
[0016] Preferably, the performing a fitting operation on the set of road boundary position points and generating the road boundary of the target area specifically includes:
[0017] Perform a fitting operation on the set of road boundary position points to generate a fitted road boundary position point curve.
[0018] Based on the road boundary position point curve, according to the projection data of the set of road boundary position points on the y-axis of the coordinate system, calculate the fitted road boundary position points at preset distance intervals to generate the road boundary of the target area.
[0019] Preferably, before traversing the point cloud data grid to identify the grid where the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point is greater than the minimum road boundary height value and less than the maximum road boundary height value, and marking the grid as a pending road boundary position point, the method further includes:
[0020] Calculating the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point within each grid of the point cloud data grid;
[0021] If the difference is greater than the preset interference factor height threshold, marking the grid corresponding to the difference and the grids within the interference factor length along the y-axis of the coordinate system as interference factors.
[0022] Preferably, after generating the road boundary of the target area, the method further includes:
[0023] Based on the road boundary of the target area, marking the grids within the road boundary as the ground and the grids outside the road boundary as non-driving areas.
[0024] Preferably, after obtaining the point cloud data of the target area, the method further includes:
[0025] Taking the point cloud data acquisition device as the origin and the forward direction as the positive y-axis of the coordinate system to establish a coordinate system, and dividing the point cloud data into grids based on the coordinate system.
[0026] Preferably, the method further includes:
[0027] Based on the road boundary of the target area, planning a path for a vehicle to enter the target area, and controlling the vehicle to drive according to the planned path.
[0028] According to another aspect of the present application, a device for identifying a road boundary is provided, including:
[0029] A dividing module, configured to obtain point cloud data of a target area, and divide the point cloud data into grids according to a preset rule to obtain the point cloud data grid of the target area;
[0030] An identifying module, configured to traverse the point cloud data grid, identify the grid where the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point is greater than the minimum road boundary height value and less than the maximum road boundary height value, mark the grid as a pending road boundary position point, and screen a plurality of the pending road boundary position points to obtain a set of road boundary position points, where the highest point and the lowest point are within the same preset traversal step unit;
[0031] A fitting module for performing a fitting operation on the set of road boundary position points and generating a road boundary of the target area.
[0032] Preferably, the recognition module specifically includes:
[0033] A marking unit for marking the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point in each grid of the point cloud data grid;
[0034] A calculation unit for traversing the point cloud data grid according to the preset traversal step unit and calculating the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point within each preset traversal step unit;
[0035] A marking unit for marking the grid corresponding to the difference value greater than the minimum road boundary height value and less than the maximum road boundary height value as a pending road boundary position point;
[0036] A partitioning unit for searching for adjacent position points of the pending road boundary position points and partitioning a plurality of the adjacent position points into a plurality of clustering clusters based on Euclidean clustering;
[0037] A determination unit for calculating the projection data of each clustering cluster on the x-axis of the coordinate system with the point cloud data acquisition device as the origin and the projection data of the coordinate system on the y-axis. If the projection data on the x-axis is greater than the preset x-axis projection data threshold and / or the projection data on the y-axis is greater than the preset y-axis projection data threshold, it is determined that the adjacent position points within the clustering cluster are road boundary position points, and a set of road boundary position points is generated based on the road boundary position points.
[0038] Preferably, the fitting module specifically includes:
[0039] A fitting unit for performing a fitting operation on the set of road boundary position points and generating a fitted road boundary position point curve;
[0040] A generating unit for calculating the fitted road boundary position points according to the projection data of the set of road boundary position points on the y-axis of the coordinate system at a preset distance interval based on the road boundary position point curve, and generating a road boundary of the target area.
[0041] Preferably, before the recognition module, the device further includes:
[0042] A calculation module for calculating the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point in each grid of the point cloud data grid;
[0043] A first marking module, configured to mark the grid corresponding to the difference and the grids within the length of the interference factor along the y-axis of the coordinate system as interference factors if the difference is greater than a preset interference factor height threshold.
[0044] Preferably, after the fitting module, the device further includes:
[0045] A second marking module, configured to mark the grids within the road boundary of the target area as the ground and the grids outside the road boundary as non-driving areas based on the road boundary of the target area.
[0046] Preferably, after the partitioning module, the device further includes:
[0047] A building module, configured to establish a coordinate system with the point cloud data acquisition device as the origin and the forward direction as the positive y-axis, so as to perform grid partitioning on the point cloud data based on the coordinate system.
[0048] Preferably, the device further includes:
[0049] A planning module, configured to plan a path for a vehicle to enter the target area based on the road boundary of the target area, and control the vehicle to travel according to the planned path.
[0050] According to another aspect of the present application, there is provided a storage medium storing at least one executable instruction, and the executable instruction causes a processor to perform operations corresponding to the above-mentioned road boundary recognition method.
[0051] According to still another aspect of the present application, there is provided a terminal, including: a processor, a memory, a communication interface, and a communication bus, and the processor, the memory, and the communication interface complete mutual communication through the communication bus;
[0052] The memory is used to store at least one executable instruction, and the executable instruction causes the processor to perform operations corresponding to the above-mentioned road boundary recognition method.
[0053] By means of the above technical solutions, the technical solutions provided by the embodiments of the present application have at least the following advantages:
[0054] The present application provides a method and device for identifying road boundaries. First, point cloud data of a target area is obtained, and the point cloud data is divided into grids according to a preset rule to obtain a grid of the point cloud data of the target area. Secondly, the grids of the point cloud data are traversed, and grids where the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point is greater than the minimum road boundary height value and less than the maximum road boundary height value are identified. These grids are marked as pending road boundary position points, and multiple such pending road boundary position points are screened to obtain a set of road boundary position points, where the highest point and the lowest point are within the same preset traversal step unit. Finally, a fitting operation is performed on the set of road boundary position points to generate the road boundary of the target area. Compared with the prior art, in the embodiment of the present application, by dividing the point cloud data into grids, identifying grids with a height difference within the road boundary height range within the same preset traversal step unit, marking them as pending road boundary position points, and then through screening and fitting operations, the road boundary of the target area is obtained, realizing the identification of road boundaries under complex road conditions and improving the accuracy of road boundary identification.
[0055] The above description is only an overview of the technical solution of the present application. In order to be able to understand the technical means of the present application more clearly, it can be implemented according to the content of the specification. And in order to make the above and other purposes, features and advantages of the present application more obvious and understandable, the following specifically illustrates the specific embodiments of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0056] By reading the detailed description of the preferred embodiments below, various other advantages and benefits will become clear to those of ordinary skill in the art. The drawings are only for the purpose of showing the preferred embodiments and are not considered to be a limitation of the present application. And throughout the drawings, the same reference numerals are used to represent the same components. In the drawings:
[0057] Figure 1 shows a flowchart of a method for identifying a road boundary provided by an embodiment of the present application;
[0058] Figure 2 shows a schematic diagram of grid division provided by an embodiment of the present application;
[0059] Figure 3 shows a schematic diagram of a traversal process provided by an embodiment of the present application;
[0060] Figure 4 shows a flowchart of another method for identifying a road boundary provided by an embodiment of the present application;
[0061] Figure 5 shows a schematic diagram of area division provided by an embodiment of the present application;
[0062] Figure 6 Shows the flowchart of road boundary recognition in a specific scenario provided by an embodiment of the present application;
[0063] Figure 7 Shows the block diagram of a road boundary recognition device provided by an embodiment of the present application;
[0064] Figure 8 Shows the structural schematic diagram of a terminal provided by an embodiment of the present application. Detailed implementation manners
[0065] Hereinafter, the exemplary embodiments of the present disclosure will be described in more detail with reference to the accompanying drawings. Although the exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided so that the present disclosure can be more thoroughly understood and the scope of the present disclosure can be completely conveyed to those skilled in the art.
[0066] At the same time, it should be understood that, for the sake of description, the dimensions of the various parts shown in the drawings are not drawn in actual proportional relationship.
[0067] The following description of at least one exemplary embodiment is merely illustrative and in no way limits the present application and its application or use.
[0068] Techniques, methods, and devices known to those of ordinary skill in the relevant art may not be discussed in detail, but where appropriate, the techniques, methods, and devices should be regarded as part of the specification.
[0069] It should be noted that: like reference numerals and letters denote like items in the following drawings, and thus, once an item is defined in one drawing, it does not need to be further discussed in subsequent drawings.
[0070] The embodiments of the present application can be applied to a computer system / server, which can operate with many other general-purpose or special-purpose computing system environments or configurations. Examples of well-known computing systems, environments, and / or configurations suitable for use with a computer system / server include, but are not limited to: personal computer systems, server computer systems, thin clients, thick clients, handheld or laptop devices, microprocessor-based systems, set-top boxes, programmable consumer electronics, network personal computers, minicomputer systems, mainframe computer systems, and distributed cloud computing technology environments including any of the above systems, and so on.
[0071] A computer system / server may be described in the general context of computer system-executable instructions, such as program modules, executed by the computer system. Generally, program modules may include routines, programs, object programs, components, logic, data structures, etc., which perform specific tasks or implement specific abstract data types. The computer system / server may be implemented in a distributed cloud computing environment where tasks are executed by remote processing devices linked through a communication network. In a distributed cloud computing environment, program modules may be located on local or remote computing system storage media including storage devices.
[0072] An embodiment of the present application provides a method for identifying a road boundary, as Figure 1 shown. The method includes:
[0073] 101. Obtain point cloud data of a target area, and perform grid division on the point cloud data according to a preset rule to obtain a point cloud data grid of the target area.
[0074] In an embodiment of the present application, the current execution end can be used to automatically identify the road boundary in an autonomous driving system, such as a perception module in the autonomous driving system. First, data on the road conditions of the current target area can be collected through a collection device (such as an in-vehicle lidar collection device) to obtain point cloud data; then, the point cloud data is subjected to grid division according to a preset rule to obtain a point cloud data grid of the target area, and the point cloud data grid can also be mapped to a coordinate system, as Figure 2 shown. Among them, the target area is used to represent an area with a preset area in front of the collection device, and can be specifically set according to the collection range of the collection device or the area of the front area. The preset rule is used to represent the preset size during grid division. For example, the point cloud data is divided into a 20x20 grid, etc., and can be specifically set according to the actual road conditions.
[0075] It should be noted that the spatial coordinates of each point in the point cloud data can be expressed as (x, y, z). After the point cloud data is divided into a grid as Figure 2 shown, the size of the x-y plane can be expressed as (Sx, Sy), and the size of each grid can be expressed as (Mx, My).
[0076] 102. Traverse the point cloud data grid, identify the grid where the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point is greater than the minimum road boundary height value and less than the maximum road boundary height value, mark the grid as a pending road boundary position point, and screen multiple pending road boundary position points to obtain a set of road boundary position points.
[0077] Among them, the highest point and the lowest point are within the same preset traversal step unit, and the traversal step unit is used to represent the distance from the head grid to the tail grid when traversing the grid. Exemplarily, as Figure 3 shown, the mark "head" is the head grid, the mark "tail" is the tail grid, and the distance between the head grid and the tail grid is one traversal step unit, which can be preset according to the recognition accuracy or the actual road conditions. In the embodiment of the present application, when obtaining the point cloud data grid in traversal step 101, first calculate the difference between the highest height value corresponding to the highest point within one traversal step unit and the lowest height value corresponding to the lowest point, and mark the grid where the difference is greater than the minimum road boundary height value and less than the maximum road boundary height value as the to-be-determined road boundary position point; then screen all the to-be-determined road boundary position points to obtain the set of road boundary position points.
[0078] It should be noted that there may be misjudged points among the to-be-determined road boundary position points, and they can be screened by judging their continuity to improve the accuracy of road boundary recognition.
[0079] 103. Perform a fitting operation on the set of road boundary position points and generate the road boundary of the target area.
[0080] In the embodiment of the present application, when the road conditions in the target area are relatively complex, since the directly recognized road boundary position points are relatively discrete and the obtained road boundary is relatively irregular, in order to more accurately recognize the road boundary of complex road conditions, perform a fitting operation on the set of road boundary position points obtained in step 103, and further generate the road boundary of the target area, so that the recognized and generated road boundary is smoother.
[0081] Compared with the prior art, in the embodiment of the present application, the point cloud data is divided into grids, and the grids with the height difference within the road boundary height range within the same preset traversal step unit are recognized and marked as the to-be-determined road boundary position points, and then through screening and fitting operations, the road boundary of the target area is obtained, realizing the recognition of the road boundary under complex road conditions and improving the accuracy of road boundary recognition.
[0082] The embodiment of the present application provides another method for recognizing a road boundary, as Figure 4 shown, this method includes:
[0083] 201. Mark the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point in each grid of the point cloud data grid.
[0084] In the embodiment of the present application, all grids in the point cloud data grid are traversed, and the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point in each grid are marked. Among them, the highest height value corresponding to the highest point in each grid can be expressed as Hmax(x, y), and the lowest height value corresponding to the lowest point can be expressed as Hmin(x, y). It can be understood that if there are potholes on the ground, the lowest point is the lowest point of the ground depression; the highest point can be the highest point of protrusions such as ruts, or it can be a road boundary point.
[0085] 202. Calculate the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point in each grid of the point cloud data grid.
[0086] In the embodiment of the present application, based on the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point in each grid marked in step 201, the height difference in each grid is calculated. For example, the height difference in the grid at the x-th row and y-th column can be expressed as H(x, y) = Hmax(x, y) - Hmin(x, y).
[0087] 203. If the difference is greater than the preset interference factor height threshold, mark the grid corresponding to the difference and the grids within the interference factor length along the y-axis of the coordinate system as interference factors.
[0088] Among them, the interference factor can be dust or an interfering vehicle; the preset interference factor height threshold is used to represent the lowest height threshold of the interference factor. For example, it is the minimum value among the height value of the interfering vehicle and the height value of the dust. In the embodiment of the present application, when the target area is a mining area with dust or interfering vehicles, in order to improve the recognition accuracy of the road boundary, the interference factors can be excluded first. Specifically, compare the height difference in each grid calculated in step 202 with the preset interference factor height threshold. If the height difference in each grid is greater than the preset interference factor height threshold, mark the current grid and the grids within the interference factor length along the y-axis of the coordinate system as interference factors.
[0089] It should be noted that usually, the lowest height of an interfering vehicle or the lowest height of dust is 3 meters and 2 meters, respectively, while the height of the road boundary is generally 1.5 meters. Therefore, using the lowest height of the interfering vehicle or dust as the preset interference factor height threshold and marking the grids exceeding this threshold as interference factors can effectively screen out the interference factors.
[0090] 204. Traverse the point cloud data grid according to the preset traversal step unit, and calculate the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point within each preset traversal step unit.
[0091] In the embodiment of the present application, by way of example, such asFigure 3 As shown, the preset traversal step unit is from the "head" grid to the "tail" grid. The maximum height value in the "head" grid is denoted as Hmax1 and the minimum height value as Hmin1, and the maximum height value in the "tail" grid is denoted as Hmax2 and the minimum height value as Hmin2. Calculate the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point, which can be expressed as H1 = |Hmax1 - Hmin2| and H2 = |Hmax2 - Hmin1|.
[0092] 205. Mark the grid corresponding to the difference value greater than the minimum road boundary height value and less than the maximum road boundary height value as the to-be-determined road boundary position point.
[0093] In the embodiment of the present application, since the heights of the road boundaries are not completely consistent, therefore, the grid with the difference value within the road boundary height range is marked as the to-be-determined road boundary position point.
[0094] 206. Search for the neighboring position points of the to-be-determined road boundary position points, and divide multiple neighboring position points into multiple clustering clusters based on Euclidean clustering.
[0095] Since there may be mispoints among the to-be-determined road boundary position points obtained in step 205, preferably, in the embodiment of the present application, a kd-tree can be established based on the to-be-determined road boundary position points, and the neighboring position points are searched based on the kd-tree of the to-be-determined road boundary position points, and further, the searched neighboring position points are divided into multiple clustering clusters based on Euclidean clustering.
[0096] Specifically, first, a kd-tree of the to-be-determined road boundary position points is established based on the to-be-determined road boundary position points. Assume that the to-be-determined road boundary position point A is a road boundary position point, and multiple neighboring position points are obtained through the kd-tree of the to-be-determined road boundary position points; further, the neighboring position points with a distance less than the preset distance R are clustered into the clustering cluster Q until the elements in the clustering cluster Q no longer increase, then the search is completed, otherwise, other position points in the clustering cluster Q are selected to continue clustering.
[0097] 207. Calculate the projection data of each clustering cluster on the x-axis of the coordinate system with the point cloud data acquisition device as the origin and the projection data on the y-axis of the coordinate system. If the projection data on the x-axis is greater than the preset x-axis projection data threshold, and / or the projection data on the y-axis is greater than the preset y-axis projection data threshold, then it is determined that the neighboring position points within the clustering cluster are road boundary position points, and a road boundary position point set is generated based on the road boundary position points.
[0098] In order to remove the incorrect points among the to-be-determined road boundary position points, in the embodiments of the present application, each clustering cluster is projected into a coordinate system with the point cloud data acquisition device as the origin, the projected lengths of each clustering cluster on the x-axis and y-axis are calculated, and compared with a preset x-axis projected data threshold and a preset y-axis projected data threshold. If at least one of the two projected lengths is greater than the projected threshold, it is determined that the adjacent position points within the clustering cluster are road boundary position points, and a road boundary position point set is further generated.
[0099] It should be noted that since the road boundary is in a continuous form, using the projected length exceeding the preset projected threshold as the basis for screening out incorrect points can effectively improve the recognition accuracy of the road boundary.
[0100] 208. Perform a fitting operation on the road boundary position point set to generate a fitted road boundary position point curve.
[0101] Since the road boundary position point set obtained in step 207 consists of a series of discrete position points, the recognition result is prone to jitter. In order to make the recognized road boundary smoother, in the embodiments of the present application, a fitting operation is performed on the road boundary position point set to generate a fitted road boundary position point curve. Exemplarily, a cubic polynomial fitting can be performed on the road boundary position point set based on the least squares method, and the obtained fitting equation is the road boundary position point curve.
[0102] 209. Based on the road boundary position point curve, according to the projected data of the road boundary position point set on the y-axis of the coordinate system, calculate the fitted road boundary position points at a preset distance interval to generate the road boundary of the target area.
[0103] In the embodiments of the present application, based on the fitted road boundary position point curve, according to the projected data of the road boundary position point set on the y-axis of the coordinate system, calculate the road boundary position points at a preset distance interval to generate the road boundary of the target area. Among them, the preset distance interval can be specifically set according to the actual situation, such as 50 centimeters, etc.
[0104] In the embodiments of the present application, after generating the road boundary of the target area, the method of the embodiment further includes: based on the road boundary of the target area, marking the grids within the road boundary as the ground and marking the grids outside the road boundary as non-driving areas.
[0105] Exemplarily, as Figure 5 shown, the grids marked with "1" are the road boundary, the grids marked with "2" are interference factors, the grids marked with "-1" are non-driving areas, and the grids marked with "0" are the ground.
[0106] In the embodiments of the present application, for further illustration and limitation, after acquiring the point cloud data of the target area, the method of the embodiment further includes: establishing a coordinate system with the point cloud data acquisition device as the origin and the forward direction as the positive y-axis, and performing grid division on the point cloud data based on the coordinate system.
[0107] Specifically, as Figure 2 shown, the position of the square box in the figure is the point cloud data acquisition device. Taking it as the origin, the forward direction is the y-axis, and the left-right direction is the x-axis to establish a coordinate system, and performing grid division on the point cloud data based on this coordinate system.
[0108] In the embodiments of the present application, optionally, the method of the embodiment further includes: planning a path for a vehicle to enter the target area based on the road boundary of the target area, and controlling the vehicle to travel according to the planned path.
[0109] Specifically, after the current execution end completes the identification of the road boundary, it can use it as the basis for path planning, plan a path for the vehicle entering the target area, and control it to travel according to the planned path to avoid collisions, which not only ensures the safety of the autonomous vehicle but also improves the operation efficiency of the autonomous vehicle.
[0110] In a specific application scenario, as Figure 6 shown, the point cloud data is collected by the collection device, grid-divided and projected into a coordinate system with the collection device as the origin; by traversing the point cloud data grid, first, interference factors such as vehicles and dust are removed, and then candidate points of the road boundary are extracted; further, the road boundary is obtained through clustering extraction and polynomial fitting; finally, the drivable area is divided based on the road boundary.
[0111] The present application provides a method for identifying road boundaries. First, point cloud data of a target area is obtained, and the point cloud data is divided into grids according to a preset rule to obtain a grid of the point cloud data of the target area. Secondly, the grid of the point cloud data is traversed, and the grid where the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point is greater than the minimum road boundary height value and less than the maximum road boundary height value is identified. The grid is marked as a pending road boundary position point, and multiple pending road boundary position points are screened to obtain a set of road boundary position points. The traversal step unit is used to represent the distance from the head grid to the tail grid when traversing the grid. Finally, a fitting operation is performed on the set of road boundary position points, and the road boundary of the target area is generated. Compared with the prior art, in the embodiment of the present application, the point cloud data is divided into grids, and the grid with the height difference within the road boundary height range within the same preset traversal step unit is identified and marked as a pending road boundary position point. Then, through screening and fitting operations, the road boundary of the target area is obtained, realizing the identification of road boundaries under complex road conditions and improving the accuracy of road boundary identification.
[0112] Further, as an implementation of the above Figure 1 shown method, the embodiment of the present application provides an apparatus for identifying road boundaries, as Figure 7 shown, the apparatus includes:
[0113] A division module 31, an identification module 32, and a fitting module 33.
[0114] The division module 31 is configured to obtain point cloud data of a target area, and divide the point cloud data into grids according to a preset rule to obtain a grid of the point cloud data of the target area;
[0115] The identification module 32 is configured to traverse the grid of the point cloud data, identify the grid where the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point is greater than the minimum road boundary height value and less than the maximum road boundary height value, mark the grid as a pending road boundary position point, and screen multiple pending road boundary position points to obtain a set of road boundary position points. The traversal step unit is used to represent the distance from the head grid to the tail grid when traversing the grid;
[0116] The fitting module 33 is configured to perform a fitting operation on the set of road boundary position points and generate the road boundary of the target area.
[0117] In a specific application scenario, the identification module specifically includes:
[0118] A marking unit, configured to mark the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point in each grid of the grid of the point cloud data;
[0119] A calculation unit, configured to traverse the point cloud data grid according to the preset traversal step unit, and calculate the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point within each preset traversal step unit;
[0120] A marking unit, configured to mark the grid corresponding to the difference greater than the minimum road boundary height value and less than the maximum road boundary height value as a pending road boundary position point;
[0121] A partitioning unit, configured to search for adjacent position points of the pending road boundary position point, and partition the multiple adjacent position points into multiple clustering clusters based on Euclidean clustering;
[0122] A determination unit, configured to calculate the projection data of each clustering cluster on the x-axis of the coordinate system with the point cloud data acquisition device as the origin and the projection data of the coordinate system on the y-axis. If the projection data on the x-axis is greater than the preset x-axis projection data threshold, and / or the projection data on the y-axis is greater than the preset y-axis projection data threshold, it is determined that the adjacent position points within the clustering cluster are road boundary position points, and a road boundary position point set is generated based on the road boundary position points.
[0123] In a specific application scenario, the fitting module specifically includes:
[0124] A fitting unit, configured to perform a fitting operation on the road boundary position point set to generate a fitted road boundary position point curve;
[0125] A generation unit, configured to calculate the fitted road boundary position points at a preset distance interval based on the road boundary position point curve according to the projection data of the road boundary position point set on the y-axis of the coordinate system, and generate the road boundary of the target area.
[0126] In a specific application scenario, before the recognition module, the device further includes:
[0127] A calculation module, configured to calculate the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point within each grid of the point cloud data grid;
[0128] A first marking module, configured to mark the grid corresponding to the difference and the grids within the interference factor length along the y-axis of the coordinate system as interference factors if the difference is greater than the preset interference factor height threshold.
[0129] In a specific application scenario, after the fitting module, the device further includes:
[0130] A second marking module, configured to mark the grids within the road boundary as ground and the grids outside the road boundary as non-driving areas based on the road boundary of the target area.
[0131] In a specific application scenario, after the partitioning module, the device further includes:
[0132] A building module, configured to establish a coordinate system with the point cloud data acquisition device as the origin and the forward direction as the positive y-axis, so as to perform grid partitioning on the point cloud data based on the coordinate system.
[0133] In a specific application scenario, the device further includes:
[0134] A planning module, configured to plan a path for a vehicle to enter the target area based on the road boundary of the target area, and control the vehicle to travel according to the planned path.
[0135] This application provides a device for identifying a road boundary. First, point cloud data of a target area is acquired, and the point cloud data is partitioned into grids according to a preset rule to obtain grids of the point cloud data of the target area. Secondly, the grids of the point cloud data are traversed, and the grids corresponding to the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point being greater than the minimum road boundary height value and less than the maximum road boundary height value are marked as pending road boundary position points, and multiple pending road boundary position points are screened to obtain a set of road boundary position points. The traversal step unit is used to represent the distance from the head grid to the tail grid when traversing the grids. Finally, a fitting operation is performed on the set of road boundary position points, and the road boundary of the target area is generated. Compared with the prior art, in the embodiment of this application, by partitioning the point cloud data and identifying the grids with the height difference within the road boundary height range within the same preset traversal step unit, marking them as pending road boundary position points, and then through screening and fitting operations, the road boundary of the target area is obtained, realizing the identification of the road boundary under complex road conditions and improving the accuracy of road boundary identification.
[0136] According to an embodiment of the present application, a storage medium is provided. The storage medium stores at least one executable instruction, and the computer executable instruction can execute the method for identifying a road boundary in any of the above method embodiments.
[0137] Based on such an understanding, the technical solution of the present application can be embodied in the form of a software product. The software product can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.), and includes several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in various implementation scenarios of the present application.
[0138] Figure 8 The figure shows a schematic structural diagram of a terminal provided according to an embodiment of the present application. The specific embodiments of the present application do not limit the specific implementation of the terminal.
[0139] As Figure 8 shown, the terminal may include: a processor 402, a communication interface 404, a memory 406, and a communication bus 408.
[0140] Among them: the processor 402, the communication interface 404, and the memory 406 communicate with each other through the communication bus 408.
[0141] The communication interface 404 is used to communicate with network elements of other devices such as clients or other servers.
[0142] The processor 402 is used to execute the program 410, and specifically can execute the relevant steps in the above-mentioned embodiment of the method for identifying road boundaries.
[0143] Specifically, the program 410 may include program code, and the program code includes computer operation instructions.
[0144] The processor 402 may be a central processing unit CPU, or a specific integrated circuit ASIC (Application Specific Integrated Circuit), or one or more integrated circuits configured to implement the embodiments of the present application. One or more processors included in the terminal may be of the same type of processor, such as one or more CPUs; or may be of different types of processors, such as one or more CPUs and one or more ASICs.
[0145] The memory 406 is used to store the program 410. The memory 406 may include high-speed RAM memory, and may also include non-volatile memory, such as at least one disk memory.
[0146] The program 410 is specifically used to cause the processor 402 to perform the following operations:
[0147] Obtain the point cloud data of the target area, and divide the point cloud data into grids according to a preset rule to obtain the point cloud data grid of the target area;
[0148] Traverse the point cloud data grid, identify the grid where the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point is greater than the minimum road boundary height value and less than the maximum road boundary height value, mark the grid as a pending road boundary position point, and screen multiple such pending road boundary position points to obtain a set of road boundary position points. The highest point and the lowest point are within the same preset traversal step unit;
[0149] Perform a fitting operation on the set of road boundary position points and generate the road boundary of the target area.
[0150] The storage medium may also include an operating system and a network communication module. The operating system is a program that manages the hardware and software resources of the physical device for identifying the above road boundary, supports the information processing program and the operation of other software and / or programs. The network communication module is used to implement communication between components within the storage medium and communication with other hardware and software in the information processing physical device.
[0151] Each embodiment in this specification is described in a progressive manner. The key point of each embodiment is the difference from other embodiments. The same or similar parts among the embodiments can be referred to each other. For system embodiments, since they basically correspond to method embodiments, the description is relatively simple. For related parts, refer to the description of the method embodiments.
[0152] The methods and systems of the present application can be implemented in many ways. For example, the methods and systems of the present application can be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware. The above order of steps for the method is only for illustration. The steps of the method of the present application are not limited to the specific order described above, unless otherwise specifically stated. In addition, in some embodiments, the present application can also be implemented as a program recorded in a recording medium, and these programs include machine-readable instructions for implementing the method according to the present application. Therefore, the present application also covers a recording medium storing a program for executing the method according to the present application.
[0153] Obviously, those skilled in the art should understand that the above modules or steps of the present application can be implemented by a general-purpose computing device. They can be concentrated on a single computing device or distributed on a network composed of multiple computing devices. Optionally, they can be implemented by program code executable by the computing device, so that they can be stored in a storage device and executed by the computing device. And in some cases, the steps shown or described can be executed in a different order than here, or they can be separately made into individual integrated circuit modules, or multiple modules or steps among them can be made into a single integrated circuit module to implement. In this way, the present application is not limited to any specific combination of hardware and software.
[0154] The above are only the preferred embodiments of the present application and are not intended to limit the present application. For those skilled in the art, various changes and modifications can be made to the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included within the protection scope of the present application.
Claims
1. A method for identifying road boundaries, characterized in that, it includes: Obtain the point cloud data of the target area, and divide the point cloud data into grids according to a preset rule to obtain the point cloud data grid of the target area; Traverse the point cloud data grid, identify the grids where the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point is greater than the minimum road boundary height value and less than the maximum road boundary height value, mark the grids as pending road boundary position points, and screen multiple said pending road boundary position points to obtain a set of road boundary position points. The highest point and the lowest point are within the same preset traversal step unit; Perform a fitting operation on the set of road boundary position points and generate the road boundary of the target area; The step of traversing the point cloud data grid, identifying the grids where the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point is greater than the minimum road boundary height value and less than the maximum road boundary height value, marking the grids as pending road boundary position points, and performing an error point removal operation on multiple said pending road boundary position points to obtain a set of road boundary position points specifically includes: Mark the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point in each grid of the point cloud data grid; Traverse the point cloud data grid according to a preset traversal step unit, and calculate the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point within each preset traversal step unit; Mark the grids where the difference is greater than the minimum road boundary height value and less than the maximum road boundary height value as pending road boundary position points; Search for the neighboring position points of the pending road boundary position points, and divide multiple said neighboring position points into multiple clustering clusters based on Euclidean clustering; Calculate the projection data of each clustering cluster on the x-axis of the coordinate system with the point cloud data acquisition device as the origin and the projection data on the y-axis of the coordinate system. If the projection data on the x-axis is greater than the preset x-axis projection data threshold, and / or the projection data on the y-axis is greater than the preset y-axis projection data threshold, then determine that the neighboring position points within the clustering cluster are road boundary position points, and generate a set of road boundary position points based on the road boundary position points.
2. The method according to claim 1, characterized in that, The step of performing a fitting operation on the set of road boundary position points and generating the road boundary of the target area specifically includes: Perform a fitting operation on the set of road boundary position points to generate a fitted curve of road boundary position points; Based on the curve of road boundary position points, calculate the fitted road boundary position points according to a preset distance interval based on the projection data of the set of road boundary position points on the y-axis of the coordinate system, and generate the road boundary of the target area.
3. The method according to claim 1, characterized in that, Before marking the grid where the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point is greater than the minimum road boundary height value and less than the maximum road boundary height value as the pending road boundary position point by traversing the point cloud data grid, the method further includes: Calculating the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point within each grid of the point cloud data grid; If the difference is greater than the preset interference factor height threshold, marking the grid corresponding to the difference and the grids within the interference factor length along the y-axis of the coordinate system as interference factors.
4. The method according to claim 1, wherein, After generating the road boundary of the target area, the method further includes: Based on the road boundary of the target area, marking the grids within the road boundary as the ground and the grids outside the road boundary as non-driving areas.
5. The method according to claim 1, wherein, After acquiring the point cloud data of the target area, the method further includes: Taking the point cloud data acquisition device as the origin and the forward direction as the positive y-axis of the coordinate system to establish a coordinate system, and dividing the point cloud data into grids based on the coordinate system.
6. The method according to claim 1, wherein, The method further includes: Based on the road boundary of the target area, planning a path for a vehicle to enter the target area, and controlling the vehicle to travel according to the planned path.
7. An identification device for road boundaries, wherein, comprising: A division module, configured to acquire the point cloud data of the target area and divide the point cloud data into grids according to a preset rule to obtain the point cloud data grid of the target area; An identification module, configured to traverse the point cloud data grid, identify the grid where the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point is greater than the minimum road boundary height value and less than the maximum road boundary height value, mark the grid as a pending road boundary position point, and screen a plurality of the pending road boundary position points to obtain a set of road boundary position points, where the highest point and the lowest point are within the same preset traversal step unit; A fitting module, configured to perform a fitting operation on the set of road boundary position points and generate the road boundary of the target area; The identification module specifically includes: A marking unit, configured to mark the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point within each grid of the point cloud data grid; A marking unit, configured to traverse the point cloud data grid according to a preset traversal step unit and calculate the difference between the highest height value corresponding to the highest point and the lowest height value corresponding to the lowest point within each preset traversal step unit; The marking unit is further configured to mark the grid where the difference is greater than the minimum road boundary height value and less than the maximum road boundary height value as a pending road boundary position point; A division unit, configured to search for neighboring position points of the to-be-determined road boundary position points, and divide multiple said neighboring position points into multiple clustering clusters based on Euclidean clustering; A determination unit, configured to calculate the projection data of each clustering cluster on the x-axis of the coordinate system with the point cloud data acquisition device as the origin and the projection data on the y-axis of the coordinate system. If the projection data on the x-axis is greater than a preset x-axis projection data threshold, and / or the projection data on the y-axis is greater than a preset y-axis projection data threshold, it is determined that the neighboring position points within the clustering cluster are road boundary position points, and a road boundary position point set is generated based on the road boundary position points.
8. A storage medium, in which at least one executable instruction is stored, characterized in that, the executable instruction causes the processor to perform the operations corresponding to the road boundary recognition method according to any one of claims 1-6.
9. An electronic device, comprising: a processor, a memory, a communication interface and a communication bus, and the processor, the memory and the communication interface complete mutual communication through the communication bus; the memory is used for storing at least one executable instruction, characterized in that the executable instruction causes the processor to perform the operations corresponding to the road boundary recognition method according to any one of claims 1-6.
Citation Information
Patent Citations
Road environment element sensing method based on laser radar
CN111985322A