Data processing method and device, computer equipment, storage medium and program product
By combining high-precision positioning data and road data for high-precision map matching, the problem of low matching accuracy in map matching technology is solved, and the effect of accurately determining the road where the object is located among multiple candidate roads is achieved.
Patent Information
- Application Number
- CN202411002149.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-07-24
- Publication Date
- 2026-01-27
AI Technical Summary
Map matching technology has low accuracy and struggles to accurately determine the road where an object is located.
By combining the location data of the target object with high-precision road data of the surrounding roads, high-precision map matching is performed. The accuracy of matching is improved by utilizing high-precision road data, especially in the case of parallel roads, to perform more accurate matching calculations.
It improves the accuracy of matching objects with roads, and can accurately determine the road where the object is located among multiple candidate roads, thereby enhancing the accuracy of map services.
Smart Images

Figure CN121409263A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and more particularly to the field of map matching technology, specifically to a data processing method, a data processing device, a computer equipment, a computer-readable storage medium, and a computer program product. Background Technology
[0002] Map usage scenarios often require determining the roads where objects are located, and map matching technology can address this need. Map matching technology refers to the technique of matching roads to objects on a map. By determining the degree of matching between an object and each road, the road where the object is located can be determined based on this matching degree. However, the matching accuracy of map matching technology is relatively low, making it difficult to accurately determine the road location of an object in map usage scenarios. Therefore, improving the matching accuracy between objects and roads has become a current research hotspot. Summary of the Invention
[0003] This application provides a data processing method, apparatus, computer equipment, storage medium, and program product that can improve the accuracy of matching between objects and roads.
[0004] On one hand, embodiments of this application provide a data processing method, which includes:
[0005] Based on the location data of the target object and the first road data of each road around the target object, a first map matching is performed between the target object and each road to determine multiple candidate roads of the target object among each road.
[0006] Acquire second road data for multiple candidate roads. The data precision of the second road data for the same candidate road is higher than that of its first road data.
[0007] Based on the location data and the second road data for each candidate road, a second map matching is performed between the target object and each candidate road to obtain the matching degree between the target object and each candidate road; the matching degree between the target object and each candidate road is used to indicate the probability that the target object is located in the corresponding candidate road;
[0008] Based on the matching degree between the target object and each candidate road, the target road where the target object is located is determined from multiple candidate roads.
[0009] Accordingly, embodiments of this application provide a data processing apparatus, which includes:
[0010] The processing unit is used to perform a first map matching between the target object and each road based on the location data of the target object and the first road data of each road around the target object, and to determine multiple candidate roads of the target object among each road.
[0011] The acquisition unit is used to acquire the second road data of multiple candidate roads, wherein the data precision of the second road data of the same candidate road is higher than the data precision of its first road data;
[0012] The processing unit is also configured to perform a second map matching between the target object and each candidate road based on the positioning data and the second road data of each candidate road, to obtain the matching degree between the target object and each candidate road; the matching degree between the target object and each candidate road is used to indicate the probability that the target object is located in the corresponding candidate road;
[0013] The processing unit is also used to determine the target road where the target object is located among multiple candidate roads based on the matching degree between the target object and each candidate road.
[0014] In one implementation, the positioning data includes the location information and speed information of the target object; any one of the multiple candidate roads is represented as the i-th candidate road, and the second road data of the i-th candidate road includes the location information of the i-th candidate road;
[0015] The processing unit, based on the positioning data and the second road data for each candidate road, performs a second map matching between the target object and each candidate road. To obtain the matching degree between the target object and each candidate road, it specifically executes the following steps:
[0016] Based on the location information of the i-th candidate road and the speed information of the target object, the first matching degree between the target object and the i-th candidate road is determined. The first matching degree refers to the matching degree between the movement angle of the target object and the road angle indicated by the location information of the i-th candidate road when the target object moves according to the speed information.
[0017] Based on the location information of the target object and the location information of the i-th candidate road, determine the second matching degree between the target object and the i-th candidate road. The second matching degree refers to the location matching degree between the target object and the i-th candidate road.
[0018] Based on the first matching degree and the second matching degree, determine the matching degree between the target object and the i-th candidate road.
[0019] In one implementation, the location information of the i-th candidate road includes the start-point and end-point information of the i-th candidate road; the speed information includes the speed direction and speed value; the processing unit, when determining the first matching degree between the target object and the i-th candidate road based on the location information of the i-th candidate road and the speed information of the target object, specifically performs the following steps:
[0020] Based on the starting point and ending point information, determine the road angle of the i-th candidate road;
[0021] The angle indicating the direction of velocity is determined as the motion angle of the target object;
[0022] Calculate the angle difference between the road angle of the i-th candidate road and the motion angle of the target object;
[0023] The angle difference and velocity value are mapped to a matching degree to obtain the first matching degree.
[0024] In one implementation, the processing unit, when determining the second matching degree between the target object and the i-th candidate road based on the location information of the target object and the location information of the i-th candidate road, specifically performs the following steps:
[0025] Based on the location information of the target object and the location information of the i-th candidate road, the accuracy distribution of the positioning data is modeled to obtain the accuracy distribution function;
[0026] Calculate the area within the road boundary of the i-th candidate road where the precision distribution function falls;
[0027] The area is determined as the second matching degree between the target object and the i-th candidate road.
[0028] In one implementation, when the second road data of the i-th candidate road is high-precision road data in high-precision map data, the i-th candidate road has a road boundary, and the location information of the i-th candidate road includes the location information of the boundary point of the i-th candidate road. The boundary point refers to the point that constitutes the shape of the road boundary of the i-th candidate road.
[0029] The processing unit is used to model the accuracy distribution of the positioning data based on the location information of the target object and the location information of the i-th candidate road. When obtaining the accuracy distribution function, it specifically performs the following steps:
[0030] The variance is determined based on the positioning accuracy information of the positioning data;
[0031] Based on the location information of the target object and the location information of the boundary points, determine the boundary projection distance from the target object to the road boundary of the i-th candidate road;
[0032] The mean value is determined based on the boundary projection distance;
[0033] Model the accuracy distribution function based on the mean and variance.
[0034] In one implementation, when the second road data of the i-th candidate road is determined based on the road width and the refined road data in the refined map data, the location information of the i-th candidate road includes the location information of the road shape points of the i-th candidate road, where the road shape points refer to the points that constitute the road shape of the i-th candidate road; the road width is determined based on the lane width and the number of lanes in the first road data of the i-th candidate road;
[0035] The processing unit is used to model the accuracy distribution of the positioning data based on the location information of the target object and the location information of the i-th candidate road. When obtaining the accuracy distribution function, it specifically performs the following steps:
[0036] The variance is determined based on the positioning accuracy information of the positioning data;
[0037] Based on the location information of the target object and the location information of the road shape points, determine the road projection distance from the target object to the i-th candidate road;
[0038] The mean value is determined based on the road width and the road projection distance;
[0039] Model the accuracy distribution function based on the mean and variance.
[0040] In one implementation, the processing unit, when calculating the area within the road boundary of the i-th candidate road where the precision distribution function falls, specifically performs the following steps:
[0041] Based on the precision distribution function, calculate the first area related to the left boundary projection distance of the target object; the left boundary projection distance refers to the projection distance from the target object to the left road boundary of the i-th candidate road;
[0042] Based on the precision distribution function, calculate the second area related to the right boundary projection distance of the target object; the right boundary projection distance refers to the projection distance from the target object to the right road boundary of the i-th candidate road;
[0043] If the target object is located within the road boundary, the first area and the second area are calculated according to the first rule to obtain the area within the road boundary of the i-th candidate road where the precision distribution function falls.
[0044] If the target object is located outside the road boundary, the first area and the second area are calculated according to the second rule to obtain the area within the road boundary of the i-th candidate road where the precision distribution function falls.
[0045] In one implementation, the first road data is the refined road data in the refined map data; any candidate road among the multiple candidate roads is represented as the i-th candidate road; the acquisition unit, when acquiring the second road data of the multiple candidate roads, specifically performs the following steps:
[0046] If the i-th candidate road has corresponding high-precision road data in the high-precision map data, then the high-precision road data of the i-th candidate road is determined as the second road data of the i-th candidate road.
[0047] If the i-th candidate road does not have corresponding high-precision road data in the high-precision map data, then the road width of the i-th candidate road is determined based on the lane width and the number of lanes in the first road data of the i-th candidate road; the second road data of the i-th candidate road is determined based on the road width of the i-th candidate road and the first road data of the i-th candidate road.
[0048] In one implementation, the processing unit is further configured to perform the following steps:
[0049] The validity of the match between the target object and each candidate road is verified based on the matching degree threshold.
[0050] If the matching degree between the target object and each candidate road passes the validity check, then the matching degree between the target object and each candidate road is normalized.
[0051] The processing unit, used to determine the target road where the target object is located among multiple candidate roads based on the matching degree between the target object and each candidate road, specifically performs the following steps:
[0052] Based on the normalized matching degree between the target object and each candidate road, the target road where the target object is located is determined from multiple candidate roads.
[0053] In one implementation, the matching degree threshold includes a first matching degree threshold and a second matching degree threshold, wherein the first matching degree threshold is less than the second matching degree threshold; the processing unit, when validating the matching degree between the target object and each candidate road based on the matching degree threshold, specifically performs the following steps:
[0054] The matching degree between the target object and each candidate road is compared with the first matching degree threshold;
[0055] If the number of matching degrees greater than or equal to the first matching degree threshold between the target object and each candidate road is the target number, then the matching degrees greater than or equal to the first matching degree threshold are compared with the second matching degree threshold.
[0056] If the matching degree is greater than or equal to the first matching degree threshold and greater than or equal to the second matching degree threshold, then the matching degree between the target object and each candidate road is determined to have passed the validity check.
[0057] In one implementation, the processing unit is further configured to perform the following steps:
[0058] High-precision road data detection was performed on multiple candidate roads;
[0059] If the detection results of high-precision road data detection indicate that at least one of the candidate roads among multiple candidate roads has high-precision road data, then the positioning data is subjected to positioning accuracy detection.
[0060] If the positioning accuracy detection result indicates that the positioning data meets the positioning accuracy conditions, then the process of obtaining the second road data of multiple candidate roads will be triggered.
[0061] In one implementation, the location data of the target object is calculated using target location rules; the processing unit, used for location accuracy detection of the location data, specifically performs the following steps:
[0062] The solution status of the positioning data is detected in the set of accurate solution statuses corresponding to the target positioning rule.
[0063] If the solution status of the positioning data is a precise solution status in the precise solution status set, then the positioning accuracy information of the positioning data is compared with the accuracy threshold.
[0064] If the positioning accuracy information is less than the accuracy threshold, a positioning accuracy detection result is generated, indicating that the positioning data meets the positioning accuracy conditions.
[0065] In one implementation, the location data is the location data of the target object at the current moment; the processing unit is used to perform a first map matching between the target object and each road based on the location data of the target object and the first road data of each road around the target object. When determining multiple candidate roads for the target object among each road, it is specifically used to perform the following steps:
[0066] Based on the location data and the first road data for each road, determine the distance between the target object and each road, as well as the angle between the target object and each road;
[0067] The observation probability of the target object at the current moment is determined based on the distance between the target object and each road, and the angle between the target object and each road.
[0068] Based on the connection relationship between the road corresponding to the target object in the previous time step and each road, determine the transition probability from the previous time step to the current time step;
[0069] Based on the observation probability and transition probability of the target object at the previous time step and the observation probability of the target object at the current time step, determine the matching degree between the target object and each road.
[0070] Candidate roads for the target object are determined based on the matching degree between the target object and each road.
[0071] Accordingly, embodiments of this application provide a computer device, which includes:
[0072] A processor is a tool for implementing computer programs.
[0073] A computer-readable storage medium storing a computer program adapted to be loaded by a processor and executed by the above-described data processing method.
[0074] Accordingly, embodiments of this application provide a computer-readable storage medium storing a computer program, which, when read and executed by a processor of a computer device, causes the computer device to perform the aforementioned data processing method.
[0075] Accordingly, this application provides a computer program product comprising a computer program stored in a computer-readable storage medium. A processor of a computer device reads the computer program from the computer-readable storage medium and executes the computer program, causing the computer device to perform the data processing method described above.
[0076] In this embodiment, based on the location data of the target object and the first road data (which is low-precision road data) of the roads surrounding the target object, a first map matching can be performed between the target object and the roads to determine multiple candidate roads for the target object from among the roads surrounding the target object. It can be seen that the first map matching is a low-precision map matching based on the location data and the low-precision road data, which can quickly determine the candidate roads where the target object may be located from among the roads surrounding the target object. Based on the location data of the target object and the second road data (which is high-precision road data) of the multiple candidate roads for the target object, a second map matching can be performed between the target object and each candidate road to obtain the matching degree between the target object and each candidate road. It can be seen that the second map matching is a high-precision map matching based on the location data and the high-precision road data, which can improve the matching accuracy between the object and the road, thereby accurately determining the road where the object is located based on the matching degree. Attached Figure Description
[0077] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0078] Figure 1 This is a schematic diagram of the architecture of the execution entity of a data processing method provided in an embodiment of this application;
[0079] Figure 2 This is a schematic diagram of the structure of an electronic map platform provided in an embodiment of this application;
[0080] Figure 3 This is a flowchart illustrating a data processing method provided in an embodiment of this application;
[0081] Figure 4 This is a schematic diagram illustrating the mapping relationship between standard precision road data and high precision road data provided in an embodiment of this application;
[0082] Figure 5 This is a schematic diagram of the matching result of a coarse map matching provided in an embodiment of this application;
[0083] Figure 6 This is a flowchart illustrating another data processing method provided in an embodiment of this application;
[0084] Figure 7 This application provides a road diagram representing high-precision road data and standard-precision road data.
[0085] Figure 8 This is a schematic diagram illustrating the mapping relationship between angular velocity and a first degree of matching provided in an embodiment of this application;
[0086] Figure 9 This is a schematic diagram of the projection of a target object onto a road boundary provided in an embodiment of this application;
[0087] Figure 10 This is a schematic diagram illustrating the calculation of the second matching degree between a target object and a candidate road, provided in an embodiment of this application.
[0088] Figure 11 This is a schematic diagram of the structure of a data processing device provided in an embodiment of this application;
[0089] Figure 12 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation
[0090] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0091] In order to better understand the technical solutions provided in the embodiments of this application, the technical terms involved in the embodiments of this application will be introduced first.
[0092] I. Map Data:
[0093] Map data refers to data containing map information from electronic maps. It is digital cartographic data collected through various channels and methods for electronic mapmaking. Electronic maps, also known as digital maps, are maps stored and viewed digitally using computer technology. They are maps generated by computer equipment and are screen maps based on digital cartography technology; they are visualized physical maps. Map data can be categorized based on its accuracy. It can include SD (Standard Definition) map data and HD (High Definition) map data. High Definition map data has higher accuracy than Standard Definition map data and contains richer and more detailed map information.
[0094] Map data can include road data, which refers to data containing road information. Road data can be categorized by precision: SD road data (standard precision road data, or ordinary road data) and HD road data (high precision road data). Standard precision road data refers to road data within standard precision map data, while high precision road data refers to road data within high precision map data. High precision road data has a higher precision than standard precision road data. Standard precision road data records basic road attributes, such as road length, number of lanes, direction, and topology. Compared to standard precision road data, high precision road data contains richer and more detailed road information. For example, high precision road data may record road boundary information, lane line equations / crosspoint coordinates, lane type, lane speed limit, lane marking type, utility pole coordinates, road sign locations, camera locations, and traffic light locations.
[0095] Between standard precision road data and high precision road data, there is also lane-level data. Lane-level data can be considered as a type of data that records more road information than standard precision map data, but does not meet the standards of high precision road data. Compared to standard precision road data, lane-level data records road information including lane-level information such as lane line equations / crosspoint coordinates, lane type, lane speed limit, lane marking type, and lane topology information.
[0096] II. Location data:
[0097] Location data refers to data containing location information, which may include location coordinates and velocity information. Location coordinates may include absolute position coordinates (e.g., latitude and longitude coordinates) or relative position coordinates (e.g., three-dimensional coordinates relative to the geocentric coordinate system). Velocity information may include velocity value (i.e., velocity magnitude) and velocity direction.
[0098] Positioning data can be obtained based on a positioning system. A positioning system refers to GNSS (Global Navigation Satellite System), a space-based radio navigation and positioning system that provides all-weather positioning coordinates, velocity information, and time information at any location on the Earth's surface or in near-Earth space. It includes one or more satellite constellations and the augmentation systems required to support specific tasks. Positioning systems can include the BeiDou Navigation Satellite System (BDS), the Global Positioning System (GPS), GLONASS, and the Galileo Satellite Navigation System, among others.
[0099] III. Map Matching:
[0100] Map matching refers to the technique of matching roads to objects on a map. The road matched to an object refers to the road on the map where the object is located. In map matching technology, based on the object's location data and the road data of each road, a match is made between the object and the road to determine the degree of matching between the object and the road. The degree of matching between the object and the road can be used to indicate the probability that the object is located on a road. Based on the degree of matching between the object and each road, the road with the highest degree of matching (i.e., the highest probability) can be determined as the road where the object is located.
[0101] An object refers to a user of an electronic map platform, such as a user, a vehicle, etc.; in an electronic map, an object is abstracted as a location point. An electronic map platform is a platform that provides map services based on electronic maps. Map services may include, for example, visualization of electronic maps, navigation, location queries, and real-time traffic updates. Map matching technology can be used in electronic map platforms to determine the road location of objects using the platform in real time, and the platform can then provide map services based on that road location.
[0102] Based on the above technical terminology, map matching can utilize low-precision positioning data and high-precision road data to perform low-precision map matching between objects and roads. However, low-precision map matching is prone to errors in scenarios with parallel roads (e.g., main and auxiliary roads) or cannot determine the specific location with a high probability (i.e., cannot accurately determine the road where the object is located). Therefore, this application provides a data processing method that can utilize the positioning data of an object and the high-precision road data of each road surrounding the object to perform low-precision map matching between the object and roads, quickly identifying candidate roads where the target object might be located among the roads surrounding the object. When there is more than one candidate road, and high-precision positioning data exists, and at least one candidate road has high-precision road data, high-precision map matching can be performed between the object and the candidate roads using the high-precision positioning data of the object and the high-precision road data of the candidate roads. This yields the matching degree between the object and the candidate roads, and the road where the object is located can be determined from among the candidate roads based on the matching degree between the object and each candidate road.
[0103] As can be seen, this application embodiment, based on high-precision positioning data and high-precision road data, performs high-precision map matching between objects and candidate roads, which can improve the matching accuracy between objects and roads. In particular, it can perform more accurate matching calculations in parallel road scenarios. Furthermore, this application embodiment only requires that there be at least one candidate road covered by high-precision road data in the current area where the object is located. For the remaining candidate roads not covered by high-precision road data, the standard-precision road data of the candidate roads can be appropriately converted to make them more accurate standard-precision road data for map matching. This allows this application embodiment to work without requiring the object to be completely covered by high-precision map data, which can increase the effective scenarios and improve the recall capability.
[0104] It should be noted that the data collection and processing in this application embodiment (e.g., the collection and processing of object location data) should be strictly in accordance with the requirements of relevant laws and regulations, obtaining the informed consent or separate consent of the personal information subject (or having a legal basis), and subsequent data use and processing should be carried out within the scope of laws and regulations and the authorization of the personal information subject.
[0105] Next, we will introduce the entity responsible for executing the data processing method.
[0106] The data processing method provided in this application embodiment can be executed by a computer device. For example... Figure 1 As shown, the computer equipment may include a map data module, a positioning module, a coarse map matching module, and a fine map matching module. Specifically: ① The positioning module can be used to acquire the positioning data of an object. ② The map data module can be used to acquire local map data within a certain range around the object's current location based on the object's positioning data. The local map data may include local standard-refinement map data and local high-refinement map data. The standard-refinement map data may include standard-refinement road data within a certain range around the object's current location, and the high-refinement map data may include high-refinement road data within a certain range around the object's current location. In addition to standard-refinement and high-refinement road data, it may also include the mapping relationship between standard-refinement and high-refinement road data (SD-HD mapping relationship). This mapping relationship can be used to express whether there is corresponding high-refinement road data for the current road's standard-refinement road data, and what high-refinement road data is available. ③ The coarse map matching module can be used to perform low-precision map matching between the object and the roads based on the object's positioning data and the standard-refinement road data of each road around the object, quickly determining the candidate roads where the object may be located. ④ The map matching module can be used to perform high-precision map matching between the object and the candidate roads based on the object's high-precision positioning data and the object's candidate roads, to obtain the matching degree between the object and each candidate road, and to determine the road where the object is located among the candidate roads based on the matching degree between the object and each candidate road.
[0107] The computer device can be a terminal, which may run an electronic map platform. This electronic map platform may include the aforementioned map data module, positioning module, coarse map matching module, and fine map matching module. Alternatively, the computer device can be a server, which may run an electronic map platform. This electronic map platform may include the aforementioned map data module, positioning module, coarse map matching module, and fine map matching module. Furthermore, the computer device can be an electronic map platform composed of a terminal and a server. The terminal may include the aforementioned positioning module, and the server may include the aforementioned map data module, coarse map matching module, and fine map matching module.
[0108] The following is an introduction to an electronic map platform consisting of terminals and servers. For example... Figure 2 As shown, the electronic map platform may include a terminal 201 and a server 202. The terminal 201 and the server 202 may establish a direct communication connection through wired communication, or the terminal 201 and the server 202 may establish an indirect communication connection through wireless communication. This application embodiment does not limit the connection method between the terminal 201 and the server 202.
[0109] For terminal 201, a front-end of an electronic map platform may be running in terminal 201. The front-end of the electronic map platform may include, but is not limited to, any of the following: electronic map application, electronic map applet, electronic map software, and electronic map web (World Wide Web) application. Figure 2 The electronic platform shown is illustrated using the example of a vehicle-mounted terminal 201. The terminal can also be a smartphone, tablet, laptop, desktop computer, smart voice interaction device, smartwatch, smart home appliance, or aircraft running an electronic map platform, but it is not limited to these.
[0110] Server 202 can be the backend of an electronic map platform. Server 202 can be a single physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms.
[0111] In the electronic map platform composed of terminal 201 and server 202, the data processing method may include the following steps: when the map service provided by the front end of the electronic map platform involves map matching, the front end of the electronic map platform can send the location data of the object at the current moment to the server 202 through terminal 201; the server 202 can determine the road where the object is at the current moment based on the data processing method provided in this application embodiment, generate a matching result based on the road where the object is at the current moment, and send the matching result to terminal 201; the front end of the electronic map platform in terminal 201 can provide map services based on the matching result (i.e., the road where the object is at the current moment).
[0112] It is understandable that the map services provided at the front end of the electronic map platform involve map matching at every moment. The above data processing method can be used to send the object's location data at the corresponding moment, perform map matching to determine the road where the object is located at the corresponding moment, and provide map services based on the road where the object is located at the corresponding moment. In this way, the accuracy of the matching between the object and the road can be improved during the process of providing map services, thereby improving the accuracy of the map service and providing more accurate map services.
[0113] The electronic map platform described in this application is intended to more clearly illustrate the technical solutions of this application and does not constitute a limitation on the technical solutions provided in this application. As those skilled in the art will know, with the evolution of system architecture and the emergence of new business scenarios, the technical solutions provided in this application are also applicable to similar technical problems.
[0114] Next, we will introduce the application scenarios of data processing methods.
[0115] The data processing method can be applied to in-vehicle navigation scenarios in the field of autonomous driving, or to in-vehicle navigation scenarios in the field of active driving. Specifically, it can be applied to yaw recognition scenarios, voice broadcast scenarios, and navigation route calculation scenarios in in-vehicle navigation, etc.
[0116] In this context, autonomous driving, or vehicle-driven driving, refers to a vehicle being controlled by an onboard autonomous driving system; active driving, or human-driven driving, refers to a vehicle being controlled by a human driver. In the yaw detection scenario, after obtaining the actual road location of the object at the current moment based on the data processing method provided in this application embodiment, the actual road location of the object at the current moment can be compared with the road planned for the object in the navigation route at the current moment. If the actual road and the planned road are inconsistent, a yaw detection result can be generated, and further yaw prompts can be provided and the route can be replanned. If the actual road and the planned road are consistent, a no-yaw detection result can be generated. In the voice broadcast scenario, after obtaining the road location of the object at the current moment based on the data processing method provided in this application embodiment, the road location of the object at the current moment can be broadcast. Specifically, when the name of the road location of the object at the current moment is inconsistent with the name of the road location of the object at the previous moment, the name of the road location of the object at the current moment can be broadcast. In navigation route calculation scenarios, after obtaining the road where the object is located at the current moment based on the data processing method provided in the embodiments of this application, route planning can be performed on the object based on the road where the object is located at the current moment and the destination location information to obtain the route from the road where the object is located at the current moment to the terminal.
[0117] When the data processing method provided in this application is applied to the aforementioned in-vehicle navigation scenarios (e.g., yaw recognition scenarios, voice broadcast scenarios, and navigation route calculation scenarios), based on the improved accuracy of matching between objects and roads, corresponding adjustments to the navigation and positioning experience can be made to the aforementioned in-vehicle navigation scenarios, thereby improving the navigation accuracy and navigation experience. With the continuous increase in the number of cars, the application of map navigation is becoming increasingly widespread. In the field of map navigation, accurate location positioning is crucial, providing accurate and reasonable driving guidance, reducing the cost of wrong turns, and bringing a more comfortable driving experience.
[0118] The technical details of the data processing methods are described below.
[0119] This application provides a data processing method, which includes: a first map matching process (i.e., a coarse map matching process) and conditions for performing a second map matching (i.e., a fine map matching process). Figure 3 As shown, the data processing method may include, but is not limited to, the following steps S301-S304:
[0120] S301, based on the location data of the target object and the first road data of each road around the target object, perform a first map matching between the target object and each road, and determine multiple candidate roads of the target object among each road.
[0121] In step S301, the location data of the target object refers to the first location data of the target object at the current moment, specifically the data containing the location information of the target object at the current moment.
[0122] The first positioning data can be obtained based on positioning rules (i.e., positioning technology). For example, the first positioning data can be GNSS positioning data, PPP (Precise Point Positioning) positioning data, or RTK (Real-time kinematic) positioning data, etc. GNSS positioning data refers to positioning data obtained based on GNSS positioning technology, PPP positioning data refers to positioning data obtained based on PPP positioning technology, and RTK positioning data refers to positioning data obtained based on RTK positioning technology. RTK positioning technology, also known as carrier phase differential technology, is a method for real-time processing of carrier phase observations from two measurement stations. It transmits the carrier phase data collected by the base station to the user receiver for differential calculation of coordinates. This is a new and commonly used satellite positioning measurement method. Previous static, rapid static, and dynamic measurements all required post-processing to achieve centimeter-level accuracy, while RTK can achieve centimeter-level positioning accuracy in real-time in the field. It employs a dynamic real-time carrier phase differential method, representing a significant milestone in GPS applications. Its emergence has brought new measurement principles and methods to engineering layout, topographic mapping, and various control surveys, greatly improving operational efficiency.
[0123] Alternatively, the first positioning data can be fused positioning data obtained by fusing positioning data acquired based on positioning rules (i.e., positioning technology) and positioning data acquired based on sensors. For example, GNSS positioning data and sensor signals can be fused to obtain the final trajectory estimation point, and the positioning data of the estimation point can be determined as the first positioning data.
[0124] The positioning data of the target object may include the positioning coordinates of the target object, the velocity information of the target object (including velocity value (i.e., velocity magnitude) and velocity direction), and the current positioning time (i.e., the current moment).
[0125] Before performing the first map matching, it is also necessary to obtain the first road data of each road around the target object. The first road data is the standard-precision road data in the indicator precision map data. Specifically, based on the positioning data of the target object, local map data of a certain range around the current location of the target object can be obtained. The local map data can include local standard-precision map data and local high-precision map data. The standard-precision map data can include standard-precision road data of roads within a certain range around the current location of the target object, and the high-precision map data can include high-precision road data of roads within a certain range around the current location of the target object. Here, the certain range can refer to a circular range or a rectangular range centered on the target object, etc., and this application embodiment does not limit this.
[0126] Standard-precision road data can include road length, number of lanes / lane width, road connectivity, road shape point representation, road attributes (e.g., elevated roads, ramps, main / auxiliary roads, and tunnels), and road classification (e.g., expressways, provincial roads, and rural roads). High-precision road data has a more accurate and richer representation of road elements, including the extent of the road surface (i.e., road boundary information), the position of each lane, lane line type, lane line color, lane arrows, and other elements. In other words, compared to standard-precision road data, high-precision road data has road boundary information, making it easy to calculate road width, while standard-precision road data lacks road boundary information, making it difficult to obtain road width.
[0127] In addition to standard and high-precision road data, the mapping relationship between standard and high-precision road data (SD-HD mapping relationship) can also be obtained. The mapping relationship can be used to express whether there is corresponding high-precision road data for the current road, and what high-precision road data is available.
[0128] The mapping relationship between standard precision road data and high precision road data is as follows: Figure 4 As shown, standard-precision road data abstracts roads into line segments (roads represented by standard-precision road data can be called Links), while high-precision road data can accurately express the surface information of roads (roads represented by high-precision road data can be called LaneGroups, which can include one or more lanes). Figure 4 In this context, the mapping relationships can include: Link1-(LaneGroup1, LaneGroup2), Link2-(LaneGroup4, LaneGroup6), and Link3-(LaneGroup3, LaneGroup5). LaneGroup1 can include Lane1, Lane2, and Lane3; LaneGroup2 can include Lane4, Lane5, and Lane6; LaneGroup3 can include Lane7; LaneGroup4 can include Lane8, Lane9, and Lane10; LaneGroup5 can include Lane11; and LaneGroup6 can include Lane12, Lane13, and Lane14.
[0129] In step S301, the first map matching refers to coarse map matching, which is a low-precision map matching. The process of the first map matching may include: ① determining the distance between the target object and each road, and the angle between the target object and each road, based on the positioning data and the first road data of each road; ② determining the observation probability of the target object at the current time based on the distance between the target object and each road, and the angle between the target object and each road; ③ determining the transition probability from the previous time to the current time based on the connectivity between the road corresponding to the target object at the previous time and each road; ④ determining the matching degree between the target object and each road based on the observation probability, transition probability, and observation probability of the target object at the current time; ⑤ determining candidate roads for the target object based on the matching degree between the target object and each road.
[0130] During the first map matching process, any road among the roads surrounding the target object can be represented as a reference road. Taking the reference road as an example, step ③, which determines the transition probability from the previous moment to the current moment, can include: if the road corresponding to the previous moment is not connected to the reference road, the target transition probability (which can be a probability preset based on empirical values) can be determined as the transition probability from the previous moment to the current moment; if the road corresponding to the previous moment is connected to the reference road, the transition probability from the previous moment to the current moment can be determined based on the difference between the angle between the connecting road and the angle detected by the sensor of the target object.
[0131] In the first map matching process, after determining the matching degree between the target object and each road in step ⑤, the matching degree between the target object and each road refers to the matching probability between the target object and each road. Roads with a matching degree greater than a preset threshold can be identified as candidate roads of the target object.
[0132] The first map matching process described above is based on a Hidden Markov Model (HMM). The observation probability (or emission probability) can be defined by the distance and angle between the target object and each road. The closer the target object is to a road, the higher the probability; the farther the target object is from a road, the lower the probability. Similarly, the larger the angle between the target object and a road, the lower the probability; the smaller the angle, the higher the probability. The transition probability can consider the connectivity between roads and the degree of agreement between the angles of the connecting roads and the angle changes detected by the sensor. The closer the angles of the connecting roads are to the angles detected by the sensor, the higher the transition probability; conversely, the closer the angles are to the angles detected by the sensor, the lower the transition probability. With the observation probability and transition probability, the Viterbi algorithm can be used to obtain the matching probability between the target object and the road. The matching result of the first map matching can be represented as `candidates`, where `candidates.size()` represents the number of possible candidate roads, and `candidate[i].prob` represents the matching probability between the target object and the i-th candidate road (i.e., the matching degree between the target object and the i-th candidate road obtained by the first map matching).
[0133] An example of the matching results from the first map matching process is as follows: Figure 5 As shown, at time t1, it can be determined that the target object is located on candidate road 1. At this time, there is only one candidate road, and the matching probability of the candidate road is 1.0. Then at time t2, a parallel road fork is encountered, and the target object is located between the two parallel roads. The map matching shows two candidate roads. One candidate road (candidate road 2) has a matching probability of 0.6 (candidate[2].prob=0.6), and the other candidate road (candidate road 1) has a matching probability of 0.4 (candidate[2].prob=0.4).
[0134] S302, acquire the second road data of multiple candidate roads, where the data precision of the second road data of the same candidate road is higher than that of its first road data.
[0135] S303, based on the positioning data and the second road data of each candidate road, perform a second map matching between the target object and each candidate road to obtain the matching degree between the target object and each candidate road; the matching degree between the target object and each candidate road is used to indicate the probability that the target object is located in the corresponding candidate road.
[0136] Steps S302-S303 involve the process of second map matching, which can be triggered when matching conditions are met. The matching conditions may include the following (1)-(3):
[0137] (1) The number of candidate roads obtained by the first map matching is greater than one;
[0138] (2) Among all the candidate roads of the target object, at least one candidate road has high-precision map data;
[0139] (3) The detection results of the positioning accuracy test on the positioning data indicate that the positioning data of the target object meets the positioning accuracy conditions.
[0140] For matching condition (3), the process of performing positioning accuracy detection on the positioning data may include: for the positioning data of the target object obtained by solving the target positioning rule, the solution status of the positioning data can be detected in the precise solution status set corresponding to the target positioning rule; if the solution status of the positioning data is a precise solution status in the precise solution status set, the positioning accuracy information of the positioning data can be compared with the accuracy threshold; if the positioning accuracy information is less than the accuracy threshold, a positioning accuracy detection result can be generated, and the positioning accuracy detection result can indicate that the positioning data meets the positioning accuracy condition. If the solution status of the positioning data is not a precise solution status in the precise solution status set, a positioning accuracy detection result can be generated, and the positioning accuracy detection result can indicate that the positioning data does not meet the positioning accuracy condition; if the positioning accuracy information is greater than or equal to the accuracy threshold, a positioning accuracy detection result can be generated, and the positioning accuracy detection result can indicate that the positioning data does not meet the positioning accuracy condition.
[0141] For example, the location data of the target object is calculated using RTK positioning rules. RTK positioning rules include multiple calculation states, each with different levels of accuracy. For instance, the calculation states included in RTK positioning rules can be fixed solution, floating solution, single-point solution, pseudorange solution, no solution, and known. Fixed solution can achieve centimeter-level accuracy, floating solution can generally achieve accuracy within 10 centimeters, single-point solution accuracy is often around several meters, pseudorange solution accuracy is similar to single-point solution accuracy, no solution accuracy is very low, and known is incorrectly set with unknown accuracy. The positioning accuracy information of the positioning data can be represented using CEP (Circular Error Probable). It is defined as the probability of falling within a circle of radius r centered on the target. It is generally represented by CEPXX, where XX is a specific number representing the probability. For example, CEP95 is 5m, meaning there is a 95% probability that the actual positioning point is within a circle of radius 5m centered on the given positioning point.
[0142] The set of accurate solution states may include, for example, fixed solution, floating-point solution, and pseudorange solution. If the solution state of the positioning data is any one of fixed solution, floating-point solution, and pseudorange solution, and the positioning accuracy information of the positioning data is less than the accuracy threshold th1 (e.g., 3.0m or 5.0m), then it can be determined that the positioning data meets the positioning accuracy condition.
[0143] Alternatively, for matching condition (3), the process of performing positioning accuracy detection on the positioning data may include: obtaining the positioning accuracy information of the electronic map platform; if the positioning accuracy information of the electronic map platform is less than the accuracy threshold, a positioning accuracy detection result can be generated, which can indicate that the positioning data meets the positioning accuracy condition; if the positioning accuracy information of the electronic map platform is greater than or equal to the accuracy threshold, a positioning accuracy detection result can be generated, which can indicate that the positioning data does not meet the positioning accuracy condition. The positioning accuracy information of the electronic map platform refers to the positioning error tested by the electronic map platform. The methods for obtaining the positioning accuracy information of the electronic map platform may include: using a large number of test positioning points, the positioning data of which are known and can be called marked positioning data; using the electronic map platform to obtain the actual positioning data of each test positioning point, and determining the positioning error of each test positioning point based on the difference between the actual positioning data and the marked positioning data; and determining the positioning accuracy information of the electronic map platform based on the positioning error of each test positioning point, for example, the positioning accuracy information of the electronic map platform may be the average value of the positioning errors of each test positioning point. It can be seen that by restricting the matching condition (1), the positioning data used for the second map matching can be high-precision positioning data.
[0144] If all three matching conditions are met, the second map matching can be triggered; otherwise, the second map matching will not be performed.
[0145] Here is an introduction to the matching conditions: If the number of candidate roads obtained by the first map matching is greater than one, high-precision road data detection can be performed on multiple candidate roads; if the detection result of the high-precision road data detection indicates that at least one of the multiple candidate roads has high-precision road data, positioning accuracy detection can be performed on the positioning data; if the detection result of the positioning accuracy detection indicates that the positioning data meets the positioning accuracy condition, step S302 (i.e., obtaining the second road data of multiple candidate roads) can be triggered, and step S304 (i.e., second map matching) can be triggered.
[0146] When the matching conditions are met, in step S302, second road data for multiple candidate roads can be obtained. The data precision of the second road data for the same candidate road is higher than that of its first road data. Specifically, the process of obtaining second road data for multiple candidate roads can include: any candidate road among the multiple candidate roads can be represented as the i-th candidate road. Taking the i-th candidate road as an example, if the i-th candidate road has corresponding high-precision road data in the high-precision map data, then the high-precision road data of the i-th candidate road can be determined as the second road data of the i-th candidate road; if the i-th candidate road does not have corresponding high-precision road data in the high-precision map data, then the first road data (i.e., standard-precision road data) of the i-th candidate road can be converted to obtain road data with higher precision than the first road data, which can then be used as the second road data of the i-th candidate road.
[0147] This section introduces the data conversion method. As described earlier, high-precision road data represents roads with road surfaces and boundary information, from which road width can be calculated. Standard-precision road data, on the other hand, represents roads as line segments and does not possess road width. Therefore, data conversion refers to transforming standard-precision road data (lacking road width) into standard-precision road data (possessing road width). The data conversion process may include: determining the road width of the i-th candidate road based on the lane width and the number of lanes in the first road data of the i-th candidate road; and determining the second road data of the i-th candidate road based on the road width of the i-th candidate road and the first road data (i.e., standard-precision road data) of the i-th candidate road. As can be seen, this application embodiment only requires that there is one candidate road covered by high-precision road data in the current area where the object is located. For the other candidate roads not covered by high-precision road data, the standard-precision road data of the candidate roads can be converted to have road width and become standard-precision road data with higher accuracy for second map matching. This makes this application embodiment not require the object to be completely covered by high-precision map data to work, which can increase the effective scenarios and improve the recall capability.
[0148] When the matching conditions are met, in step S303, the second map matching refers to fine-grained map matching, which is high-precision map matching. The positioning data used in the second map matching process refers to the target object's second positioning data at the current moment. The second positioning data is positioning data that meets the positioning accuracy conditions. The first positioning data may or may not meet the positioning accuracy conditions. The first and second positioning data can be the same positioning data, or they can be different positioning data; for example, the first positioning data can be GNSS positioning data, and the second positioning data can be RTK positioning data that meets the positioning accuracy conditions, or both the first and second positioning data can be RTK positioning data that meets the positioning accuracy conditions.
[0149] Taking the i-th candidate road as an example, the second map matching process may include: the positioning data may include the target object's position information and speed information; the second road data for the i-th candidate road may include the position information of the i-th candidate road; based on the position information of the i-th candidate road and the speed information of the target object, a first matching degree between the target object and the i-th candidate road can be determined, where the first matching degree refers to the matching degree between the target object's movement angle and the road angle indicated by the position information of the i-th candidate road when the target object moves according to the speed information; based on the position information of the target object and the position information of the i-th candidate road, a second matching degree between the target object and the i-th candidate road can be determined, where the second matching degree refers to the position matching degree between the target object and the i-th candidate road; based on the first matching degree and the second matching degree, the matching degree between the target object and the i-th candidate road can be determined.
[0150] Next, the cases where the matching conditions are not met will be introduced: When matching condition (1) is not met, that is, when the number of candidate roads obtained by the first map matching is one, the second map matching is not performed, and the candidate road obtained by the first map matching can be determined as the target road where the target object is located. When matching condition (1) is met but matching condition (2) is not met, that is, when the number of candidate roads obtained by the first map matching is greater than one, and there is no high-precision road data for each candidate road of the target object, the second map matching is not performed, and the candidate road with the highest matching degree between the target object obtained by the first map matching and each candidate road can be determined as the target road where the target object is located. When matching condition (1) is met, matching condition (2) is met, and matching condition (3) is not met, that is, when the number of candidate roads obtained by the first map matching is greater than one, and at least one of the candidate roads of the target object has high-precision map data, and the positioning data does not meet the positioning accuracy condition, the second map matching is not performed. The candidate road with the highest matching degree can be determined as the target road where the target object is located based on the matching degree between the target object obtained by the first map matching and each candidate road.
[0151] S304, Based on the matching degree between the target object and each candidate road, determine the target road where the target object is located among multiple candidate roads.
[0152] In step S304, the matching degree between the target object obtained by the second map matching and each candidate road can be used to indicate the probability that the target object is located in the corresponding candidate road. The process of determining the target road among multiple candidate roads based on the matching degree between the target object and each candidate road may include: determining the candidate road with the highest matching degree as the target road where the target object is located.
[0153] In this embodiment, the first map matching has low matching accuracy but high matching efficiency. Through low-precision coarse map matching (i.e., the first map matching), candidate roads that might match the target object can be quickly determined within a certain range around the target object. Through high-precision fine map matching (i.e., the second map matching), the matching accuracy between the target object and candidate roads can be improved. Furthermore, this embodiment sets matching conditions for fine map matching. When the matching conditions are met, fine map matching is triggered. Meeting the matching conditions ensures that the positioning data used for fine map matching is high-precision positioning data, and the road data is road data with higher accuracy than the standard fine road data, thereby guaranteeing the matching accuracy of fine map matching.
[0154] This application provides a data processing method, which includes: a second map matching process (i.e., a fine-grained map matching process) and a validity check of the matching results. For example... Figure 6 As shown, the data processing method may include, but is not limited to, the following steps S601-S606:
[0155] S601, based on the location data of the target object and the first road data of each road around the target object, perform a first map matching between the target object and each road, and determine multiple candidate roads of the target object among each road.
[0156] In this embodiment of the application, the execution process of step S601 is the same as described above. Figure 3 The execution process of step S301 in the illustrated embodiment is the same; please refer to the above for details. Figure 3 The relevant description of step S301 in the illustrated embodiment will not be repeated here.
[0157] S602, acquire the second road data of multiple candidate roads, where the data precision of the second road data of the same candidate road is higher than that of its first road data.
[0158] In this embodiment of the application, the execution process of step S602 is the same as described above. Figure 3 The execution process of step S302 in the illustrated embodiment is the same; please refer to the above for details. Figure 3 The relevant description of step S302 in the illustrated embodiment will not be repeated here.
[0159] S603, based on the position information of the candidate road and the speed information of the target object, determine the first matching degree between the target object and the candidate road. The first matching degree refers to the matching degree between the movement angle of the target object and the road angle indicated by the position information of the candidate road when the target object moves according to the speed information.
[0160] In step S603, the first matching degree between the target object and the candidate road refers to the angle-velocity matching degree, which is related to the angle difference between the target object's motion angle and the candidate road's road angle, as well as the target object's motion speed. Specifically, taking the i-th candidate road as an example, the position information of the i-th candidate road may include the starting point information and the ending point information; the speed information may include the speed direction and speed value (i.e., speed magnitude). Based on this, the process of determining the first matching degree between the target object and the i-th candidate road may include: ① determining the road angle of the i-th candidate road based on the starting point information and the ending point information; ② determining the angle indicated by the speed direction as the target object's motion angle; ③ calculating the angle difference between the i-th candidate road's road angle and the target object's motion angle; ④ mapping the angle difference and the speed value to obtain the first matching degree.
[0161] In step ① of the above-mentioned process for determining the first matching degree, for candidate roads with high-precision road data (i.e., the second road data of the candidate road is determined based on high-precision map data), the candidate road has road boundaries, and the shape of the road boundary can be represented by boundary point. In this case, the starting point information of the i-th candidate road can include the position information of the starting point among the boundary point, and the ending point information of the i-th candidate road can include the position information of the ending point among the boundary point. The road angle of the i-th candidate road can be determined based on the position information of the starting point and the ending point located on the same side boundary. For example, such as Figure 7 As shown, the road boundaries of candidate roads with high-precision road data are represented by boundary point A, boundary point B, boundary point C, and boundary point D. Boundary point A and boundary point C can be used as the starting point, and boundary point B and boundary point D can be used as the ending point. The road angle of the i-th candidate road can be determined based on the position information of the starting point (boundary point A) and the ending point (boundary point B) of the same side boundary (e.g., the right side boundary).
[0162] For candidate roads with refined road data (i.e., the second road data of the candidate road is obtained by data conversion based on the refined map), the candidate road is abstracted as a line segment, and can be represented by road shape points. In this case, the starting point information of the i-th candidate road can include the position information of the starting point among the road shape points, and the ending point information of the i-th candidate road can include the position information of the ending point among the road shape points. Based on the position information of the starting point and the position information of the ending point, the road angle of the i-th candidate road can be determined. For example, such as Figure 7 As shown, candidate roads with accurate road data can be represented by road shape points A and B. The road angle of the i-th candidate road can be determined based on the location information of the starting point (road shape point A) and the ending point (road shape point B).
[0163] For step ③ in the process of determining the first matching degree mentioned above, please refer to the following formula 1:
[0164] angleDiff=calaAziDiff(RTK.angle,candidata[i].angle) Formula 1
[0165] In Formula 1 above, angleDiff represents the angle difference, RTK.angle represents the motion angle of the target object, candidata[i].angle represents the road angle of the i-th candidate road, and calaAziDiff(*,*) is a method for calculating the angle difference. The result is a value in the range [-180, 180). A positive number indicates that RTK.angle is in the clockwise direction of candidata[i].angle, and a negative number indicates that it is in the counterclockwise direction.
[0166] For step ④ in the process of determining the first matching degree mentioned above, please refer to the following formula 2:
[0167] candidata[i].wAngleSpd=f(angleDiff,RTK.spd) Formula 2
[0168] In Formula 2 above, candidata[i].wAngleSpd represents the first matching degree, angleDiff represents the angle difference, RTK.spd represents the velocity value, and f(*,*) represents the mapping function between the angle difference and the velocity value.
[0169] One possible mapping effect of the mapping function f(*,*) on angle difference and velocity values is as follows: Figure 8 As shown, considering that the larger the angle between the target object and the candidate road, the lower the probability that the target object is located in the candidate road, and the smaller the matching probability (i.e., the first matching degree), the larger the angle between the target object and the candidate road, the lower the probability that the target object is located in the candidate road, and the smaller the matching probability (i.e., the first matching degree). Based on the above considerations, the first matching degree candidata[i].wAngleSpd = f(angleDiff,RTK.spd) needs to satisfy the following conditions: the smaller the angle difference and the smaller the speed, the larger the matching probability (i.e., the first matching degree), because the target object is more likely to change lanes in the candidate road; the larger the angle difference and the larger the speed, the smaller the matching probability (i.e., the smaller the first matching degree). Considering the actual situation, when ABS(angleDiff)>90, the target object no longer has the possibility of being located in the i-th candidate road, f(angleDiff,RTK.spd) = 0.0, and ABS(*) means taking the absolute value.
[0170] Alternatively, the mapping function f(*,*) can be found in Equations 3 and 4 below:
[0171]
[0172]
[0173] In formulas 3 and 4 above, λ and It is an adjustable parameter.
[0174] As can be seen, in step S603, when determining the first matching degree, the angle difference between the movement angle of the target object and the road angle of the candidate road is considered. The angle difference can reflect whether the target object is moving in the direction of the candidate road. In addition to considering the angle difference, the angle difference is also considered in conjunction with the movement speed of the target object. This is because under the same angle difference, different speeds may correspond to different movement behaviors. For example, it may be the behavior of changing lanes in the road, but the target object is still located in the road. Or, it may not be moving in the current road, but moving in other roads. Therefore, by comprehensively considering the angle difference and the movement speed, the accuracy of the first matching degree can be improved.
[0175] S604, Based on the location information of the target object and the location information of the candidate roads, determine the second matching degree between the target object and the candidate roads. The second matching degree refers to the location matching degree between the target object and the candidate roads.
[0176] In step S604, the second matching degree between the target object and the candidate road is related to the positional relationship between the target object and the candidate road. Specifically, taking the i-th candidate road as an example, the process of determining the second matching degree may include: ① modeling the accuracy distribution of the positioning data based on the location information of the target object and the location information of the i-th candidate road to obtain an accuracy distribution function; ② calculating the area within the road boundary range of the i-th candidate road where the accuracy distribution function falls; ③ determining the area as the second matching degree between the target object and the i-th candidate road.
[0177] In step ① of the process for determining the second matching degree, if the second road data for the i-th candidate road is high-precision road data from a high-precision map, the i-th candidate road has a road boundary. The location information of the i-th candidate road can include the location information of the boundary point of the candidate road, where the boundary point refers to the point that constitutes the shape of the road boundary. In this case, the process of modeling the accuracy distribution of the positioning data in step ① can include: determining the variance based on the positioning accuracy information of the positioning data; determining the boundary projection distance from the target object to the road boundary of the i-th candidate road based on the location information of the target object and the location information of the boundary point; determining the mean based on the boundary projection distance; and modeling the accuracy distribution function based on the mean and variance.
[0178] In detail, if the i-th candidate road (candidate[i]) has corresponding high-precision road data (HD road data), then the positioning point corresponding to the target object can be projected onto the left and right boundaries of the i-th candidate road to obtain the boundary projection distance. For example... Figure 9 As shown, for any two points A and B in the boundary points, calculate the perpendicular point M from the corresponding positioning point P of the target object to line segment AB, find the position of M in line segment AB, and use the distance PM to represent the boundary projection distance from the positioning point to the boundary. The boundary projection distance here needs to be signed; if P is to the left of the AB vector, PM is recorded as positive; if P is to the right of the AB vector, it is recorded as negative.
[0179] Next, after obtaining the left boundary projection distance D left Projected distance D from the right boundary right Then, the road width (roadWidth) of the i-th candidate road can be calculated. i =D right -D left The mean can be set to -D. left The mean is the negative of the projected distance from the left boundary; the variance std = RTK.ACC / 2 (RTK.ACC refers to the positioning accuracy information of the positioning data, which can be considered to mean CEP95. If it is CEP99, it can be divided by 3 or other numbers, which is not limited in this embodiment). The variance is obtained by dividing the positioning accuracy data by a preset value. A Gaussian model can be performed on the accuracy distribution of the positioning data based on the mean and variance std to obtain the accuracy distribution function.
[0180] In step ① of the process for determining the second matching degree, if the second road data of the i-th candidate road is the refined road data in the refined map data, the second road data of the i-th candidate road is determined based on the road width and the refined road data in the refined map data. The location information of the i-th candidate road may include the location information of the road shape points of the i-th candidate road, where road shape points refer to the points that constitute the road shape of the i-th candidate road. The road width may be determined based on the lane width and the number of lanes in the road data of the i-th candidate road. In this case, the process of modeling the accuracy distribution of the positioning data in step ① may include: determining the variance based on the positioning accuracy information of the positioning data; determining the road projection distance from the target object to the i-th candidate road based on the location information of the target object and the location information of the road shape points; determining the mean based on the road width and the road projection distance; and modeling the accuracy distribution function based on the mean and variance.
[0181] In detail, if the i-th candidate road (candidate[i]) does not have corresponding high-precision road data (HD road data), then the positioning point corresponding to the target object can be projected onto the SD road data to obtain the road projection distance D. The road projection distance D also has positive and negative meanings. At this time, the road width of the i-th candidate road can be calculated based on the number of lanes (laneCnt) in the SD road data (i.e., the first road data), and the road width (roadWidth) of the i-th candidate road is calculated. i =W*laneCnt i Where W represents the lane width, a preset value that can be 3.0m, 3.5m, 3.75m, etc., and can be adjusted according to different road conditions; laneCnt i This represents the number of lanes in the i-th candidate road.
[0182] Next, after obtaining the road projection distance D and the road width, roadWidth i Then, we can take the mean: mean = 0.5 * roadWidth i -D, meaning the mean is the road width of the i-th candidate road (roadWidth). i The result of calculating the distance D projected onto the road; variance std = RTK.ACC / 2 (RTK.ACC refers to the positioning accuracy information of the positioning data, which can be considered to mean CEP95. If it is CEP99, it can be divided by 3 or other numbers. This application does not limit this). That is, the variance is obtained by dividing the positioning accuracy data of the positioning data by a preset value. The accuracy distribution of the positioning data can be Gaussian modeled based on the mean and variance std to obtain the accuracy distribution function, which is a Gaussian probability density function (i.e., a normal distribution function).
[0183] In step ② of the process for determining the second matching degree, the process of calculating the area within the road boundary range of the i-th candidate road that falls under the precision distribution function may include: calculating a first area related to the left boundary projection distance of the target object according to the precision distribution function; the left boundary projection distance refers to the projection distance from the target object to the left road boundary of the i-th candidate road; calculating a second area related to the right boundary projection distance of the target object according to the precision distribution function; the right boundary projection distance refers to the projection distance from the target object to the right road boundary of the i-th candidate road; if the target object is located within the road boundary range, the first area and the second area can be calculated according to the first rule to obtain the area within the road boundary range of the i-th candidate road that falls under the precision distribution function; if the target object is located outside the road boundary range, the first area and the second area can be calculated according to the second rule to obtain the area within the road boundary range of the i-th candidate road that falls under the precision distribution function.
[0184] In detail, the two calculated values based on the above normal distribution function (i.e., the first area and the second area) are as follows: Formulas 5-7:
[0185] V1=1.0-normalCDF((0.0 - mean) / std) Formula 5
[0186] V2=1.0-normalCDF((roadWidth - mean) / std) Formula 6
[0187]
[0188] In formulas 5 and 6 above, V1 represents the first area, V2 represents the second area, and erfc(x) is a complementary error function of a standard normal distribution. The calculation methods for the first and second areas can be found in the following code:
[0189] if(mean>=0.0&&mean<=roadWidth){ / / Target object is within the candidate road surface
[0190] candidate[i].wDis2Seg=0.5*(V1+V2);
[0191] }else{ / / The target object is not within the candidate road surface
[0192] candidate[i].wDis2Seg=0.5*ABS(V1-V2);
[0193] }
[0194] In the code above, candidate[i].wDis2Seg represents the second matching degree between the target object and the i-th candidate road; 0.5*(V1+V2) represents the first rule for calculating the first area and the second area when the target object is within the road boundary; 0.5*ABS(V1-V2) represents the second rule for calculating the first area and the second area when the target object is outside the road boundary.
[0195] Based on the content of step S604 above, the visualization of the calculation of the second matching degree (i.e., position matching degree) between the target object and the candidate road is as follows: Figure 10 As shown, the calculation of the second matching degree means that the normal distribution function (N ~ (μ, σ)) is represented by the normal distribution function. 2 ) represents the normal distribution function, μ represents the mean, which is equal to mean, and σ 2The variance is expressed as the area (std) within the road surface. Shaded area 1 represents the area of the target object's location point P within the main road ("W_main" represents the width of the main road), which can be used as the second degree of matching between the target object and the main road; shaded area 2 represents the area of the target object's location point P within the auxiliary road ("W_auxiliary" represents the width of the auxiliary road), which can also be used as the second degree of matching between the target object and the auxiliary road.
[0196] S605, determine the matching degree between the target object and the candidate road based on the first matching degree and the second matching degree.
[0197] In step S605, taking the i-th candidate road as an example, after determining the first matching degree between the target object and the i-th candidate road, and the second matching degree between the target object and the i-th candidate road, the matching degree between the target object and the candidate road can be determined based on the first matching degree and the second matching degree, as shown in Formula 8 below:
[0198] candidate[i].rtkProb = candidate[i].wDis2Seg * candidate[i].wAngleSpd Formula 8
[0199] In Formula 8 above, candidate[i].rtkProb represents the matching degree between the target object and the i-th candidate road, candidate[i].wAngleSpd represents the first matching degree between the target object and the i-th candidate road, and candidate[i].wDis2Seg represents the second matching degree between the target object and the i-th candidate road.
[0200] S606, Based on the matching degree between the target object and each candidate road, determine the target road where the target object is located among multiple candidate roads.
[0201] In step S606, before determining the target road of the target object from multiple candidate roads based on the matching degree between the target object and each candidate road, the matching degree between the target object and each candidate road can be validated according to the matching degree threshold. If the matching degree between the target object and each candidate road passes the validation, the matching degree between the target object and each candidate road can be normalized. The target road of the target object can be determined from multiple candidate roads based on the normalized matching degree between the target object and each candidate road.
[0202] Specifically, the matching degree threshold may include a first matching degree threshold and a second matching degree threshold, and the first matching degree threshold is less than the second matching degree threshold. The process of validity verification may include: comparing the matching degree between the target object and each candidate road with the first matching degree threshold; if the number of matching degrees greater than or equal to the first matching degree threshold among the matching degrees between the target object and each candidate road is the target number (the target number may be 1 for example), then comparing the matching degrees greater than or equal to the first matching degree threshold with the second matching degree threshold; if the matching degree greater than or equal to the first matching degree threshold is greater than or equal to the second matching degree threshold, it can be determined that the matching degree between the target object and each candidate road passes the validity verification; if the number of matching degrees greater than or equal to the first matching degree threshold is greater than the target number, it can be determined that the validity verification fails; if the matching degree greater than or equal to the first matching degree threshold is less than the second matching degree threshold, it can be determined that the validity verification fails.
[0203] For example, the first matching degree threshold th2 and the second matching degree threshold th3 can be set, and 0 < th2 < th3 < 1 is satisfied. If the following Condition 1 and Condition 2 are met, the matching degree can be determined to be valid, otherwise the matching degree can be determined to be invalid:
[0204] Condition 1: For all candidate roads of the target object, there is exactly 1 candidate road that satisfies candidate[i].wDis2Seg ≥ th2.
[0205] Condition 2: For all candidate roads of the target object, the candidate roads that satisfy candidate[i].wDis2Seg ≥ th2 also satisfy candidate[i].wDis2Seg ≥ th3.
[0206] It can be seen that in the case of passing the validity verification, among all the candidate roads of the target object, only one candidate road has a matching degree greater than or equal to the second matching degree threshold th3 with the target object, and the matching degrees between the remaining candidate roads and the target object are all less than the first matching degree threshold th2; this can make the matching degree greater than or equal to the second matching degree threshold th3 distinguishable from the other matching degrees.
[0207] In the case where the matching degree between the target object and each candidate road passes the validity verification, the method for normalizing the matching degree between the target object and each candidate road can be seen in the following code:
[0208]
[0209]
[0210] Based on the code above, the normalization method can include: taking the matching degree between the target object and each candidate road, dividing it by the sum of the matching degrees between the target object and each candidate road, to obtain the normalized matching degree between the target object and each candidate road.
[0211] After normalization, the normalized matching degree between the target object and each candidate road can be used to replace the matching degree between the target object and each candidate road obtained from the first map matching, thus obtaining the final matching degree between the target object and each candidate road. The replacement process is shown in the following code:
[0212] for(int i = 0; i <candidate.size;i++){
[0213] candidate[i].prob=candidate[i].rtkProb;
[0214] }
[0215] In step S604, the method of determining the target road where the target object is located among multiple candidate roads based on the normalized matching degree between the target object and each candidate road may include: determining the candidate road with the highest matching degree as the target road where the target object is located.
[0216] The above content of step S604 describes the situation where the matching degree between the target object and each candidate road passes the validity check. For the situation where the matching degree between the target object and each candidate road fails the validity check, the candidate road with the highest matching degree is determined as the target road where the target object is located, based on the matching degree between the target object and each candidate road obtained from the first map.
[0217] In this embodiment, during the second map matching (i.e., fine map matching), the matching degree between the target object and the candidate road is determined based on the angle-velocity matching degree (i.e., the first matching degree) and the position matching degree (i.e., the second matching degree). The fine map matching process comprehensively considers the difference between the movement angle of the target object and the road angle of the candidate road, the movement speed of the target object, and the positional relationship between the target object and the candidate road. In other words, the fine map matching process comprehensively considers multiple factors that may affect the matching between the target object and the candidate road, which can improve the matching accuracy of the fine map matching process. In addition, by validating the matching results of the fine map matching, the matching results that pass the validity check have discriminative power, which is beneficial for accurately determining the target road where the target object is located based on the matching results of the fine map matching.
[0218] The methods of the embodiments of this application have been described in detail above. In order to facilitate better implementation of the above solutions of the embodiments of this application, the apparatus of the embodiments of this application is provided below.
[0219] Please see Figure 11 , Figure 11 This is a schematic diagram of the structure of a data processing device provided in an embodiment of this application. The data processing device can be installed in the computer equipment provided in the embodiment of this application. The computer equipment can be a terminal, a server, or an electronic map platform composed of a terminal and a server. Figure 11 The data processing device shown can be a computer program running on a computer device, which can be used to execute... Figure 3 or Figure 6 Some or all of the steps in the method embodiments shown. Please refer to [link / reference]. Figure 11 The data processing apparatus may include the following units:
[0220] The processing unit 1101 is used to perform a first map matching between the target object and each road based on the positioning data of the target object and the first road data of each road around the target object, and to determine multiple candidate roads of the target object among each road.
[0221] The acquisition unit 1102 is used to acquire the second road data of multiple candidate roads, wherein the data precision of the second road data of the same candidate road is higher than the data precision of its first road data.
[0222] The processing unit 1101 is further configured to perform a second map matching between the target object and each candidate road based on the positioning data and the second road data of each candidate road, to obtain the matching degree between the target object and each candidate road; the matching degree between the target object and each candidate road is used to indicate the probability that the target object is located in the corresponding candidate road;
[0223] The processing unit 1101 is also used to determine the target road where the target object is located among multiple candidate roads based on the matching degree between the target object and each candidate road.
[0224] In one implementation, the positioning data includes the location information and speed information of the target object; any one of the multiple candidate roads is represented as the i-th candidate road, and the second road data of the i-th candidate road includes the location information of the i-th candidate road;
[0225] Processing unit 1101 is configured to perform second map matching between the target object and each candidate road based on the positioning data and the second road data of each candidate road, and to obtain the matching degree between the target object and each candidate road, specifically by executing the following steps:
[0226] Based on the location information of the i-th candidate road and the speed information of the target object, the first matching degree between the target object and the i-th candidate road is determined. The first matching degree refers to the matching degree between the movement angle of the target object and the road angle indicated by the location information of the i-th candidate road when the target object moves according to the speed information.
[0227] Based on the location information of the target object and the location information of the i-th candidate road, determine the second matching degree between the target object and the i-th candidate road. The second matching degree refers to the location matching degree between the target object and the i-th candidate road.
[0228] Based on the first matching degree and the second matching degree, determine the matching degree between the target object and the i-th candidate road.
[0229] In one implementation, the location information of the i-th candidate road includes the start-point and end-point information of the i-th candidate road; the speed information includes the speed direction and speed value; the processing unit 1101, when determining the first matching degree between the target object and the i-th candidate road based on the location information of the i-th candidate road and the speed information of the target object, specifically performs the following steps:
[0230] Based on the starting point and ending point information, determine the road angle of the i-th candidate road;
[0231] The angle indicating the direction of velocity is determined as the motion angle of the target object;
[0232] Calculate the angle difference between the road angle of the i-th candidate road and the motion angle of the target object;
[0233] The angle difference and velocity value are mapped to a matching degree to obtain the first matching degree.
[0234] In one implementation, the processing unit 1101, when determining the second matching degree between the target object and the i-th candidate road based on the location information of the target object and the location information of the i-th candidate road, specifically performs the following steps:
[0235] Based on the location information of the target object and the location information of the i-th candidate road, the accuracy distribution of the positioning data is modeled to obtain the accuracy distribution function;
[0236] Calculate the area within the road boundary of the i-th candidate road where the precision distribution function falls;
[0237] The area is determined as the second matching degree between the target object and the i-th candidate road.
[0238] In one implementation, when the second road data of the i-th candidate road is high-precision road data in high-precision map data, the i-th candidate road has a road boundary, and the location information of the i-th candidate road includes the location information of the boundary point of the i-th candidate road. The boundary point refers to the point that constitutes the shape of the road boundary of the i-th candidate road.
[0239] Processing unit 1101 is used to model the accuracy distribution of positioning data based on the location information of the target object and the location information of the i-th candidate road, and to obtain the accuracy distribution function, specifically by performing the following steps:
[0240] The variance is determined based on the positioning accuracy information of the positioning data;
[0241] Based on the location information of the target object and the location information of the boundary points, determine the boundary projection distance from the target object to the road boundary of the i-th candidate road;
[0242] The mean value is determined based on the boundary projection distance;
[0243] Model the accuracy distribution function based on the mean and variance.
[0244] In one implementation, when the second road data of the i-th candidate road is determined based on the road width and the refined road data in the refined map data, the location information of the i-th candidate road includes the location information of the road shape points of the i-th candidate road, where the road shape points refer to the points that constitute the road shape of the i-th candidate road; the road width is determined based on the lane width and the number of lanes in the first road data of the i-th candidate road;
[0245] Processing unit 1101 is used to model the accuracy distribution of positioning data based on the location information of the target object and the location information of the i-th candidate road, and to obtain the accuracy distribution function, specifically by performing the following steps:
[0246] The variance is determined based on the positioning accuracy information of the positioning data;
[0247] Based on the location information of the target object and the location information of the road shape points, determine the road projection distance from the target object to the i-th candidate road;
[0248] The mean value is determined based on the road width and the road projection distance;
[0249] Model the accuracy distribution function based on the mean and variance.
[0250] In one implementation, when processing unit 1101 calculates the area within the road boundary of the i-th candidate road where the precision distribution function falls, it specifically performs the following steps:
[0251] Based on the precision distribution function, calculate the first area related to the left boundary projection distance of the target object; the left boundary projection distance refers to the projection distance from the target object to the left road boundary of the i-th candidate road;
[0252] Based on the precision distribution function, calculate the second area related to the right boundary projection distance of the target object; the right boundary projection distance refers to the projection distance from the target object to the right road boundary of the i-th candidate road;
[0253] If the target object is located within the road boundary, the first area and the second area are calculated according to the first rule to obtain the area within the road boundary of the i-th candidate road where the precision distribution function falls.
[0254] If the target object is located outside the road boundary, the first area and the second area are calculated according to the second rule to obtain the area within the road boundary of the i-th candidate road where the precision distribution function falls.
[0255] In one implementation, the first road data is the refined road data in the refined map data; any candidate road among the multiple candidate roads is represented as the i-th candidate road; the acquisition unit 1102, when acquiring the second road data of the multiple candidate roads, specifically performs the following steps:
[0256] If the i-th candidate road has corresponding high-precision road data in the high-precision map data, then the high-precision road data of the i-th candidate road is determined as the second road data of the i-th candidate road.
[0257] If the i-th candidate road does not have corresponding high-precision road data in the high-precision map data, then the road width of the i-th candidate road is determined based on the lane width and the number of lanes in the first road data of the i-th candidate road; the second road data of the i-th candidate road is determined based on the road width of the i-th candidate road and the first road data of the i-th candidate road.
[0258] In one implementation, the processing unit 1101 is further configured to perform the following steps:
[0259] The validity of the match between the target object and each candidate road is verified based on the matching degree threshold.
[0260] If the matching degree between the target object and each candidate road passes the validity check, then the matching degree between the target object and each candidate road is normalized.
[0261] Processing unit 1101, when determining the target road where the target object is located among multiple candidate roads based on the matching degree between the target object and each candidate road, specifically performs the following steps:
[0262] Based on the normalized matching degree between the target object and each candidate road, the target road where the target object is located is determined from multiple candidate roads.
[0263] In one implementation, the matching degree threshold includes a first matching degree threshold and a second matching degree threshold, and the first matching degree threshold is less than the second matching degree threshold; the processing unit 1101, when validating the matching degree between the target object and each candidate road according to the matching degree threshold, specifically performs the following steps:
[0264] The matching degree between the target object and each candidate road is compared with the first matching degree threshold;
[0265] If the number of matching degrees greater than or equal to the first matching degree threshold between the target object and each candidate road is the target number, then the matching degrees greater than or equal to the first matching degree threshold are compared with the second matching degree threshold.
[0266] If the matching degree is greater than or equal to the first matching degree threshold and greater than or equal to the second matching degree threshold, then the matching degree between the target object and each candidate road is determined to have passed the validity check.
[0267] In one implementation, the processing unit 1101 is further configured to perform the following steps:
[0268] High-precision road data detection was performed on multiple candidate roads;
[0269] If the detection results of high-precision road data detection indicate that at least one of the candidate roads among multiple candidate roads has high-precision road data, then the positioning data is subjected to positioning accuracy detection.
[0270] If the positioning accuracy detection result indicates that the positioning data meets the positioning accuracy conditions, then the process of obtaining the second road data of multiple candidate roads will be triggered.
[0271] In one implementation, the location data of the target object is calculated using target location rules; the processing unit 1101, when performing location accuracy detection on the location data, specifically executes the following steps:
[0272] The solution status of the positioning data is detected in the set of accurate solution statuses corresponding to the target positioning rule.
[0273] If the solution status of the positioning data is a precise solution status in the precise solution status set, then the positioning accuracy information of the positioning data is compared with the accuracy threshold.
[0274] If the positioning accuracy information is less than the accuracy threshold, a positioning accuracy detection result is generated, indicating that the positioning data meets the positioning accuracy conditions.
[0275] In one implementation, the location data is the location data of the target object at the current moment; the processing unit 1101 is used to perform a first map matching between the target object and each road based on the location data of the target object and the first road data of each road around the target object. When determining multiple candidate roads for the target object among each road, it is specifically used to perform the following steps:
[0276] Based on the location data and the first road data for each road, determine the distance between the target object and each road, as well as the angle between the target object and each road;
[0277] The observation probability of the target object at the current moment is determined based on the distance between the target object and each road, and the angle between the target object and each road.
[0278] Based on the connection relationship between the road corresponding to the target object in the previous time step and each road, determine the transition probability from the previous time step to the current time step;
[0279] Based on the observation probability and transition probability of the target object at the previous time step and the observation probability of the target object at the current time step, determine the matching degree between the target object and each road.
[0280] Candidate roads for the target object are determined based on the matching degree between the target object and each road.
[0281] According to one embodiment of this application, Figure 11 The data processing apparatus shown can be constructed by combining each unit individually or entirely into one or more other units, or one or more of the units can be further divided into multiple functionally smaller units. This achieves the same operation without affecting the technical effects of the embodiments of this application. The above-mentioned units are based on logical function division. In practical applications, the function of one unit can also be implemented by multiple units, or the function of multiple units can be implemented by one unit. In other embodiments of this application, the apparatus may also include other units. In practical applications, these functions can also be implemented with the assistance of other units, and can be implemented collaboratively by multiple units.
[0282] According to another embodiment of this application, the following can be achieved by running on a general-purpose computing device, such as a computer, which includes processing elements and storage elements such as a central processing unit (CPU), random access memory (RAM), and read-only memory (ROM), a device capable of performing operations such as... Figure 3 or Figure 6 Computer programs for the steps involved in some or all of the methods shown, to construct, for example... Figure 11The data processing apparatus shown herein, and the data processing method for implementing the embodiments of this application, are described. A computer program may be recorded on, for example, a computer-readable storage medium, loaded onto the aforementioned computing device via the computer-readable storage medium, and executed therein.
[0283] In this embodiment, based on the location data of the target object and the first road data (which is low-precision road data) of the roads surrounding the target object, a first map matching can be performed between the target object and the roads to determine multiple candidate roads for the target object from among the roads surrounding the target object. It can be seen that the first map matching is a low-precision map matching based on the location data and the low-precision road data, which can quickly determine the candidate roads where the target object may be located from among the roads surrounding the target object. Based on the location data of the target object and the second road data (which is high-precision road data) of the multiple candidate roads for the target object, a second map matching can be performed between the target object and each candidate road to obtain the matching degree between the target object and each candidate road. It can be seen that the second map matching is a high-precision map matching based on the location data and the high-precision road data, which can improve the matching accuracy between the object and the road, thereby accurately determining the road where the object is located based on the matching degree.
[0284] Based on the above methods and apparatus embodiments, this application provides a computer device. Please refer to... Figure 12 , Figure 12 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Figure 12 The computer device shown includes at least a processor 1201, an input interface 1202, an output interface 1203, and a computer-readable storage medium 1204. The processor 1201, input interface 1202, output interface 1203, and computer-readable storage medium 1204 can be connected via a bus or other means.
[0285] The computer-readable storage medium 1204 can be stored in the memory of a computer device. The computer-readable storage medium 1204 is used to store computer programs, which include computer instructions. The processor 1201 is used to execute the computer program stored in the computer-readable storage medium 1204. The processor 1201 (or CPU (Central Processing Unit)) is the computing and control core of the computer device. It is suitable for implementing computer programs, specifically for loading and executing computer programs to achieve corresponding methods or functions.
[0286] This application also provides a computer-readable storage medium (Memory), which is a memory device in a computer device used to store programs and data. It is understood that the computer-readable storage medium here can include both built-in storage media in the computer device and extended storage media supported by the computer device. The computer-readable storage medium provides storage space for storing the operating system of the computer device. Furthermore, the storage space also stores computer programs suitable for loading and execution by a processor. It should be noted that the computer-readable storage medium here can be high-speed RAM or non-volatile memory, such as at least one disk storage device; optionally, it can also be at least one computer-readable storage medium located remotely from the aforementioned processor.
[0287] The computer device can be a terminal, a server, or an electronic map platform composed of a terminal and a server. In specific implementation, the processor 1201 can load and execute the computer program stored in the computer-readable storage medium 1204 to achieve the aforementioned... Figure 3 or Figure 6 The corresponding steps in the method shown. In a specific implementation, the computer program in the computer-readable storage medium 1204 is loaded by the processor 1201 and executed as follows:
[0288] Based on the location data of the target object and the first road data of each road around the target object, a first map matching is performed between the target object and each road to determine multiple candidate roads of the target object among each road.
[0289] Acquire second road data for multiple candidate roads. The data precision of the second road data for the same candidate road is higher than that of its first road data.
[0290] Based on the location data and the second road data for each candidate road, a second map matching is performed between the target object and each candidate road to obtain the matching degree between the target object and each candidate road; the matching degree between the target object and each candidate road is used to indicate the probability that the target object is located in the corresponding candidate road;
[0291] Based on the matching degree between the target object and each candidate road, the target road where the target object is located is determined from multiple candidate roads.
[0292] In one implementation, the positioning data includes the location information and speed information of the target object; any one of the multiple candidate roads is represented as the i-th candidate road, and the second road data of the i-th candidate road includes the location information of the i-th candidate road;
[0293] The computer program in the computer-readable storage medium 1204, loaded and executed by the processor 1201, performs a second map matching between the target object and each candidate road based on the positioning data and the second road data for each candidate road, and obtains the matching degree between the target object and each candidate road. Specifically, it performs the following steps:
[0294] Based on the location information of the i-th candidate road and the speed information of the target object, the first matching degree between the target object and the i-th candidate road is determined. The first matching degree refers to the matching degree between the movement angle of the target object and the road angle indicated by the location information of the i-th candidate road when the target object moves according to the speed information.
[0295] Based on the location information of the target object and the location information of the i-th candidate road, determine the second matching degree between the target object and the i-th candidate road. The second matching degree refers to the location matching degree between the target object and the i-th candidate road.
[0296] Based on the first matching degree and the second matching degree, determine the matching degree between the target object and the i-th candidate road.
[0297] In one implementation, the location information of the i-th candidate road includes the start-point and end-point information of the i-th candidate road; the speed information includes the speed direction and speed value; when the computer program in the computer-readable storage medium 1204 is loaded and executed by the processor 1201 to determine the first matching degree between the target object and the i-th candidate road based on the location information of the i-th candidate road and the speed information of the target object, it is specifically used to perform the following steps:
[0298] Based on the starting point and ending point information, determine the road angle of the i-th candidate road;
[0299] The angle indicating the direction of velocity is determined as the motion angle of the target object;
[0300] Calculate the angle difference between the road angle of the i-th candidate road and the motion angle of the target object;
[0301] The angle difference and velocity value are mapped to a matching degree to obtain the first matching degree.
[0302] In one implementation, when the computer program in the computer-readable storage medium 1204 is loaded and executed by the processor 1201 to determine the second matching degree between the target object and the i-th candidate road based on the location information of the target object and the location information of the i-th candidate road, it is specifically used to perform the following steps:
[0303] Based on the location information of the target object and the location information of the i-th candidate road, the accuracy distribution of the positioning data is modeled to obtain the accuracy distribution function;
[0304] Calculate the area within the road boundary of the i-th candidate road where the precision distribution function falls;
[0305] The area is determined as the second matching degree between the target object and the i-th candidate road.
[0306] In one implementation, when the second road data of the i-th candidate road is high-precision road data in high-precision map data, the i-th candidate road has a road boundary, and the location information of the i-th candidate road includes the location information of the boundary point of the i-th candidate road. The boundary point refers to the point that constitutes the shape of the road boundary of the i-th candidate road.
[0307] The computer program in the computer-readable storage medium 1204, loaded and executed by the processor 1201, models the accuracy distribution of the positioning data based on the location information of the target object and the location information of the i-th candidate road, and obtains the accuracy distribution function. Specifically, it performs the following steps:
[0308] The variance is determined based on the positioning accuracy information of the positioning data;
[0309] Based on the location information of the target object and the location information of the boundary points, determine the boundary projection distance from the target object to the road boundary of the i-th candidate road;
[0310] The mean value is determined based on the boundary projection distance;
[0311] Model the accuracy distribution function based on the mean and variance.
[0312] In one implementation, when the second road data of the i-th candidate road is determined based on the road width and the refined road data in the refined map data, the location information of the i-th candidate road includes the location information of the road shape points of the i-th candidate road, where the road shape points refer to the points that constitute the road shape of the i-th candidate road; the road width is determined based on the lane width and the number of lanes in the first road data of the i-th candidate road;
[0313] The computer program in the computer-readable storage medium 1204, loaded and executed by the processor 1201, models the accuracy distribution of the positioning data based on the location information of the target object and the location information of the i-th candidate road, and obtains the accuracy distribution function. Specifically, it performs the following steps:
[0314] The variance is determined based on the positioning accuracy information of the positioning data;
[0315] Based on the location information of the target object and the location information of the road shape points, determine the road projection distance from the target object to the i-th candidate road;
[0316] The mean value is determined based on the road width and the road projection distance;
[0317] Model the accuracy distribution function based on the mean and variance.
[0318] In one implementation, when a computer program in computer-readable storage medium 1204 is loaded and executed by processor 1201 to calculate the area within the road boundary of the i-th candidate road, it specifically performs the following steps:
[0319] Based on the precision distribution function, calculate the first area related to the left boundary projection distance of the target object; the left boundary projection distance refers to the projection distance from the target object to the left road boundary of the i-th candidate road;
[0320] Based on the precision distribution function, calculate the second area related to the right boundary projection distance of the target object; the right boundary projection distance refers to the projection distance from the target object to the right road boundary of the i-th candidate road;
[0321] If the target object is located within the road boundary, the first area and the second area are calculated according to the first rule to obtain the area within the road boundary of the i-th candidate road where the precision distribution function falls.
[0322] If the target object is located outside the road boundary, the first area and the second area are calculated according to the second rule to obtain the area within the road boundary of the i-th candidate road where the precision distribution function falls.
[0323] In one implementation, the first road data is the refined road data in the refined map data; any candidate road among the multiple candidate roads is represented as the i-th candidate road; when the computer program in the computer-readable storage medium 1204 is loaded and executed by the processor 1201 to obtain the second road data of the multiple candidate roads, it is specifically used to perform the following steps:
[0324] If the i-th candidate road has corresponding high-precision road data in the high-precision map data, then the high-precision road data of the i-th candidate road is determined as the second road data of the i-th candidate road.
[0325] If the i-th candidate road does not have corresponding high-precision road data in the high-precision map data, then the road width of the i-th candidate road is determined based on the lane width and the number of lanes in the first road data of the i-th candidate road; the second road data of the i-th candidate road is determined based on the road width of the i-th candidate road and the first road data of the i-th candidate road.
[0326] In one implementation, the computer program in the computer-readable storage medium 1204 is loaded by the processor 1201 and is also used to perform the following steps:
[0327] The validity of the match between the target object and each candidate road is verified based on the matching degree threshold.
[0328] If the matching degree between the target object and each candidate road passes the validity check, then the matching degree between the target object and each candidate road is normalized.
[0329] The computer program in the computer-readable storage medium 1204, loaded and executed by the processor 1201, determines the target road where the target object is located among multiple candidate roads based on the matching degree between the target object and each candidate road. Specifically, it performs the following steps:
[0330] Based on the normalized matching degree between the target object and each candidate road, the target road where the target object is located is determined from multiple candidate roads.
[0331] In one implementation, the matching threshold includes a first matching threshold and a second matching threshold, wherein the first matching threshold is less than the second matching threshold; when the computer program in the computer-readable storage medium 1204 is loaded and executed by the processor 1201 to perform a validity check on the matching degree between the target object and each candidate road according to the matching threshold, it is specifically used to perform the following steps:
[0332] The matching degree between the target object and each candidate road is compared with the first matching degree threshold;
[0333] If the number of matching degrees greater than or equal to the first matching degree threshold between the target object and each candidate road is the target number, then the matching degrees greater than or equal to the first matching degree threshold are compared with the second matching degree threshold.
[0334] If the matching degree is greater than or equal to the first matching degree threshold and greater than or equal to the second matching degree threshold, then the matching degree between the target object and each candidate road is determined to have passed the validity check.
[0335] In one implementation, the computer program in the computer-readable storage medium 1204 is loaded by the processor 1201 and is also used to perform the following steps:
[0336] High-precision road data detection was performed on multiple candidate roads;
[0337] If the detection results of high-precision road data detection indicate that at least one of the candidate roads among multiple candidate roads has high-precision road data, then the positioning data is subjected to positioning accuracy detection.
[0338] If the positioning accuracy detection result indicates that the positioning data meets the positioning accuracy conditions, then the process of obtaining the second road data of multiple candidate roads will be triggered.
[0339] In one implementation, the location data of the target object is calculated using target location rules; when the computer program in the computer-readable storage medium 1204 is loaded and executed by the processor 1201 to perform location accuracy detection on the location data, it specifically performs the following steps:
[0340] The solution status of the positioning data is detected in the set of accurate solution statuses corresponding to the target positioning rule.
[0341] If the solution status of the positioning data is a precise solution status in the precise solution status set, then the positioning accuracy information of the positioning data is compared with the accuracy threshold.
[0342] If the positioning accuracy information is less than the accuracy threshold, a positioning accuracy detection result is generated, indicating that the positioning data meets the positioning accuracy conditions.
[0343] In one implementation, the location data is the location data of the target object at the current moment; the computer program in the computer-readable storage medium 1204 is loaded and executed by the processor 1201, and performs a first map matching between the target object and each road based on the location data of the target object and the first road data of each road around the target object. When determining multiple candidate roads for the target object among the roads, it is specifically used to perform the following steps:
[0344] Based on the location data and the first road data for each road, determine the distance between the target object and each road, as well as the angle between the target object and each road;
[0345] The observation probability of the target object at the current moment is determined based on the distance between the target object and each road, and the angle between the target object and each road.
[0346] Based on the connection relationship between the road corresponding to the target object in the previous time step and each road, determine the transition probability from the previous time step to the current time step;
[0347] Based on the observation probability and transition probability of the target object at the previous time step and the observation probability of the target object at the current time step, determine the matching degree between the target object and each road.
[0348] Candidate roads for the target object are determined based on the matching degree between the target object and each road.
[0349] In this embodiment, based on the location data of the target object and the first road data (which is low-precision road data) of the roads surrounding the target object, a first map matching can be performed between the target object and the roads to determine multiple candidate roads for the target object from among the roads surrounding the target object. It can be seen that the first map matching is a low-precision map matching based on the location data and the low-precision road data, which can quickly determine the candidate roads where the target object may be located from among the roads surrounding the target object. Based on the location data of the target object and the second road data (which is high-precision road data) of the multiple candidate roads for the target object, a second map matching can be performed between the target object and each candidate road to obtain the matching degree between the target object and each candidate road. It can be seen that the second map matching is a high-precision map matching based on the location data and the high-precision road data, which can improve the matching accuracy between the object and the road, thereby accurately determining the road where the object is located based on the matching degree.
[0350] This application also provides a computer program product, which includes a computer program stored in a computer-readable storage medium. A processor of a computer device reads the computer program from the computer-readable storage medium and executes the computer program, causing the computer device to perform the data processing method described above.
[0351] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed in this application can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0352] In this application embodiment, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.
[0353] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. A computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in or transmitted through a computer-readable storage medium. The computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk (SSD)).
[0354] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A data processing method, characterized in that, include: Based on the location data of the target object and the first road data of each road around the target object, a first map matching is performed between the target object and each road to determine multiple candidate roads of the target object from each road; Obtain the second road data of the multiple candidate roads, wherein the data precision of the second road data of the same candidate road is higher than the data precision of its first road data; Based on the positioning data and the second road data of each candidate road, a second map matching is performed between the target object and each candidate road to obtain the matching degree between the target object and each candidate road; The matching degree between the target object and each of the candidate roads is used to indicate the probability that the target object is located in the corresponding candidate road; Based on the matching degree between the target object and each of the candidate roads, the target road where the target object is located is determined from the plurality of candidate roads.
2. The method as described in claim 1, characterized in that, The positioning data includes the location information and speed information of the target object; any one of the multiple candidate roads is represented as the i-th candidate road, and the second road data of the i-th candidate road includes the location information of the i-th candidate road; The step of performing a second map matching between the target object and each candidate road based on the positioning data and the second road data of each candidate road to obtain the matching degree between the target object and each candidate road includes: Based on the location information of the i-th candidate road and the speed information of the target object, a first matching degree between the target object and the i-th candidate road is determined. The first matching degree refers to the matching degree between the movement angle of the target object and the road angle indicated by the location information of the i-th candidate road when the target object moves according to the speed information. Based on the location information of the target object and the location information of the i-th candidate road, a second matching degree between the target object and the i-th candidate road is determined. The second matching degree refers to the location matching degree between the target object and the i-th candidate road. Based on the first matching degree and the second matching degree, the matching degree between the target object and the i-th candidate road is determined.
3. The method as described in claim 2, characterized in that, The location information of the i-th candidate road includes the start and end information of the i-th candidate road; the speed information includes the speed direction and speed value; determining the first matching degree between the target object and the i-th candidate road based on the location information of the i-th candidate road and the speed information of the target object includes: Based on the starting point information and the ending point information, determine the road angle of the i-th candidate road; The angle indicated by the velocity direction is determined as the motion angle of the target object; Calculate the angle difference between the road angle of the i-th candidate road and the motion angle of the target object; The first matching degree is obtained by mapping the angle difference and the velocity value.
4. The method as described in claim 2, characterized in that, The step of determining the second matching degree between the target object and the i-th candidate road based on the location information of the target object and the location information of the i-th candidate road includes: Based on the location information of the target object and the location information of the i-th candidate road, the accuracy distribution of the positioning data is modeled to obtain the accuracy distribution function; Calculate the area within the road boundary of the i-th candidate road where the accuracy distribution function falls; The area is determined as the second matching degree between the target object and the i-th candidate road.
5. The method as described in claim 4, characterized in that, When the second road data of the i-th candidate road is high-precision road data in high-precision map data, the i-th candidate road has a road boundary, and the location information of the i-th candidate road includes the location information of the boundary shape points of the i-th candidate road. The boundary shape points refer to the points that constitute the road boundary shape of the i-th candidate road. The step of modeling the accuracy distribution of the positioning data based on the location information of the target object and the location information of the i-th candidate road to obtain an accuracy distribution function includes: The variance is determined based on the positioning accuracy information of the positioning data; Based on the location information of the target object and the location information of the boundary point, determine the boundary projection distance from the target object to the road boundary of the i-th candidate road; The mean value is determined based on the boundary projection distance; The precision distribution function is modeled based on the mean and the variance.
6. The method as described in claim 4, characterized in that, When the second road data of the i-th candidate road is determined based on the road width and the refined road data in the refined map data, the location information of the i-th candidate road includes the location information of the road shape points of the i-th candidate road, where the road shape points refer to the points that constitute the road shape of the i-th candidate road; the road width is determined based on the lane width and the number of lanes in the first road data of the i-th candidate road; The step of modeling the accuracy distribution of the positioning data based on the location information of the target object and the location information of the i-th candidate road to obtain an accuracy distribution function includes: The variance is determined based on the positioning accuracy information of the positioning data; Based on the location information of the target object and the location information of the road shape points, determine the road projection distance from the target object to the i-th candidate road; The average value is determined based on the road width and the road projection distance; The precision distribution function is modeled based on the mean and the variance.
7. The method as described in claim 4, characterized in that, The calculation of the area within the road boundary of the i-th candidate road where the accuracy distribution function falls includes: Based on the accuracy distribution function, calculate the first area related to the left boundary projection distance of the target object; the left boundary projection distance refers to the projection distance from the target object to the left road boundary of the i-th candidate road; Based on the accuracy distribution function, calculate the second area related to the right boundary projection distance of the target object; the right boundary projection distance refers to the projection distance from the target object to the right road boundary of the i-th candidate road; If the target object is located within the road boundary, the first area and the second area are calculated according to the first rule to obtain the area within the road boundary of the i-th candidate road where the precision distribution function falls. If the target object is located outside the road boundary, the first area and the second area are calculated according to the second rule to obtain the area within the road boundary of the i-th candidate road where the precision distribution function falls.
8. The method according to any one of claims 1-7, characterized in that, The first road data is the refined road data in the refined map data; any one of the multiple candidate roads is represented as the i-th candidate road; obtaining the second road data of the multiple candidate roads includes: If the i-th candidate road has corresponding high-precision road data in the high-precision map data, then the high-precision road data of the i-th candidate road is determined as the second road data of the i-th candidate road; If the i-th candidate road does not have corresponding high-precision road data in the high-precision map data, then the road width of the i-th candidate road is determined based on the lane width and the number of lanes in the first road data of the i-th candidate road; and the second road data of the i-th candidate road is determined based on the road width of the i-th candidate road and the first road data of the i-th candidate road.
9. The method according to any one of claims 1-7, characterized in that, The method further includes: The validity of the matching degree between the target object and each candidate road is verified based on the matching degree threshold. If the matching degree between the target object and each of the candidate roads passes the validity check, then the matching degree between the target object and each of the candidate roads is normalized. The step of determining the target road where the target object is located from the plurality of candidate roads based on the matching degree between the target object and each of the candidate roads includes: Based on the normalized matching degree between the target object and each of the candidate roads, the target road where the target object is located is determined from the plurality of candidate roads.
10. The method as described in claim 9, characterized in that, The matching threshold includes a first matching threshold and a second matching threshold, and the first matching threshold is less than the second matching threshold; The step of validating the matching degree between the target object and each candidate road based on a matching degree threshold includes: The matching degree between the target object and each candidate road is compared with the first matching degree threshold; If the number of matching degrees greater than or equal to the first matching degree threshold among the matching degrees between the target object and each candidate road is the target number, then the matching degrees greater than or equal to the first matching degree threshold are compared with the second matching degree threshold. If the matching degree is greater than or equal to the first matching degree threshold and greater than or equal to the second matching degree threshold, then the matching degree between the target object and each of the candidate roads is determined to have passed the validity check.
11. The method according to any one of claims 1-7, characterized in that, The method further includes: High-precision road data detection is performed on the multiple candidate roads; If the detection result of the high-precision road data detection indicates that at least one of the candidate roads among the multiple candidate roads has high-precision road data, then the positioning data is subjected to positioning accuracy detection. If the detection result of the positioning accuracy detection indicates that the positioning data meets the positioning accuracy condition, then the process of obtaining the second road data of the multiple candidate roads is triggered.
12. The method as described in claim 11, characterized in that, The location data of the target object is obtained by solving the target location rules; the location accuracy detection of the location data includes: The solution status of the positioning data is detected in the set of accurate solution statuses corresponding to the target positioning rule; If the solution state of the positioning data is a precise solution state in the precise solution state set, then the positioning accuracy information of the positioning data is compared with the accuracy threshold. If the positioning accuracy information is less than the accuracy threshold, a positioning accuracy detection result is generated, and the positioning accuracy detection result indicates that the positioning data meets the positioning accuracy condition.
13. The method according to any one of claims 1-7, characterized in that, The location data is the location data of the target object at the current moment; the first map matching is performed between the target object and the roads based on the location data of the target object and the first road data of the roads surrounding the target object, and multiple candidate roads for the target object are determined from the roads, including: Based on the positioning data and the first road data for each road, determine the distance between the target object and each road, as well as the angle between the target object and each road; The observation probability of the target object at the current moment is determined based on the distance between the target object and each of the roads, and the angle between the target object and each of the roads. Based on the connectivity between the road corresponding to the target object at the previous time and each road, the transition probability from the previous time to the current time is determined; Based on the observation probability of the target object at the previous time, the transition probability, and the observation probability of the target object at the current time, the matching degree between the target object and each of the roads is determined; Candidate roads for the target object are determined based on the matching degree between the target object and each road.
14. A data processing apparatus, characterized in that, include: The processing unit is configured to perform a first map matching between the target object and the roads based on the location data of the target object and the first road data of the roads surrounding the target object, and to determine multiple candidate roads of the target object from the roads. The acquisition unit is used to acquire the second road data of the multiple candidate roads, wherein the data precision of the second road data of the same candidate road is higher than the data precision of its first road data; The processing unit is further configured to perform a second map matching between the target object and each candidate road based on the positioning data and the second road data of each candidate road, to obtain the matching degree between the target object and each candidate road; The matching degree between the target object and each of the candidate roads is used to indicate the probability that the target object is located in the corresponding candidate road; The processing unit is further configured to determine the target road where the target object is located among the plurality of candidate roads based on the matching degree between the target object and each of the candidate roads.
15. A computer device, characterized in that, The computer device includes: A processor is a tool for implementing computer programs. A computer-readable storage medium storing a computer program adapted to be loaded by the processor and executed as described in any one of claims 1-13.
16. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program adapted to be loaded by a processor and executed as described in any one of claims 1-13.
17. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, implements the data processing method as described in any one of claims 1-13.