Lane centerline generation method, device and equipment and storage medium
Patent Information
- Application Number
- CN202310344170.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-31
- Publication Date
- 2026-09-18
- Estimated Expiration
- 2043-03-31
AI Technical Summary
[0003]传统生成车道中心线的方法存在漏洞,在自动驾驶中容易出现中心线丢失而无法通过路口,例如,车道合并或拆分路口、十字路口等无车道边界线或车道边界线缺失的位置,传统排序算法根据车道边界线和车辆横向距进行排序时可能会排序错误,导致路口处车道中心线丢失,或者因为车道边界线的存在部分缺失或漏检导致生成车道中心线质量不佳,或者由于路口处车道中心线拼接错误,导致自动驾驶无法稳定安全通过路口区域
[0031] In the technical solution provided by this invention, candidate lane center lines are generated based on any two lane boundary lines in each lane segment, and a topological relationship between multiple candidate lane center lines is constructed. The center lines are then spliced together based on the topological relationship and a pre-set bipartite graph maximum matching algorithm. This avoids the inability to generate lane center lines due to sorting errors, improves the quality of lane center lines, generates continuous, smooth, and complete lane center lines, improves the accuracy of lane center line splicing in intersection areas, and ensures that autonomous vehicles can stably pass through intersection areas.
Smart Images

Figure CN116433751B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of autonomous driving assistance, and in particular to a method, apparatus, device, and storage medium for generating lane center lines. Background Technology
[0002] Semantic maps can provide rich semantic information for autonomous driving scenarios, such as lane boundary lines. Lane center lines can be generated based on lane boundary lines, and lane center lines play an important role in autonomous driving systems to perform tasks such as prediction and planning. Autonomous vehicles use lane center lines as predetermined trajectories for automatic driving.
[0003] Traditional methods for generating lane centerlines have flaws. In autonomous driving, the centerline may be lost, making it impossible to pass through intersections. For example, at intersections where lanes merge or split, or at crossroads, where there are no lane boundary lines or the lane boundary lines are missing, traditional sorting algorithms may make sorting errors when sorting based on lane boundary lines and vehicle lateral distance, resulting in the loss of lane centerlines at intersections. Alternatively, the presence of partially missing or missed lane boundary lines may lead to poor quality of generated lane centerlines. Furthermore, incorrect splicing of lane centerlines at intersections may prevent autonomous driving from passing through intersection areas stably and safely. Summary of the Invention
[0004] This invention provides a method, apparatus, device, and storage medium for generating lane center lines, which avoids lane center line generation failure due to sorting errors, improves the quality of lane center lines, enhances the accuracy of lane center line splicing in intersection areas, and ensures that autonomous vehicles can stably pass through intersection areas.
[0005] The first aspect of this invention provides a method for generating lane centerlines, comprising: acquiring lane boundary line data; generating multiple candidate lane centerlines based on any two lane boundary lines in the lane boundary line data and a preset width range; constructing a topological relationship based on the lane boundary line data corresponding to each candidate lane centerline; splicing the candidate lane centerlines together according to the topological relationship between each candidate lane centerline to obtain multiple optimized lane centerlines, wherein there are unspliced intersection areas between each optimized lane centerline; and splicing the intersection areas of the multiple optimized lane centerlines together using a preset bipartite graph maximum matching algorithm to obtain a target lane centerline.
[0006] In one feasible implementation, multiple candidate lane centerlines are generated based on any two lane boundary lines in the lane boundary line data and a preset width range. This includes: longitudinally segmenting the lanes based on the lane boundary line data and the preset width range to obtain multiple lane segments; generating a centerline based on any two lane boundary lines of each lane segment to obtain at least one initial lane centerline corresponding to each lane segment; and filtering the at least one initial lane centerline corresponding to each lane segment to obtain candidate lane centerlines corresponding to each lane segment.
[0007] In one feasible implementation, filtering at least one initial lane centerline corresponding to each lane segment to obtain candidate lane centerlines for each lane segment includes: calculating the target lateral distance between each initial lane centerline in each lane segment and the target lane boundary line, where the target lane boundary line refers to the lane boundary line that generated the initial lane centerline; deleting initial lane centerlines whose target lateral distance is less than a preset lateral distance threshold to obtain the remaining initial lane centerlines; and fusing the remaining initial lane centerlines to obtain the candidate lane centerlines for each lane segment.
[0008] In one feasible implementation, a topological relationship is constructed based on the lane boundary line data corresponding to each candidate lane centerline, including: obtaining the lane boundary line data corresponding to each candidate lane centerline, obtaining the index information of the corresponding path points, wherein the lane boundary line data includes multiple path point information, and each path point information includes the index information of each path point; and performing topological sorting on each candidate lane centerline based on the index information of multiple path points to obtain the topological relationship of multiple candidate lane centerlines.
[0009] In one feasible implementation, multiple optimized lane centerlines are obtained by splicing them according to the topological relationship between each candidate lane centerline. There are unspliced intersection areas between each optimized lane centerline. This includes: connecting the end point of each preceding lane centerline to the starting point of the corresponding subsequent lane centerline in sequence according to the topological relationship between each candidate lane centerline to obtain multiple optimized lane centerlines. There are unspliced intersection areas between each optimized lane centerline.
[0010] In one feasible implementation, a pre-defined bipartite graph maximum matching algorithm is used to stitch together intersection regions of multiple optimized lane centerlines to obtain the target lane centerline. This includes: obtaining the start and end points of each optimized lane centerline segment, and constructing a bipartite graph based on the start and end points of each intersection region to obtain a preceding lane matching point set and a succeeding lane matching point set for each intersection region. The preceding lane matching point set includes the end point of the preceding lane centerline, and the succeeding lane matching point set includes the start point of the succeeding lane centerline. The matching score of each pair of matching points in each intersection region is calculated to obtain a two-dimensional score matrix. Each pair of matching points includes the end point of a preceding lane centerline and the start point of a succeeding lane centerline. The target lane centerline is obtained by matching based on the two-dimensional score matrix and the bipartite graph.
[0011] In one feasible implementation, the target lane centerline is obtained by matching the two-dimensional score matrix and the bipartite graph, including: matching the two-dimensional score matrix and the bipartite graph to obtain a target matching set for each intersection area, wherein the number of matching point pairs in the target matching set is the largest and the total matching score of the matching point pairs in the target matching set is the largest; and splicing multiple optimized lane centerlines according to the target matching set for each intersection area to obtain the target lane centerline.
[0012] In one feasible implementation, matching is performed based on a two-dimensional score matrix and a bipartite graph to obtain a target matching set for each intersection area. This includes: selecting any endpoint from the preceding lane matching point set for each intersection area, and matching it with the starting point of the corresponding subsequent lane matching point set based on the two-dimensional score matrix to obtain a first matching point pair, wherein the first matching point pair has the highest matching score; placing the first matching point pair into the matching set for each intersection area, and traversing the remaining endpoints in the preceding lane matching point set to obtain the target matching set for each intersection area.
[0013] In one feasible implementation, the first matching point pair is placed into the matching set of each intersection area, and the remaining endpoints in the preceding lane matching point set are traversed to obtain the target matching set of each intersection area. This includes: if there are multiple first matching point pairs, a matching set is created for each first matching point pair; the remaining endpoints in the preceding lane matching point set are matched one by one with the remaining starting points in the subsequent lane matching point set, and placed into the corresponding matching set to obtain the target matching set of each intersection area. Each intersection area includes at least one target matching set.
[0014] In one feasible implementation, when the number of endpoints in the preceding lane matching point set is greater than the number of starting points in the subsequent lane matching point set, matching is performed based on a two-dimensional score matrix and a bipartite graph to obtain a target matching set for each intersection area. This includes: when the number of endpoints in the preceding lane matching point set is greater than the number of starting points in the subsequent lane matching point set, determining the number of matching rounds based on the number of endpoints in the preceding lane matching point set and the number of starting points in the subsequent lane matching point set; and performing matching based on the two-dimensional score matrix, the bipartite graph, and the number of matching rounds to obtain a target matching set for each intersection area.
[0015] In one feasible implementation, when the number of matching rounds is two, matching is performed based on the two-dimensional score matrix, the bipartite graph, and the number of matching rounds to obtain the target matching set for each intersection area. This includes: when the number of matching rounds is two, determining the preceding lane matching point set as the first matching point set and the subsequent lane matching point set as the second matching point set; performing a first round of matching on the first and second matching point sets to output the first matching set; determining the unmatched endpoints in the first matching point set as the third matching point set; performing a second round of matching on the third and second matching point sets to output the second matching set; and combining the first and second matching sets to obtain the target matching set for each intersection area.
[0016] In one feasible implementation, the matching score of each pair of matching points in each intersection area is calculated to obtain a two-dimensional score matrix, including: calculating the curvature difference and yaw angle difference of each pair of matching points in each intersection area; calculating the matching score of each pair of matching points based on the curvature difference and yaw angle difference and a preset matching score formula; and constructing a two-dimensional score matrix for each intersection area based on the matching score of each pair of matching points.
[0017] A second aspect of the present invention provides a lane centerline generation device, comprising: an acquisition module for acquiring lane boundary line data; a generation module for generating multiple candidate lane centerlines from any two lane boundary lines in the lane boundary line data and a preset width range; a construction module for constructing a topological relationship based on the lane boundary line data corresponding to each candidate lane centerline; a first splicing module for splicing the candidate lane centerlines based on the topological relationship between each candidate lane centerline to obtain multiple optimized lane centerlines, wherein there are unspliced intersection areas between each optimized lane centerline; and a second splicing module for splicing the intersection areas of the multiple optimized lane centerlines using a preset bipartite graph maximum matching algorithm to obtain a target lane centerline.
[0018] In one feasible implementation, the generation module includes: a segmentation unit, used to longitudinally segment the lane according to the lane boundary line data and a preset width range to obtain multiple lane segments; a generation unit, used to generate a center line according to any two lane boundary lines of each lane segment to obtain at least one initial lane center line corresponding to each lane segment; and a filtering unit, used to filter at least one initial lane center line corresponding to each lane segment to obtain candidate lane center lines corresponding to each lane segment.
[0019] In one feasible implementation, the filtering unit is specifically used to: calculate the target lateral distance between each initial lane centerline and the target lane boundary line in each lane segment, where the target lane boundary line refers to the lane boundary line that generated the initial lane centerline; delete the initial lane centerlines whose target lateral distance is less than a preset lateral distance threshold to obtain the remaining initial lane centerlines; and fuse the remaining initial lane centerlines to obtain the candidate lane centerlines corresponding to each lane segment.
[0020] In one feasible implementation, the construction module is specifically used to: obtain lane boundary line data corresponding to each candidate lane centerline, obtain index information of corresponding path points, the lane boundary line data includes multiple path point information, and each path point information includes index information of each path point; perform topological sorting on each candidate lane centerline according to the index information of multiple path points to obtain the topological relationship of multiple candidate lane centerlines.
[0021] In one feasible implementation, the first splicing module is specifically used to: connect the end point of each preceding lane centerline to the starting point of the corresponding subsequent lane centerline in sequence according to the topological relationship between each candidate lane centerline, to obtain multiple optimized lane centerlines, with unspliced intersection areas between each optimized lane centerline.
[0022] In one feasible implementation, the second splicing module includes: a construction unit, used to obtain the start and end points of each optimized lane centerline, and construct a bipartite graph based on the start and end points of each intersection area to obtain a preceding lane matching point set and a subsequent lane matching point set for each intersection area, wherein the preceding lane matching point set includes the end point of the preceding lane centerline and the subsequent lane matching point set includes the start point of the subsequent lane centerline; a calculation unit, used to calculate the matching score of each pair of matching points in each intersection area to obtain a two-dimensional score matrix, wherein each pair of matching points includes the end point of a preceding lane centerline and the start point of a subsequent lane centerline; and a matching unit, used to perform matching based on the two-dimensional score matrix and the bipartite graph to obtain the target lane centerline.
[0023] In one feasible implementation, the matching unit includes: a matching subunit, used to perform matching based on a two-dimensional score matrix and a bipartite graph to obtain a target matching set for each intersection area, wherein the number of matching point pairs in the target matching set is the largest and the total matching score of the matching point pairs in the target matching set is the largest; and a splicing subunit, used to splice multiple segments of optimized lane centerlines based on the target matching set for each intersection area to obtain a target lane centerline.
[0024] In one feasible implementation, the matching subunit is specifically used to: select any endpoint in the preceding lane matching point set of each intersection area, and match it with the starting point of the corresponding subsequent lane matching point set according to the two-dimensional score matrix to obtain the first matching point pair, which has the highest matching score; put the first matching point pair into the matching set of each intersection area, and traverse the remaining endpoints in the preceding lane matching point set to obtain the target matching set of each intersection area.
[0025] In one feasible implementation, the matching subunit is specifically used to: when the number of endpoints in the preceding lane matching point set is greater than the number of starting points in the subsequent lane matching point set, determine the number of matching rounds based on the number of endpoints in the preceding lane matching point set and the number of starting points in the subsequent lane matching point set; and perform matching based on the two-dimensional score matrix, the bipartite graph, and the number of matching rounds to obtain the target matching set for each intersection area.
[0026] In one feasible implementation, the matching subunit is specifically used to: determine the number of matching rounds based on the number of endpoints in the previous lane matching point set and the number of starting points in the subsequent lane matching point set when the number of endpoints in the previous lane matching point set is greater than the number of starting points in the subsequent lane matching point set; and perform matching based on the two-dimensional score matrix, the bipartite graph, and the number of matching rounds to obtain the target matching set for each intersection area.
[0027] In one feasible implementation, the matching subunit is specifically used for: when the number of matching rounds is two, determining the preceding lane matching point set as the first matching point set and the subsequent lane matching point set as the second matching point set; performing a first round of matching on the first matching point set and the second matching point set, and outputting a first matching set; determining the unmatched endpoints in the first matching point set as the third matching point set; performing a second round of matching on the third matching point set and the second matching set, and outputting a second matching set; and combining the first matching set and the second matching set to obtain the target matching set for each intersection area.
[0028] In one feasible implementation, the calculation unit is specifically used to calculate the curvature difference and yaw angle difference of each pair of matching points in each intersection area; calculate the matching score of each pair of matching points based on the curvature difference and yaw angle difference and a preset matching score formula; and construct a two-dimensional score matrix for each intersection area based on the matching score of each pair of matching points.
[0029] A third aspect of the present invention provides a lane centerline generation device, comprising: a memory and at least one processor, wherein the memory stores instructions; the at least one processor invokes the instructions in the memory to cause the lane centerline generation device to perform the lane centerline generation method described above.
[0030] A fourth aspect of the present invention provides a computer-readable storage medium storing instructions that, when executed on a computer, cause the computer to perform the above-described method for generating lane centerlines.
[0031] In the technical solution provided by this invention, candidate lane center lines are generated based on any two lane boundary lines in each lane segment, and a topological relationship between multiple candidate lane center lines is constructed. The center lines are then spliced together based on the topological relationship and a pre-set bipartite graph maximum matching algorithm. This avoids the inability to generate lane center lines due to sorting errors, improves the quality of lane center lines, generates continuous, smooth, and complete lane center lines, improves the accuracy of lane center line splicing in intersection areas, and ensures that autonomous vehicles can stably pass through intersection areas. Attached Figure Description
[0032] Figure 1 This is a schematic diagram of an embodiment of the method for generating lane center lines in this application;
[0033] Figure 2 This is a schematic diagram of a road scene in an embodiment of this application;
[0034] Figure 3 This is a schematic diagram of another embodiment of the method for generating lane center lines in this application;
[0035] Figure 4 This is a schematic diagram of another embodiment of the method for generating lane center lines in this application;
[0036] Figure 5 This is a schematic diagram of one embodiment of the lane centerline generation device in this application;
[0037] Figure 6 This is a schematic diagram of another embodiment of the lane centerline generation device in this application;
[0038] Figure 7This is a schematic diagram of one embodiment of the lane centerline generation device in this application. Detailed Implementation
[0039] This invention provides a method, apparatus, device, and storage medium for generating lane center lines, which avoids lane center line generation failure due to sorting errors, improves the quality of lane center lines, enhances the accuracy of lane center line splicing in intersection areas, and ensures that autonomous vehicles can stably pass through intersection areas.
[0040] The terms “first,” “second,” “third,” “fourth,” etc. (if present) 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 data can be interchanged where appropriate so that the embodiments described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms “comprising” or “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.
[0041] For ease of understanding, the specific process of the embodiments of the present invention is described below. Please refer to [link / reference]. Figure 1 One embodiment of the lane centerline generation method in this application includes:
[0042] 101. Obtain lane boundary line data.
[0043] It is understood that the executing entity of this invention can be a lane centerline generating device, a vehicle terminal, a vehicle's autonomous driving assistance system, or other executing devices or systems; specific details are not limited here. This embodiment of the invention uses a vehicle terminal as an example for illustration.
[0044] Vehicle terminals can acquire lane boundary line data through sensors such as LiDAR, cameras, and GPS, or they can directly retrieve lane boundary line data from preset semantic maps. Lane boundary line data refers to the data information of lines marking the edges of lanes on the road surface. Each lane consists of at least two lane boundary lines. Depending on the vehicle's direction of travel, each lane's lane boundary lines can be divided into a left boundary line and a right boundary line. Each side of the lane boundary line may consist of a single line or two lines.
[0045] The lane boundary line data in this embodiment includes multiple boundary line arrays, each corresponding to a lane boundary line. Each lane boundary line consists of multiple path points, and each boundary line array includes multiple path point information. Each path point information includes attribute data and index information for each path point. The attribute data may include coordinate information, yaw angle, curvature, etc. The attribute data can be calculated by sensors mounted on the vehicle terminal. The index information of each path point is a unique number of each path point in each boundary line array, which can be used to determine the boundary line array corresponding to the path point and its position in the boundary line.
[0046] 102. Generate multiple candidate lane centerlines based on any two lane boundary lines in the lane boundary line data and a preset width range.
[0047] The vehicle terminal calculates the lane width based on the lane boundary line data, filters lanes whose width is within the preset width range, and divides the lanes longitudinally according to the lane width to obtain multiple lane segments. Each lane segment has the same width. Two lane boundary lines are randomly selected in each lane segment, and a corresponding center line is generated between the two randomly selected lane boundary lines to obtain multiple candidate lane center lines. The width range can be set to 2.5 meters or 5 meters, or other values within 2 to 5 meters.
[0048] Furthermore, generating a corresponding centerline between any two lane boundary lines to obtain multiple candidate lane centerlines includes generating a corresponding centerline between any two lane boundary lines in each lane segment to obtain at least one initial lane centerline. Preprocessing the at least one initial lane centerline in each lane segment yields candidate lane centerlines for each lane segment. The preprocessing may include one or more of the following methods: filtering, fusion, smoothing, etc., to obtain a unique candidate lane centerline for each lane segment and improve the generation quality of candidate lane centerlines.
[0049] Among them, the filtering process can filter out initial lane centerlines that are too close to the lane boundary line based on the lateral distance between the initial lane centerline and the lane boundary line, or filter out initial lane centerlines that are too short based on the length of the initial lane centerline, or other filtering methods.
[0050] The fusion process can merge multiple initial lane centerlines with small lateral distances, or merge initial lane centerlines with overlapping parts. Specifically, the weight of each initial lane centerline can be calculated using a weighted average method for fusion. Alternatively, multiple initial lane centerlines can be fitted into a virtual lane centerline, and then an optimization algorithm can be used to minimize the distance between the virtual lane centerline and the multiple initial lane centerlines to obtain candidate lane centerlines.
[0051] Smoothing is optimized for lanes with only one initial centerline or lanes remaining after filtering and fusion. Specifically, the initial centerline can be denoised and smoothed using the moving average method or the Kalman filter method.
[0052] This embodiment can be adapted to the generation of lane center lines in scenarios with multiple lane boundary lines, avoiding the failure of the sorting algorithm to generate lane center lines due to sorting errors;
[0053] For ease of understanding, please refer to Figure 2 , Figure 2 -(1) In the scenario of a straight-ahead fork intersection, there are four lane boundary lines: A, B, C, and D. Traditional sorting algorithms need to sort the identified lane boundary lines first, determine the left and right adjacent lane boundary lines based on the sorting, and then generate the lane center lines based on the left and right adjacent lane boundary lines. In the intersection, due to the change in the number of lane boundary lines, the following two sorting errors are likely to occur:
[0054] (1) The sorting algorithm identifies the sorting as ADCB. At this time, the lane center line of the first lane is generated normally, but the second lane cannot correctly identify AB and CD as left and right adjacent, resulting in the inability to generate the correct lane center line.
[0055] (2) The sorting algorithm identifies the sorting as ABCD. Although the second lane can generate the corresponding lane center line from AB and CD, the first lane does not identify the left and right adjacent lanes AD. According to the sorting, the lane center line cannot be generated from AD. That is, the sorting algorithm can only select the left and right adjacent lane boundary lines to generate the lane center line according to the fixed order of 1-2-3-4.
[0056] In this application embodiment, the lane center line is generated based on any two lane boundary lines, that is, lane center lines are generated for AB, AC, AD, BC, BD, and CD. Therefore, this application will not have the problem of abnormal sorting and loss of any lane center line when the lane boundary lines change.
[0057] 103. Construct a topological relationship based on the lane boundary line data corresponding to the center line of each candidate lane.
[0058] The vehicle terminal constructs the topological relationship between each lane segment based on the lane boundary line data corresponding to the center line of each candidate lane segment. Specifically, it can obtain the start and end points of the center line of each candidate lane segment, determine the path points of the corresponding lane boundary lines based on the start points of the candidate lane center lines, obtain the index information of the path points, and perform topological sorting on the start points of each candidate lane center line based on the index information of the path points to obtain the topological relationship of each candidate lane center line segment.
[0059] In this embodiment, the topological relationship between candidate lane centerlines is used to indicate the connection method and directional relationship between multiple candidate lane centerlines, and can be used to splice multiple candidate lane centerlines to obtain optimized lane centerlines.
[0060] 104. Based on the topological relationship between the center lines of each candidate lane, splice them together to obtain multiple optimized lane center lines. There are unspliced intersection areas between each optimized lane center line.
[0061] The vehicle terminal associates the endpoint of the preceding lane centerline with the starting point of the subsequent lane centerline by splicing them together based on the topological relationship between each candidate lane centerline. This results in multiple optimized lane centerlines with unspliced intersection areas between each optimized lane centerline.
[0062] In this context, the center lines of the preceding and following lanes are relative and determined based on the vehicle's final travel direction. The starting point of the following lane's center line connects to the ending point of the preceding lane's center line. For ease of understanding, refer to... Figure 2 -(1) In the straight-ahead fork intersection scenario, the lanes are divided into two segments based on the vehicle's direction of travel: the first segment and the second segment. The center line of the first segment currently occupied by the vehicle's terminal, generated by the AD converter, can be used as the center line of the preceding lane, such as... Figure 2 -(1) shows that the endpoint of the preceding lane centerline is u1. The lane centerline generated by the AB or CD segment of the second lane in the direction of vehicle movement is the subsequent lane centerline. When the vehicle continues to move forward to the next lane, the lane centerline generated by the AB or CD segment of the second lane is the preceding lane centerline.
[0063] At this point, it is necessary to connect the center lines of the first lane and the second lane. This can be done by connecting them with the common lane boundary lines (i.e., lane boundary line A or lane boundary line D) through topological relationships. When a vehicle is about to turn right, the topological relationship between the first and second lanes can be identified based on the common lane boundary line D, and then the lane center lines can be connected in a short distance. Point u1 can connect to point v1 or point v2. However, since there are no common lane boundary lines in the intersection area, this application embodiment introduces a bipartite graph to connect the lane center lines of the two lanes.
[0064] 105. The intersection area of multiple optimized lane centerlines is spliced together using a pre-set bipartite graph maximum matching algorithm to obtain the target lane centerline.
[0065] Reference Figure 2-(2) Large intersection scenario: Since there are no lane boundary lines in the intersection area such as intersections and large intersections, it is not possible to directly generate lane center lines, nor is it possible to directly splice the front and rear lane center lines according to the topological relationship of the lane boundary lines. In addition, the number of lanes in front and rear of the intersection may be the same or different, which means that the splicing of lane center lines needs to consider the splicing situation of different lanes to avoid splicing errors that could lead to vehicle accidents.
[0066] In the intersection area, the center line of the lane in front of the intersection (in the forward direction of travel) can be determined as the center line of the subsequent lane, and the center line of the lane behind the intersection (in the opposite direction of travel) can be determined as the center line of the preceding lane.
[0067] The vehicle terminal uses a pre-set bipartite graph maximum matching algorithm to stitch together multiple optimized lane centerlines in the intersection area to obtain the target lane centerline. Specifically, the vehicle terminal obtains the start and end points of the lane centerlines in the intersection area, constructs a bipartite graph based on the start point of the subsequent lane centerline and the end point of the preceding lane centerline in each intersection area, calculates the matching score for each pair of matching points, and obtains a two-dimensional score matrix. Each pair of matching points includes the end point of a preceding lane centerline and the start point of a subsequent lane centerline. The target matching set is determined by the bipartite graph and the two-dimensional score matrix. The target matching set is used to indicate the matching results of the preceding and subsequent lane centerlines. Based on the target matching set, the corresponding preceding and subsequent lane centerlines are selected and stitched together to obtain the target lane centerline.
[0068] In this embodiment, a bipartite graph refers to dividing the set of points to be matched in each intersection area (i.e., the start and end points of the lane centerlines in the intersection area) into two subsets (the set of matching points for the preceding lanes and the set of matching points for the succeeding lanes). Matching in a bipartite graph involves connecting points between different subsets. For ease of understanding, two connected points are called a pair of matching points. The target matching set obtained by the maximum matching in a bipartite graph is the matching result that includes the largest number of matching point pairs. The target matching set has the highest total matching score, and the matching point pairs have no common points. Figure 2 The two-dimensional score matrix of -(2) is shown in Table 2.1, which is the matching score table.
[0069] Table 2.1 Matching Score Table 1
[0070] v3 100 80 60 v4 80 100 80 v5 60 80 100
[0071] The target matching sets u2v3, u3v4, and u4v5 are determined by the bipartite graph and the two-dimensional score matrix. It is understandable that in actual road conditions, depending on the different matching score calculation parameters, there may be multiple target matching sets obtained by the maximum matching of the bipartite graph. By determining the target matching set through the maximum matching of the bipartite graph, the corresponding preceding lane centerline and following lane centerline can be selected for splicing to determine the splicing object of the current lane. This avoids the preceding lane centerline of the merging lanes from being connected to the same following lane centerline, which could lead to splicing errors and accidents.
[0072] It is understood that the bipartite graph maximum matching algorithm in the embodiments of this application can be executed based on any algorithm such as the Hungarian algorithm, network flow algorithm, Hopcroft-Karp algorithm, or Dinic algorithm.
[0073] In this embodiment, lane centerline generation is improved by avoiding errors in sorting, thus enhancing the robustness of the method. Continuous, smooth, and complete lane centerlines are generated through segmented short-distance splicing, improving the quality of the generated centerlines. The bipartite graph maximum matching method reduces the risk of splicing errors in intersection areas, improving the accuracy of lane centerline splicing in intersection areas and ensuring the safe and stable passage of autonomous vehicles through intersections. 。
[0074] Please see Figure 3 Another embodiment of the lane centerline generation method in this application includes:
[0075] 301. Obtain lane boundary line data.
[0076] Step 301 is similar to step 101 and can be performed with reference to step 101.
[0077] 302. Based on the lane boundary line data and the preset width range, the lane is longitudinally segmented to obtain multiple lane segments.
[0078] The vehicle terminal calculates the lane width based on the coordinates of the path points on the left and right boundary lines. It then filters lanes with widths within a preset range and segments them longitudinally. When the lane width changes, continuous lanes with the same width are combined into one lane to form a regular lane segment; continuous lanes with gradually widening widths are combined into one lane to form a split lane segment; and continuous lanes with gradually narrowing widths are combined into one lane to form a merged lane segment.
[0079] Furthermore, to avoid excessive measurement errors by sensors at long distances and errors in lane boundary line data in semantic maps, if the mileage length of any segment in ordinary lanes, split lanes, or merged lanes exceeds a preset length range, each lane segment can be further segmented within a set mileage length range to improve the quality of the lane centerline in each lane segment.
[0080] This embodiment uses lane width variation for longitudinal segmentation to avoid the problem of different lane widths in each segment caused by segmenting based solely on mileage. Lanes of the same width generate a smoother lane centerline.
[0081] 303. Generate a centerline based on any two lane boundary lines of each lane segment to obtain at least one initial lane centerline for each lane segment.
[0082] The vehicle terminal can select any two lane boundary lines in each lane segment to generate the corresponding center line. Since each lane segment may have more than two lane boundary lines, each lane segment includes at least one initial lane center line.
[0083] Reference Figure 2 -(3) In the multi-lane scenario, the presence of two parallel lanes can be determined by the preset width range. Taking the right lane as an example (3-1), there are three lane boundary lines: O, P, and Q. That is, O and P are double solid lines. There is also an R line that is mistakenly identified as a lane boundary line by a brake mark. Based on any two lane boundary lines, center lines (OP, OQ, OR, PQ, PR, QR) are generated to obtain 6 initial lane center lines. In the figure, the thick solid line represents the line that is identified as a lane boundary line, and the thin solid line represents the generated lane center line.
[0084] Furthermore, when a lane boundary line on one side is missed due to reasons such as turning, obstruction, or unclear lane boundary lines, the center line of the first lane can be simulated based on the lane boundary line data of one side and a preset target width. Alternatively, the lane boundary line of the other side can be simulated based on the lane boundary line data of one side and a preset target width to obtain a virtual lane boundary line. A center line is then generated based on the lane boundary line data of one side and the virtual lane boundary line to obtain the corresponding second lane center line. The center line of the first or second lane can be adjusted in real time by acquiring the lane boundary line data of the other side to obtain the initial lane center line. The target width can be set according to the actual situation or calculated using the acquired path point information.
[0085] like Figure 2-(1) When the curve of lane D is too large, the vehicle terminal at u1 cannot recognize the lane boundary line after d1. At this time, the first lane center line can be simulated by acquiring lane boundary line data on one side, such as the identifiable path point data of c1, c2, ..., cn, and the first lane center line can be adjusted by acquiring lane boundary line data on the other side in real time to obtain the initial lane center line; or, the other lane boundary line can be simulated by acquiring lane boundary line data on one side and the preset target width to obtain the virtual lane boundary line, and the center line can be generated by acquiring lane boundary line data on one side and the virtual lane boundary line to obtain the corresponding second lane center line; the second lane center line can be adjusted by acquiring lane boundary line data on the other side in real time to obtain the initial lane center line. The width of lane CD can be calculated by acquiring the attribute data of c1 and d1, or the target width can be directly set to, for example, 2.5 meters, or 5 meters, or other values within 2.5 to 5 meters.
[0086] 304. Filter at least one initial lane centerline corresponding to each lane segment to obtain candidate lane centerlines corresponding to each lane segment.
[0087] Since each lane segment may have more than two lane boundary lines or brake marks may be misidentified as lane boundary lines, each lane segment may include at least one initial lane center line. Therefore, the initial lane center line needs to be further processed to obtain the candidate lane center line corresponding to each lane segment.
[0088] The vehicle terminal can calculate the target lateral distance between each initial lane centerline and the target lane boundary line in each lane segment. The target lane boundary line refers to the lane boundary line that generated the initial lane centerline. The initial lane centerlines with target lateral distances less than a preset lateral distance threshold are deleted to obtain the remaining initial lane centerlines. The remaining initial lane centerlines are then merged to obtain the candidate lane centerlines for each lane segment.
[0089] For ease of understanding, Figure 2 Taking (3) as an example, the initial lane centerline that is too close to the lane boundary line can be filtered out by comparing the target lateral distance with the preset lateral distance threshold. That is, the initial lane centerline generated by OP and QR can be filtered out. The remaining initial lane centerlines generated by OQ, OR, PQ, and PR are very close and can be fused to obtain the selected lane centerline, such as Figure 2 -(3-2) The lane shown in the figure is filtered and fused, and finally only one candidate lane center line remains. The thin solid line in the figure represents the lane center line and the thick solid line represents the lane boundary line.
[0090] 305. Construct a topological relationship based on the lane boundary line data corresponding to the center line of each candidate lane.
[0091] The vehicle terminal acquires the lane boundary line data corresponding to each candidate lane centerline and obtains the index information of the corresponding path points. The lane boundary line data includes multiple path point information, and each path point information includes the index information of each path point. Based on the index information of multiple path points, the candidate lane centerline is topologically sorted to obtain the topological relationship of multiple candidate lane centerlines.
[0092] The index information of each path point is a unique number of each path point in each boundary line array, which is used to indicate the boundary line array in which each path point is located and its position in the boundary line array. The corresponding path point in each boundary line array can be accessed and determined through the index information. When two lanes have any common lane boundary line, that is, when the path points of the two lanes belong to the same boundary line array, the order of the path points can be determined through the index information of the path points of the two lanes, thereby constructing the topological connection relationship between the two lanes.
[0093] When any two candidate lane centerlines share any common lane boundary line data, construct the topological relationship between the two candidate lane centerlines based on the common lane boundary line data; when multiple candidate lane centerlines share common left boundary line data, construct the topological relationship between the multiple candidate lane centerlines based on the left boundary line data; or, when multiple candidate lane centerlines share common right boundary line data, construct the topological relationship between the multiple candidate lane centerlines based on the right boundary line data.
[0094] For ease of understanding, Figure 2 -(1) Taking the straight-through fork intersection scenario as an example, at this time, four lane boundary lines A, B, C, and D are formed by four boundary line arrays respectively. Each boundary line array stores the attribute data of multiple path points and the index information of each path point. The corresponding path points are determined according to the end point u1 of the preceding lane center line and the starting points v1 and v2 of the following lane center line. Among them, u1 corresponds to path points a1 and d1, v1 corresponds to path points a2 and b1, and v2 corresponds to path points c1 and d2.
[0095] Where a1 and a2 belong to the same boundary line array A, and d1 and d2 belong to the same boundary line array D, the topological order can be known from the index information in the same boundary line array as a1→a2 and d1→d2. Thus, the topological relationship between the candidate lane centerlines is obtained, i.e. u1→v1 connection or u1→v2 connection.
[0096] 306. Based on the topological relationship between the center lines of each candidate lane, splice them together to obtain multiple optimized lane center lines. There are unspliced intersection areas between each optimized lane center line.
[0097] The vehicle terminal connects the end point of each preceding lane centerline with the starting point of the corresponding subsequent lane centerline based on the topological relationship between each candidate lane centerline segment to obtain the corresponding optimized lane centerline. There are unconnected intersection areas between each optimized lane centerline segment.
[0098] It should be further explained that, in addition to being used for splicing multiple ordinary lanes (two adjacent ordinary lanes with common left and right lane boundary lines) after longitudinal segmentation, the topological relationship in this application embodiment can also be used for short-distance splicing with only one common lane boundary line, so as to overcome the changes in lane boundary lines caused by intersection merging or forking, and the partial loss of lane boundary lines due to the obstruction of lane boundary lines on one side or missed detection.
[0099] For ease of understanding, Figure 2 Taking the straight-ahead fork intersection scenario (1) as an example, when the vehicle terminal needs to go straight, the endpoint u1 of the preceding lane centerline can be connected to the starting point v1 of the corresponding subsequent lane centerline according to the topological relationship between u1 and v1 to obtain the corresponding optimized lane centerline; when the vehicle terminal needs to turn right, the endpoint u1 of the preceding lane centerline can be connected to the starting point v2 of the corresponding subsequent lane centerline according to the topological relationship between u1 and v2 to obtain the corresponding optimized lane centerline. That is, when there is a common lane boundary line, a topological relationship can be constructed according to the common lane boundary line to overcome the short-distance splicing problem caused by the absence of another lane boundary line.
[0100] 307. The intersection area of multiple optimized lane centerlines is spliced together using a pre-set bipartite graph maximum matching algorithm to obtain the target lane centerline.
[0101] Steps 306 and 307 are similar to steps 104 and 105, and can be performed with reference to steps 104 and 105.
[0102] In this embodiment, an initial lane centerline is generated from any two lane boundary lines. Further processing, including filtering and fusion, yields candidate lane centerlines. This avoids the inability to generate lane centerlines due to sorting errors. It is applicable to complex lane line situations, such as alternating single and double solid lines, and scenarios where brake marks are misidentified as lane boundary lines, thus expanding the applicability of the lane centerline generation method. Short-distance stitching based on topological relationships improves the robustness of the method, generating continuous, smooth, and complete lane centerlines, thus enhancing the quality of the generated lane centerlines. The bipartite graph maximum matching method reduces the risk of stitching errors in intersection areas, improving the accuracy of lane centerline stitching in intersection areas and ensuring the safe and stable passage of autonomous vehicles through intersection areas. 。
[0103] Please see Figure 4 Another embodiment of the lane centerline generation method in this application includes:
[0104] 401. Obtain lane boundary line data.
[0105] 402. Generate multiple candidate lane centerlines based on any two lane boundary lines in the lane boundary line data and a preset width range.
[0106] 403. Construct a topological relationship based on the lane boundary line data corresponding to the center line of each candidate lane.
[0107] 404. Based on the topological relationship between the center lines of each candidate lane, multiple optimized lane center lines are spliced together, and there are unspliced intersection areas between each optimized lane center line.
[0108] Steps 401-404 are similar to steps 101-104 and can be performed with reference to steps 101-104.
[0109] 405. Obtain the start and end points of the center line of each optimized lane, and construct a bipartite graph based on the start and end points of each intersection area to obtain the preceding lane matching point set and the following lane matching point set for each intersection area. The preceding lane matching point set includes the end point of the preceding lane center line, and the following lane matching point set includes the start point of the following lane center line.
[0110] The vehicle terminal constructs a bipartite graph by using the starting point of the successor lane centerline and the ending point of the preceding lane centerline in each intersection area, obtaining the preceding lane matching point set U and the successor lane matching point set V for each intersection area. The preceding lane matching point set includes the ending point of the preceding lane centerline (e.g., ...). Figure 2 The set of matching points for subsequent lanes includes the starting point of the centerline of the subsequent lane (e.g., u1, u2, u3, u4, u5, u6, u7). Figure 2 in v1, v2, v3, v4, v5, v6, v7).
[0111] 406. Calculate the matching score of each pair of matching points in each intersection area to obtain a two-dimensional score matrix. Each pair of matching points includes the end point of the center line of the preceding lane and the starting point of the center line of the following lane.
[0112] The vehicle terminal calculates the curvature difference and yaw angle difference for each pair of matching points in each intersection area; based on the curvature difference and yaw angle difference and a preset matching score formula, it calculates the matching score for each pair of matching points; and constructs a two-dimensional score matrix for each intersection area based on the matching scores for each pair of matching points. The expression for the matching score formula is as follows:
[0113] y = e^(-(d_curvature+d_yaw))
[0114] Where y represents the matching score of the splicing point pair, e represents the natural constant, d_curvature represents the curvature difference of the matching point pair, and d_yaw represents the yaw angle difference of the matching point pair.
[0115] According to the formula above, the smaller the difference in curvature and yaw angle between two matching point pairs, the smaller the value of the exponential part, and the higher the matching score. It can be seen that if lanes are changed at the intersection (i.e., not selecting the closest straight lane, such as splicing U5 and V7), the difference in curvature and yaw angle of the centerline of the spliced target lane is greater than that of the target lane centerline without lane changes. Figure 2 -(4) For example, assuming that the curvature difference and yaw angle difference of u6v7, u6v6, u5v6, and u7v7 are all equal, and the curvature difference and yaw angle difference of u5v7 and u7v6 are equal, the two-dimensional score matrix obtained by calculating the matching score according to the above formula is shown in Table 2.2 Matching Score Table 2.
[0116] Table 2.2 Matching Scores
[0117] v6 100 100 60 v7 60 100 100
[0118] It should be further explained that the matching score is used to evaluate the quality of splicing the center lines of two lanes. In addition to considering the smoothness of the target lane center line after splicing, other factors can also be considered, such as the length of the subsequent lane center line, the waiting time of the traffic light corresponding to the subsequent lane, the vehicle situation in other lanes, the road type of the subsequent lane, and other factors, in order to ensure that the spliced target lane center line can guide vehicles to pass through the intersection area stably, safely, and quickly.
[0119] The above matching score formula is only one example of this embodiment. Other formulas can also be used to calculate the matching score based on curvature difference, yaw angle difference and other factors. For example, different weight values can be set according to different factors for weighted summation calculation. The specific settings can be made according to actual conditions.
[0120] 407. Match the two-dimensional score matrix and the bipartite graph to obtain the center line of the target lane.
[0121] The vehicle terminal performs matching based on the two-dimensional score matrix and the bipartite graph to obtain the target matching set for each intersection area. The target matching set contains the most matching point pairs and has the highest total matching score. Based on the target matching set for each intersection area, multiple optimized lane centerlines are spliced together to obtain the target lane centerline.
[0122] Understandably, the bipartite graph stitches together the centerlines of lanes in each intersection area. By performing maximum matching on the bipartite graph based on the two-dimensional score matrix, the stitching target of the preceding lane centerline can be determined, preventing the centerlines of merging lanes from connecting to the same subsequent lane centerline, which could lead to stitching errors and accidents. Since there may be multiple target matching sets, the matching score can further determine the target matching set that has the least impact on other lanes. There are multiple sets of matching points in the target matching set. Ultimately, the stitching is completed by selecting the corresponding target matching set and the corresponding matching point pair based on the preceding lane where the vehicle terminal is located and the vehicle terminal's path planning requirements.
[0123] Specifically, in each intersection area, any endpoint is selected from the preceding lane matching point set, and matched with the starting point of the corresponding subsequent lane matching point set according to the two-dimensional score matrix to obtain the first matching point pair, which has the highest matching score; the first matching point pair is put into the matching set of each intersection area, and the remaining endpoints in the preceding lane matching point set are traversed to obtain the target matching set of each intersection area.
[0124] Specifically, if there are multiple first matching point pairs, a matching set is created for each first matching point pair; the remaining endpoints in the preceding lane matching point set are matched one by one with the remaining starting points in the subsequent lane matching point set, and placed into the corresponding matching set to obtain the target matching set for each intersection area. Each intersection area includes at least one target matching set.
[0125] like Figure 2 In (4), u6v6 and u6v7 have the same matching score, meaning there are two first matching point pairs. At this point, two matching sets can be created, and the remaining endpoints in the preceding lane matching point set can be traversed to obtain at least one target matching set. It is understandable that there may be multiple matching point pairs with the same matching score in the remaining endpoints in the preceding lane matching point set during subsequent traversals. In this case, a new matching set also needs to be constructed.
[0126] Specifically, when the number of endpoints in the preceding lane matching point set is greater than the number of starting points in the subsequent lane matching point set, the number of matching rounds is determined based on the number of endpoints in the preceding lane matching point set and the number of starting points in the subsequent lane matching point set; matching is performed based on the two-dimensional score matrix, the bipartite graph, and the number of matching rounds to obtain the target matching set for each intersection area.
[0127] For ease of understanding, when there are two matching rounds, the preceding lane matching point set is determined as the first matching point set, and the subsequent lane matching point set is determined as the second matching point set; the first matching point set and the second matching point set are matched in the first round, and the first matching set is output; the unmatched endpoints in the first matching point set are determined as the third matching point set; the third matching point set and the second matching point set are matched in the second round, and the second matching set is output; the first matching set and the second matching set are combined to obtain the target matching set for each intersection area, so as to ensure that each lane in the intersection area has a corresponding target matching set for matching and avoid missing matching.
[0128] For example, Figure 2 -(4) The method of obtaining a target matching set is to perform a first round of matching on the first matching point set and the second matching point set, output the first matching set u5v6 and u6v7, determine the remaining u7 as the third matching point set, and obtain the second matching set u7v7 (u7v6 has a lower matching score than u7v7). Combine the first matching set and the second matching set to obtain the target matching set for each intersection area. The matching method of the invention can efficiently and accurately match the matching points in the preceding lane center line set and the subsequent lane center line set, and output at least one target matching set.
[0129] In this embodiment, lane centerline generation is avoided due to sorting errors, improving the robustness and quality of the generated lane centerlines. Based on matching scores and bipartite graph maximum matching, the risk of stitching errors in intersection areas is reduced, improving the accuracy of lane centerline stitching in intersection areas. This prevents lane centerlines from merging into the same subsequent lane centerline, ensuring the safe and stable passage of autonomous vehicles through intersection areas. 。
[0130] The method for generating lane center lines in the embodiments of this application has been described above. The apparatus for generating lane center lines in the embodiments of this application is described below. Please refer to [link / reference]. Figure 5 One embodiment of the lane centerline generation device in this application includes:
[0131] Module 501 is used to acquire lane boundary line data;
[0132] The generation module 502 is used to generate multiple candidate lane centerlines from any two lane boundary lines and a preset width range in the lane boundary line data.
[0133] Module 503 is used to construct topological relationships based on the lane boundary line data corresponding to the center line of each candidate lane.
[0134] The first splicing module 504 is used to splice the candidate lane centerlines according to the topological relationship between each candidate lane centerline to obtain multiple optimized lane centerlines, and there are unspliced intersection areas between each optimized lane centerline.
[0135] The second splicing module 505 is used to splice multiple segments of optimized lane center lines in the intersection area using a preset bipartite graph maximum matching algorithm to obtain the target lane center line.
[0136] In this embodiment, the failure to generate lane center lines due to sorting errors is avoided, thus improving the robustness of the lane center line generation method. By splicing short segments together, continuous, smooth, and complete lane center lines are generated, improving the quality of the generated lane center lines. Based on bipartite graph maximum matching, the risk of splicing errors in intersection areas is reduced, improving the accuracy of lane center line splicing in intersection areas and ensuring that autonomous vehicles can safely and stably pass through intersection areas.
[0137] Please see Figure 6 Another embodiment of the lane centerline generation device in this application includes:
[0138] Module 501 is used to acquire lane boundary line data;
[0139] The generation module 502 is used to generate multiple candidate lane centerlines from any two lane boundary lines and a preset width range in the lane boundary line data.
[0140] Module 503 is used to construct topological relationships based on the lane boundary line data corresponding to the center line of each candidate lane.
[0141] The first splicing module 504 is used to splice the candidate lane centerlines according to the topological relationship between each candidate lane centerline to obtain multiple optimized lane centerlines, and there are unspliced intersection areas between each optimized lane centerline.
[0142] The second splicing module 505 is used to splice multiple segments of optimized lane center lines in the intersection area using a preset bipartite graph maximum matching algorithm to obtain the target lane center line.
[0143] Optionally, the generation module 502 includes:
[0144] Segmentation unit 5021 is used to longitudinally segment the lane according to the lane boundary line data and the preset width range to obtain multiple lane segments;
[0145] The generation unit 5022 is used to generate a centerline based on any two lane boundary lines of each lane segment, so as to obtain at least one initial lane centerline corresponding to each lane segment.
[0146] The filtering unit 5023 is used to filter at least one initial lane centerline corresponding to each lane segment to obtain candidate lane centerlines corresponding to each lane segment.
[0147] Optionally, the filtering unit 5023 is specifically used to: calculate the target lateral distance between each initial lane centerline and the target lane boundary line in each lane segment, where the target lane boundary line refers to the lane boundary line that generated the initial lane centerline; delete the initial lane centerlines whose target lateral distance is less than a preset lateral distance threshold to obtain the remaining initial lane centerlines; and fuse the remaining initial lane centerlines to obtain the candidate lane centerlines corresponding to each lane segment.
[0148] Optionally, the construction module 503 is specifically used to: obtain lane boundary line data corresponding to each candidate lane centerline, obtain index information of the corresponding path points, the lane boundary line data includes multiple path point information, and each path point information includes the index information of each path point; perform topological sorting on each candidate lane centerline according to the index information of multiple path points, and obtain the topological relationship of multiple candidate lane centerlines.
[0149] Optionally, the first splicing module 504 is specifically used to: connect the end point of each preceding lane centerline to the starting point of the corresponding subsequent lane centerline in sequence according to the topological relationship between each candidate lane centerline, to obtain multiple optimized lane centerlines, with unspliced intersection areas between each optimized lane centerline.
[0150] Optionally, the second splicing module 505 includes:
[0151] Construction unit 5051 is used to obtain the start and end points of each optimized lane centerline and construct a bipartite graph based on the start and end points of each intersection area to obtain the preceding lane matching point set and the following lane matching point set of each intersection area. The preceding lane matching point set includes the end point of the preceding lane centerline and the following lane matching point set includes the start point of the following lane centerline.
[0152] The calculation unit 5052 is used to calculate the matching score of each pair of matching points in each intersection area to obtain a two-dimensional score matrix. Each pair of matching points includes the end point of the center line of the preceding lane and the starting point of the center line of the following lane.
[0153] The matching unit 5053 is used to perform matching based on the two-dimensional score matrix and the bipartite graph to obtain the center line of the target lane.
[0154] Optionally, the matching unit 5053 includes:
[0155] Matching subunit 50531 is used to perform matching based on the two-dimensional score matrix and the bipartite graph to obtain the target matching set for each intersection area. The target matching set contains the maximum number of matching point pairs and the maximum total matching score of the matching point pairs in the target matching set.
[0156] The splicing subunit 50532 is used to splice multiple optimized lane centerlines according to the target matching set of each intersection area to obtain the target lane centerline.
[0157] Optionally, the matching subunit 50531 is specifically used to: select any endpoint in the preceding lane matching point set of each intersection area, and match it with the starting point of the corresponding subsequent lane matching point set according to the two-dimensional score matrix to obtain the first matching point pair, which has the highest matching score; put the first matching point pair into the matching set of each intersection area, and traverse the remaining endpoints in the preceding lane matching point set to obtain the target matching set of each intersection area.
[0158] Optionally, the matching subunit 50531 is specifically used for: if there are multiple first matching point pairs, creating a matching set for each first matching point pair; matching the remaining endpoints in the preceding lane matching point set with the remaining starting points in the subsequent lane matching point set one by one, and putting them into the corresponding matching set to obtain the target matching set for each intersection area, wherein each intersection area includes at least one target matching set.
[0159] Optionally, the matching subunit 50531 is specifically used to: determine the number of matching rounds based on the number of endpoints in the previous lane matching point set and the number of starting points in the subsequent lane matching point set when the number of endpoints in the previous lane matching point set is greater than the number of starting points in the subsequent lane matching point set; and perform matching based on the two-dimensional score matrix, the bipartite graph and the number of matching rounds to obtain the target matching set for each intersection area.
[0160] Optionally, the matching subunit 50531 is specifically used for: when the number of matching rounds is two, determining the preceding lane matching point set as the first matching point set and the subsequent lane matching point set as the second matching point set; performing a first round of matching on the first matching point set and the second matching point set, and outputting a first matching set; determining the unmatched endpoints in the first matching point set as the third matching point set; performing a second round of matching on the third matching point set and the second matching point set, and outputting a second matching set; and combining the first matching set and the second matching set to obtain the target matching set for each intersection area.
[0161] Optionally, the calculation unit 5052 is specifically used to calculate the curvature difference and yaw angle difference of each pair of matching points in each intersection area; calculate the matching score of each pair of matching points based on the curvature difference and yaw angle difference and the preset matching score formula; and construct a two-dimensional score matrix for each intersection area based on the matching score of each pair of matching points.
[0162] In this embodiment, an initial lane centerline is generated from any two lane boundary lines. Further processing, including filtering and fusion, yields candidate lane centerlines. This avoids the inability to generate lane centerlines due to sorting errors. It is applicable to complex lane line situations, such as alternating single and double solid lines, and scenarios where brake marks are misidentified as lane boundary lines, thus expanding the applicability of the lane centerline generation method. Short-distance stitching based on topological relationships improves the robustness of the method and the quality of the generated lane centerlines. Matching scores and bipartite graph maximum matching reduce the risk of stitching errors in intersection areas, improving the accuracy of lane centerline stitching in intersection areas and ensuring the safe and stable passage of autonomous vehicles through intersection areas.
[0163] above Figure 5 and Figure 6 The lane centerline generation device in this application embodiment is described in detail from the perspective of modular functional entities. The lane centerline generation device in this application embodiment is described in detail from the perspective of hardware processing.
[0164] Figure 7 This is a schematic diagram of a lane centerline generation device provided in an embodiment of the present invention. The lane centerline generation device 700 can vary significantly due to different configurations or performance characteristics. It may include one or more central processing units (CPUs) 710 (e.g., one or more processors) and a memory 720, and one or more storage media 730 (e.g., one or more mass storage devices) storing application programs 733 or data 732. The memory 720 and storage media 730 can be temporary or persistent storage. The program stored in the storage media 730 may include one or more modules (not shown in the diagram), each module including a series of instruction operations on the lane centerline generation device 700. Furthermore, the processor 710 may be configured to communicate with the storage media 730 and execute the series of instruction operations in the storage media 730 on the lane centerline generation device 700.
[0165] The lane centerline generating device 700 may also include one or more power supplies 740, one or more wired or wireless network interfaces 750, one or more input / output interfaces 760, and / or one or more operating systems 731, such as Windows Server, Mac OS X, Unix, Linux, FreeBSD, etc. Those skilled in the art will understand that... Figure 7 The lane centerline generation device structure shown does not constitute a limitation on the lane centerline generation device, and may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0166] The present invention also provides a computer-readable storage medium, which can be a non-volatile computer-readable storage medium or a volatile computer-readable storage medium, wherein the computer-readable storage medium stores instructions that, when executed on a computer, cause the computer to perform the steps of the method for generating a lane centerline.
[0167] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0168] 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 network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0169] The above-described embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit it. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for generating a lane centerline, characterized in that, The method for generating the lane centerline includes: Acquire lane boundary line data; Multiple candidate lane centerlines are generated based on any two lane boundary lines in the lane boundary line data and a preset width range. A topological relationship is constructed based on the lane boundary line data corresponding to the center line of each candidate lane. The candidate lane centerlines are spliced together based on the topological relationship between each candidate lane centerline to obtain multiple optimized lane centerlines. There are unspliced intersection areas between each optimized lane centerline. The intersection area of the multiple optimized lane centerlines is spliced together using a pre-set bipartite graph maximum matching algorithm to obtain the target lane centerline; The step of generating multiple candidate lane centerlines based on any two lane boundary lines in the lane boundary line data and a preset width range includes: The lane is longitudinally segmented based on the lane boundary line data and a preset width range to obtain multiple lane segments; Generate a centerline based on any two lane boundary lines of each lane segment to obtain at least one initial lane centerline for each lane segment. Filter at least one initial lane centerline for each lane segment to obtain candidate lane centerlines for each lane segment. The step of constructing a topology relationship based on the lane boundary line data corresponding to the centerline of each candidate lane includes: Obtain lane boundary line data corresponding to the center line of each candidate lane, and obtain the index information of the corresponding path point. The lane boundary line data includes multiple path point information, and each path point information includes the index information of each path point. Based on the index information of multiple path points, the centerline of each candidate lane is topologically sorted to obtain the topological relationship of multiple candidate lane centerlines. The step of stitching together the intersection area of the multiple optimized lane centerlines using a preset bipartite graph maximum matching algorithm to obtain the target lane centerline includes: Obtain the start and end points of each optimized lane centerline, and construct a bipartite graph based on the start and end points of each intersection area to obtain the preceding lane matching point set and the following lane matching point set for each intersection area. The preceding lane matching point set includes the end point of the preceding lane centerline, and the following lane matching point set includes the start point of the following lane centerline. Calculate the matching score for each pair of matching points in each intersection area to obtain a two-dimensional score matrix. Each pair of matching points includes the end point of the preceding lane centerline and the start point of the following lane centerline. The target lane centerline is obtained by matching the two-dimensional score matrix and the bipartite graph.
2. The method for generating lane centerlines according to claim 1, characterized in that, The step of filtering at least one initial lane centerline corresponding to each lane segment to obtain candidate lane centerlines for each lane segment includes: Calculate the target lateral distance between the initial lane centerline and the target lane boundary line in each lane segment, where the target lane boundary line refers to the lane boundary line that generated the initial lane centerline; Delete the initial lane centerlines whose target lateral distance is less than the preset lateral distance threshold to obtain the remaining initial lane centerlines; The remaining initial lane centerlines are merged to obtain the candidate lane centerlines for each lane segment.
3. The method for generating lane centerlines according to claim 1, characterized in that, The process involves splicing together the candidate lane centerlines based on their topological relationships to obtain multiple optimized lane centerlines. Each optimized lane centerline segment contains unspliced intersection areas, including: Based on the topological relationship between each candidate lane centerline, the endpoint of each preceding lane centerline is sequentially connected to the starting point of the corresponding subsequent lane centerline to obtain multiple optimized lane centerlines. There are unconnected intersection areas between each optimized lane centerline.
4. The method for generating lane centerlines according to claim 1, characterized in that, The step of matching the two-dimensional score matrix and the bipartite graph to obtain the target lane centerline includes: Matching is performed based on the two-dimensional score matrix and the bipartite graph to obtain a target matching set for each intersection area. The target matching set contains the largest number of matching point pairs and the total matching score of the matching point pairs in the target matching set is the largest. The multiple optimized lane centerlines are spliced together based on the target matching set of each intersection area to obtain the target lane centerline.
5. The method for generating lane centerlines according to claim 4, characterized in that, The matching process based on the two-dimensional score matrix and the bipartite graph to obtain the target matching set for each intersection region includes: In each intersection area, select any endpoint from the preceding lane matching point set, and match it with the starting point of the corresponding subsequent lane matching point set according to the two-dimensional score matrix to obtain the first matching point pair. The first matching point pair has the highest matching score. The first matching point pair is placed into the matching set of each intersection area, and the remaining endpoints in the preceding lane matching point set are traversed to obtain the target matching set of each intersection area.
6. The method for generating lane centerlines according to claim 5, characterized in that, The step of placing the first matching point pair into the matching set of each intersection area and traversing the remaining endpoints in the preceding lane matching point set to obtain the target matching set of each intersection area includes: If there are multiple first matching point pairs, then create a matching set for each first matching point pair; The remaining endpoints in the preceding lane matching point set are matched one by one with the remaining starting points in the subsequent lane matching point set, and then placed into the corresponding matching set to obtain the target matching set for each intersection area. Each intersection area includes at least one target matching set.
7. The method for generating lane centerlines according to claim 4, characterized in that, When the number of endpoints in the preceding lane matching point set is greater than the number of starting points in the subsequent lane matching point set, the matching is performed based on the two-dimensional score matrix and the bipartite graph to obtain the target matching set for each intersection region, including: When the number of endpoints in the preceding lane matching point set is greater than the number of starting points in the subsequent lane matching point set, the number of matching rounds is determined based on the number of endpoints in the preceding lane matching point set and the number of starting points in the subsequent lane matching point set. Matching is performed based on the two-dimensional score matrix, the bipartite graph, and the number of matching rounds to obtain the target matching set for each intersection area.
8. The method for generating lane centerlines according to claim 7, characterized in that, When the number of matching rounds is two, the matching based on the two-dimensional score matrix, the bipartite graph, and the number of matching rounds to obtain the target matching set for each intersection area includes: When the number of matching rounds is two, the preceding lane matching point set is determined as the first matching point set, and the subsequent lane matching point set is determined as the second matching point set. Perform a first round of matching on the first set of matching points and the second set of matching points, and output the first set of matching points; The unmatched endpoints in the first set of matching points are determined as the third set of matching points; Perform a second round of matching on the third matching point set and the second matching point set, and output the second matching set; The first matching set and the second matching set are combined to obtain the target matching set for each intersection area.
9. The method for generating lane centerlines according to claim 5, characterized in that, The matching score for each pair of matching points in each intersection area is calculated to obtain a two-dimensional score matrix, including: Calculate the curvature difference and yaw angle difference for each pair of matched points in each intersection area; The matching score for each pair of matching points is calculated based on the curvature difference and yaw angle difference and the preset matching score formula. A two-dimensional score matrix for each intersection region is constructed based on the matching scores of each pair of matching points.
10. A device for generating a lane centerline, characterized in that, The lane centerline generating device includes: The acquisition module is used to acquire lane boundary line data; The generation module is used to generate multiple candidate lane centerlines from any two lane boundary lines and a preset width range in the lane boundary line data. The construction module is used to build topological relationships based on the lane boundary line data corresponding to the center line of each candidate lane; The first splicing module is used to splice the candidate lane centerlines according to the topological relationship between each candidate lane centerline to obtain multiple optimized lane centerlines. There are unspliced intersection areas between each optimized lane centerline. The second splicing module is used to splice the intersection area of the multiple optimized lane center lines using a preset bipartite graph maximum matching algorithm to obtain the target lane center line. The generation module is also used to longitudinally segment the lane according to the lane boundary line data and the preset width range to obtain multiple lane segments; generate a center line according to any two lane boundary lines of each lane segment to obtain at least one initial lane center line corresponding to each lane segment; and filter the at least one initial lane center line corresponding to each lane segment to obtain candidate lane center lines corresponding to each lane segment. The construction module is also used to obtain lane boundary line data corresponding to the center line of each candidate lane and obtain the index information of the corresponding path point. The lane boundary line data includes multiple path point information, and each path point information includes the index information of each path point. Based on the index information of multiple path points, the centerline of each candidate lane is topologically sorted to obtain the topological relationship of multiple candidate lane centerlines. The second splicing module is used to obtain the start and end points of each optimized lane centerline, and construct a bipartite graph based on the start and end points of each intersection area to obtain the preceding lane matching point set and the following lane matching point set for each intersection area. The preceding lane matching point set includes the end point of the preceding lane centerline, and the following lane matching point set includes the start point of the following lane centerline. Calculate the matching score for each pair of matching points in each intersection area to obtain a two-dimensional score matrix. Each pair of matching points includes the end point of the preceding lane centerline and the start point of the following lane centerline. The target lane centerline is obtained by matching the two-dimensional score matrix and the bipartite graph.
11. A lane centerline generation device, characterized in that, The lane centerline generation device includes: a memory and at least one processor, wherein the memory stores instructions; The at least one processor invokes the instructions in the memory to cause the lane centerline generation device to perform the lane centerline generation method as described in any one of claims 1-9.
12. A computer-readable storage medium storing instructions thereon, characterized in that, When the instruction is read and executed, it performs the method for generating the lane centerline as described in any one of claims 1-9.
Citation Information
Patent Citations
Construction system and method of digital twin urban road
CN115661383A
Method and apparatus for determining lane centerline
US20190347493A1
Three-dimensional intersection structure prediction for autonomous driving applications
US20210201145A1