A method for extracting road edge vector points based on a semantic point cloud map
By using spatial geometry and linear algebra methods based on semantic point cloud maps, roadside vector points are automatically generated, solving the problems of low efficiency and high cost of manual annotation in existing technologies. This achieves efficient and accurate extraction of roadside vector points and automatic completion in missing scenarios.
Patent Information
- Application Number
- CN202310246657.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-15
- Publication Date
- 2026-02-17
- Estimated Expiration
- 2043-03-15
AI Technical Summary
Existing technologies for extracting roadside vector points from semantic point clouds suffer from low efficiency or require extensive manual annotation and model training. Furthermore, existing methods cannot accurately extract roadside vector points in scenarios with missing data.
A semantic point cloud map-based approach is adopted to automatically generate roadside vector points through spatial geometry and linear algebra, including point cloud segmentation, instantiation classification, and function fitting, to achieve roadside modeling and fill in missing parts.
It improves the accuracy and efficiency of extracting roadside vector points, eliminates the need for manual annotation and model training, and can automatically fill in roadside vector points in missing scenarios, thus enhancing automated annotation capabilities.
Smart Images

Figure CN116258858B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the technical field of laser point cloud data processing, and particularly relates to a method for extracting road edge vector points based on a semantic point cloud map. BACKGROUND
[0002] At present, the method for solving road edge vector points in a semantic point cloud mainly includes manual marking and a deep learning method. The manual marking method mainly uses a map marking tool to directly click the position of a vector point to be marked on a map. This method has high accuracy but low efficiency, and it is difficult to mark when the point cloud is sparse or missing. The deep learning method mainly uses a neural network training model to automatically generate vector points. This method can balance accuracy and efficiency, but the cost of manual marking is high in the early stage, and once the scene data is not encountered, the model needs to be re-marked and re-trained, which is time-consuming.
[0003] It is found that the patent with the publication number CN110188664B discloses a vehicle-mounted laser point cloud vector road boundary fine extraction method based on Snake. The method includes three steps: collecting pseudo-trajectory data in the first step, determining the initialization selection strategy of multiple types of road boundaries in the second step, and gradually analyzing the spatial distribution characteristics in the neighborhood in the third step to obtain gradient information and realize fine extraction of the road boundary. This method is based on original point cloud data without semantic information, and the road boundary is segmented by the gradient method. Since it only depends on the existing point cloud information, the extracted road edge vector points can only be searched in the existing point cloud, which is not fine enough. SUMMARY
[0004] The purpose of the present application is to solve the problems existing in the prior art, and to provide a method for extracting road edge vector points based on a semantic point cloud map, which can automatically solve the position of the road edge vector points in the semantic point cloud without manual marking or model training, while balancing accuracy and efficiency, and improving the automatic marking capability.
[0005] To achieve the above purpose, the present application provides a method for extracting road edge vector points based on a semantic point cloud map, which includes:
[0006] Extracting road edge instances to obtain road edge line point clouds;
[0007] Solving vector points in a geometric manner according to the road edge line point clouds.
[0008] The application mainly adopts the method of space geometry and linear algebra to automatically generate the road edge vector point in the semantic point cloud map, extracts the road edge point cloud information from the semantic point cloud map, and classifies the road edge point cloud; the road edge vector point is automatically generated from the road edge point cloud; for the scene of partial road section missing, the road edge vector point can be automatically filled. In summary, the application is based on semantic point cloud data, and realizes road edge modeling through function fitting, which is more accurate and smoother in extracting vector points.
[0009] The application further adopts the following technical solutions:
[0010] The method for extracting the road edge instance is as follows:
[0011] Step 1: The point cloud near the road edge line is segmented from the point cloud map, including the road and guardrail information near the road edge line, the guardrail and road point cloud can be collected along the guardrail direction, and then the road and guardrail information is pretreated.
[0012] Step 2: The road edge is instantiated.
[0013] In step 1, the guardrail and road point clouds are extracted from the semantic point cloud, and the guardrail point cloud and the road point cloud are desampled and filtered.
[0014] In step 1, the desampled and filtered road is instantiated and classified.
[0015] The height of the point cloud along the road direction is limited to extract the point cloud information of the road and guardrail meeting the height requirement.
[0016] The guardrail is instantiated and classified.
[0017] The application first segments the road, and then limits the height of the guardrail on each road surface, for example, only the guardrail point cloud within one meter above a road surface is retained, instead of limiting the height of the entire point cloud.
[0018] Preferably, the distance between the road point clouds is obtained to classify the roads so as to distinguish each road; the distance between the guardrail point clouds is obtained to classify the guardrails.
[0019] The above method calculates the Euclidean distance between the road point clouds to classify the roads, and the Euclidean distance within 0.5 meters (including 0.5 meters) is classified as one class, and the Euclidean distance exceeding 0.5 meters is considered as other classes; the Euclidean distance between the interconnected point clouds is calculated to classify the guardrails, and the Euclidean distance within 1 meter (including 1 meter) is classified as one class, and the Euclidean distance exceeding 1 meter is considered as other classes.
[0020] Preferably, each road is segmented along the main direction, the average height of the road surface in each segment is calculated, and a height threshold is set, and the elevation range of the point cloud in each segment is limited between the average height of the road surface and the sum of the average height of the road surface and the height threshold.
[0021] In step 2, the method of instance processing of the road along is as follows:
[0022] A certain guardrail is segmented along the main direction, each segment is a straight line, the normal direction of the guardrail is selected, and the road surface point cloud is collected on both sides of the guardrail;
[0023] It is judged whether there is road surface point cloud on both sides of the guardrail, if there is road surface point cloud on both sides of the guardrail, it is further judged whether the road surfaces on both sides of the guardrail belong to the same instance, if the road surfaces on both sides of the guardrail belong to two instances, the segment is divided into two segments, that is, the guardrail + the left road surface and the guardrail + the right road surface, and the road along lines of the two roads are extracted; if there is road surface point cloud on one side of the guardrail, the road along line of one road is directly extracted; if the road surfaces on both sides of the guardrail belong to the same instance, the road along line of one road is directly extracted;
[0024] All the segments of the guardrail are spliced to obtain the road along line point cloud.
[0025] In the above method, the guardrail is first cut according to a certain length (for example, cutting every 2 meters), the road surface point cloud is searched in the normal direction of each segment, and finally all the segments are spliced to form the road along line point cloud with the guardrail and the road surface; the guardrail is cut because the guardrail is curved and the normal direction changes.
[0026] Preferably, in the process of extracting the road along instance, the grid search method can be used, that is, the semantic point cloud map is gridded, it is judged whether each grid contains road and guardrail point clouds at the same time to judge whether the grid is a road along, if the grid contains road and guardrail point clouds at the same time, it is indicated that the grid is a road along, otherwise, it is indicated that the grid is not a road along.
[0027] In the above process of obtaining the vector point from the road along line point cloud in a geometric manner, the road along line point cloud is segmented along the main direction, and then the road along vector point extraction is performed on each segment.
[0028] In the above process of obtaining the vector point from the road along line point cloud in a geometric manner, the vector point extraction method includes a plane intersection method and a function method.
[0029] Preferably, the function method includes a polynomial fitting method and a linear fitting method.
[0030] The advantages of the present application are as follows:
[0031] (1) Compared with manual labeling by a map tool, the application greatly shortens the labeling time, improves work efficiency, and can automatically label for the problems of some point cloud missing and artificial standard difficulty;
[0032] (2) Compared with using a deep learning model, the application greatly shortens the labeling time. The deep learning model usually needs to learn samples manually labeled first, and then is deployed after training, so as to realize automatic labeling. The workload of manual labeling is very large. Once there is a road edge scene that does not exist in historical data, manual labeling of samples is usually needed, and the model needs to be retrained, which is very time-consuming. BRIEF DESCRIPTION OF DRAWINGS
[0033] The application will be further described below in combination with the drawings.
[0034] Figure 1 The flowchart of one embodiment of the application.
[0035] Figure 2 The method schematic diagram of extracting road edge vector points in one embodiment of the application.
[0036] Figure 3 The processing schematic diagram of point cloud data missing in one embodiment of the application. DETAILED DESCRIPTION
[0037] Embodiment one
[0038] As shown in the figure, a method for extracting road edge vector points based on semantic point cloud map, comprising the following steps: Figure 1 Step 1, preprocessing
[0039] The point cloud near the road edge line is segmented from the point cloud map, including the road and guardrail information near the road edge line. The guardrail and road point cloud can be collected along the guardrail direction, and then the road and guardrail information is preprocessed. The specific method is as follows:
[0040] Step 101, extract the guardrail and road point cloud from the semantic point cloud. Because the point cloud density is high, the calculation efficiency is affected, and there is noise in the point cloud, so the guardrail point cloud and the road point cloud need to be down-sampled and filtered;
[0041] Step 102, the road after down-sampling and filtering is instantiated and classified. Here, the distance between the point clouds is calculated to classify the road, which can distinguish each road;
[0042]
[0043] Step 103, limit the height of the point cloud along the road direction, since the elevation of different roads and different areas in the same road direction is different, it is necessary to segment each road along the main direction, calculate the average height of the road surface in each segment, and then set an elevation threshold to select the elevation range of the point cloud in each segment between the average height of the road surface and the sum of the average height of the road surface and the elevation threshold; for example, the elevation range of the point cloud in a certain segment is limited to the average height of the road surface to the average height of the road surface plus 1 meter, so that the extracted road surface and guardrail point cloud information is beneficial to eliminate the influence of high elevation point cloud noise to extract the point cloud information of the road and guardrail meeting the height requirement;
[0044] Step 104, instantiation classification of guardrails, here the guardrails are classified by calculating the distance between the guardrail point clouds, and since the influence of elevation noise is eliminated, the extracted guardrails are more accurate.
[0045] Step 2, road edge instantiation
[0046] Since the direction of each guardrail may also be different, a certain guardrail needs to be segmented along its main direction, and the normal direction of each segment can be considered as a straight line (the segment is small enough), and the road surface point cloud on both sides of the guardrail is collected; it is judged whether there is road surface point cloud on both sides of the guardrail, if there is road surface point cloud on both sides of the guardrail, it is further judged whether the road surface on both sides of the guardrail belongs to the same instance, if the road surface on both sides of the guardrail belongs to two instances, the segment is divided into two segments, i.e. guardrail + left road surface and guardrail + right road surface, and the road edge line of the two roads is extracted; if there is road surface point cloud on one side of the guardrail, the road edge line of one road is directly extracted; if the road surface on both sides of the guardrail belongs to the same instance, the road edge line of one road is directly extracted. The road edge line point cloud is obtained by splicing all the segments of the guardrail.
[0047] Step 3, vector point generation
[0048] The vector point is calculated from the road edge line point cloud in a geometric manner. The road edge line point cloud is segmented along the main direction, and then the road edge vector point is extracted for each segment. The vector point extraction method can adopt two methods of plane intersection method and function method, and the function method adopts polynomial fitting method. Since there is noise in the point cloud, the vector points calculated by the two methods all have errors, so it is necessary to select the better point. When selecting the better point, the average value of the distance of the fitting curve to each point after polynomial fitting is observed, the larger the average value, the worse the fitting, then the plane intersection method is adopted, otherwise the polynomial fitting is adopted; the problem of plane intersection is that the vector point may deviate from the guardrail, if the deviation value is large, the polynomial fitting is adopted.
[0049] As shown in Figure 2 the left side of the figure represents the road edge line point cloud, wherein the blue points represent the road surface and the red points represent the guardrail, and the black points in the right side of the figure represent the extracted road edge vector points; the road edge vector point can be extracted by two methods:
[0050] (1) Plane intersection method: the plane equation of the road surface and the guardrail is established respectively, and then the intersection line equation is solved. Finally, the vector point is selected on the intersection line, that is, the plane is fitted according to the point cloud, and the center position of the intersection line is generally selected as the position of the vector point. The longer road along the line cannot guarantee that the road surface and the guardrail are planes, so it is necessary to solve the problem by segmenting along the road along the line direction.
[0051] (2) Polynomial fitting method: along the road along the line direction, the normal coordinates of the guardrail and the elevation coordinates of the road surface are provided. Assuming that the road along the line direction is the x direction, that is, the road along the line extends along the x axis direction, the elevation polynomial function z = z(x) is fitted according to the road surface point cloud, and the normal polynomial function y = y(x) is fitted according to the guardrail point cloud. Then the coordinates of a road along vector point can be written as (x, y(x), z(x)), wherein x, y and z represent three-dimensional space coordinates. The longer road along the line may cause poor polynomial fitting effect, so it is necessary to solve the problem by segmenting along the road along the line direction.
[0052] The method of the embodiment further includes: step 4, judging whether the point cloud data has a partial missing condition, if not, the operation is ended, and if the point cloud data has a partial missing condition, the vector points at the discontinuous positions need to be filled in. The method for filling in the vector points at the discontinuous positions is: judging whether the road sections with discontinuity belong to the same road, if yes, the two road sections are marked as the same road, and if not, the operation is ended.
[0053] When identifying whether the road sections with discontinuity belong to the same road, it is assumed that road 1 and road 2 are disconnected, and the discontinuous points of road 1 and road 2 are connected by vector a. It is judged whether the modulus of vector a exceeds a preset discontinuous point distance, if yes (>) the operation is ended, and if not (≤) the cosine value of the included angle between vector a and the direction vector of road 1 and road 2 is further calculated, and then it is judged whether the cosine value is lower than a preset cosine value, if yes, it indicates that road 1 and road 2 do not belong to the same road, and if not, it indicates that road 1 and road 2 belong to the same road. It should be noted that if one of the cosine values of the included angle between vector a and the direction vector of road 1 and the cosine value of the included angle between vector a and the direction vector of road 2 is not lower than the preset cosine value, it indicates that road 1 and road 2 belong to the same road.
[0054] As Figure 3As shown, due to the possibility of partial missing of point cloud data, a part of a road is disconnected, and therefore it is necessary to identify whether the discontinuous road segment belongs to the same road. As shown in the following figure, assuming that 1 and 2 belong to the same road, and 3 belongs to another road (the black curve represents the road), the red vectors respectively represent their direction vectors (the direction of the start and end points), and the a and b vectors respectively represent the vectors connected to the breakpoint of 1, 2 and 1, 3; first, the modulus |a| = 3 and |b| = 5 are calculated, and it is assumed that the breakpoint distance does not exceed 5 meters, so that a and b both satisfy the condition, then the cosine value of the vector angle is calculated, for 1, 2, cos(1,a) = 0.99 and cos(2,a) = 0.92, for 1, 3, cos(1,b) = 0.52 and cos(3,b) = 0.61,
[0055] It is assumed that the cosine value is not less than 0.95, and it can be seen that cos(1,a) > 0.95, so 1 and 2 are the same road. Here, it is agreed that as long as the cosine value of the angle between the vector a and 1 or 2 is greater than 0.95, it is considered to be the same road. Finally, the vector points at the discontinuous position can be filled by linear interpolation, a straight line is calculated according to the two end points, and the vector points can be evenly taken on the straight line at an interval of 1 meter.
[0056] In the present application, in the process of extracting the road edge instance, the grid search method can also be used, that is, the semantic point cloud map is gridded, and it is judged whether each grid contains both road and guardrail point clouds to determine whether the grid is a road edge. If both road and guardrail point clouds are contained, it means that the grid is a road edge, otherwise it is not a road edge. In the process of generating road edge vector points, in addition to the polynomial fitting method, the linear fitting method or other functions can also be used.
[0057] The programming languages used in the present application are C++ and Python. With known point cloud semantic information, the road edge vector points can be solved by geometric methods. The present application is mainly used for road edge vector extraction, which is a line modeling method and is applied to high-precision map modeling scenarios.
[0058] It should be noted that the execution order of the above steps is determined by its inherent logic and function, and as long as the execution order can complete the results expected to be completed by the technical solutions of the present patent disclosure, it should not limit or restrict the implementation of the present application and the embodiments. In addition to the above embodiments, the present application can also have other implementation manners. Any technical solution formed by equivalent substitution or equivalent transformation falls within the scope of protection required by the present application.
Claims
1. A method for extracting road edge vector points based on a semantic point cloud map, characterized in that, The method comprises the following steps: Step 1, extracting a road edge instance to obtain a road edge line point cloud; The method for extracting the road edge instance is as follows: Step 1-1, segmenting the point cloud near the road edge line from the point cloud map, containing the road and guardrail information near the road edge line, and then pre-processing the road and guardrail information; Step 1-2, performing instance processing on the road edge, wherein the method for performing instance processing on the road edge is as follows: Segmenting a certain guardrail along its main direction, each segment being a straight line, selecting the normal direction of the guardrail, and collecting the road surface point cloud on both sides of the guardrail; Judging whether the road surface point cloud exists on both sides of the guardrail, if the road surface point cloud exists on both sides of the guardrail, further judging whether the road surfaces on both sides of the guardrail belong to the same instance, if the road surfaces on both sides of the guardrail belong to two instances, the segment is divided into two segments, namely the guardrail + left road surface and the guardrail + right road surface, and the road edge lines of the two roads are extracted; if the road surface point cloud exists on one side of the guardrail, the road edge line of one road is directly extracted; if the road surfaces on both sides of the guardrail belong to the same instance, the road edge line of one road is directly extracted; Splicing all the segments of the guardrail to obtain the road edge line point cloud; Step 2, obtaining vector points in a geometric manner according to the road edge line point cloud, segmenting the road edge line point cloud along the main direction, and then extracting road edge vector points for each segment; The vector point extraction method comprises a plane intersection method and a function method; The function method comprises a polynomial fitting method and a linear fitting method; When a better point is selected, the average value of the distance of the fitting curve to each point after polynomial fitting is observed, the larger the average value, the worse the fitting, the plane intersection method is adopted, otherwise the polynomial fitting is adopted; Step 3, judging whether the point cloud data has a partial missing condition, if not, the operation is ended, if the point cloud data has a partial missing condition, the vector points at the discontinuous positions need to be filled; the method for filling the vector points at the discontinuous positions is as follows: judging whether the road segments where the discontinuity occurs belong to the same road, if yes, the two road segments are marked as the same road, if not, the operation is ended; finally, the vector points at the discontinuous positions are filled through linear interpolation. 2.The method of claim 1, wherein, In step 1, the point clouds belonging to the guardrail and the road are extracted from the semantic point cloud, and the guardrail point cloud and the road point cloud are subjected to down-sampling and filtering processing.
3. The method of claim 2, wherein the method further comprises: In step 1, the road subjected to the down-sampling and filtering processing is subjected to instance classification; The height of the point cloud is limited along the road direction to extract the point cloud information of the road and the guardrail meeting the height requirement; The guardrail is subjected to instance classification.
4. The method of claim 3, wherein the method further comprises: The distance between the road point clouds is obtained to classify the roads so as to distinguish each road; the distance between the guardrail point clouds is obtained to classify the guardrails.
5. The method of claim 3, wherein the method further comprises: Each road is segmented along the main direction, the average height of the road surface in each segment is obtained, and a height threshold is set, and the elevation range of the point cloud in each segment is limited to the sum of the average height of the road surface and the average height of the road surface plus the elevation threshold.
6. The method of claim 1, wherein the method further comprises: In the process of extracting the road edge instance, the semantic point cloud map is gridded, it is judged whether each grid contains both road and guardrail point clouds to judge whether the grid is a road edge, if the grid contains both road and guardrail point clouds, it is indicated that the grid is a road edge, otherwise, it is indicated that the grid is not a road edge.
Citation Information
Patent Citations
A Snake-based method for fine extraction of road boundaries from vehicle-mounted laser point cloud vectors
CN110188664B
Road edge data labeling method, related system and storage medium
CN113822332A
Method for generating vectorized data of road boundary line and electronic equipment
CN114863048A