Positioning evaluation data generation method and device and electronic equipment
By automatically generating positioning evaluation data using lane-level road topology data, the problem of high efficiency and low cost of lane-level positioning quality evaluation in the existing technology is solved, and efficient lane-level positioning quality evaluation is achieved.
Patent Information
- Application Number
- CN202410103108.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-24
- Publication Date
- 2025-08-01
AI Technical Summary
In the prior art, lane-level positioning quality evaluation relies on manual road testing, resulting in high cost and low efficiency.
By using lane-level road topology data, position points are automatically acquired and lane-level positioning trajectory is constructed, and positioning evaluation data is generated in combination with the evaluation truth value to avoid road measurement methods.
It reduces the cost of obtaining evaluation data, improves data acquisition efficiency, and realizes efficient lane-level positioning quality evaluation.
Smart Images

Figure CN120403699A_ABST
Abstract
Description
Technical Field
[0001] One or more embodiments of this specification relate to the field of testing technologies, and in particular, to a method, apparatus, and electronic device for generating positioning evaluation data. Background Art
[0002] As map data evolves from ordinary road-level maps to lane-level high-precision maps, navigation services are also starting to evolve from road-level navigation services to lane-level navigation services that are more precise and immersive in navigation guidance. The realization of lane-level navigation services mainly relies on three capabilities, specifically including: lane-level positioning, lane-level navigation route planning, and lane-level navigation route guidance. The positioning accuracy of lane-level positioning is usually at the sub-meter level. Through lane-level positioning, the specific lane where the navigated object is located can be obtained, and based on the specific lane where the navigated object is located, it is possible to accurately perform lane-level navigation route planning and guidance. Therefore, lane-level positioning plays a crucial role in the realization of lane-level navigation services.
[0003] Considering the importance of lane-level positioning, before or during the provision of lane-level navigation services to users, it is necessary to continuously and strictly test the quality of lane-level positioning to ensure that the quality of lane-level positioning meets the standards. In related technologies, mainly, evaluation samples generated when consumer devices use lane-level positioning are collected on the road, and at the same time, evaluation ground truths collected by high-precision ground truth collection devices on the road are collected. Then, the evaluation samples and the evaluation ground truths are compared to verify whether the quality of lane-level positioning meets the standard.
[0004] However, the method of obtaining evaluation data (evaluation samples and evaluation ground truths) through the above-mentioned road tests (field tests on the road) relies on manual operations. For example, it is necessary to manually drive a vehicle for field collection, and the installation and maintenance of the high-precision ground truth collection devices required for road tests are also very complex. Therefore, the existing solutions for evaluating the quality of lane-level positioning have problems of high cost and low efficiency in the link of obtaining evaluation data. Summary of the Invention
[0005] In view of this, one or more embodiments of this specification provide a method, apparatus, and electronic device for generating positioning evaluation data.
[0006] To achieve the above object, one or more embodiments of this specification provide the following technical solutions:
[0007] According to a first aspect of one or more embodiments of this specification, a method for generating positioning evaluation data is proposed. The method includes:
[0008] Obtain position points located in a lane according to the shape points of the lane boundary lines of the lanes recorded in the lane-level road topology data;
[0009] Construct a lane-level positioning trajectory formed by the position points according to the topological relationship between lanes recorded in the lane-level road topological data;
[0010] Obtain positioning evaluation data for lane-level positioning based on the lane-level positioning trajectory and the evaluation ground truth.
[0011] According to a second aspect of one or more embodiments of the present specification, there is provided a device for generating positioning evaluation data, the device including:
[0012] A position point obtaining module, configured to obtain position points located in a lane according to the shape points of the lane boundary lines of the lanes recorded in the lane-level road topological data;
[0013] A trajectory construction module, configured to construct a lane-level positioning trajectory formed by the position points according to the topological relationship between lanes recorded in the lane-level road topological data;
[0014] A data generation module, configured to obtain positioning evaluation data for lane-level positioning based on the lane-level positioning trajectory and the evaluation ground truth.
[0015] According to a third aspect of one or more embodiments of the present specification, there is provided a method for testing lane-level positioning, including:
[0016] Obtain a lane-level positioning trajectory and an evaluation ground truth for lane-level positioning test by the method of any embodiment of the present specification;
[0017] Input the positioning input information calculated based on the lane-level positioning trajectory into a lane-level positioning engine to obtain a positioning result output by the lane-level positioning engine;
[0018] Compare the positioning result output by the lane-level positioning engine with the corresponding evaluation ground truth to obtain a test index for lane-level positioning.
[0019] According to a fourth aspect of one or more embodiments of the present specification, there is provided an electronic device, the device including:
[0020] A processor;
[0021] A memory for storing instructions executable by the processor;
[0022] Wherein, the processor realizes the method of any embodiment of the present specification by running the executable instructions.
[0023] According to a fifth aspect of one or more embodiments of the present specification, there is provided a computer-readable storage medium, on which computer instructions are stored, and when the instructions are executed by a processor, the method of any embodiment of the present specification is realized.
[0024] The method, apparatus, and electronic device for generating positioning evaluation data according to the embodiments of this specification automatically determine position points in a lane based on lane-level road topology data and construct a lane-level positioning trajectory composed of the position points, so that it is no longer necessary to obtain positioning evaluation data through road test methods, and the true value can also be obtained when generating the lane-level positioning trajectory, reducing the acquisition cost of evaluation data and improving the data acquisition efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] In order to more clearly illustrate the technical solutions in one or more embodiments of the present disclosure or related technologies, the following will briefly introduce the drawings required for use in the description of the embodiments or related technologies. Obviously, the drawings in the following description are only some embodiments recorded in one or more embodiments of the present disclosure. For those of ordinary skill in the art, other drawings can also be obtained based on these drawings without creative efforts.
[0026] Figure 1 is a method for generating positioning evaluation data provided by an exemplary embodiment.
[0027] Figure 2 is a schematic diagram of a method for obtaining position points provided by an exemplary embodiment.
[0028] Figure 3 is a schematic diagram of trajectory smoothing provided by an exemplary embodiment.
[0029] Figure 4 is a flowchart of a method for generating a lane-level positioning trajectory provided by an exemplary embodiment.
[0030] Figure 5 is a flowchart of another method for generating a lane-level positioning trajectory provided by an exemplary embodiment.
[0031] Figure 6 is a schematic diagram of the principle of yet another method for generating a lane-level positioning trajectory provided by an exemplary embodiment.
[0032] Figure 7 is a schematic diagram of a simulated lane change provided by an exemplary embodiment.
[0033] Figure 8 is a schematic diagram of trajectory variation provided by an exemplary embodiment.
[0034] Figure 9 is a schematic diagram of trajectory variation provided by an exemplary embodiment.
[0035] Figure 10 is a schematic structural diagram of a device for generating positioning evaluation data provided by an exemplary embodiment. Detailed implementation manners
[0036] Here, exemplary embodiments will be described in detail, and examples thereof are shown in the accompanying drawings. When the following description refers to the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementation manners described in the following exemplary embodiments do not represent all implementation manners consistent with one or more embodiments of this specification. On the contrary, they are merely examples of apparatuses and methods consistent with some aspects of one or more embodiments of this specification as detailed in the appended claims.
[0037] It should be noted that: in other embodiments, the steps of the corresponding method are not necessarily executed in the order shown and described in this specification. In some other embodiments, the steps included in the method may be more or less than those described in this specification. In addition, a single step described in this specification may be decomposed into multiple steps for description in other embodiments; and multiple steps described in this specification may also be combined into a single step for description in other embodiments.
[0038] An embodiment of this specification provides a method for generating positioning evaluation data. Among them, the positioning evaluation data is used to test the positioning quality of lane-level positioning. The positioning evaluation data may include evaluation samples and evaluation true values. The evaluation samples are used to simulate the positioning results provided for users when consumer devices use lane-level positioning services. The evaluation true value is the accurate geographical location. For example, which lane the vehicle is relatively accurately located in on the road. However, the method for obtaining the positioning evaluation data in the embodiment of this specification is different from the method of collecting through road tests in the prior art. In the embodiment of this specification, the positioning evaluation data is automatically constructed by an algorithm and does not need to be obtained through road tests, so as to reduce the data acquisition cost of the evaluation data and improve the data acquisition efficiency.
[0039] Before describing the method for generating the positioning evaluation data of the lane-level positioning, the concepts involved in the description of this method are explained as follows:
[0040] 1) Lane-level positioning engine
[0041] The lane-level positioning engine can output a sub-meter-level positioning position by receiving RTK (Real Time Kinematic) signals and corresponding positioning algorithms. In addition, by matching the sub-meter-level positioning position with lane-level map data, it can output the road and lane where the positioning position is located. The lane-level positioning engine is usually integrated in the application software installed on the terminal device. The application software can be an application program APP installed on a smart phone or software installed on a car machine. Any application software that requires the lane-level positioning function can integrate the lane-level positioning engine.
[0042] 2) Lane-level positioning trajectory:
[0043] When the lane-level positioning engine works, it outputs positioning positions at a certain frequency, and these positioning positions can be recorded in the form of logs to form a lane-level positioning trajectory.
[0044] Figure 1 is a flowchart of a method for generating positioning evaluation data provided by an exemplary embodiment, and this method can be executed by a device for generating positioning evaluation data. As Figure 1 shown, this method may include the following processes:
[0045] In step 100, according to the shape points of the lane boundaries of the lanes recorded in the lane-level road topology data, obtain the position points located in the lanes.
[0046] In this step, the lane-level road topology data refers to map data including lane information of the road, and the lane information includes shape points of the lane boundaries (also called lane lines) of the lanes, topological connectivity relationships between lanes and lanes, etc.
[0047] Specifically, according to the shape points of the lane boundaries of the lanes recorded in the lane-level road topology data, obtaining the position points located in the lanes may specifically include:
[0048] From the lane-level road topology data, obtain the road segment Link, and then obtain the corresponding lane group (LaneGroup). Among them, the lanes included in the lane group are related to the situation of the road segment corresponding to this lane group in the real world. For example, if there are two lanes in the real world for a road segment, then this lane group includes at least three lane boundaries.
[0049] From the lane group, obtain two adjacent lane boundaries, and based on the shape points of the two adjacent lane boundaries, calculate the center point of the lane formed by the two adjacent lane boundaries as the position point. In this application, the position point is used to construct the lane-level positioning trajectory.
[0050] For ease of understanding, the process of obtaining the position points is described as follows in combination with Figure 2 As shown in Figure 2 Taking the lane-level road topology data including "Link-1, Link-2" as an example, each Link corresponds to a lane group. For example, Link-1 corresponds to LaneGroup-1, and Link-2 corresponds to LaneGroup-2. Each lane group includes multiple lanes. For example, LaneGroup-1 includes three lanes, namely: Lane 1-1, Lane 1-2, and Lane 1-3. Each lane is composed of two adjacent lane boundaries. For example, Lane 1-2 is composed of lane boundary 21 and lane boundary 22.
[0051] In the lane-level road topology data, the shape points that make up the edges of each lane are recorded. The positions and quantities of the shape points of the lane edges are related to the data production process and the actual road conditions. Whether the number of shape points of a road segment is large or small does not affect the line of sight in this embodiment, and this embodiment does not impose any restrictions on this. In Figure 2 LaneGroup-1 of
[0052] When calculating the position points of lane 1-2, the position points of lane 1-2 can be determined based on the shape points A1, A2, A3, B1, B2, B3. Preferably, the position point x1 can be the midpoint of the line connecting A1 and B1, the position point x2 can be the midpoint of the line connecting A2 and B2, and the position point x3 can be the midpoint of the line connecting A3 and B3. The reason for preferring the midpoint is that when a vehicle travels on a road, it usually travels along the center line of the lane. Therefore, the lane-level positioning trajectory constructed using the center point of the lane as the position point is more in line with the actual situation of the vehicle traveling on the road. Of course, for some roads with wider lanes, optionally, the position point may not be the midpoint of the line connecting two adjacent shape points of the lane edges. For example, the 1 / 3 point of the line connecting two shape points can be set as the position point.
[0053] Similarly, the position points in each lane can be determined according to the shape points of the lane edges of that lane. The determination methods of the position points of other lanes will not be elaborated here and can be referred to the above embodiments. That is, each lane group can be obtained, and then the position points of the lanes can be determined according to the shape points of the lane edges in the lane group. These position points will be used as the basis for constructing the trajectory in the subsequent steps.
[0054] In step 102, according to the topological relationship between the lanes recorded in the lane-level road topology data, a lane-level positioning trajectory composed of the position points is constructed.
[0055] In this embodiment, the lane-level positioning trajectory to be generated may be composed of a continuous plurality of position points. Since roads in the real world are managed by road segments in map data, a road in the real world will be divided into several segments in map data. For example, a 5-kilometer-long road can be managed by segments of 500 meters each, or when encountering intersections, the road can be segmented, etc. However, the road in the real world is not segmented. Therefore, the lane-level positioning trajectory formed when a vehicle travels on the road is continuous. Thus, in this application, not only the position points of a road segment including lane groups need to be determined, but also, according to the topological relationship between lanes recorded in the lane-level road topology data, lane groups with connection relationships are obtained, and the position points of the lanes with connectivity relationships in these lane groups are arranged in order, so as to form a lane-level positioning trajectory covering the complete lane.
[0056] In addition, it should be noted that the embodiments of this specification do not limit the order of execution of the various steps in the process of generating the positioning evaluation data. For example, it may be that the position points in each lane are obtained first according to the method in step 100, and then some of these position points are selected based on the topological relationship between lanes according to the method in step 102. These position points are located in lanes with connectivity relationships and form a continuous trajectory covering the lane. Another example is that it may also be that multiple lanes with connectivity relationships are selected first according to the method in step 102, and then based on the description in step 100, the position points in the lanes are determined according to the shape points of the lane boundaries of the lanes, and the lane-level positioning trajectory is formed by arranging these position points in order.
[0057] After constructing the lane-level positioning trajectory composed of position points, in some cases, due to the uneven distribution of the shape points of the lane boundaries, the position points generated based on the unevenly distributed shape points will also show uneven distribution. Refer to Figure 3 for the schematic illustration, Figure 3 Figure A in Figure 3 shows a lane-level positioning trajectory, which includes a plurality of position points, but the distribution of these position points is uneven. When the lane-level positioning engine actually works, it outputs the positioning positions at a fixed frequency. In the case where the vehicle speed does not change greatly, the positioning positions output by the lane-level positioning engine are usually continuously and evenly distributed. Therefore, in order to be closer to the actual test situation, in this embodiment, the lane-level positioning trajectory can be smoothed. For example, interpolation points can be added to the areas where the distance between position points is large. The smoothed trajectory can be as shown in Figure B in
[0058] In step 104, based on the lane-level positioning trajectory and the evaluation truth value, positioning evaluation data for lane-level positioning is obtained.
[0059] In this embodiment, after obtaining the lane-level positioning trajectory, in order to conduct simulation tests and evaluate the positioning effect of the lane-level positioning engine, it is necessary to assemble the lane-level positioning trajectory obtained above into a file format recognizable by the lane-level positioning engine and input it to the lane-level positioning engine for playback. Therefore, the positioning input information of the trajectory signal can be calculated based on the lane-level positioning trajectory obtained above, and this positioning input information is the signal used to be input to the lane-level positioning engine. For example, the positioning input information may include, but is not limited to: the trajectory speed, the timestamp corresponding to the position point, and the direction information of the position point.
[0060] Among them, the trajectory speed can be calculated in the following manner: for any two adjacent position points in the trajectory, based on the longitude and latitude of these two position points, the azimuth angle and distance between these two position points can be calculated. Combining with the timestamps constructed for these two position points, the trajectory speed can be calculated, such as the trajectory speed when the vehicle moves between these two position points. As above, according to the longitude, latitude, and timestamp of any two position points in the trajectory, the trajectory speeds at different positions in this trajectory can be calculated.
[0061] Among them, the timestamp corresponding to the position point can be constructed at a certain time interval. For example, exemplarily, according to the rule of one position point every 1 second, the corresponding timestamp can be generated for each position point in the trajectory. The direction information of the position point can be the azimuth angle corresponding to the position point.
[0062] The above positioning input information can be assembled with other fields required for testing to form a playback log that can be input to the lane-level positioning engine. Among them, considering that the number of simulation samples is large, it is necessary to synchronize and unify the timestamps in the samples so that the samples have the ability to play back at high speed.
[0063] The lane-level positioning engine can obtain evaluation samples based on the above positioning input information. For example, the positioning engine can output the longitude and latitude of each positioned position point, and the lane to which the position point belongs, that is, the positioning results provided for users when simulating the use of the lane-level positioning service by consumer devices. In this embodiment, the lane output by the positioning engine can be compared with the evaluation ground truth to verify the positioning effect of the lane-level positioning. Among them, the evaluation ground truth can be obtained during the formation process of the lane-level positioning trajectory. For example, when obtaining each position point in the trajectory, the lane where the position point is located can be obtained at the same time, and the lane identifier of the lane where the position point is located can be used as the evaluation ground truth.
[0064] For example, when verifying the effect of lane-level positioning, indicators such as the recall rate and accuracy rate of lane-level positioning can be calculated.
[0065] Exemplarily, assume there are a total of 100 location points, and the lane-level positioning engine outputs the positioning results of 90 location points. Then its recall rate is 90%. Among these 90 location points, the lanes to which the location points output by the lane-level positioning engine belong are compared with the corresponding lane ground truth. Among them, the lanes of 85 location points are correctly positioned. Then the accuracy rate is approximately equal to 85 / 90 = 94%.
[0066] The method for generating positioning evaluation data in this embodiment obtains location points through lane-level road topology data, constructs lane-level positioning trajectories based on these location points, and then obtains positioning evaluation data based on the lane-level positioning trajectories and evaluation ground truth, so that it is no longer necessary to obtain evaluation data through road test methods, improving the acquisition efficiency of evaluation data and reducing the acquisition cost of evaluation data.
[0067] The following are several exemplary ways to construct lane-level positioning trajectories, but it can be understood that in actual implementation, it is not limited to this.
[0068] Figure 4 It is a flowchart of a method for generating a lane-level positioning trajectory provided by an exemplary embodiment. In this embodiment, the trajectory is constructed according to the data topology method. As Figure 4 shown, the method may include:
[0069] In step 400, based on the specified initial position, a first road segment within a preset range around the initial position is obtained from the lane-level road topology data.
[0070] For example, an initial position can be specified, and then a first road segment within a preset range around the initial position is obtained from the lane-level road topology data. Taking a range of 200 meters around as an example, all Links within 200 meters around the initial position can be obtained. If there are multiple Links within the preset range around, any one Link can be selected as the first road segment.
[0071] The selection of any one Link as the first road segment here is only an example. This embodiment does not limit the acquisition method of the first road segment. For example, Links can be selected according to rules set by the user. Exemplarily, a Link in the south direction starting from the initial position can be selected as the first road segment.
[0072] In step 402, according to the road segment topology relationship recorded in the lane-level road topology data, a second road segment connected to the first road segment is obtained.
[0073] For example, taking the first road segment as lane 1-2, the second road segment connected to lane 1-2 can be continuously obtained. Please refer to Figure 2As shown, the second road segment can be lane 2-2 in LaneGroup-2, and this lane 2-2 is connected to lane 1-2.
[0074] In step 404, the position points in the lanes included in the first road segment and the second road segment are arranged in sequence to form a lane-level positioning trajectory.
[0075] Exemplarily, the position points in the lanes included in the first road segment and the second road segment can be obtained in the manner Figure 2 referred to. Specifically, the lane group corresponding to the first road segment can be obtained first, and a lane is selected from this lane group. Exemplarily, the middle lane of the lane group can be selected. For example, Figure 2 as an example, Figure 2 for LaneGroup-1 in, the middle lane 1-2 can be selected. After determining the lane, the position points in this lane can be obtained. The lane 1-2 can include position points x1, x2, and x3. Then, for lane 2-2 connected to lane 1-2, the position point x4 in lane 2-2 can be obtained. Next, the next Link connected to the second road segment can be continuously obtained, and then the position points are determined based on the lanes in the lane group corresponding to this next Link, and so on until the desired trajectory length is reached or the desired number of position points is obtained, which will not be elaborated further.
[0076] As described above, in another alternative implementation, it can also be to first obtain the connected first road segment and second road segment according to the road segment topological relationship recorded in the lane-level road topology data, and then select the connected lanes from each road segment respectively. For example, lane 1-2 and the lane 2-2 connected to it are selected. Then, Figure 2 as shown, according to the shape points of the selected lanes, the position points in the lanes are determined. For example, based on the shape points of the lane side lines in lane 1-2, the position points x1, x2, and x3 are obtained. According to the shape points A4 and B4 of the lane side lines of lane 2-2, the position point x4 in lane 2-2 is obtained.
[0077] The position points in each lane are arranged in sequence to obtain the lane-level positioning trajectory composed of these consecutive position points.
[0078] In addition, considering that when searching for topologically connected lanes, if a road with a relatively low road grade is found, it may cause a dead loop in the topological search within a certain area range, resulting in the generated trajectory being limited within this area range and affecting the test effect of lane-level positioning. Therefore, in this embodiment, when searching for topologically connected lanes, the road grade of the lane to which the lane belongs needs to be considered, and usually only roads with a relatively high road grade are considered.
[0079] For example, the above-mentioned first road segment and second road segment can be road segments whose road grades meet the preset grade conditions. The road segments that meet the preset grade conditions include, but are not limited to, national highways, urban expressways, expressways, etc.
[0080] In some other examples, in order to avoid the above-mentioned dead loop, other methods can also be adopted. For example, the detected Links can be recorded to avoid repeated detection during subsequent topology.
[0081] Figure 5 It is a flowchart of another method for generating a lane-level positioning trajectory provided by an exemplary embodiment. In this embodiment, the trajectory is constructed according to the route planning method. As Figure 5 shown, the method may include:
[0082] In step 500, according to the route planning information and the accurate map, the planned navigation route is obtained.
[0083] In this step, the route planning information refers to the information required for navigation route planning, including the starting point, ending point, waypoints, etc. According to this route planning information and the accurate map, the corresponding route planning algorithm can be used to calculate the navigation route.
[0084] If in the actual test process, you want to simulate the route passing through a specific location or road, you can obtain the navigation route passing through the specified location or road by specifying the starting and ending points and waypoints.
[0085] In step 502, based on each accurate road segment included in the navigation route, the high-precision road segment matching the accurate road segment is obtained from the lane-level road topology data.
[0086] To improve the efficiency of navigation route calculation, currently, lane-level navigation is based on the accurate map, that is, the road-level map data to plan the navigation route. Therefore, the navigation route planned in step 500 is composed of Links, and a Link can be called an accurate road segment.
[0087] In this step, according to the matching relationship between the accurate map and the high-definition map (HD), the high-precision road segment Link matching the above-mentioned accurate road segment Link can be found in the high-precision map. In the high-precision map, the lane group corresponding to the road segment Link is recorded.
[0088] In step 504, according to the topological relationship between the lanes recorded in the lane-level road topology data, a plurality of position points in the lanes included in the high-precision road segment are arranged in sequence to form a lane-level positioning trajectory.
[0089] In this step, lanes can be selected from the lanes included in the lane group corresponding to the Link in the high-precision map, and based on the topological relationships between the lanes recorded in the lane-level road topology data, multiple consecutive and connected lanes can be obtained. By arranging multiple position points in these lanes in sequence, a lane-level positioning trajectory formed by these position points can be obtained. Among them, for the method of obtaining the position points in the lane, reference can be made to the description of determining the position points according to the shape points mentioned above.
[0090] Figure 6 FIG. Figure 6 is a schematic diagram of another method for generating a lane-level positioning trajectory provided by an exemplary embodiment. In this embodiment, the trajectory can be constructed by simulating lane changes.
[0091] The so-called simulation of lane changes refers to simulating the lane-changing behavior of users through algorithms to replace manual road tests and reduce road test costs. In actual road driving, the lane-changing behavior of users is random. To approximate the real scenario and cover more lanes while simulating users' lane changes, in this embodiment, according to the topological relationships between the lanes recorded in the lane-level road topology data, by controlling the trajectory progress step length and the number of lane changes, the position points passed by the trajectory are selected from the position points of each lane, and these position points passed by the trajectory are arranged in sequence to form a lane-level positioning trajectory. Among them, the trajectory progress step length is used to represent the number of consecutive position points of the trajectory in the same lane, and the lane change is used to represent the behavior of driving from one lane into another lane.
[0092] It can be understood in combination with Figure 6 as follows: Figure 6 FIG. Figure 6 illustrates 4 lanes, namely Lane-1, Lane-2, Lane-3, and Lane-4. It is assumed that multiple position points have been determined in each lane, and it is assumed that the distribution of these position points is relatively uniform. For example, Lane-1 includes position points "a1, a2, a3, a4......".
[0093] Taking the trajectory progress step length as "2" as an example, it means that a lane change is required when continuously crossing 2 position points in the same lane. For example, Figure 6 in FIG. Figure 6 , taking position point a1 as the starting point of the trajectory, then, a lane change is required when reaching position point a3, and it switches to the adjacent Lane-2. Taking the number of lane changes as 2 times as an example, then, the first lane change is from Lane-1 to Lane-2, and then, after crossing 2 consecutive position points in Lane-2, a lane change is made from position point b5, switching from Lane-2 to Lane-3. The finally obtained lane-level positioning trajectory is "a1 -> a2 -> a3 -> b3 -> b4 -> b5 -> c5 -> c6 -> c7". Exemplarily, in specific implementation, Figure 6Put all these position points into a two-dimensional array, and use a1 as the starting point of this two-dimensional array. Then, according to the above-mentioned trajectory progress step length and the number of lane changes, the respective position points passed by the trajectory can be obtained.
[0094] In addition, if the trajectory is already on the outermost lane. For example, please refer to Figure 6 As shown, the trajectory passes through the position points d7, d8, and d9 in lane - 4. Then, when changing lanes, it can switch from lane - 4 to the position point c9 in lane - 3. In some other examples, in addition to the above way where the trajectory progress step length is a fixed step length, a random step length method can also be adopted. For example, in the Figure 7 illustration, the initial step length is 1. Then, after the first lane change, the step length adopted in lane - 2 is 3. Then, the second lane change is made, and the step length adopted in lane - 3 is 2. Then, the third lane change is made, and the step length adopted in lane - 4 is 3, and so on. Continuous lane changes can be performed with random step lengths to obtain the lane - level positioning trajectory.
[0095] During the above - mentioned simulated lane - change process, the respective position points passed by on the lane - level positioning trajectory can be determined during the lane - change process according to the controlled trajectory progress step length and the number of lane changes. That is to say, in this way, there may not be a standard positioning trajectory initially, but only some multiple position points obtained from the shape points. Then, during the above - mentioned lane - change process, the position points passed by the trajectory are selected from these position points.
[0096] In the above Figure 6 and Figure 7 illustrated simulated lane - change schematic diagrams, it is assumed that the position points in the lane are relatively evenly distributed. However, in actual situations, it is more likely that the position points in the lane are not evenly distributed. To better control the trajectory progress step length, in this embodiment, when the densities of the position points at different positions in the same lane are different, the position points at different positions in the same lane can be homogenized. For example, if there are more position points in some sections of the lane and fewer in other sections, then the sections with fewer position points can be supplemented according to the distribution of the position points in the sections with more position points, so that the distribution of the position points on the lane is relatively uniform. It can be understood that the uneven distribution of the position points is due to the uneven distribution of the shape points of the lane. Therefore, before determining the position points in the lane, the shape points of the lane can be supplemented evenly first, and then the position points of the lane are determined based on the shape points.
[0097] In the foregoing example, the lane-level positioning trajectory obtained in the foregoing manner belongs to a relatively standard trajectory. For example, taking the point in the middle of the lane as the position point based on the shape points of the lane, then each position point in the obtained positioning trajectory is the middle point of the lane. In the embodiments of this specification, in order to more comprehensively simulate various road test scenarios and make the test data better cover a variety of test scenarios, trajectory mutation is also performed on the foregoing standard positioning trajectory, which is described in detail below:
[0098]
Trajectory Mutation
[0099] During the actual road driving process, the user's position on the road usually does not always remain exactly in the middle of the lane, but may sometimes move within the lane. Therefore, in order to be closer to the actual road driving situation, the embodiments of this specification can apply noise to the lane-level positioning trajectory constructed above. Specifically, if the trajectory constructed above is called the standard positioning trajectory, then noise can be applied to each position point included in the standard positioning trajectory. The applied noise is used to simulate the test scenarios of lane-level positioning. In this example of trajectory mutation, the test scenarios simulated by applying noise can be the position change of the position point in the same lane, or floating points, signal loss, etc.
[0100] Trajectory mutation can be achieved by controlling the offset parameters of the position points. For example, a certain position point in the standard positioning trajectory has an initial longitude and latitude coordinate (lon, lat), and the offset azimuth "azimuth" and the offset distance "distance" can be set. According to the set offset distance and azimuth, the longitude and latitude coordinates of the mutated position point can be calculated, thereby realizing the position offset of the position points in the trajectory.
[0101] By controlling the offset azimuth and the offset distance, trajectory mutations in different scenarios can be simulated. For example, it can include the following two classifications:
[0102] 1) Positive Mutation
[0103] The so-called positive mutation can be to simulate the position change of the position point in the same lane, such as the position change of the position point shifting left or right in the lane. By controlling the offset azimuth and the offset distance, the position point changes within the same lane without exceeding the scope of the lane.
[0104] Please refer to Figure 8Example: Taking a section of trajectory in a lane as an example, each position point included in the initially constructed standard positioning trajectory 71 is a point located in the middle of the lane. For example, position points a1, a2, a3, a4, etc. Then, after offsetting the positions of some of the position points, a1 is offset to b1, a2 is offset to b2, a3 is offset to b3, and a4 is offset to b4, and the initial standard positioning trajectory 71 is mutated into Figure 8 the lane-level positioning trajectory 72 in. Of course, the lane-level positioning trajectory 72 also includes some other position points that have also undergone position offsets, as well as some position points with unchanged positions, which will not be elaborated here.
[0105] 2) Abnormal mutation
[0106] The abnormal mutation described above can be used to simulate abnormal scenarios that are difficult to encounter during road test acquisitions, such as floating points and signal loss, by randomly increasing the azimuth angle and distance of the offset, as well as controlling the timestamp, for testing the fault tolerance and stability of lane-level positioning in abnormal scenarios. That is to say, some abnormal scenarios that are difficult to encounter during road test acquisitions can be simulated through trajectory mutation to improve the scenario coverage of lane-level positioning verification.
[0107] For example, the abnormal scenarios that can be simulated include, but are not limited to: abnormal position changes such as signal mutation, gradual change, and regression, as well as frequency changes such as signal frame loss, signal source loss, frequency instability, and abnormal signal status. The patterns of these scenarios can be constructed by changing the number of position points in the standard positioning trajectory, changing the timestamps corresponding to the position points, or offsetting the position points in the trajectory.
[0108] For example: By increasing the azimuth angle and distance of the offset of the position points, the position points are not within the original lane, which simulates a drift scenario, that is, a sudden change in the position of the signal. Also, for example, some position points can be deleted from the original standard positioning trajectory to simulate signal frame loss; or the phenomenon of frame loss or frequency instability can also be simulated by changing the timestamps of the position points. For example, the time interval between two adjacent original position points of 1 second is changed to 3 seconds.
[0109] Figure 9 An example of abnormal mutation is exemplified, as Figure 9 shown. The initially constructed standard positioning trajectory 81 includes multiple position points, which are relatively uniform. The time interval can be set to one position point per 1 second, and the distances between the position points are not very different. In this embodiment, interpolation can be performed between position point d1, position point d2, and position point d3 to increase the number of position points. For example Figure 9Position points e1, e2, e3, and e4 are added. Moreover, corresponding timestamps are constructed for these newly added position points such that the timestamps between every two adjacent position points are spaced 1 second apart. In this way, a scenario where traffic jams may occur in the area from position point d1 to position point d3 is simulated, so the position change is relatively slow.
[0110] Through the above mutations, a lane-level positioning trajectory can be obtained, and then based on this lane-level positioning trajectory and the evaluation ground truth, positioning evaluation data for lane-level positioning can be obtained to perform a simulation test on lane positioning.
[0111] Figure 10 It is a schematic structural diagram of a device for generating positioning evaluation data provided by an exemplary embodiment. This device can be used to implement the method of any embodiment of this specification. As Figure 10 shown, the device may include: a position point acquisition module 1001, a trajectory construction module 1002, and a data generation module 1003.
[0112] The position point acquisition module 1001 is configured to acquire position points located in the lane according to the shape points of the lane boundary lines of the lanes recorded in the lane-level road topology data.
[0113] The trajectory construction module 1002 is configured to construct a lane-level positioning trajectory composed of the position points according to the topological relationship between the lanes recorded in the lane-level road topology data.
[0114] The data generation module 1003 is configured to obtain positioning evaluation data for lane-level positioning based on the lane-level positioning trajectory and the evaluation ground truth.
[0115] The embodiments of this specification also provide a test method for lane-level positioning. This test method may include:
[0116] First, according to the method of any embodiment of this specification, obtain a lane-level positioning trajectory and an evaluation ground truth for lane-level positioning test.
[0117] Next, positioning input information is calculated based on the lane-level positioning trajectory. This positioning input information is a signal for inputting to the lane-level positioning engine for playback. For example, the positioning input information may include, but is not limited to, trajectory speed, timestamp corresponding to the position point, direction information of the position point, etc. After inputting the positioning input information to the lane-level positioning engine, a positioning result output by the lane-level positioning engine can be obtained. For example, it may include the lane to which the position point output by the positioning engine belongs, that is, the positioning result provided for the user when simulating the use of the lane-level positioning service by a consumer device. Finally, the positioning result output by the lane-level positioning engine can be compared with the corresponding evaluation ground truth to obtain the test metrics for lane-level positioning. Among them, the evaluation ground truth can be obtained during the formation process of the lane-level positioning trajectory. For example, when obtaining each position point in the trajectory, the lane where the position point is located can be obtained at the same time, and the lane identifier of the lane where the position point is located can be used as the evaluation ground truth.
[0118] For example, the above-mentioned test metrics may include metrics such as calculating the recall rate and accuracy of lane-level positioning. Exemplarily, assume there are a total of 100 position points, and the lane-level positioning engine outputs the positioning results of 90 position points. Then its recall rate is 90%. Among these 90 position points, the lanes to which the position points output by the lane-level positioning engine belong are compared with the corresponding lane ground truth. Among them, the lanes of 85 position points are correctly positioned. Then the accuracy is approximately equal to 85 / 90 = 94%.
[0119] The embodiments of this specification also provide an electronic device. At the hardware level, the device includes a processor, an internal bus, a network interface, a memory, and a non-volatile memory. Of course, it may also include other hardware required for other services. One or more embodiments of this specification can be implemented in a software manner. For example, the processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it. Of course, in addition to the software implementation manner, one or more embodiments of this specification do not exclude other implementation manners, such as logical devices or a combination of software and hardware, etc. That is to say, the execution subject of the following processing flow is not limited to each logical unit, and can also be hardware or logical devices. Among them, executable instructions can be stored in the memory of the electronic device, and the processor can be used to implement the method described in any embodiment of this specification by running the executable instructions.
[0120] The systems, devices, modules or units illustrated in the above embodiments may be specifically implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer, and the specific form of the computer may be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email transceiver, a game console, a tablet computer, a wearable device, or a combination of any several of these devices.
[0121] In a typical configuration, a computer includes one or more processors (CPUs), an input / output interface, a network interface, and memory.
[0122] The memory may include non-permanent memory in the computer-readable medium, in the form of random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash memory (flash RAM). The memory is an example of a computer-readable medium.
[0123] The embodiments of this specification also provide a computer-readable storage medium, on which computer instructions are stored, and when the instructions are executed by a processor, the methods described in any embodiment of this specification are implemented.
[0124] The embodiments of this specification also provide a computer program product, including a computer program, and when the computer program is executed by a processor, the methods described in any embodiment of this specification are implemented.
[0125] Computer-readable media include permanent and non-permanent, removable and non-removable media and can be implemented by any method or technology for storing information. The information may be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette tapes, magnetic disk storage, quantum memory, graphene-based storage media or other magnetic storage devices, or any other non-transmission media that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transitory media, such as modulated data signals and carrier waves.
[0126] It should also be noted that the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, such that a process, method, commodity or device comprising a series of elements not only includes those elements but also includes other elements not expressly listed, or elements inherent to such process, method, commodity or device. Without further limitation, an element defined by the statement "comprising an..." does not exclude the presence of additional identical elements in the process, method, commodity or device comprising said element.
[0127] The specific embodiments of this specification have been described above. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve the desired result. Additionally, the processes depicted in the drawings do not necessarily require the particular order or sequential order shown to achieve the desired result. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0128] The terms used in one or more embodiments of this specification are for the purpose of describing specific embodiments only and are not intended to limit one or more embodiments of this specification. The singular forms "a", "the" and "said" used in one or more embodiments of this specification and the appended claims are also intended to include the plural forms unless the context clearly dictates otherwise. It should also be understood that the term "and / or" as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items.
[0129] It should be understood that although the terms first, second, third, etc. may be used in one or more embodiments of this specification to describe various information, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other. For example, without departing from the scope of one or more embodiments of this specification, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the word "if" as used herein may be interpreted as "when" or "upon" or "in response to determining".
[0130] The above description is only the preferred embodiment of one or more embodiments of this specification and is not intended to limit one or more embodiments of this specification. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of one or more embodiments of this specification shall be included within the scope of protection of one or more embodiments of this specification.
Claims
1. A method for generating positioning evaluation data, characterized in that, The method includes: Obtaining position points located in a lane according to the shape points of the lane boundary lines of the lanes recorded in the lane-level road topology data; Constructing a lane-level positioning trajectory composed of the position points according to the topological relationship between the lanes recorded in the lane-level road topology data; Obtaining positioning evaluation data for lane-level positioning based on the lane-level positioning trajectory and the evaluation ground truth.
2. The method according to claim 1, characterized in that The constructing a lane-level positioning trajectory composed of the position points according to the topological relationship between the lanes recorded in the lane-level road topology data includes: Based on a specified initial position, obtaining a first road segment within a preset range around the initial position from the lane-level road topology data; Obtaining a second road segment connected to the first road segment according to the road segment topological relationship recorded in the lane-level road topology data; Arranging the position points in the lanes included in the first road segment and the second road segment in sequence to form a lane-level positioning trajectory.
3. The method according to claim 2, wherein The first road segment and the second road segment are road segments whose road grade reaches a preset grade condition.
4. The method according to claim 1, wherein The constructing a lane-level positioning trajectory composed of the position points according to the topological relationship between the lanes recorded in the lane-level road topology data includes: Obtaining a planned navigation route according to route planning information and a high-precision map; Based on each high-precision road segment included in the navigation route, obtaining a high-precision road segment matching the high-precision road segment from the lane-level road topology data; According to the topological relationship between the lanes recorded in the lane-level road topology data, arranging multiple position points in the lanes included in the high-precision road segment in sequence to form a lane-level positioning trajectory.
5. The method according to claim 1, characterized in that The constructing a lane-level positioning trajectory composed of the position points according to the topological relationship between the lanes recorded in the lane-level road topology data includes: According to the topological relationship between the lanes recorded in the lane-level road topology data, selecting the position points passed by the trajectory from the position points of each lane by controlling the trajectory progress step length and the number of lane changes; the trajectory progress step length is used to represent the number of consecutive position points of the trajectory in the same lane, and the lane change is used to represent the behavior of driving from one lane into another lane; Arranging the selected position points passed by the trajectory in sequence to form the lane-level positioning trajectory.
6. The method according to any one of claims 1 to 5, characterized in that The obtaining positioning evaluation data for lane-level positioning based on the lane-level positioning trajectory and the evaluation ground truth includes: Based on the lane-level positioning trajectory, applying noise to the position points included in the lane-level positioning trajectory.
7. The method according to claim 6, characterized in that, The applying noise to the position points included in the lane-level positioning trajectory includes at least one of the following: Performing position offset on the position points in the lane-level positioning trajectory; Or, changing the number of position points in the lane-level positioning trajectory; Or, changing the time stamps corresponding to the position points in the lane-level positioning trajectory.
8. A generating device for positioning evaluation data, characterized in that, The device includes: A position point obtaining module, configured to obtain position points located in a lane according to the shape points of the lane boundary lines of the lanes recorded in the lane-level road topology data; A trajectory construction module, configured to construct a lane-level positioning trajectory formed by the position points according to the topological relationship between lanes recorded in the lane-level road topology data; A data generation module, configured to obtain positioning evaluation data for lane-level positioning based on the lane-level positioning trajectory and the evaluation ground truth; 9. A test method for lane-level positioning, characterized in that, The method includes: Obtaining a lane-level positioning trajectory and an evaluation ground truth for lane-level positioning test by the method according to any one of claims 1-7; Inputting positioning input information calculated based on the lane-level positioning trajectory into a lane-level positioning engine to obtain a positioning result output by the lane-level positioning engine; Comparing the positioning result output by the lane-level positioning engine with the corresponding evaluation ground truth to obtain test metrics for lane-level positioning.
10. A computer-readable storage medium having computer instructions stored thereon, characterized in that, When the instruction is executed by a processor, it implements the steps of the method according to any one of claims 1-7, or implements the method according to claim 9.