Data processing method and apparatus, and device, medium and product
By optimizing the confidence of candidate roads using vehicle attitude information and road slope data, the accuracy problem of map matching in slope scenarios is solved, thereby improving the accuracy of vehicle positioning and navigation performance.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- TENCENT TECHNOLOGY (SHENZHEN) CO LTD
- Filing Date
- 2026-01-04
- Publication Date
- 2026-07-30
AI Technical Summary
Existing technologies for vehicle map matching have poor accuracy, resulting in inaccurate positioning, especially in sloping scenarios where precise matching is difficult.
By optimizing the confidence of candidate roads using vehicle attitude information and road slope data, the map matching effect in slope scenarios can be improved.
It improves the vehicle's positioning accuracy in slope scenarios, enhances map matching accuracy and navigation performance.
Smart Images

Figure CN2026070257_30072026_PF_FP_ABST
Abstract
Description
Data processing methods, devices, equipment, media and products
[0001] This application claims priority to Chinese Patent Application No. 2025101087034, filed on January 21, 2025, entitled “Data Processing Method, Apparatus, Equipment, Medium and Product”, the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of computer technology, and in particular to a data processing method, apparatus, device, medium and product, specifically to a data processing method, a data processing apparatus, a computer device, a computer-readable storage medium and a computer program product. Background Technology
[0003] With the continuous increase in the number of vehicles, the application of map navigation is becoming increasingly widespread. In the field of map navigation, accurate vehicle location is crucial to provide accurate and reasonable driving guidance, reduce the cost of wrong turns for users, and bring a more comfortable driving experience. Specifically, when navigating a vehicle, the vehicle's location must first be matched to a real digital map; this process is called map matching. Therefore, the effectiveness of map matching directly affects the vehicle's positioning accuracy.
[0004] Currently, the method of vehicle map matching is often based on the vehicle's location information and map data to directly perform map matching processing. This map matching method has poor accuracy and the positioning effect is not accurate enough. Summary of the Invention
[0005] This application provides a data processing method, apparatus, device, medium, and product. In a slope scenario, the method accurately matches the attitude information estimated by sensors in the vehicle with the actual slope data of the road, thereby improving the confidence accuracy of candidate roads and enhancing the positioning effect.
[0006] On one hand, embodiments of this application provide a data processing method, the method comprising:
[0007] Based on the vehicle's location information, obtain the matching results of the vehicle in the target map. The matching results include N candidate roads that have been matched and the confidence score of each candidate road. The confidence score of any candidate road is used to indicate the probability that the vehicle is located on the candidate road. N is an integer greater than 1.
[0008] Identify the driving scenario to which the vehicle belongs based on the matching results;
[0009] If the driving scenario to which the vehicle belongs is a slope scenario, then obtain the vehicle's attitude information and the slope data of N candidate roads;
[0010] Based on the vehicle's attitude information and the slope data of N candidate roads, the confidence scores of the N candidate roads are optimized to obtain the optimized confidence score of each candidate road in the slope scenario.
[0011] On one hand, embodiments of this application provide a data processing apparatus, the apparatus comprising:
[0012] The acquisition unit is used to acquire the matching results of the vehicle in the target map based on the vehicle's positioning information. The matching results include N matched candidate roads and the confidence score of each candidate road. The confidence score of any candidate road is used to indicate the probability that the vehicle is located on the candidate road. N is an integer greater than 1.
[0013] The processing unit is used to identify the driving scenario to which the vehicle belongs based on the matching results;
[0014] The processing unit is also used to obtain the vehicle's attitude information and the slope data of N candidate roads if the driving scenario to which the vehicle belongs is a slope scenario.
[0015] The processing unit is also used to optimize the confidence of the N candidate roads based on the vehicle's attitude information and the slope data of the N candidate roads, so as to obtain the optimized confidence of each candidate road in the slope scenario.
[0016] On one hand, embodiments of this application provide a computer device, which includes a processor and a memory; the memory stores a computer program; when the computer program is executed by the processor, it performs the above-described data processing method.
[0017] On one hand, embodiments of this application provide a computer-readable storage medium storing a computer program, which, when executed by a processor, performs the aforementioned data processing method.
[0018] On the one hand, embodiments of this application provide a computer program product, which includes a computer program. When the computer program is executed by a processor, it performs the above-described data processing method.
[0019] In this embodiment, based on the vehicle's positioning information, the matching result of the vehicle in the target map is obtained. This matching result includes N candidate roads matched and the confidence score of each candidate road. The confidence score of any candidate road indicates the probability that the vehicle is located on the candidate road, where N is an integer greater than 1. By performing map matching on the vehicle, multiple candidate roads matched by the vehicle and the confidence score of each candidate road are obtained. This can determine the probability that the vehicle is located on different candidate roads, providing data support for subsequent vehicle positioning. The driving scenario to which the vehicle belongs is identified based on the matching result. If the driving scenario to which the vehicle belongs is a slope scenario, the vehicle's attitude information and the slope data of the N candidate roads are obtained. Based on the vehicle's attitude information and the slope data of the N candidate roads, the confidence scores of the N candidate roads are optimized to obtain the optimized confidence score of each candidate road. As can be seen, when a vehicle is driving on a slope, this application additionally introduces the vehicle's attitude information in the slope scenario and the actual slope data of the road for accurate matching. This allows for the optimization of the confidence level of each candidate road. Compared with the method of directly matching the confidence level of candidate roads through the vehicle's positioning information, this application can improve the accuracy of the confidence level of candidate roads, thereby improving the positioning effect of the vehicle. Attached Figure Description
[0020] Figure 1 is a schematic diagram of the architecture of a data processing system provided in an embodiment of this application;
[0021] Figure 2 is a flowchart of module processing in a data processing system provided in an embodiment of this application;
[0022] Figure 3 is a flowchart illustrating a data processing method provided in an embodiment of this application;
[0023] Figure 4 is a schematic diagram of a map matching process provided in an embodiment of this application;
[0024] Figure 5 is a schematic diagram of a process for identifying driving scenarios provided in an embodiment of this application;
[0025] Figure 6 is a schematic diagram of different scenarios for distance topology based on the current matching point provided in an embodiment of this application;
[0026] Figure 7a is a schematic diagram of a vehicle posture angle provided in an embodiment of this application;
[0027] Figure 7b is a schematic diagram of a planar decomposition process of attitude angles provided in an embodiment of this application;
[0028] Figure 8 is a schematic diagram of a mobile phone coordinate system provided in an embodiment of this application;
[0029] Figure 9 is a schematic diagram of the vector sum of triaxial accelerations provided in an embodiment of this application;
[0030] Figure 10 is a flowchart illustrating another data processing method provided in an embodiment of this application;
[0031] Figure 11 is a schematic diagram of a process for obtaining slope values according to an embodiment of this application;
[0032] Figure 12 is a visual calculation diagram of an optimized confidence level provided in an embodiment of this application;
[0033] Figure 13 is a schematic diagram of a map matching process for a slope scene provided in an embodiment of this application;
[0034] Figure 14 is a schematic diagram of the structure of a data processing device provided in an embodiment of this application;
[0035] Figure 15 is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation
[0036] I. To better understand the proposed solution, the following section introduces the key terms used in this application.
[0037] (1) Location information.
[0038] Location information refers to the information obtained after performing real-time location processing on vehicles traveling on roads; location refers to determining the position of an object (such as a vehicle), for example, determining the position of a vehicle traveling on a road. For example, location information may include: the vehicle's location (such as coordinates, latitude and longitude), vehicle speed (such as speed magnitude and direction), and location time.
[0039] Generally, satellite positioning technology can be used to locate vehicles and obtain their location information. This satellite positioning technology can be GNSS (Global Navigation Satellite System) positioning technology, which is a space-based radio navigation and positioning system that can provide users with all-weather three-dimensional coordinates, velocity, and time information at any location on the Earth's surface or in near-Earth space. GNSS includes one or more satellite constellations and the augmentation systems required to support specific tasks. The main GNSS systems include: BeiDou Navigation Satellite System (BDS), Global Positioning System (GPS), GLONASS, and Galileo. GPS is the world's first global navigation system established and used for navigation and positioning. GLONASS has become the world's second largest satellite navigation system after a rapid recovery, and both are currently undergoing modernization. GALILEO is the first fully civilian satellite navigation system and is in the experimental stage. BDS is a global satellite navigation system independently built and operated by my country, providing global users with all-weather, all-time, high-precision positioning, navigation and timing services.
[0040] (2) Map matching and matching results.
[0041] Map matching is a technique that associates actual location points (such as a vehicle's GNSS positioning data or GPS data) with roads or paths on a digital map. It utilizes the geometric features, topology, and vehicle trajectory information of the road network to project the vehicle's location data onto the best-matching road in the digital map, effectively positioning the vehicle on the actual road within the digital map. Therefore, map matching is a key technology widely used in navigation, vehicle positioning, and other fields, as it combines positioning data and map information to link the vehicle's actual location with roads on a digital map.
[0042] The result obtained by performing map matching on a vehicle refers to the map matching result of that vehicle (hereinafter referred to as the matching result). The matching result includes: N candidate roads matched from the digital map, and the confidence score of each candidate road; the confidence score of any candidate road is used to indicate the probability that the vehicle is located on that candidate road. For example, the matching result includes two candidate roads: candidate road 1 and candidate road 2, and the confidence score of candidate road 1 is p1, the confidence score of candidate road 2 is p2, and p1 < p2; then, the probability that the vehicle is located on candidate road 2 is higher than the probability that the vehicle is located on candidate road 1, and the vehicle can be matched to candidate road 2 subsequently.
[0043] (3) Attitude information.
[0044] Attitude information is used to describe the posture and state of a vehicle. A three-dimensional vehicle coordinate system can be constructed with the vehicle as the origin, the right side of the vehicle as the X-axis, the vehicle's forward direction as the Y-axis, and the plane perpendicular to the vehicle pointing upwards as the Z-axis. In this coordinate system, the vehicle's rotation angle around the Z-axis is defined as the Yaw angle, used to represent changes in the vehicle's heading angle (manifested as left or right steering); the vehicle's rotation angle around the X-axis is defined as the Pitch angle, used to represent changes in the vehicle's pitch angle (representing the vehicle's uphill / downhill state); and the vehicle's rotation angle around the Y-axis is defined as the Roll angle, used to represent the vehicle's lateral tilt state. Therefore, the vehicle's attitude information can include different rotation angles of the vehicle in the three-dimensional coordinate system. For example, attitude information can include the vehicle's yaw angle, pitch angle, and roll angle. In this application, if the vehicle is traveling in a slope scenario, the attitude information mainly involves the pitch angle (i.e., the pitch angle), which is used to describe the vehicle's pitch state in the slope scenario.
[0045] (4) Target map and map data.
[0046] In this application, the target map refers to a local topological map surrounding the vehicle. A local topological map is a map within a local area, such as a map within a preset range centered on the vehicle's location. This preset range can be any of the following: a circular range, a rectangular range, or a specified range.
[0047] The target map records map data, which can include either SD (Standard Definition) or HD (High Definition) map data. SD map data primarily records the basic attributes of roads in the target map, such as road length, number of lanes, direction, and topology. HD map data mainly records precise and rich road information, including lane line equations / crosspoint coordinates, lane type, lane speed limit, lane marking type, utility pole coordinates, road sign locations, and camera / traffic light locations. Lane-level data is a type of map data between SD and HD map data. It can be considered richer than SD map data but does not meet the high-definition standard. Compared to SD data, lane-level data contains lane-level information, such as lane line equations / crosspoint coordinates, lane type, lane speed limit, lane marking type, and lane topology information.
[0048] II. Introduction and explanation of this application plan.
[0049] This application provides a data processing solution applicable to vehicle navigation scenarios, which can improve the positioning effect of vehicles driving in slope scenarios, and make corresponding adjustments to the navigation and positioning experience (such as yaw recognition, voice broadcast strategy, navigation route calculation, etc.), thereby improving product performance and providing users with a better experience. Specifically, this application introduces additional vehicle attitude information (such as pitch angle) in slope scenarios, and combines the vehicle attitude information with road slope data for matching calculation, which can more accurately calculate the road confidence level, thereby improving the map matching effect in slope scenarios. Here, a slope scenario refers to a road driving scenario with a slope value (specifically, a slope driving scenario with intersections), such as an uphill road driving scenario or a downhill road driving scenario; in specific implementation, the principle of the data processing solution provided in this application is roughly as follows:
[0050] (1) Based on the vehicle's location information, obtain the vehicle's matching result in the target map. This matching result includes N candidate roads that have been matched and the confidence level of each candidate road. The confidence level of any candidate road indicates the probability that the vehicle is located on that candidate road, where N is an integer greater than 1. The vehicle's location information can be obtained using any of the following positioning technologies: satellite positioning (such as GNSS positioning, GPS positioning), Precision Point Positioning (PPP positioning), Real-time Kinematic (RTK) positioning, or fusion positioning. Map matching processing is then performed on the current vehicle using its location information to obtain the matching result of the vehicle in the target map. Furthermore, the higher the confidence level of a candidate road, the greater the probability that the vehicle will be matched onto that candidate road; conversely, the lower the confidence level of a candidate road, the smaller the probability that the vehicle will be matched onto that candidate road.
[0051] (2) Identify the driving scenario to which the vehicle belongs based on the matching results. The driving scenario may include, but is not limited to, horizontal driving scenario, slope driving scenario, curved driving scenario, etc. For example, the target candidate road with the highest confidence can be selected from N candidate roads as the candidate matching road for the vehicle. Then, the matching position point of the vehicle in the candidate matching road is determined by the vehicle's positioning information. In the target map, starting from the matching position point, the second topological distance is traced back in the opposite direction of the vehicle's travel. If there is a road junction within the second topological distance, the driving scenario to which the vehicle belongs is determined to be a slope scenario.
[0052] (3) If the driving scenario to which the vehicle belongs is a slope scenario, then obtain the vehicle's attitude information and the slope data of N candidate roads. Among them, the vehicle's attitude information may include the vehicle's pitch angle, which is used to reflect the vehicle's uphill or downhill state in the slope scenario; in addition, there is at least one slope value in the slope data of each candidate road.
[0053] (4) Based on the vehicle's attitude information and the slope data of N candidate roads, the confidence scores of the N candidate roads are optimized to obtain the optimized confidence score of each candidate road. Specifically, the optimized confidence score of a candidate road can be calculated based on the vehicle's attitude information and the slope data of each candidate road, and then the original confidence score of that candidate road can be replaced with the optimized confidence score at this point to obtain the optimized confidence score of that candidate road in the slope scenario. Subsequently, based on the optimized confidence scores of each of the N candidate roads, the map matching result of the vehicle in the slope scenario can be obtained. For example, the candidate road with the highest optimized confidence score can be used as the matching road for the vehicle in the slope scenario to perform navigation for the vehicle.
[0054] In the aforementioned data processing scheme, this application provides a map matching scheme for slope scenarios, supporting accurate matching processing based on vehicle attitude information (such as pitch angle) and road slope data in slope scenarios, thereby improving map matching performance. Specifically, after obtaining the vehicle matching result, this application can further identify whether the current vehicle is driving in a slope scenario. If it is in a slope scenario, it can further obtain the vehicle's attitude information and the road slope data, and recalculate the confidence score of each candidate road using the attitude information and slope data. Because the additional vehicle attitude information and road slope data are introduced, the calculated confidence score is more accurate, thereby improving the map matching performance in slope scenarios and thus improving the accuracy of vehicle positioning.
[0055] It should be noted that the data processing scheme provided in this application requires special explanation of the following two points:
[0056] 1. The relevant data involved in the data processing of this application (such as location information, matching results, confidence levels of candidate roads, etc.). When the above embodiments of this application are applied to specific products or technologies, permission or consent from the target audience is required, and the collection, use, and processing of relevant data must comply with the relevant laws, regulations, and standards of the region, conforming to the principles of legality, legitimacy, and necessity, and not involving the acquisition of data types prohibited or restricted by laws and regulations. In some optional embodiments, the relevant data involved in the embodiments of this application are obtained after separate authorization from the target audience. In addition, when obtaining separate authorization from the target audience, the purpose of the relevant data is explained to the target audience.
[0057] 2. It is understood that in this application, the term "at least one" refers to one or more, and "multiple" means two or more; for example, "at least one slope value" refers to one, two, or more slope values. The terms "first," "second," etc., are used to distinguish identical or similar items with essentially the same function. It should be understood that there is no logical or temporal dependency between "first," "second," and "nth," nor is there any limitation on quantity or execution order.
[0058] The data processing system provided in this application will be described in detail below with reference to Figures 1 and 2.
[0059] I. Introduction to the macroscopic system architecture based on Figure 1.
[0060] Please refer to Figure 1, which is a schematic diagram of the architecture of a data processing system provided in an embodiment of this application. As shown in Figure 1, the architecture of the data processing system may include at least: a server 104 and a terminal device cluster. The terminal device cluster includes at least: a first terminal device 101, a second terminal device 102, a third terminal device 103, and other terminal devices. The number of terminal devices included in the terminal device cluster is only for example, and this embodiment of the application does not limit the number or type of terminal devices. Any terminal device in the terminal device cluster can be directly or indirectly connected to the server 104 via a network. The network may include, but is not limited to: wired networks and wireless networks. The wired network includes: local area networks (LANs), metropolitan area networks (MANs), and wide area networks (WANs). The wireless network includes: Bluetooth, Wi-Fi (Wireless Fidelity, a standard wireless LAN), and other networks that enable wireless communication.
[0061] Terminal devices can be: mobile phones, tablets, laptops, desktop gaming devices, in-vehicle devices, aircraft, wearable devices (such as smartwatches, smart bracelets, pedometers, etc.), virtual reality devices (such as VR (Virtual Reality) devices, AR (Augmented Reality) devices), in-vehicle devices, and other devices with data processing capabilities; wherein, the types of terminal devices in the terminal device cluster can be the same or different, for example: the first terminal device 101 can be a laptop, the second terminal device 102 can be a desktop computer, and the third terminal device 103 can be a tablet. This application does not limit the number and type of terminal devices in the terminal device cluster.
[0062] A server can be a standalone physical server, a server cluster or distributed system consisting 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.
[0063] Next, taking any terminal device in the above data processing system (such as the first terminal device 101) as an example, the data interaction process between the first terminal device 101 and the server 104 will be described accordingly:
[0064] 1. The first terminal device 101 can acquire the vehicle's location information and determine the vehicle's matching result in the target map based on the vehicle's location information. The matching result includes N (N is an integer greater than 1) candidate roads that have been matched and the confidence score of each candidate road. The confidence score of any candidate road is used to indicate the probability that the vehicle is located on the candidate road. For example, the higher the confidence score of a candidate road, the greater the probability that the vehicle is located on that candidate road.
[0065] 2. The first terminal device 101 identifies the driving scenario to which the vehicle belongs based on the matching results. For example, it can select the target candidate road with the highest confidence from N candidate roads as the candidate matching road for the vehicle. Then, it determines the matching position point of the vehicle on the candidate matching road through the vehicle's positioning information. In the target map, it traces back a second topological distance from the matching position point in the opposite direction of the vehicle's travel. If there is a road junction within the second topological distance, it determines that the driving scenario to which the vehicle belongs is a slope scenario.
[0066] 3. If the driving scenario to which the vehicle belongs is a slope scenario, the first terminal device 101 can obtain the vehicle's attitude information (such as pitch angle) and the slope data of N candidate roads.
[0067] 4. The first terminal device 101 sends the vehicle's attitude information and the slope data of N candidate roads to the server 104.
[0068] 5. Server 104 optimizes the confidence of the N candidate roads based on the vehicle's attitude information and the slope data of the N candidate roads, and obtains the optimized confidence of each candidate road in the slope scenario.
[0069] 6. Server 104 returns the optimized confidence score (i.e., optimized confidence score) of each candidate road to the first terminal device 101. Subsequently, the first terminal device 101 can select the candidate road with the highest confidence score as the final matching result for the vehicle in the slope scenario and use it for subsequent vehicle navigation.
[0070] It should be noted that the above data processing procedure is for illustrative purposes only and does not limit the specific execution process of any terminal device (such as the first terminal device mentioned above) and the server. Optionally, the first terminal device can send the vehicle's location information and target map to the server, and then the server can calculate the vehicle's matching result; or, the first terminal device can send the matching result to the server, and the server can determine whether the driving scenario to which the vehicle belongs is a slope scenario; or, the complete process of the above data processing can be executed by any terminal device or server alone.
[0071] In one possible implementation, the data processing system provided in this application embodiment can be deployed on a blockchain node. For example, the first terminal device 101, the second terminal device 102, the third terminal device 103, and the server 104 in the above data processing system can all be treated as blockchain node devices, jointly forming a blockchain network. Therefore, the data processing flow executed in this application embodiment can be executed on the blockchain, which can ensure the fairness and impartiality of the data processing flow, make the flow traceable, and ensure data security during the data processing process, thereby improving the security and reliability of the entire data processing flow.
[0072] II. The module processing flow in the data processing system is introduced with reference to Figure 2.
[0073] Please refer to Figure 2, which is a flowchart of the module processing in a data processing system provided in an embodiment of this application. As shown in Figure 2, the data processing system mainly includes the following modules: map data module, vehicle positioning module, map matching module, scene recognition module, slope scene fine matching module, MEMS (Micro-Electro Mechanical System) module, and attitude estimation module. The specific functions of each of the above modules are described in detail below:
[0074] (1) Map Data Module: Based on the vehicle's location information, this module provides local map data around the vehicle and determines the local topological map (i.e., the target map) around the vehicle. The target map data may include the slope data of each road.
[0075] (2) Vehicle positioning module: used to locate the vehicle using positioning technology (such as GNSS positioning, PPP positioning, RTK positioning) to provide vehicle positioning information, such as: vehicle positioning location (such as coordinates, latitude and longitude), vehicle speed (such as speed magnitude and direction), and positioning time.
[0076] (3) Map matching module: This module performs map matching on the vehicle based on its location information and the target map surrounding the vehicle, obtaining the matching result of the vehicle in the target map. For example, the matching result includes: N candidate roads matched and the confidence score of each candidate road, where N is an integer greater than 1.
[0077] (4) Scene recognition module: used to identify the driving scene to which the vehicle belongs based on the vehicle matching result. If the driving scene is a slope scene, the slope scene fine matching module is called to perform subsequent processing; if the driving scene is not a slope scene, no subsequent processing is performed.
[0078] (5) MEMS Module: Micro-Electro Mechanical System, refers to a micro-device or system that integrates micro-mechanisms, micro-sensors, micro-actuators, signal processing and control circuits, and even interfaces, communication, and power supplies. It can be understood as a technology that uses traditional semiconductor processes and materials to manufacture micro-mechanisms on a chip using micrometer technology, and integrates them with corresponding circuits into a whole. Therefore, it is an advanced manufacturing technology platform developed based on semiconductor manufacturing technology. MEMS devices (especially MEMS sensors) have become standard equipment in electronic devices such as smartphones. Specifically, MEMS modules are used to collect sensor data in vehicles.
[0079] (6) Attitude estimation module: This module is used to calculate the vehicle's attitude information based on the sensor data collected by the MEMS module. For example, the attitude estimation module can be an AHRS (Attitude and heading reference system) estimation module. The AHRS is composed of a three-axis accelerometer, a three-axis magnetometer, and a three-axis gyroscope. The AHRS can provide the device with heading (yaw), roll (roll), and pitch (pitch) information.
[0080] (7) Slope Scene Fine Matching Module: When the driving scene to which the vehicle belongs is a slope scene, it calculates the optimized confidence of each candidate road based on the vehicle's attitude information (such as pitch angle) and the slope data of each candidate road; and optimizes the confidence of each candidate road to the optimized confidence of this location, thereby obtaining a more accurate map matching result for the vehicle in the slope scene and improving the vehicle positioning effect.
[0081] Based on this, by introducing the above-mentioned hierarchical modules, the complex data processing logic can be clearly broken down into modules at each level, ensuring that the function of each module is relatively independent. Furthermore, with the joint collaboration of these modules, the complex map matching problem in the slope scenario is greatly simplified into several smaller problems. Each module has a single responsibility and performs its own duties, thereby improving the maintainability and processing efficiency of the system.
[0082] Based on the data processing system provided in this application embodiment, a map matching scheme in slope scenarios is provided, supporting accurate matching processing based on vehicle attitude information (such as pitch angle) and road slope data in slope scenarios, which can improve map matching results. Specifically, after obtaining the vehicle matching result, this application can further identify whether the current vehicle is driving in a slope scenario. If it is in a slope scenario, it can further obtain the vehicle attitude information and road slope data, and recalculate the confidence score of each candidate road using the attitude information and slope data. Since the additional vehicle attitude information and road slope data are introduced, the calculated confidence score is more accurate, thereby improving the map matching effect in slope scenarios and thus improving the accuracy of vehicle positioning.
[0083] It is understood that the data processing system described in the embodiments of this application is for the purpose of more clearly illustrating the technical solutions of the embodiments of this application, and does not constitute a limitation on the technical solutions provided in the embodiments of this application. As those skilled in the art know, with the evolution of system architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0084] The specific embodiments of the data processing scheme of this application will be described in detail below with reference to the accompanying drawings.
[0085] Please refer to Figure 3, which is a flowchart illustrating a data processing method provided in an embodiment of this application. This data processing method can be executed by a computer device (any terminal device or server shown in Figure 1); as shown in Figure 3, the data processing method includes, but is not limited to, the following steps S301-S304:
[0086] S301. Based on the vehicle's location information, obtain the matching result of the vehicle in the target map.
[0087] The matching results include N candidate roads and the confidence score of each candidate road. The confidence score of any candidate road indicates the probability that the vehicle is located on that candidate road, where N is an integer greater than 1. It should be understood that in the field of vehicle localization, the higher the confidence score of a candidate road, the greater the probability that the current vehicle is matched to that candidate road; conversely, the lower the confidence score of a candidate road, the lower the probability that the current vehicle is matched to that candidate road.
[0088] In one possible implementation, positioning technology can be used to perform positioning processing on the vehicle during the driving process to obtain the vehicle's positioning information; for example, the vehicle's positioning information includes, but is not limited to: positioning location (such as positioning coordinates, latitude and longitude, etc.), vehicle speed (such as speed magnitude and direction), and positioning time. Among them, the positioning technology here includes: satellite positioning technology (GNSS positioning technology), precise point positioning technology (PPP positioning technology), real-time dynamic differential positioning technology (RTK positioning technology), and fusion positioning technology. Among them, (1) GNSS positioning technology is a technology that mainly uses satellite signals to perform positioning, such as GPS positioning, Beidou positioning, GLONASS positioning, Galileo positioning, etc. (3) PPP positioning technology is a technology that improves positioning accuracy by accurately processing GNSS signals, using satellite orbit, clock bias and other error correction information to eliminate errors in conventional GNSS positioning. (3) RTK positioning technology is a technology that provides centimeter-level high-precision positioning through differential calculation between base station (reference station) and mobile station. (4) Fusion positioning technology refers to the process of fusing GNSS positioning results, PPP positioning results, and RTK positioning results, and combining them with sensors such as IMU (Inertial Measurement Unit) to improve positioning accuracy and stability. A brief comparison of different positioning technologies is provided below with reference to Table 1:
[0089] Table 1. Summary and Comparison of Different Positioning Technologies
[0090] As shown in Table 1 above, different positioning technologies have different characteristics. In practical applications, different positioning technologies can be flexibly selected according to the actual positioning needs and scenarios to achieve vehicle positioning processing and obtain vehicle positioning information. For example, in scenarios such as navigation and logistics tracking, GNSS positioning technology can be used to obtain vehicle positioning information; and in autonomous driving scenarios, PPP positioning technology can be used to obtain vehicle positioning information.
[0091] In one possible implementation, the computer device obtains the matching result of the vehicle in the target map based on the vehicle's location information, which may include the following steps (1)-(3):
[0092] (1) Positioning technology is used to locate the vehicle during its journey, thereby obtaining the vehicle's positioning information. The positioning technology includes any one of the following: satellite positioning technology, precise point positioning technology, real-time dynamic differential positioning technology, and fusion positioning technology. The specific process of obtaining the vehicle's positioning information is as described above and will not be repeated here.
[0093] (2) Based on the vehicle's location information, obtain a target map of the area surrounding the vehicle. This target map can be a local topological map of the area surrounding the vehicle, or it can be a global topological map of the region to which the vehicle belongs (e.g., a street, a specific road segment). Optionally, the location information includes the vehicle's location (e.g., location coordinates, latitude and longitude). Therefore, the process of obtaining the target map may include the following steps i-iii:
[0094] i. Based on the vehicle's location, determine a local area surrounding the vehicle; this local area includes any one of the following: a circular area, a rectangular area, or a preset area. For example, a circular area can be defined as an area centered on the vehicle's current location with a preset distance (e.g., 10 meters or 20 meters) as its radius; another example is a rectangular area centered on the vehicle's current location with a preset length (e.g., 20 meters) and a preset width (e.g., 20 meters); yet another example is a preset area that can be an ellipse, a polygon, etc.
[0095] ii. Obtain a local topology map within a specific area. For example, a local topology map within the aforementioned local area (such as a circular area) can be determined from the map data module.
[0096] iii. Use a local topological map as the target map around the vehicle. The target map consists of at least one road, and each road has its own road data. The road data of all roads included in the target map collectively constitute the map data. For example, the target map data can be SD map data, including: road length, number / width of lanes, road connectivity, road gradient, road shape point representation, road attributes (elevated, ramps, main / auxiliary roads, tunnels, etc.), road class (expressway, provincial road, rural road, etc.), etc. Alternatively, the target map data can also be HD map data, including: road lane line equations / crosspoint coordinates, lane type, lane speed limit, lane marking type, utility pole coordinates, road sign locations, camera / traffic light locations, and other detailed information.
[0097] (3) Based on the location information and the target map, a map matching algorithm is used to perform map matching processing on the vehicle to obtain the matching result of the vehicle in the target map; wherein, the map matching algorithm includes any of the following: Hidden Markov Model (HMM) algorithm, particle filter algorithm, Kalman filter algorithm, shortest path algorithm, and geometric distance algorithm. Optionally, taking the HMM algorithm as an example, the map matching process performed by the HMM algorithm is briefly described below:
[0098] i. Obtain the correlation information between the vehicle's location and each road in the target map, and determine the observation probability based on the correlation information; wherein, the correlation information includes at least one of distance and angle. For example, the observation probability (also known as the transmission probability) here can be defined by the distance and angle between the GNSS positioning point (i.e., the vehicle's location) and each road. The closer the positioning point is to the road, the higher the observation probability; conversely, the farther the positioning point is from the road, the lower the observation probability. Similarly, the larger the angle between the positioning point and the road, the lower the observation probability; the smaller the angle between the positioning point and the road, the higher the observation probability.
[0099] ii. Analyze the target map to determine the connectivity between each road, and determine the transfer probability based on the connectivity. Here, the transfer probability can consider the connectivity between roads, as well as the degree of agreement between the angles of the connecting roads and the angle changes of the sensor / GNSS signal. The closer the angle probabilities match, the higher the transfer probability; conversely, the less close the angle probabilities match, the lower the transfer probability.
[0100] iii. Based on the observation probability and transition probability, the Viterbi algorithm is used to perform map matching processing on the vehicle to obtain the matching result. The matching result includes N matched candidate roads and the confidence score of each candidate road. The confidence score of any candidate road is used to indicate the probability that the vehicle is located on the candidate road.
[0101] For example, through the map matching process shown in steps (1)-(3) above, the matching result candidates of the vehicle at each time (e.g., per second) can be output. The matching result candidates includes: candidates.size() and candidate[i].prob; where candidates.size() represents the number of possible candidate roads at the current time, and candidate[i].prob represents the confidence level of the current candidate road i. Please refer to Figure 4, which is a schematic diagram of a map matching process provided by an embodiment of this application. As shown in Figure 4, the target map includes multiple roads such as main roads and auxiliary roads. At time t1, the positioning signal (vehicle) is located on the auxiliary road in the target map by using positioning technology to perform real-time positioning. The matching result obtained at time t1 includes: a candidate road (candidate[1]) and the confidence level of the candidate road is 1.0. Furthermore, at time t2 (in the scenario where the vehicle travels to the fork in the parallel road), the vehicle is located between two parallel roads. Therefore, the matching result obtained at time t2 includes two candidate roads (candidate[1], candidate[2]), and the confidence of candidate road 1 is candidate[1].prob = 0.6; the confidence of candidate road 2 is candidate[2].prob = 0.4. Since candidate[1].prob > candidate[2].prob, it can be concluded that when there are multiple candidate roads at time t2, the probability of the vehicle being matched to candidate road 1 is greater than the probability of the vehicle being matched to candidate road 2.
[0102] Based on the map matching process shown in (1)-(3) above, this application embodiment supports map matching processing based on vehicle positioning information and local map data around the vehicle to obtain matching results. Furthermore, during the map matching process, different map matching algorithms are supported to meet the flexibility requirements of map matching; in addition, a variety of positioning technologies are also provided during vehicle positioning, thereby improving the vehicle positioning effect.
[0103] S302. Identify the driving scenario to which the vehicle belongs based on the matching results.
[0104] The driving scenario reflects the road attributes (e.g., elevated roads, ramps, main / auxiliary roads, tunnels, etc.) to which the vehicle belongs during its journey. For example, if there is only one candidate road, the vehicle is traveling on a single road without branching (e.g., a main road); if there are multiple candidate roads, the vehicle is traveling on multiple parallel roads at a fork in the road. Specifically, when identifying the driving scenario to which a vehicle belongs, the driving scenario can be directly identified based on the matching results. For example, if the total number N of candidate roads in the matching results is greater than 1, the driving scenario to which the vehicle belongs is a fork in the road scenario; if the total number N of candidate roads in the matching results is 1, the driving scenario to which the vehicle belongs is not a fork in the road scenario, that is, the vehicle is traveling on a single road (e.g., a main road). It should be noted that the embodiments of this application mainly involve the map matching process in fork in the road scenario where N > 1.
[0105] In one possible implementation, the target map consists of multiple topological points, and the slope scenario refers to a driving scenario with a fork in the road; the topological point of the fork in the target map is represented as the intersection fork point; the computer device identifies the driving scenario to which the vehicle belongs based on the matching result, including the following steps (1)-(3):
[0106] (1) Based on the matching results and the vehicle's location information, determine the matching location point of the vehicle in the target map. Specifically, the location information includes the vehicle's location, and the process of determining the matching location point includes the following steps i-iii:
[0107] i. Based on the confidence level of each candidate road among the N candidate roads, determine the target candidate road with the highest confidence level as the candidate matching road for the vehicle. Please refer to Figure 5, which is a schematic diagram of a process for identifying driving scenarios provided in an embodiment of this application. As shown in the target map in Figure 5, at time t2, it is assumed that there are three candidate roads. The confidence level of candidate road 1 (candidate[1]) is 0.6, the confidence level of candidate road 2 (candidate[2]) is 0.3, and the confidence level of candidate road 3 (candidate[3]) is 0.1. Then, the candidate matching road corresponding to the vehicle at time t2 is candidate road 1.
[0108] ii. Determine the vehicle's location point according to its location, and project the vehicle's location point onto the candidate matching road to obtain the projection point. That is, take the point represented by the vehicle's location (such as location coordinates) as the vehicle's location point (as shown in the white circle in Figure 5), and then project this location point onto the candidate matching road (such as candidate road 1) to obtain the vehicle's projection point on the candidate matching road. The above projection refers to projecting the location point vertically onto the above candidate road 1.
[0109] iii. The location of the projection point in the candidate matching road is taken as the matching position point of the vehicle in the target map. As shown in Figure 5, the projection point S is the matching position point S of the vehicle in the target map.
[0110] (2) In the target map, starting from the matching location point, backtrack the second topological distance in the opposite direction of the vehicle's travel to obtain the backtracking segment. As shown in Figure 5, assuming the vehicle's travel direction is from left to right, then the opposite direction is from right to left. Based on the matching location point S, backtrack the second topological distance in the target map in the direction from right to left to obtain the backtracking segment L2.
[0111] (3) If there is a fork in the road segment, the driving scenario of the vehicle is determined to be a slope scenario. As shown in Figure 5, if there is a fork in the road segment L2, the current driving scenario of the vehicle can be considered to be a slope scenario, that is, a slope driving scenario with a fork in the road. Conversely, if there is no fork in the road segment L2, the current driving scenario of the vehicle can be considered not to be a slope scenario.
[0112] Based on the steps (1)-(3) above, in the process of identifying the driving scene to which the vehicle belongs, on the one hand, the driving scene of the vehicle must satisfy the requirement that it belongs to the intersection area, that is, there are multiple candidate roads in the current matching results; on the other hand, the driving scene must also satisfy the requirement that the vehicle is within the second topological distance (L2) after it has traveled to the intersection. This ensures that the vehicle is identified as a slope scene only after it has traveled a certain distance from the intersection, which can improve the system's fault tolerance.
[0113] In another possible implementation, if the vehicle's driving scenario is not a slope scenario, or if the vehicle's driving scenario is in a non-forking intersection area, the current position can be defined as an intersection anchor point, and new forking intersections can be found. One optional method for determining intersections is as follows: Based on the second topological distance (e.g., L1 meters) from the current matching position, if a forking intersection exists within L1 meters, a new intersection is recorded, and the current position is determined as the intersection anchor point corresponding to that intersection. The slope data of the road to that intersection anchor point and the pitch angle of the vehicle at that intersection anchor point are also recorded. Here, a fork is defined as follows: the found road link has two or more non-self-topological downstreams (a topological downstream refers to an untraveled road found on the map starting from the vehicle's current position); if there is only one topological downstream, or if two topological downstreams contain the vehicle itself, then there is no fork (the case of a topological downstream containing itself exists when the current road is bidirectional, and therefore needs to be excluded); if the number of topological downstreams is greater than two, then the vehicle is considered to be in a forking intersection area.
[0114] Please refer to Figure 6, which is a schematic diagram of different scenarios of distance topology based on the current matching point provided in the embodiments of this application. As shown in (1) of Figure 6, assuming that the current matching point is not in the intersection area, if there is no fork in the topology (i.e., the matching position point of the current vehicle) within L1 meters of the current matching point (i.e., the topology in time, i.e., according to the vehicle's driving direction), it can be concluded that the current matching point is not in the intersection area. Since there is no intersection area in the future, the introduction of L1 can improve the accuracy of determining whether the vehicle is in the intersection area. As shown in (2) of Figure 6, if there is a fork in the topology within L1 meters of the current matching point, the current matching point can be set as an intersection anchor point. Based on this, the two scenarios shown in (1) and (2) of Figure 6 refer to two specific scenarios in which the vehicle is not currently in the intersection area. Furthermore, if the vehicle is currently in a fork in the road, it is necessary to proceed 2 meters forward from the current matching point. As shown in (3) of Figure 6, if there is a fork within 2 meters forward from the current matching point, it indicates that the current vehicle's driving scenario meets the slope scenario in this application embodiment. As shown in (4) of Figure 6, if there is no fork within 2 meters forward from the current matching point, it indicates that the current vehicle's driving scenario does not meet the slope scenario, and it is necessary to wait to find the next fork.
[0115] Based on this, after determining the matching location of the vehicle, the embodiments of this application can perform front and rear topology calculations on the target map based on L1 and L2. That is, before entering the fork in the road, the first topology distance L1 needs to record an anchor point; and after entering the fork in the road, the second topology distance L2 can trigger the subsequent process of performing accurate calculation of confidence in the slope scenario.
[0116] S303. If the driving scenario to which the vehicle belongs is a slope scenario, then obtain the vehicle's attitude information and the slope data of N candidate roads.
[0117] In this embodiment, the slope scenario is defined with matching conditions. If the matching conditions are met, the driving scenario to which the vehicle belongs is a slope scenario. For example, the matching conditions include the following sub-conditions: (1) the number of candidate roads N in the matching result is greater than 1; (2) each candidate road has valid slope data, for example, the slope difference of the candidate roads is greater than a preset slope difference threshold; (3) the vehicle's attitude information can be effectively obtained (e.g., the sensor devices in the vehicle can estimate valid attitude information). If the above sub-conditions are met, the driving scenario to which the vehicle belongs is considered to be a slope scenario; otherwise, if they are not met, the driving scenario to which the vehicle belongs is considered not to be a slope scenario.
[0118] Specifically, vehicle attitude information is information used to reflect the vehicle's posture and state. For example, attitude information includes attitude angles, such as yaw angle, heading angle, and pitch angle. Please refer to Figure 7a, which is a schematic diagram of a vehicle attitude angle provided in an embodiment of this application. As shown in Figure 7a, a vehicle coordinate system O-XYZ can be constructed with the vehicle's geometric center as the origin, the right side of the vehicle as the X-axis, the vehicle's forward direction as the Y-axis, and the direction perpendicular to the vehicle plane upwards as the Z-axis. It should be understood that the definition of the vehicle coordinate system is not limited; it can also be constructed with the vehicle's forward direction as the X-axis, the left side of the vehicle as the Y-axis, and the direction perpendicular to the vehicle plane upwards as the Z-axis. In the vehicle coordinate system shown in Figure 6, the rotation angle around the Z-axis is defined as the Yaw angle, which represents the change in the vehicle's heading angle (such as the vehicle turning left or right); the rotation angle around the X-axis is defined as the Pitch angle, which represents the change in the vehicle's pitch angle (such as the vehicle's uphill or downhill state); and the rotation angle around the Y-axis is defined as the Roll angle, which represents the vehicle's lateral tilt state.
[0119] Further, please refer to Figure 7b, which is a schematic diagram of a planar decomposition process for attitude angles provided in an embodiment of this application. As shown in (1) of Figure 7b, in the O-XYZ vehicle coordinate system, the aforementioned yaw angle can be decomposed into the XY plane for expression; as shown in (2) of Figure 7b, in the O-XYZ vehicle coordinate system, the aforementioned roll angle can be decomposed into the XZ plane for expression; as shown in (3) of Figure 7b, in the O-XYZ vehicle coordinate system, the aforementioned pitch angle can be decomposed into the YZ plane for expression. Based on this, each attitude angle of the vehicle (such as yaw angle, pitch angle, and roll angle) can be represented into different planes, which is convenient for subsequent processing. In this embodiment of the application, since the main focus is on the attitude information of the vehicle in a slope scenario, the main focus is on the pitch angle of the vehicle (i.e., the pitch angle). The specific process of how to obtain the attitude information of the vehicle is described in detail below.
[0120] In one possible implementation, the process of acquiring attitude information includes the following steps (1)-(3):
[0121] (1) Acquire sensor data collected by sensor devices in the vehicle; these sensor devices include an accelerometer and a gyroscope, and the sensor data includes accelerometer data and gyroscope data. The vehicle is equipped with MEMS sensor devices (such as smartphones or in-vehicle infotainment systems). Typically, smartphones contain more than ten types of MEMS sensors, such as microphones, pressure sensors, proximity sensors, accelerometers, gyroscopes, and magnetic sensors. In this embodiment, the main sensors involved include accelerometers, gyroscopes, and magnetic sensors; the accelerometer is used to collect accelerometer data, the gyroscope is used to collect gyroscope data, and the magnetic sensor is used to collect magnetic sensor data.
[0122] (2) Based on sensor data, an attitude estimation algorithm is used to perform initial attitude estimation processing on the sensor device to obtain the initial attitude information of the sensor device. The attitude estimation algorithm includes any one of the following: complementary filtering algorithm, gradient descent algorithm, and attitude fusion algorithm. Among them, the attitude estimation algorithm can be, for example, the AHRS (Attitude and Heading Reference System) algorithm. The AHRS algorithm can estimate the initial attitude information of the sensor device (such as mobile phone / vehicle device) in the mobile phone coordinate system based on sensor data: such as accelerometer data, gyroscope data, and magnetometer data. Please refer to Figure 8, which is a schematic diagram of a mobile phone coordinate system provided in an embodiment of this application. As shown in Figure 8, the mobile phone coordinate system is a three-dimensional coordinate system constructed with the geometric center of the mobile phone as the origin. AHRS can provide the sensor device with heading information (such as yaw angle), roll information (such as roll angle), and pitch information (such as pitch angle). That is, the AHRS algorithm can estimate the initial attitude information of the mobile phone / vehicle device based on the mobile phone / vehicle sensor.
[0123] (3) Based on the initial attitude information of the sensor device, coordinate system transformation is performed on the gyroscope data to obtain the vehicle's attitude information. It should be understood that since the sensor data collected by the sensor device (such as a mobile phone) refers to the attitude information in the sensor device coordinate system (such as the mobile phone coordinate system), coordinate system transformation is required between the mobile phone coordinate system and the vehicle coordinate system in order to convert the sensor data in the mobile phone coordinate system into the vehicle's attitude information in the vehicle coordinate system.
[0124] Specifically, gyroscope data includes the rotation angles of a three-axis gyroscope in the sensor device coordinate system (such as a mobile phone / vehicle coordinate system). These rotation angles include yaw, roll, and pitch angles. Vehicle attitude information includes the rotation angles of the three-axis gyroscope in the vehicle coordinate system, i.e., the vehicle's attitude information includes yaw, roll, and pitch angles. The yaw angle reflects the vehicle's heading angle during driving; the roll angle reflects the vehicle's lateral tilt; and the pitch angle reflects the vehicle's driving state in a sloped environment. The following example, using specific formulas, illustrates the process of obtaining vehicle attitude information:
[0125] I. Based on the initial attitude information of the sensor device, calculate the transformation matrix between the vehicle coordinate system and the sensor device coordinate system; the initial attitude information includes the initial values of the yaw angle z0, roll angle y0, and pitch angle x0 of the sensor device.
[0126] For example, in a stationary state, the vector sum obtained from the accelerometer is equal to the gravitational acceleration g. Please refer to Figure 9, which is a schematic diagram of the vector sum of three-axis accelerations provided in an embodiment of this application. As shown in Figure 9, the accelerometer data collected by the accelerometer includes: the X-axis acceleration a. x The acceleration a along the Y-axis y and the acceleration a along the Z-axis z Based on this, the following equation can be estimated:
[0127] In the above formula (1), This is the transformation matrix from the vehicle coordinate system to the cellphone / vehicle-to-machine coordinate system, represented as follows:
[0128] In the above formula (2), g is the local gravitational acceleration, which varies at different latitudes. For ease of calculation, g = 9.8 m / s² in this embodiment. 2 Let's take an example to calculate.
[0129] Since the gravitational acceleration g and the triaxial accelerometer data directly satisfy the following relationship:
[0130] Therefore, based on the above formulas (1)-(3), the following can be calculated:
[0131] Based on the above formula (4), the initial value of the pitch angle x0 of the sensor device can be calculated:
[0132] And, the initial value of the roll angle y0 of the sensor device:
[0133] Furthermore, based on the readings of the triaxial magnetometer (magnetic sensor data), the vehicle's yaw angle, and the calculated x0 and y0, the result of z0 can be obtained.
[0134] Based on this, after calculating the initial attitude information of the sensor device (such as x0, y0, z0), the transformation matrix between the vehicle coordinate system and the sensor device coordinate system can be obtained based on the above formula (2).
[0135] II. The gyroscope data is processed by coordinate system transformation using a transformation matrix to obtain the vehicle's attitude information. The attitude information includes the yaw angle, roll angle, and pitch angle corresponding to each moment of the vehicle's movement.
[0136] For example, the transformation matrix is calculated in step ① above. Furthermore, the three-axis gyroscope readings (gyroscope data) in the mobile phone / vehicle coordinate system can be transformed using a transformation matrix to obtain the three-axis gyroscope readings in the vehicle coordinate system, as follows:
[0137] In the above formula (5), gyr x ',gyr y ',gyr z ' represents the rotation angle of the three-axis gyroscope in the vehicle coordinate system. This application mainly focuses on gyr. x '' is used to represent the vehicle's pitch angle. Based on this, the pitch angle information of the vehicle at each moment can be obtained through the above method. For example, the pitch angle information can be expressed as a binary tuple: Where t corresponds to the current timestamp (i.e., the current moment), This represents the pitch angle value corresponding to the current timestamp t. Generally speaking,
[0138] Based on this, in the process of acquiring vehicle attitude information as shown in steps (1)-(3) above, this application supports using AHRS to estimate the initial attitude information of the mobile phone / vehicle system by using sensor data collected by mobile phone sensors (such as accelerometer, gyroscope, magnetic sensor); and the transformation matrix between the mobile phone coordinate system and the vehicle coordinate system can be obtained based on the initial attitude information of the mobile phone; and the attitude information (such as pitch angle) in the vehicle coordinate system can be calculated by the transformation matrix.
[0139] S304. Based on the vehicle's attitude information and the slope data of N candidate roads, optimize the confidence of the N candidate roads to obtain the optimized confidence of each candidate road in the slope scenario.
[0140] In one possible implementation, any candidate road is denoted as candidate road i, where i is a positive integer and 1 ≤ i ≤ N. The computer device optimizes the confidence of the N candidate roads based on the vehicle's attitude information and the slope data of the N candidate roads, obtaining the optimized confidence of each candidate road in the slope scenario. This includes the following steps: (1) calculating the optimized confidence of candidate road i based on the vehicle's attitude information and the slope data of any candidate road i; (2) replacing the confidence of candidate road i with the optimized confidence of candidate road i to obtain the optimized confidence of candidate road i in the slope scenario. It can be seen that this application can introduce vehicle attitude information and road slope data into the slope scenario to comprehensively calculate the optimized confidence of each road, thereby optimizing the original confidence to the optimized confidence of this road, and thus improving the map matching effect of the vehicle in the slope scenario.
[0141] The following section uses any candidate road i as an example to explain in detail the process of calculating the confidence score of candidate road i. Specifically, the confidence score of candidate road i can be calculated in the following two ways:
[0142] Method 1: Directly match the vehicle's pitch angle with the road slope value at the same moment. Specifically, based on the vehicle's attitude information (such as pitch angle) at the current moment and the slope value of the vehicle on candidate road i at the current moment, calculate the difference between the vehicle's pitch angle at the same moment and the actual slope value of the vehicle on candidate road i, and determine the confidence level of candidate road i based on the difference; where the larger the difference, the lower the confidence level, and vice versa. This confidence level calculation method is simple and convenient. It can easily determine the confidence level of each candidate road by directly comparing the difference between the pitch angle estimated by the vehicle's sensors at the same moment and the actual road slope, and its computational efficiency is high.
[0143] Method 2: Based on anchor point data, vehicle attitude information, and slope data of candidate road i, the optimized confidence score of candidate road i is calculated. The process of acquiring anchor point data is as follows: ① In the target map, determine the intersection anchor points corresponding to the vehicle's travel in the slope scenario. These intersection anchor points refer to the topological points on the target map that are located after traversing the first topological distance in the reverse direction of the vehicle's travel, starting from the intersection fork in the slope scenario. ② Acquire the anchor point data collected when the vehicle reaches the intersection anchor point. This anchor point data includes: the slope data corresponding to the road to which the intersection anchor point belongs, and the vehicle's attitude information at the anchor point; the anchor point time refers to the moment when the vehicle is at the intersection anchor point. Referring to Figure 5, at the first topological distance L1 before the vehicle enters the fork in the road, this embodiment of the application needs to record an intersection anchor point in advance, and represent the data collected by the vehicle at that intersection anchor point as anchor point data. This anchor point data includes: the slope data of the road to which the intersection anchor point belongs, and the pitch angle of the vehicle at the intersection anchor point. The time when the vehicle is traveling at the intersection anchor point is called the anchor point time. In Method 2, by introducing the anchor point data (located L1 meters before entering the intersection), the confidence level of each candidate road can be comprehensively determined based on the anchor point data before the intersection and the specific data after the intersection. This confidence level calculation method provides a margin of error for the pitch angle estimated by the sensor, thereby improving the accuracy of the confidence level.
[0144] In practice, the computer device calculates the optimized confidence of candidate road i based on the vehicle's attitude information, the slope data of any candidate road i, and the anchor point data, including the following steps (1)-(5):
[0145] (1) Based on the vehicle's attitude information, obtain the vehicle's first pitch angle at the current time t1; and obtain the vehicle's second pitch angle at the anchor point time t0 from the anchor point data. Here, the current time t1 refers to any time when the vehicle travels within a distance L2 after passing the fork in the road, and t0 refers to the time when the vehicle is at the intersection anchor point L1 before the fork in the road; therefore, t0 < t1.
[0146] (2) Based on the slope data of candidate road i, determine the first slope value corresponding to the vehicle at the current time t1 in candidate road i; and obtain the second slope value corresponding to the vehicle at the anchor point time t0 from the anchor point data. The slope data includes at least one slope value, and the vehicle may correspond to different slope values at different positions (i.e., different times) in the candidate road. In this application, the slope value corresponding to the vehicle at the current time t1 in candidate road i can be determined as the first slope value, and the slope value corresponding to the vehicle at the anchor point time t0 in candidate road i can be determined as the second slope value.
[0147] (3) The difference between the first pitch angle and the second pitch angle is taken as the pitch angle change value of the vehicle in the slope scenario. Here, the pitch angle change value can be understood as the change value of the vehicle's pitch angle estimated by the sensor at different times (such as the anchor point time t0 at L1 before the intersection and the current time t1 within L2 meters after the intersection).
[0148] (4) The difference between the first slope value and the second slope value is taken as the slope change value generated when the vehicle travels along candidate road i. Here, the slope change value can be understood as the change in the actual road slope value generated when the vehicle travels along candidate road i from the anchor point to the current time.
[0149] (5) Based on the pitch angle change value and the slope change value, the optimal confidence score of candidate road i is calculated. Specifically, the pitch angle change value can be used as the mean, and a preset slope variance can be obtained; based on the mean and slope variance, the slope difference of candidate road i is modeled using a normal distribution to obtain the first normal distribution calculated value and the second normal distribution calculated value; based on the first normal distribution calculated value and the second normal distribution calculated value, the optimal confidence score of candidate road i is calculated. For example, the optimal confidence score of candidate road i is the average value between the first normal distribution calculated value and the second normal distribution calculated value; or, for example, the optimal confidence score of candidate road i is the difference between the first normal distribution calculated value and the second normal distribution calculated value.
[0150] Based on the above steps (1)-(5), it can be seen that when calculating the optimization confidence of any candidate road, this embodiment supports normal distribution modeling based on the pitch angle change value between the time when the vehicle is at the anchor point (i.e., the time when the vehicle is traveling L1 meters before the intersection) and the current time (i.e., the time when the vehicle is traveling L2 meters after the intersection) and the actual slope change value of the road. This method of calculating confidence by the relative change value of the vehicle's pitch angle expands the fault tolerance space of the sensor estimating the vehicle's pitch angle compared to the method of directly calculating confidence based on the absolute value of the vehicle's pitch angle at a certain moment, thereby making the calculated confidence of the candidate road more accurate.
[0151] Furthermore, after calculating the optimized confidence scores of N candidate roads using the above method, the candidate road with the highest optimized confidence score can be used as the target matching road for the vehicle in a slope scenario. Subsequently, adjustments can be made to the navigation or positioning experience of the vehicle on the target matching road (e.g., yaw detection, voice broadcast strategy, navigation route calculation, etc.).
[0152] In this embodiment, based on the vehicle's positioning information, the matching result of the vehicle in the target map is obtained. The matching result includes N matched candidate roads and the confidence score of each candidate road. The confidence score of any candidate road is used to indicate the probability that the vehicle is located on the candidate road, and N is an integer greater than 1. The driving scenario to which the vehicle belongs is identified based on the matching result. If the driving scenario to which the vehicle belongs is a slope scenario, the vehicle's attitude information and the slope data of the N candidate roads are obtained. Based on the vehicle's attitude information and the slope data of the N candidate roads, the confidence scores of the N candidate roads are optimized to obtain the optimized confidence score of each candidate road. Therefore, when a vehicle is driving on a slope, the confidence level of each candidate road can be further optimized based on the vehicle's attitude information and the road's slope data. Compared to directly matching the confidence level of candidate roads using the vehicle's positioning information, this application introduces the vehicle's attitude information in a slope scenario and the actual road slope data for precise matching. Therefore, this application can improve the accuracy of the confidence level of candidate roads, thereby improving the vehicle's positioning effect.
[0153] Please refer to Figure 10, which is a flowchart illustrating another data processing method provided in an embodiment of this application. This data processing method can be executed by a computer device (any terminal device or server shown in Figure 1); as shown in Figure 10, this data processing method includes, but is not limited to, the following steps S1001-S1008:
[0154] S1001. Obtain the vehicle's location information and obtain the target map around the vehicle.
[0155] Specifically, the process of acquiring location information is as follows: Positioning technology can be used to locate the vehicle during its journey, obtaining the vehicle's location information. The positioning technology includes any one of: satellite positioning technology, precise point positioning technology, real-time dynamic differential positioning technology, and fusion positioning technology. Further, the process of acquiring the target map is as follows: Based on the vehicle's location, a local area around the vehicle is determined. This local area includes any one of: a circular area, a rectangular area, and a preset area. A local topology map within this local area is acquired. This local topology map is used as the target map around the vehicle. It should be noted that the detailed process of acquiring location information and the target map can be found in step S301 of the embodiment in Figure 3, and will not be repeated here.
[0156] S1002. Based on the vehicle's location information and the target map, a map matching algorithm is used to perform map matching processing on the vehicle to obtain the matching result.
[0157] The map matching algorithm includes any of the following: Hidden Markov Model (HMM) algorithm, particle filter algorithm, Kalman filter algorithm, shortest path algorithm, and geometric distance algorithm. Similarly, the detailed process for determining the matching result can be found in step S301 of the embodiment shown in Figure 3, and will not be repeated here.
[0158] S1003. Identify the driving scenario to which the vehicle belongs based on the matching results.
[0159] Specifically, the driving scenarios here include slope scenarios and non-slope scenarios. Slope scenarios refer to driving scenarios with road forks. Optionally, the process of determining the driving scenario is as follows: ① Based on the matching results and the vehicle's positioning information, determine the matching location point of the vehicle in the target map; ② In the target map, starting from the matching location point, trace back a second topological distance in the opposite direction of the vehicle's travel to obtain the backtracking segment; ③ If there is a road fork point within the backtracking segment, the driving scenario to which the vehicle belongs is determined to be a slope scenario; if there is no road fork point within the backtracking segment, the driving scenario to which the vehicle belongs is determined to be a non-slope scenario. For details on how to determine the driving scenario, please refer to the relevant process in step S302 of the embodiment in Figure 3. This embodiment will not repeat the details here.
[0160] S10042. If the driving scenario to which the vehicle belongs is not a slope scenario, output the matching result.
[0161] Specifically, the matching results include: N candidate roads and the confidence score of each candidate road. If N=1, the matching results are output directly; if N>1, but the slope difference between the N candidate roads is less than the preset slope difference threshold, the matching results can be output, and the target candidate road with the highest confidence score can be determined as the matching road for the vehicle's navigation application.
[0162] S10041. If the driving scenario to which the vehicle belongs is a slope scenario, then obtain the vehicle's attitude information and the slope data of N candidate roads.
[0163] Among them, vehicle attitude information is information used to reflect the posture and state of the vehicle. In one possible implementation, the process of obtaining vehicle attitude information is as follows: (1) Obtain sensor data collected by the sensor device in the vehicle; the sensor device is equipped with an accelerometer and a gyroscope, and the sensor data includes: accelerometer data and gyroscope data. (2) Based on the sensor data, use an attitude estimation algorithm to perform initial attitude estimation processing on the sensor device to obtain the initial attitude information of the sensor device; the attitude estimation algorithm includes: any one of complementary filtering algorithm, gradient descent algorithm, and attitude fusion algorithm. (3) Based on the initial attitude information of the sensor device, perform coordinate system transformation processing on the gyroscope data to obtain the vehicle attitude information; for example, the vehicle attitude information includes the vehicle's: yaw angle, roll angle, and pitch angle; in this embodiment, in the slope scenario, the vehicle attitude information mainly includes the vehicle's pitch angle. It should be noted that the specific process of how to obtain vehicle attitude information can be referred to in detail in step S303 of the embodiment in Figure 3, and will not be repeated here in this embodiment.
[0164] Furthermore, slope data for N candidate roads can be obtained, and based on the vehicle's attitude information and the slope data of the N candidate roads, map matching can be performed on the vehicle in the slope scenario to calculate the optimized confidence score of each candidate road in the slope scenario. For example, if any candidate road among the N candidate roads is represented as candidate road i (i is a positive integer and 1≤i≤N), then the optimized confidence score of candidate road i can be calculated in the following two ways: Method 1, directly calculate the confidence score based on the absolute value at the current time (S10051); Method 2, calculate the confidence score based on the relative change between the anchor point time and the current time (S10052). The specific implementation process of the above two methods is described in detail below:
[0165] S10051 (Method 1: Calculate confidence based on the absolute value at the current moment), calculate the optimized confidence of candidate road i based on the vehicle's attitude information and the slope data of candidate road i.
[0166] Specifically, based on the vehicle's attitude information (such as pitch angle) at the current moment and the slope value of the vehicle on candidate road i at the current moment, the difference between the vehicle's pitch angle at the same moment and the actual slope value of the vehicle on candidate road i is calculated, and the confidence level of candidate road i is determined based on the difference; where the larger the difference, the lower the confidence level; conversely, the smaller the difference, the higher the confidence level. This confidence level calculation method is simple and convenient, and the confidence level of each candidate road can be easily determined by directly comparing the difference between the pitch angle estimated by the vehicle's sensors at the same moment and the actual slope of the road, which has high computational efficiency.
[0167] In one possible implementation, the slope data of candidate road i includes at least one slope value, and different slope values may correspond to different positions (i.e., different times) of the vehicle on candidate road i. Specifically, the process of obtaining the slope value corresponding to the vehicle on candidate road i is as follows: using the vehicle's positioning point, signal projection processing is performed on candidate road i to obtain a projection result. This projection result is used to indicate that the vehicle is projected between the first slope change point and the second slope change point on candidate road i; the target slope value between the first slope change point and the second slope change point is taken as the slope value corresponding to the vehicle on candidate road i at the current time. The following example illustrates the process of obtaining the slope value of the vehicle on candidate road i.
[0168] Please refer to Figure 11, which is a schematic diagram of a process for obtaining slope values according to an embodiment of this application. As shown in Figure 11, assuming that candidate road i includes multiple slope change points, a slope change point refers to a topological point where the slope value changes. For example, candidate road i includes the following slope change points: k1, k2, k3, k4, and k5, and there is a slope value between any two slope change points; then, the vehicle positioning point P at the current moment is projected onto candidate road i to obtain a projection point P'. This projection point P' is located between slope change points k2 and k3. The target slope value between slope change points k2 and k3 is then used as the slope value corresponding to the vehicle in candidate road i at the current moment. Based on this, the slope value of the vehicle in candidate road i at any time can be determined according to the method shown in Figure 11.
[0169] S10052 (Method 2: Calculate confidence based on the relative change between the anchor point time and the current time, and calculate confidence based on the absolute value of the current time), calculate the optimized confidence of candidate road i based on the vehicle's attitude information, the slope data of candidate road i, and the anchor point data.
[0170] The process of acquiring anchor point data is as follows: ① In the target map, determine the intersection anchor point corresponding to the vehicle's driving process in the slope scenario. The intersection anchor point refers to the topological point corresponding to the first topological distance back from the intersection fork point in the slope scenario in the target map according to the reverse direction of the vehicle's driving. ② Acquire the anchor point data collected when the vehicle drives to the intersection anchor point. The anchor point data includes: the slope data corresponding to the road to which the intersection anchor point belongs, and the attitude information of the vehicle at the anchor point time; the anchor point time refers to the time corresponding to the vehicle driving at the intersection anchor point. In one possible implementation, the computer device calculates the optimized confidence of the candidate road i based on the vehicle's attitude information, the slope data of any candidate road i, and the anchor point data, including the following steps (1)-(5):
[0171] (1) Based on the vehicle's attitude information, obtain the vehicle's first pitch angle at the current time t1; and obtain the vehicle's second pitch angle at the anchor point time t0 from the anchor point data. Here, the current time t1 refers to any time when the vehicle travels within a distance L2 after passing the fork in the road, and t0 refers to the time when the vehicle is at the intersection anchor point L1 before the fork in the road; therefore, t0 < t1; and set the first pitch angle corresponding to the current time t1 as: curPitch_sensor, and set the pitch angle corresponding to the previously recorded anchor point time as: referencePitch_Sensor.
[0172] (2) Based on the slope data of candidate road i, determine the first slope value corresponding to the vehicle at the current time t1 in candidate road i; and obtain the second slope value corresponding to the vehicle at the anchor point time t0 from the anchor point data. The slope data includes at least one slope value. Different positions of the vehicle in the candidate road (i.e., different times) may correspond to different slope values. Based on the method shown in Figure 11 above, the slope value corresponding to the vehicle at any time in candidate road i can be obtained. For example, the first slope value corresponding to the vehicle at the current time t1 in candidate road i is represented as: curPitch_data[i], and the second slope value corresponding to the vehicle at the anchor point time t0 is represented as: referencePitch_data.
[0173] (3) The difference between the first pitch angle and the second pitch angle is taken as the pitch angle change value of the vehicle in the slope scenario. Here, the pitch angle change value can be understood as the change value between the pitch angle of the vehicle at different times (such as the anchor point time t0 at L1 before the intersection and the current time t1 within L2 meters after the intersection) estimated by the sensor. For example, the pitch angle change value pitch_diff_sensor = curPitch_sensor - referencePitch_Sensor.
[0174] (4) The difference between the first slope value and the second slope value is taken as the slope change value generated when the vehicle travels along candidate road i. Here, the slope change value can be understood as the change in the actual road slope value generated when the vehicle travels along candidate road i from the anchor point to the current time. For example, pitch_diff_data[i] = curPitch_data[i] – referencePitch_data.
[0175] (5) Based on the pitch angle change value and the slope change value, the optimal confidence score of candidate road i is calculated. Specifically, the pitch angle change value can be used as the mean, and a preset slope variance can be obtained; based on the mean and slope variance, the slope difference of candidate road i is modeled using a normal distribution to obtain the first normal distribution calculated value and the second normal distribution calculated value; based on the first normal distribution calculated value and the second normal distribution calculated value, the optimal confidence score of candidate road i is calculated. For example, the optimal confidence score of candidate road i is the average value between the first normal distribution calculated value and the second normal distribution calculated value; or, for example, the optimal confidence score of candidate road i is the difference between the first normal distribution calculated value and the second normal distribution calculated value.
[0176] Based on this, the following example illustrates the specific process of calculating the optimized confidence score for each candidate road. For instance, suppose the variance of the road slope data is `std_data`, and the variance of the sensor estimation results in the vehicle is `std_sensor`. Here, `std_data` is a preset value (e.g., 0.1 degrees, 0.2 degrees, etc.); `std_sensor` can be dynamically updated based on real-time calculated confidence scores, or it can be a preset value. Generally, `std_sensor` > `std_data` (e.g., 0.5 degrees, 0.7 degrees, etc.). The variance is defined similarly to that of the normal distribution. The actual slope data of the road is curPitch_data (e.g., the slope data of candidate road i is represented as curPitch_data[i]). The variance std_data represents the probability that the real physical slope value is in the interval between curPitch_data-1*std_data and curPitch_data+1*std_data is 68.26%, the probability that the real physical slope value is in the interval between curPitch_data-2*std_data and curPitch_data+2*std_data is 95.44%, and the probability that the real physical slope value is in the interval between curPitch_data-3*std_data and curPitch_data+3*std_data is 99.74%.
[0177] Similarly, `curPitch_sensor` and `std_sensor` have the same meaning. In this embodiment, taking a 99.74% confidence level as an example, the true value interval of the slope data change of the current candidate road i is obtained as (data_left[i], data_right[i]); where, data_left[i] = pitch_diff_data[i] - 3 * std_data; data_right[i] = pitch_diff_data[i] + 3 * std_data. That is, the confidence level that the true value of the data falls within (data_left[i], data_right[i]) reaches 99.74%.
[0178] Furthermore, a normal distribution model is applied to the gradient difference generated by the vehicle traveling on candidate road i, with the mean being pitch_diff_sensor and the variance being std_sensor; thus, the calculated values of the two normal distributions are obtained:
[0179] V1[i]=1.0–normalCDF((data_left[i]-pitch_diff_sensor) / std_sensor)
[0180] V2[i]=1.0–normalCDF((data_right[i]-pitch_diff_sensor) / std_sensor)
[0181] Here, erfc(x) is a complementary error function of a standard normal distribution.
[0182] Based on this, the optimized confidence score prob[i] of candidate road i can be calculated from the two calculated values V1[i] and V2[i] output after modeling with a normal distribution, as shown in the following code process:
[0183] if (pitch_diff_sensor >= data_left[i] && pitch_diff_sensor <= data_right[i]) { / / The pitch angle change value estimated by the sensor falls within the interval (data_left[i], data_right[i]).
[0184] prob[i]=0.5*(V1[i]+V2[i]);
[0185] }else{ / / The pitch angle change value estimated by the sensor is not in the interval (data_left[i], data_right[i])
[0186] prob[i]=0.5*ABS(V1[i]-V2[i]);
[0187] }
[0188] In summary, the calculation process of the optimized confidence score of candidate road i is essentially a normal distribution modeling process. Please refer to Figure 12, which is a visualization calculation diagram of the optimized confidence score provided by an embodiment of this application. As shown in Figure 12, a normal distribution model is performed using the pitch angle change value pitch_diff_sensor as the mean and std_sensor as the variance. For each candidate road i, based on the slope change value pitch_diff_data[i] and slope variance std_data corresponding to the candidate road i, the data_left[i] (first calculated value) and data_right[i] (second calculated value) corresponding to the candidate road i can be calculated; then, V1[i] (first normal distribution calculated value) and V2[i] (second normal distribution calculated value) after normal distribution modeling of candidate road i can be calculated, thereby obtaining the optimized confidence score prob[i] corresponding to candidate road i. Here, the optimized confidence level prob[i] corresponding to candidate road i means: the area of the signal estimation normal distribution function in the signal truth value interval (data_left[i], data_right[i]) with a confidence level of 99.74%.
[0189] In this embodiment, when calculating the optimized confidence of any candidate road, it supports normal distribution modeling based on the pitch angle change value between the vehicle at the anchor point (i.e., the time when the vehicle is L1 meters before the intersection) and the current time (i.e., the time when the vehicle is L2 meters after the intersection) and the actual slope change value of the road. This method of calculating confidence by the relative change value of the vehicle's pitch angle expands the fault tolerance space of the sensor in estimating the vehicle's pitch angle, compared with the method of directly calculating confidence based on the absolute value of the vehicle's pitch angle at a certain moment, thus making the calculated confidence of the candidate road more accurate.
[0190] S1006. Obtain the optimized confidence scores of the calculated N candidate roads, and verify the validity of the optimized confidence scores of the N candidate roads.
[0191] Specifically, the optimized confidence level of any candidate road i in the slope scenario can be calculated through the methods shown in steps S10051 or S10052 above. Then, by calculating the confidence levels of N candidate roads respectively, the optimized confidence levels of N candidate roads can be obtained. Further, the validity of these N optimized confidence levels can be verified, and the specific process is as follows (1)-(3):
[0192] (1) Obtain a first preset probability threshold and a second preset probability threshold, wherein the first preset probability threshold is less than the second preset probability threshold. For example, the first preset probability threshold is denoted as th1, the second preset probability threshold is denoted as th2, and 0 <= th1. <th2<=1。
[0193] (2) Obtain the optimized confidence of the calculated N candidate roads.
[0194] (3) The optimization confidence of the N candidate roads is validated using a first preset probability threshold and a second preset probability threshold. Specifically, the confidence of the N candidate roads that is greater than or equal to the first preset probability threshold is determined as the target confidence. If the number of target confidences is 1 and the target confidence is greater than or equal to the second preset probability threshold, then the validation of the optimization confidence of the N candidate roads is passed. For example, for the N calculated prob[i], if there is exactly one that satisfies prob[i]>=th1, then the candidate road corresponding to prob[i] is marked as candidate road j. For the candidate road j that satisfies prob[i]>=th1, if it also satisfies prob[j]>=th2, then the validation of the optimization confidence of the N candidate roads is passed; otherwise, the validation fails.
[0195] During the validity verification process, the above two verification conditions ensure that, except for the maximum confidence level which is greater than th2, all other confidence levels are less than th1. This verification method is to ensure that the calculated confidence level has sufficient discriminative power, thereby ensuring that the obtained confidence level result is more reliable and more accurate.
[0196] S1007. If the validity check passes, the confidence of candidate road i is replaced with the optimized confidence of candidate road i.
[0197] Specifically, if the validity check passes, the confidence score of candidate road i can be directly replaced with its optimized confidence score; alternatively, after normalizing the optimized confidence score of candidate road i, the confidence score of candidate road i can be replaced with its normalized confidence score. Optionally, the specific process for normalizing and replacing the optimized confidence scores is as follows:
[0198] / / Confidence normalization
[0199] double sumProb = 0.0;
[0200] for(int i = 0; i <candidate.size;i++){
[0201] sumProb = sumProb + prob[i];
[0202] }
[0203] for(int i = 0; i <candidate.size;i++){
[0204] prob[i] = prob[i] / sumProb;
[0205] }
[0206] / / Confidence level replacement
[0207] for(int i = 0; i <candidate.size;i++){
[0208] candidate[i].prob=prob[i];
[0209] }
[0210] S1008. Based on the optimized confidence of N candidate roads, output the matching results in the slope scenario.
[0211] Specifically, the output process for matching results in a slope scenario is as follows: Obtain the optimized confidence scores of N candidate roads; select the candidate road with the highest confidence score as the target matching road for the vehicle in the slope scenario. Subsequently, in the navigation scenario, navigation can be performed for the vehicle on the target matching road. In the above process, in the slope scenario, because the vehicle's attitude information and road slope data are additionally introduced when calculating the optimized confidence score of each candidate road, the calculated optimized confidence score is more accurate due to the richer data sources.
[0212] The following examples illustrate the applicable scenarios of the data processing solution provided in this application.
[0213] Please refer to Figure 13, which is a schematic diagram of a map matching process for a slope scenario provided in an embodiment of this application. As shown in Figure 13, the applicable scenario for this slope scenario can be, for example, a navigation scenario. The navigation process in the slope scenario is illustrated below: (1) In the driving scenario of a vehicle, the vehicle can be located in real time using positioning technology (such as GNSS positioning, PPP positioning, RTK positioning, etc.) to obtain the vehicle's positioning information (such as positioning location, positioning time, vehicle speed, etc.). (2) The vehicle's in-vehicle equipment can send the vehicle's positioning information to the server. (3) Based on the vehicle's positioning information, the server obtains the target map around the vehicle; and based on the positioning information and the target map, performs map matching processing on the vehicle to obtain candidate map matching results. The candidate map matching results include at least one candidate road and the confidence level of each candidate road; for example, the candidate matching results include: candidate road 1, candidate road 2, and candidate road 3. (4) The server identifies the driving scenario to which the current vehicle belongs based on the candidate matching results. If the driving scenario is a slope scenario (such as a slope driving scenario with intersections), then the vehicle's attitude information and the slope data of each candidate road can be further obtained. Among them, the vehicle's attitude information can be obtained by performing AHRS estimation processing based on the sensor devices in the vehicle (such as mobile phones, in-vehicle systems, etc. equipped with sensors). For example, the attitude information includes the vehicle's pitch angle. (5) Based on the vehicle's attitude information and the slope data of each candidate road, the server can calculate the optimized confidence score of each candidate road in the slope scenario (the specific calculation process can be referred to the relevant process in the above embodiments, and will not be repeated here). (6) The server can return the optimized confidence score of each candidate road as the map matching result in the slope scenario to the vehicle's in-vehicle system. (7) The vehicle's in-vehicle infotainment system can determine the matching road to which the vehicle belongs based on the current map matching results. For example, if the optimized confidence level of candidate road 1 is 0.7, the optimized confidence level of candidate road 2 is 0.2, and the optimized confidence level of candidate road 3 is 0.1, then the vehicle can be determined to be located on candidate road 1. Optionally, the confidence levels of each candidate road can be optimized to the aforementioned optimized confidence levels to improve the accuracy of the obtained confidence levels. Subsequently, subsequent navigation processing can be performed on the vehicle on candidate road 1. In this embodiment, by introducing road slope data and vehicle attitude information estimated by sensors to comprehensively calculate the confidence level of each candidate road, the accuracy and reliability of the confidence level of each road can be improved, providing a more accurate navigation strategy for vehicle navigation scenarios.
[0214] This application provides a map matching scheme suitable for slope scenarios, which can improve the accuracy of vehicle matching results in complex slope scenarios. On the one hand, it supports the additional introduction of road slope data and vehicle attitude information estimated by sensors in slope scenarios to comprehensively calculate the confidence score of each candidate road, which can improve the accuracy and reliability of the confidence score of each road. On the other hand, by replacing the original coarse confidence score of each road with the precisely calculated confidence score of each road, the map matching and vehicle localization effects can be improved because the confidence score of each road is more accurate.
[0215] The following describes the relevant apparatus of the data processing scheme provided in the embodiments of this application.
[0216] It should be noted that, in the embodiments of this application, the terms "module" or "unit" refer to a computer program or part of a computer program with a predetermined function, which works together 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.
[0217] Please refer to Figure 14, which is a schematic diagram of a data processing apparatus provided in an embodiment of this application. This data processing apparatus 1400 can be used to execute corresponding steps in the data processing method provided in the embodiment of this application. Specifically, the data processing apparatus 1400 may include:
[0218] The acquisition unit 1401 is used to acquire the matching result of the vehicle in the target map based on the vehicle's positioning information. The matching result includes N candidate roads that have been matched and the confidence score of each candidate road. The confidence score of any candidate road is used to indicate the probability that the vehicle is located on the candidate road. N is an integer greater than 1.
[0219] The processing unit 1402 is used to identify the driving scenario to which the vehicle belongs based on the matching results;
[0220] The processing unit 1402 is also used to obtain the vehicle's attitude information and the slope data of N candidate roads if the driving scenario to which the vehicle belongs is a slope scenario.
[0221] The processing unit 1402 is also used to optimize the confidence of the N candidate roads based on the vehicle's attitude information and the slope data of the N candidate roads, so as to obtain the optimized confidence of each candidate road in the slope scenario.
[0222] In one possible implementation, the target map consists of multiple topological points, and the slope scenario refers to a driving scenario with a fork in the road; the topological point of the fork in the target map is represented as the intersection fork point; the processing unit 1402 identifies the driving scenario to which the vehicle belongs based on the matching result, and performs the following operations:
[0223] Based on the matching results and the vehicle's location information, determine the matching location point of the vehicle in the target map;
[0224] In the target map, starting from the matching location point, backtrack the second topological distance in the opposite direction of the vehicle's travel to obtain the backtracking segment;
[0225] If there is a fork in the road within the traced section, then the driving scenario to which the vehicle belongs is determined to be a slope scenario.
[0226] In one possible implementation, the location information includes the vehicle's location; the processing unit 1402 determines the matching location point of the vehicle in the target map based on the matching result and the vehicle's location information, for performing the following operations:
[0227] Based on the confidence level of each of the N candidate roads, the target candidate road with the highest confidence level is determined as the candidate matching road for the vehicle.
[0228] The vehicle's location is determined based on its location, and the vehicle's location is projected onto the candidate matching road to obtain the projection point.
[0229] The location of the projection point in the candidate matching road is used as the matching location point of the vehicle in the target map.
[0230] In one possible implementation, the processing unit 1402 acquires the vehicle's attitude information and performs the following operations:
[0231] Acquire sensor data collected by sensor devices in the vehicle; the sensor devices are equipped with accelerometers, gyroscopes, and magnetometers, and the sensor data includes: accelerometer data, gyroscope data, and magnetometer data;
[0232] Based on sensor data, an attitude estimation algorithm is used to perform initial attitude estimation processing on the sensor device to obtain the initial attitude information of the sensor device; the attitude estimation algorithm includes any one of the following: complementary filtering algorithm, gradient descent algorithm, and attitude fusion algorithm.
[0233] Based on the initial attitude information of the sensor devices, coordinate system transformation is performed on the gyroscope data to obtain the vehicle's attitude information.
[0234] In one possible implementation, the gyroscope data includes the rotation angles of a three-axis gyroscope in the sensor device coordinate system, wherein the three-axis gyroscope rotation angles include: yaw angle, roll angle, and pitch angle; the vehicle's attitude information includes the rotation angles of the three-axis gyroscope in the vehicle coordinate system; the processing unit 1402 performs coordinate system transformation processing on the gyroscope data based on the initial attitude information of the sensor device to obtain the vehicle's attitude information, which is used to perform the following operations:
[0235] Based on the initial attitude information of the sensor equipment, the transformation matrix between the vehicle coordinate system and the sensor equipment coordinate system is calculated; the initial attitude information includes the initial values of the yaw angle, roll angle, and pitch angle of the sensor equipment.
[0236] A transformation matrix is used to perform coordinate system transformation on the gyroscope data to obtain the vehicle's attitude information; the attitude information includes the yaw angle, roll angle, and pitch angle corresponding to each moment of the vehicle's driving process;
[0237] Among them, the yaw angle is used to reflect the heading angle of the vehicle during driving; the roll angle is used to reflect the lateral tilt of the vehicle; and the pitch angle is used to reflect the driving state of the vehicle in a slope scenario.
[0238] In one possible implementation, any candidate road is denoted as candidate road i, where i is a positive integer and 1 ≤ i ≤ N; the processing unit 1402 optimizes the confidence of the N candidate roads based on the vehicle's attitude information and the slope data of the N candidate roads, obtaining the optimized confidence of each candidate road in the slope scenario, which is used to perform the following operations:
[0239] Based on the vehicle's attitude information and the slope data of any candidate road i, the optimized confidence of candidate road i is calculated.
[0240] Replace the confidence of candidate road i with the optimized confidence of candidate road i to obtain the optimized confidence of candidate road i in the slope scenario.
[0241] In one possible implementation, the processing unit 1402 calculates the optimized confidence score of candidate road i based on the vehicle's attitude information and the slope data of any candidate road i, and performs the following operations:
[0242] In the target map, determine the intersection anchor points corresponding to the vehicle's driving in the slope scenario; where the intersection anchor point refers to the topological point in the target map that is the first topological distance backdated in the opposite direction of the vehicle's driving in the slope scenario, starting from the intersection fork point in the slope scenario.
[0243] The system acquires anchor point data collected when a vehicle reaches an intersection anchor point. The anchor point data includes: the slope data of the road to which the intersection anchor point belongs, and the vehicle's attitude information at the anchor point. The anchor point time refers to the time when the vehicle is at the intersection anchor point.
[0244] Based on the vehicle's attitude information, the slope data of any candidate road i, and the anchor point data, the optimized confidence of candidate road i is calculated.
[0245] In one possible implementation, the slope data includes at least one slope value; the processing unit 1402 calculates the optimized confidence score of candidate road i based on the vehicle's attitude information, the slope data of any candidate road i, and the anchor point data, and performs the following operations:
[0246] Based on the vehicle's attitude information, the first pitch angle of the vehicle at the current time t1 is obtained; and the second pitch angle of the vehicle at the anchor point time t0 is obtained from the anchor point data; t0 < t1;
[0247] Based on the slope data of candidate road i, determine the first slope value of the vehicle at the current time t1 in candidate road i; and obtain the second slope value of the vehicle at the anchor point time t0 from the anchor point data.
[0248] The difference between the first pitch angle and the second pitch angle is taken as the pitch angle change value of the vehicle in the slope scenario;
[0249] The difference between the first slope value and the second slope value is taken as the slope change value generated when the vehicle travels along candidate road i.
[0250] Based on the pitch angle change value and the slope change value, the optimal confidence level of candidate road i is calculated.
[0251] In one possible implementation, processing unit 1402 calculates the optimized confidence score of candidate road i based on the pitch angle change value and the slope change value, and performs the following operations:
[0252] The pitch angle variation value is used as the mean, and the preset slope variance is obtained;
[0253] Based on the mean and slope variance, the slope difference of candidate road i is modeled using a normal distribution to obtain the first normal distribution calculated value and the second normal distribution calculated value.
[0254] The optimized confidence level of candidate road i is calculated based on the calculated values of the first normal distribution and the second normal distribution.
[0255] In one possible implementation, the processing unit 1402 is further configured to perform the following operations:
[0256] Obtain a first preset probability threshold and a second preset probability threshold, wherein the first preset probability threshold is less than the second preset probability threshold;
[0257] Obtain the optimized confidence scores of the calculated N candidate roads;
[0258] The optimization confidence of N candidate roads is validated using a first preset probability threshold and a second preset probability threshold.
[0259] If the validity check passes, each optimized confidence score is normalized, and the normalized optimized confidence score is used as the optimized confidence score for each candidate road.
[0260] In one possible implementation, the processing unit 1402 uses a first preset probability threshold and a second preset probability threshold to perform a validity check on the optimization confidence of N candidate roads, for the following operations:
[0261] From the optimized confidence scores of N candidate roads, the confidence scores that are greater than or equal to the first preset probability threshold are determined as the target confidence scores;
[0262] If the number of target confidence levels is 1, and the target confidence level is greater than or equal to the second preset probability threshold, then the validity check of the optimized confidence level for N candidate roads is passed.
[0263] In one possible implementation, the acquisition unit 1401 acquires the vehicle's matching result in the target map based on the vehicle's positioning information, and performs the following operations:
[0264] Positioning technology is used to locate a vehicle during its journey, thereby obtaining the vehicle's location information. The positioning technology includes any one of the following: satellite positioning technology, precise point positioning technology, real-time dynamic differential positioning technology, and fusion positioning technology.
[0265] Based on the vehicle's location information, obtain a target map around the vehicle;
[0266] Based on location information and target map, a map matching algorithm is used to perform map matching processing on the vehicle to obtain the matching result of the vehicle in the target map;
[0267] The map matching algorithm includes any of the following: Hidden Markov algorithm, Particle filter algorithm, Kalman filter algorithm, Shortest path algorithm, and Geometric distance algorithm.
[0268] In one possible implementation, the location information includes the vehicle's location; the acquisition unit 1401 acquires a target map around the vehicle based on the vehicle's location information, for performing the following operations:
[0269] Based on the vehicle's location, a local area around the vehicle is determined; the local area includes any one of the following: a circular area, a rectangular area, or a preset area.
[0270] Obtain a local topology map within a local area;
[0271] Use the local topology map as the target map around the vehicle.
[0272] In one possible implementation, the processing unit 1402 is further configured to perform the following operations:
[0273] Obtain the optimized confidence scores of N candidate roads;
[0274] The candidate road with the highest confidence level is used as the target matching road for the vehicle in the slope scenario;
[0275] In navigation scenarios, the system navigates to vehicles on the target road.
[0276] In the embodiments of this application, the specific implementation of the operations performed by each unit of the data processing device and the corresponding effects can be referred to the relevant descriptions of the foregoing embodiments, and will not be repeated here.
[0277] Please refer to Figure 15, which is a schematic diagram of the structure of a computer device provided in an embodiment of this application. The computer device 1500 is used to execute the steps performed by the computer device in the aforementioned method embodiments. The computer device 1500 may include one or more devices (such as servers, nodes, terminal devices, etc.) or internal components (such as chips, software modules, or hardware modules). The computer device may include at least one processor 1501 and a communication interface 1502. Further optionally, the computer device may also include at least one memory 1503 and a bus 1504. Additionally, the processor 1501, communication interface 1502, and memory 1503 are connected via the bus 1504.
[0278] in:
[0279] (1) The processor 1501 is a module that performs arithmetic and / or logical operations. Specifically, it may be one or a combination of processing modules such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor unit (MPU), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a complex programmable logic device (CPLD), a coprocessor (to assist the central processing unit in completing corresponding processing and applications), and a micro controller unit (MCU).
[0280] (2) The communication interface 1502 can be used to provide information input or output to at least one processor 1501. And / or, the communication interface 1502 can be used to receive data sent externally and / or send data externally, and can be a wired link interface including such as an Ethernet cable, or a wireless link interface (Wi-Fi, Bluetooth, general wireless transmission, vehicle short-range communication technology, and other short-range wireless communication technologies, etc.). The communication interface 1502 can serve as a network interface.
[0281] (3) The memory 1503 is used to provide storage space, in which data such as the operating system and computer programs (including program instructions) can be stored. The memory 1503 can be one or a combination of random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), or compact disc read-only memory (CD-ROM), etc.
[0282] In specific implementation, the processor 1501 runs the computer program stored in the memory 1503 to cause the computer device to execute the method steps in the foregoing embodiments of this application; in addition, the effects achieved by the computer device after executing the method steps in the various embodiments by the processor can be referred to the description of the foregoing embodiments, and will not be repeated here.
[0283] According to one aspect of this application, embodiments of this application also provide a computer-readable storage medium storing a computer program. When a processor executes the computer program, it can perform the methods described in the preceding embodiments; therefore, further details will not be repeated here. For technical details not disclosed in the embodiments of the computer-readable storage medium involved in this application, please refer to the description of the method embodiments of this application. As an example, the computer program can be deployed on a computer device, or executed on multiple computer devices located in one location, or executed on multiple computer devices distributed in multiple locations and interconnected through a communication network.
[0284] According to one aspect of this application, embodiments of this application also provide 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, enabling the computer device to perform the methods described in the foregoing embodiments; therefore, further details will not be repeated here. For technical details not disclosed in the embodiments of the computer program product involved in this application, please refer to the description of the method embodiments of this application.
[0285] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially as a computer program product, which includes one or more computer programs. When the computer program is loaded and executed on a computer device, it generates, in whole or in part, the processes or functions described in the embodiments of this application; the computer device can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer program can be stored in or transmitted through a computer-readable storage medium; the computer program 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 line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium accessible to the computer device or a data processing device such as a server or data center that integrates one or more available media; wherein, 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)).
[0286] The above-disclosed embodiments are merely preferred embodiments of this application and should not be construed as limiting the scope of this application. Therefore, any equivalent variations made in accordance with the claims of this application shall still fall within the scope of this application.
Claims
1. A data processing method, characterized in that, include: Based on the vehicle's location information, the matching result of the vehicle in the target map is obtained. The matching result includes N candidate roads that have been matched and the confidence level of each candidate road. The confidence level of any candidate road is used to indicate the probability that the vehicle is located on the candidate road. N is an integer greater than 1. The driving scenario to which the vehicle belongs is identified based on the matching results; If the driving scenario to which the vehicle belongs is a slope scenario, then obtain the vehicle's attitude information and the slope data of the N candidate roads; Based on the vehicle's attitude information and the slope data of the N candidate roads, the confidence scores of the N candidate roads are optimized to obtain the optimized confidence score of each candidate road in the slope scenario.
2. The method as described in claim 1, characterized in that, The target map is composed of multiple topological points, and the slope scenario refers to a driving scenario with road forks; the road forks in the target map are represented by the topological points of the road forks. The step of identifying the driving scenario to which the vehicle belongs based on the matching result includes: Based on the matching results and the vehicle's location information, the matching location point of the vehicle in the target map is determined; In the target map, starting from the matching location point, the second topological distance is traced back in the opposite direction of the vehicle's travel to obtain the backtracking segment; If there is a fork in the road segment, the driving scenario to which the vehicle belongs is determined to be a slope scenario.
3. The method as described in claim 1 or 2, characterized in that, The location information includes the vehicle's location; determining the matching location point of the vehicle in the target map based on the matching result and the vehicle's location information includes: Based on the confidence level of each of the N candidate roads, the target candidate road with the highest confidence level is determined as the candidate matching road for the vehicle. The vehicle's location point is determined according to its location, and the vehicle's location point is projected onto the candidate matching road to obtain the projection point. The location of the projection point in the candidate matching road is used as the matching location point of the vehicle in the target map.
4. The method according to any one of claims 1-3, characterized in that, The process of obtaining the vehicle's attitude information includes: Acquire sensor data collected by sensor devices in the vehicle; the sensor devices are equipped with an accelerometer, a gyroscope, and a magnetometer, and the sensor data includes: accelerometer data, gyroscope data, and magnetometer data; Based on the sensor data, an attitude estimation algorithm is used to perform initial attitude estimation processing on the sensor device to obtain the initial attitude information of the sensor device; the attitude estimation algorithm includes any one of the following: complementary filtering algorithm, gradient descent algorithm, and attitude fusion algorithm. Based on the initial attitude information of the sensor device, the gyroscope data is subjected to coordinate system transformation to obtain the attitude information of the vehicle.
5. The method according to any one of claims 1-4, characterized in that, The gyroscope data includes the rotation angles of a three-axis gyroscope in the sensor device coordinate system, and the three-axis gyroscope rotation angles include: yaw angle, roll angle, and pitch angle; the vehicle's attitude information includes the rotation angles of the three-axis gyroscope in the vehicle coordinate system; based on the initial attitude information of the sensor device, the gyroscope data is subjected to coordinate system transformation processing to obtain the vehicle's attitude information, including: Based on the initial attitude information of the sensor device, a transformation matrix between the vehicle coordinate system and the sensor device coordinate system is calculated; the initial attitude information includes the initial values of the yaw angle, roll angle, and pitch angle of the sensor device. The gyroscope data is processed by coordinate system transformation using the transformation matrix to obtain the vehicle's attitude information; the attitude information includes the yaw angle, roll angle, and pitch angle corresponding to each moment of the vehicle's driving process. The yaw angle reflects the heading angle of the vehicle during driving; the roll angle reflects the lateral tilt of the vehicle; and the pitch angle reflects the driving state of the vehicle in a slope scenario.
6. The method according to any one of claims 1-5, characterized in that, Any of the candidate roads is denoted as candidate road i, where i is a positive integer and 1 ≤ i ≤ N; the confidence of the N candidate roads is optimized based on the vehicle's attitude information and the slope data of the N candidate roads to obtain the optimized confidence of each candidate road in the slope scenario, including: Based on the vehicle's attitude information and the slope data of any candidate road i, the optimized confidence level of candidate road i is calculated. Replace the confidence level of candidate road i with the optimized confidence level of candidate road i to obtain the optimized confidence level of candidate road i in the slope scenario.
7. The method according to any one of claims 1-6, characterized in that, The step of calculating the optimized confidence level of candidate road i based on the vehicle's attitude information and the slope data of any candidate road i includes: In the target map, determine the intersection anchor point corresponding to the vehicle's driving process in the slope scenario; wherein, the intersection anchor point refers to the topological point in the target map that is the first topological distance back along the opposite direction of the vehicle's driving in the slope scenario, starting from the intersection fork point in the slope scenario. The system acquires anchor point data collected when the vehicle reaches the intersection anchor point. The anchor point data includes: the slope data of the road to which the intersection anchor point belongs, and the attitude information of the vehicle at the anchor point. The anchor point time refers to the time when the vehicle is traveling at the intersection anchor point. Based on the vehicle's attitude information, the slope data of any candidate road i, and the anchor point data, the optimized confidence level of candidate road i is calculated.
8. The method according to any one of claims 1-7, characterized in that, The slope data includes at least one slope value; the calculation of the optimized confidence level of candidate road i based on the vehicle's attitude information, the slope data of any candidate road i, and the anchor point data includes: Based on the vehicle's attitude information, the first pitch angle of the vehicle at the current time t1 is obtained; and the second pitch angle of the vehicle at the anchor point time t0 is obtained from the anchor point data; t0 < t1; Based on the slope data of the candidate road i, determine the first slope value of the vehicle at the current time t1 on the candidate road i; and obtain the second slope value of the vehicle at the anchor point time t0 from the anchor point data. The difference between the first pitch angle and the second pitch angle is taken as the pitch angle change value of the vehicle in the slope scenario; The difference between the first slope value and the second slope value is taken as the slope change value generated when the vehicle travels along the candidate road i. Based on the pitch angle change value and the slope change value, the optimized confidence level of the candidate road i is calculated.
9. The method according to any one of claims 1-8, characterized in that, The process of calculating the optimized confidence level of candidate road i based on the pitch angle change value and the slope change value includes: The pitch angle change value is used as the mean, and the preset slope variance is obtained; Based on the mean and the slope variance, the slope difference of the candidate road i is modeled using a normal distribution to obtain the first normal distribution calculated value and the second normal distribution calculated value. Based on the calculated values from the first and second normal distributions, the optimized confidence level of candidate road i is calculated.
10. The method according to any one of claims 1-9, characterized in that, The method further includes: Obtain a first preset probability threshold and a second preset probability threshold, wherein the first preset probability threshold is less than the second preset probability threshold; Obtain the optimized confidence scores of the calculated N candidate roads; The optimization confidence of the N candidate roads is validated using the first preset probability threshold and the second preset probability threshold. If the validity check passes, each optimized confidence score is normalized, and each normalized optimized confidence score is used as the optimized confidence score for each candidate road.
11. The method according to any one of claims 1-10, characterized in that, The step of validating the optimization confidence of the N candidate roads using the first preset probability threshold and the second preset probability threshold includes: From the optimized confidence scores of the N candidate roads, the confidence scores that are greater than or equal to the first preset probability threshold are determined as the target confidence scores; If the number of target confidence scores is 1, and the target confidence score is greater than or equal to the second preset probability threshold, then the validity verification of the optimized confidence scores for the N candidate roads is determined to be successful.
12. The method according to any one of claims 1-11, characterized in that, The step of obtaining the matching result of the vehicle in the target map based on the vehicle's location information includes: The vehicle is located during its journey using positioning technology to obtain its positioning information; the positioning technology includes any one of: satellite positioning technology, precise point positioning technology, real-time dynamic differential positioning technology, and fusion positioning technology. Based on the vehicle's location information, obtain a target map around the vehicle; Based on the location information and the target map, a map matching algorithm is used to perform map matching processing on the vehicle to obtain the matching result of the vehicle in the target map; The map matching algorithm includes any one of the following: Hidden Markov algorithm, particle filter algorithm, Kalman filter algorithm, shortest path algorithm, and geometric distance algorithm.
13. The method according to any one of claims 1-12, characterized in that, The location information includes the vehicle's location; the step of obtaining a target map around the vehicle based on the vehicle's location information includes: Based on the vehicle's location, a local area around the vehicle is determined; the local area includes any one of the following: a circular area, a rectangular area, and a preset area. Obtain a local topology map within the specified local area; The local topology map is used as the target map around the vehicle.
14. The method according to any one of claims 1-13, characterized in that, The method further includes: Obtain the optimized confidence scores of the N candidate roads; The candidate road with the highest confidence level is selected as the target matching road for the vehicle in the slope scenario. In a navigation scenario, navigation is performed on vehicles on the target matching road.
15. A data processing apparatus, characterized in that, include: The acquisition unit is used to acquire the matching result of the vehicle in the target map based on the vehicle's positioning information. The matching result includes N matched candidate roads and the confidence score of each candidate road. The confidence score of any candidate road is used to indicate the probability that the vehicle is located on the candidate road. N is an integer greater than 1. A processing unit is used to identify the driving scenario to which the vehicle belongs based on the matching result; The processing unit is further configured to, if the driving scenario to which the vehicle belongs is a slope scenario, acquire the attitude information of the vehicle and the slope data of the N candidate roads. The processing unit is further configured to optimize the confidence of the N candidate roads based on the vehicle's attitude information and the slope data of the N candidate roads, so as to obtain the optimized confidence of each candidate road in the slope scenario.
16. A computer device, characterized in that, include: Memory and processor; The memory stores one or more computer programs; A processor for loading one or more computer programs to implement the method as described in any one of claims 1-14.
17. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, performs the method as described in any one of claims 1-14.
18. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, performs the method as described in any one of claims 1-14.