Data processing method and related device
By obtaining static element information to divide the complexity level, the problem of inflexible division of dangerous levels in autonomous driving scenarios is solved, the complexity decoupling of static scenarios is achieved, and the efficiency and safety of autonomous driving tests are improved.
Patent Information
- Application Number
- CN202410070924.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-01-17
- Publication Date
- 2025-07-25
AI Technical Summary
In the prior art, the division of hazard levels in autonomous driving scenarios is not flexible enough to consider the complexity of static scenarios alone, which affects the accuracy of autonomous driving safety evaluation.
By obtaining static element information in the target driving scene, determining the collision point and dividing the complexity level, using high-precision maps and vector map data, the complexity decoupling of static scenes is achieved and the flexibility of dividing the scene hazard level is improved.
It improves the flexibility and accuracy of scene hazard level classification, and can quickly identify and screen scenarios of different complexities for autonomous driving testing, improving the efficiency and safety of autonomous driving simulation testing.
Smart Images

Figure CN120372877A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of connected vehicles, and in particular, to a data processing method and related devices. Background Art
[0002] Scenario-based autonomous driving simulation testing is an essential and indispensable part of intelligent vehicle testing and evaluation. Simulation testing has the advantages of low cost and high efficiency. In scenario-based autonomous driving simulation testing, test scenarios are divided into static scenarios and dynamic scenarios. Among them, static scenarios include road environment, traffic facilities, weather, etc., and dynamic scenarios include traffic participants, dynamic indication facilities, communication environment, etc. Currently, the scenario danger level of autonomous driving is jointly determined by static scenarios and dynamic scenarios. Generally speaking, the scenario danger level reflects the impact degree of different driving environments on autonomous driving safety. However, the current method of jointly determining the scenario danger level by static scenarios and dynamic scenarios is not flexible enough. Summary of the Invention
[0003] Embodiments of this application provide a data processing method and related devices, which can improve the flexibility of scenario danger level division.
[0004] The following introduces this application from different aspects. It should be understood that the implementation manners and beneficial effects of the following different aspects can be referred to each other.
[0005] In a first aspect, embodiments of this application provide a data processing method, which is executed by a terminal. The terminal can be the terminal itself, or a unit, circuit, or module (such as a chip) with corresponding functions in the terminal. This application does not make any limitations in this regard. The method includes:
[0006] Obtain information about static elements in a target driving scenario;
[0007] Determine dangerous information existing in the target driving scenario according to the information about the static elements. The dangerous information is used to indicate the collision situation of a moving object in the target driving scenario;
[0008] Determine the complexity of the target driving scenario according to the dangerous information existing in the target driving scenario. The complexity of the target driving scenario reflects the impact degree of the target driving scenario on driving safety.
[0009] The embodiment of this application provides a complexity division scheme for static scenarios, which can improve the flexibility of dividing the scene danger level. Specifically, the danger information existing in the target driving scenario can be determined according to the information of static elements in the target driving scenario, and then the complexity of the target driving scenario can be determined according to the danger information existing in the target driving scenario. Generally speaking, the higher the scene complexity of a vehicle driving scenario, the greater the impact of this vehicle driving scenario on driving safety. Optionally, by implementing the complexity division scheme for static scenarios in this application, it is also beneficial to quickly identify and screen scenarios with different complexities for tests such as autonomous driving in the future, thereby improving the scene screening efficiency.
[0010] In a possible implementation manner, the danger information existing in the target driving scenario includes the information of the collision points in the target driving scenario;
[0011] The determining of the danger information existing in the target driving scenario according to the information of the static elements includes:
[0012] Determining the physical collision points in the target driving scenario according to the information of the static elements, where the physical collision points are the merging points of lanes or the intersection points of driving paths;
[0013] Determining the information of the collision points in the target driving scenario according to the physical collision points in the target driving scenario.
[0014] In this implementation manner, the danger information existing in the target driving scenario can refer to the information of the collision points in the target driving scenario, such as the number of collision points or the density of collision points, etc. Specifically, the physical collision points in the target driving scenario can be determined first, and then the information of the collision points in the target driving scenario can be determined based on the physical collision points in the target driving scenario. Among them, the physical collision points in a certain scenario can refer to the points where a vehicle may collide due to the form or topological expression of the road in a static road environment (without considering dynamic factors, traffic control factors, etc.). For example, the physical collision points can be the merging points of lanes or the intersection points of driving paths, etc.
[0015] In a possible implementation manner, the information of the collision points includes the number of collision points;
[0016] The determining of the information of the collision points in the target driving scenario according to the physical collision points in the target driving scenario includes:
[0017] Determining the number of physical collision points in the target driving scenario as the number of collision points in the target driving scenario; or,
[0018] Perform grid processing on the collision area where the physical collision point is located to obtain the logical collision points in the target driving scenario; one logical collision point is associated with at least one physical collision point, and the logical collision point is a collision risk point in the adjacent area of the collision area.
[0019] Determine the number of logical collision points as the number of collision points in the target driving scenario.
[0020] In this implementation manner, if the target driving scenario is a ramp scenario, usually the number of physical collision points can be directly determined as the number of collision points in the target driving scenario. If the target driving scenario is an intersection scenario, usually it is necessary to first perform grid processing on the collision area where the physical collision point is located to obtain the logical collision points in the target driving scenario, and then determine the number of logical collision points as the number of collision points in the target driving scenario. It should be understood that the logical collision point is usually the position with the greatest collision risk in the adjacent area of the physical collision point.
[0021] In a possible implementation manner, the complexity of the target driving scenario is indicated by a complexity level;
[0022] The determining the complexity of the target driving scenario according to the dangerous information existing in the target driving scenario includes:
[0023] Determine the complexity level of the target driving scenario according to the number of collision points and a plurality of preset collision point number ranges, where one collision point number range corresponds to one complexity level.
[0024] In this implementation manner, determining the complexity level of the target driving scenario based on the number of collision points and a plurality of preset collision point number ranges has strong operability and high applicability. Specifically, the complexity level corresponding to the collision point number range to which the number of collision points in the target driving scenario belongs can be determined as the complexity level of the target driving scenario.
[0025] In a possible implementation manner, the determining the complexity level of the target driving scenario according to the number of collision points and a plurality of preset collision point number ranges includes:
[0026] Determine the first collision point number range to which the number of collision points belongs, and determine the complexity level corresponding to the first collision point number range as the complexity level of the target driving scenario, where the first collision point number range is one of the plurality of collision point number ranges.
[0027] In a possible implementation manner, the plurality of collision point number ranges are the collision point number ranges corresponding to the scenario type to which the target driving scenario belongs; or,
[0028] The number range of the multiple collision points is the number range of the collision points corresponding to the scenario type to which the target driving scenario belongs and the region where the target driving scenario is located.
[0029] Regarding the setting of the number range of collision points: 1. Multiple number ranges of collision points can be set without distinguishing regions and scenario types, which is a general setting; 2. Multiple number ranges of collision points can also be set according to scenario types, that is, the number range of collision points is related to the scenario type; 3. Multiple number ranges of collision points can also be set by distinguishing regions and scenario types, that is, the number range of collision points is related to regions and scenario types. These setting methods of the number range of collision points have high flexibility and are beneficial to enhancing the applicability of the solution.
[0030] In a possible implementation manner, the obtaining of the information of the static elements in the target driving scenario includes:
[0031] Obtaining the information of the static elements in the target driving scenario from a high-precision map.
[0032] In this implementation manner, preferably, the present application can obtain the information of the static elements in the target driving scenario from a high-precision map. Optionally, the information of the static elements in the target driving scenario can also be obtained from a vector map and a satellite cloud map.
[0033] In a possible implementation manner, the target driving scenario includes a general road scenario, an intersection scenario, a ramp scenario, a roundabout scenario, a toll station scenario, a tunnel scenario, an overpass scenario, an elevated road scenario, or a continuous overpass scenario.
[0034] It should be understood that in addition to the above-listed 9 scenarios, the target driving scenario can also be other driving scenarios, such as a mining area scenario, etc.
[0035] In a possible implementation manner, the static elements include one or more of an intersection surface, a road, an obstacle, a road surface marking, a virtual lane, or a traffic facility.
[0036] In a possible implementation manner, the virtual lane is determined based on the steering information of the lane and the angle information between the entrance and exit of the intersection.
[0037] In a possible implementation manner, the information of the static elements includes one or more of an element boundary, an element position, or an element size.
[0038] In a possible implementation manner, the method further includes:
[0039] Obtaining the autonomous driving test requirements;
[0040] Determine whether to use the target driving scenario as a test scenario according to the complexity of the target driving scenario and the requirements of the autonomous driving test.
[0041] In this implementation, after determining the complexity of the target driving scenario, it is also possible to determine whether to use the target driving scenario as a test scenario based on the requirements of the autonomous driving test. Exemplarily, testers can input / select the requirements of the autonomous driving test on the user interface / visual interface. For example, the requirement of the autonomous driving test can be to use the scenario with a complexity level of complex level 1 as a test scenario. If the complexity of the target driving scenario is complex level 1, then the target driving scenario can be used as a test scenario for autonomous driving; if the complexity of the target driving scenario is not complex level 1, then the target driving scenario cannot be used as a test scenario for autonomous driving.
[0042] In a second aspect, an embodiment of the present application provides a data processing device, which includes:
[0043] An acquisition unit, configured to acquire information about static elements in the target driving scenario;
[0044] A processing unit, configured to determine the dangerous information existing in the target driving scenario according to the information of the static elements, where the dangerous information is used to indicate the collision situation of a moving object in the target driving scenario;
[0045] The processing unit is configured to determine the complexity of the target driving scenario according to the dangerous information existing in the target driving scenario, and the complexity of the target driving scenario reflects the degree of influence of the target driving scenario on driving safety.
[0046] In a possible implementation, the dangerous information existing in the target driving scenario includes information about the collision points in the target driving scenario; when determining the dangerous information existing in the target driving scenario according to the information of the static elements, the processing unit is specifically configured to:
[0047] Determine the physical collision points in the target driving scenario according to the information of the static elements, where the physical collision points are the merging points of lanes or the intersection points of driving paths;
[0048] Determine the information about the collision points in the target driving scenario according to the physical collision points in the target driving scenario.
[0049] In a possible implementation, the information about the collision points includes the number of collision points; when determining the information about the collision points in the target driving scenario according to the physical collision points in the target driving scenario, the processing unit is specifically configured to:
[0050] Determine the number of physical collision points in the target driving scenario as the number of collision points in the target driving scenario; or,
[0051] Perform grid processing on the collision area where the physical collision points are located to obtain logical collision points in the target driving scenario; at least one physical collision point is associated with one logical collision point, and the logical collision point is a collision risk point in the adjacent area of the collision area.
[0052] Determine the number of logical collision points as the number of collision points in the target driving scenario.
[0053] In a possible implementation manner, the complexity of the target driving scenario is indicated by a complexity level; when determining the complexity of the target driving scenario according to the dangerous information existing in the target driving scenario, the processing unit is specifically configured to:
[0054] Determine the complexity level of the target driving scenario according to the number of collision points and a plurality of preset collision point number ranges, where one collision point number range corresponds to one complexity level.
[0055] In a possible implementation manner, when determining the complexity level of the target driving scenario according to the number of collision points and a plurality of preset collision point number ranges, the processing unit is specifically configured to:
[0056] Determine the first collision point number range to which the number of collision points belongs, and determine the complexity level corresponding to the first collision point number range as the complexity level of the target driving scenario, where the first collision point number range is one of the plurality of collision point number ranges.
[0057] In a possible implementation manner, the plurality of collision point number ranges are the collision point number ranges corresponding to the scene type to which the target driving scenario belongs; or,
[0058] The plurality of collision point number ranges are the collision point number ranges corresponding to the scene type to which the target driving scenario belongs and the region where the target driving scenario is located.
[0059] In a possible implementation manner, when obtaining the information of static elements in the target driving scenario, the obtaining unit is specifically configured to:
[0060] Obtain the information of static elements in the target driving scenario from a high-precision map.
[0061] In a possible implementation manner, the target driving scenario includes a general road scenario, an intersection scenario, a ramp scenario, a roundabout scenario, a toll station scenario, a tunnel scenario, a flyover scenario, an elevated road scenario, or a continuous overpass scenario.
[0062] In a possible implementation, the static elements include one or more of intersection surfaces, roads, obstacles, road markings, virtual lanes, or traffic facilities.
[0063] In a possible implementation, the virtual lane is determined based on the steering information of the lane and the angular information between the entrance to and the exit from the intersection.
[0064] In a possible implementation, the information of the static elements includes one or more of element boundaries, element positions, or element sizes.
[0065] In a possible implementation, the processing unit is further configured to:
[0066] Obtain the autonomous driving test requirements;
[0067] Determine whether to use the target driving scenario as a test scenario according to the complexity of the target driving scenario and the autonomous driving test requirements.
[0068] In a third aspect, an embodiment of the present application provides a data processing device, which includes a processor. The processor is coupled to a memory and can be used to execute instructions in the memory to implement the methods in the first aspect and any possible implementation manners thereof. Optionally, the data processing device further includes a memory. Optionally, the data processing device further includes a communication interface, and the processor is coupled to the communication interface.
[0069] In a fourth aspect, an embodiment of the present application provides a data processing device, including: a logic circuit and a communication interface. The communication interface is used to receive information or send information; the logic circuit is used to receive information or send information through the communication interface, so that the data processing device executes the methods in the first aspect and any possible implementation manners thereof.
[0070] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, which is used to store a computer program (which can also be called code or instruction); when the computer program runs on a computer, the methods in the first aspect and any possible implementation manners thereof are implemented.
[0071] In a sixth aspect, an embodiment of the present application provides a computer program product, which includes: a computer program (which can also be called code or instruction); when the computer program runs, the computer is caused to execute the methods in the first aspect and any possible implementation manners thereof.
[0072] Seventh aspect, an embodiment of the present application provides a chip, which includes a processor for executing instructions. When the processor executes the instructions, the chip is caused to execute the method according to the first aspect and any possible implementation manner thereof. Optionally, the chip further includes a communication interface for receiving or transmitting signals.
[0073] Eighth aspect, an embodiment of the present application provides a vehicle terminal, which includes at least one data processing device according to the second aspect, or the data processing device according to the third aspect, or the data processing device according to the fourth aspect, or the chip according to the seventh aspect.
[0074] Ninth aspect, an embodiment of the present application provides a server for executing the method according to the first aspect and any possible implementation manner thereof.
[0075] In addition, in the process of executing the method according to the first aspect and any possible implementation manner thereof, the processes of sending information and / or receiving information in the above method can be understood as the process of the processor outputting information and / or the process of the processor receiving the input information. When outputting information, the processor can output the information to a transceiver (or a communication interface, or a sending module) for transmission by the transceiver. After the information is output by the processor, other processing may be required before it reaches the transceiver. Similarly, when the processor receives the input information, the transceiver (or a communication interface, or a sending module) receives the information and inputs it to the processor. Further, after the transceiver receives the information, the information may need to be processed otherwise before it is input to the processor.
[0076] Based on the above principle, for example, the sending of information mentioned in the foregoing method can be understood as the processor outputting information. Another example is that receiving information can be understood as the processor receiving the input information.
[0077] Optionally, for operations such as transmitting, sending, and receiving involved in the processor, if there is no special description, or if it does not conflict with its actual role or internal logic in the relevant description, they can all be more generally understood as operations such as the processor outputting, receiving, and inputting.
[0078] Optionally, during the process of performing the method described in the first aspect and any possible implementation manner thereof, the above-mentioned processor may be a processor dedicated to executing these methods, or a processor that executes these methods by executing computer instructions in a memory, such as a general-purpose processor. The above-mentioned memory may be a non-transitory memory, such as a read only memory (ROM), which may be integrated with the processor on the same chip or may be separately provided on different chips. The embodiments of the present application do not limit the type of the memory and the setting manner of the memory and the processor.
[0079] In a possible implementation manner, the above-mentioned at least one memory is located outside the device.
[0080] In another possible implementation manner, the above-mentioned at least one memory is located inside the device.
[0081] In another possible implementation manner, a part of the above-mentioned at least one memory is located inside the device, and another part of the memory is located outside the device.
[0082] In the present application, the processor and the memory may also be integrated into one device, that is, the processor and the memory may also be integrated together. Description of the Drawings
[0083] Figure 1 is a schematic diagram of lane turning judgment provided by an embodiment of the present application;
[0084] Figure 2 is a schematic flowchart of a data processing method provided by an embodiment of the present application;
[0085] Figure 3 is a schematic diagram of a highway ramp scenario provided by an embodiment of the present application;
[0086] Figure 4 is a schematic diagram of the intersection of the merging point and the driving path of a lane provided by an embodiment of the present application;
[0087] Figure 5 is a schematic diagram of an intersection scenario provided by an embodiment of the present application;
[0088] Figure 6 is a schematic diagram of a logical collision point and a physical collision point provided by an embodiment of the present application;
[0089] Figure 7 is a schematic diagram of dividing the collision point quantity range without distinguishing regions and scenario types provided by an embodiment of the present application;
[0090] Figure 8It is a schematic diagram provided by an embodiment of the present application for distinguishing the scene type and dividing the range of the number of collision points;
[0091] Figure 9 It is a schematic diagram provided by an embodiment of the present application for distinguishing regions and scene types and dividing the range of the number of collision points;
[0092] Figure 10 It is a schematic structural diagram of a data processing device provided by an embodiment of the present application;
[0093] Figure 11 It is a schematic structural diagram of a data processing device provided by an embodiment of the present application;
[0094] Figure 12 It is a schematic structural diagram of a chip provided by an embodiment of the present application. Detailed implementation manners
[0095] Next, the embodiments of the present application will be described in conjunction with the accompanying drawings in the embodiments of the present application.
[0096] Terms such as "first", "second", "third", and "fourth" in the specification, claims, and drawings of the present application are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the listed steps or units, but optionally further includes steps or units not listed, or optionally further includes other steps or units inherent to these processes, methods, products, or devices.
[0097] Referring to "embodiment" herein means that a specific feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the present application. The phrase appears in various places in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment mutually exclusive with other embodiments. Those skilled in the art will explicitly and implicitly understand that the embodiments described herein can be combined with other embodiments.
[0098] As used in this specification, terms such as "component", "module", "system", etc. are used to denote computer-related entities, hardware, firmware, combinations of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program, and / or a computer. By way of illustration, both an application running on a computing device and the computing device can be components. One or more components can reside in a process and / or an execution thread, and a component can be located on one computer and / or distributed between two or more computers. In addition, these components can execute from various computer-readable media storing various data structures. Components can communicate, for example, through local and / or remote processes according to signals having one or more data packets (e.g., data from two components interacting with another component among a local system, a distributed system, and / or a network, such as the Internet interacting with other systems through signals).
[0099] First, the application scenario of this application is introduced. This application provides a data processing method. Through this method, the complexity of static scenarios is divided, so that in subsequent autonomous driving simulation tests, different complexity scenarios can be quickly identified and screened as needed for test applications. In addition, the complexity of the static scenarios involved in this application can also be used to judge the ODD. For example, for a complex intersection scenario, it can be set outside the ODD range and used as a boundary scenario of the ODD. Optionally, the complexity of the static scenarios involved in this application can also provide a reference for the overall complexity classification and modeling of autonomous driving scenarios.
[0100] The data processing method provided by this application can be executed by a data processing device. The data processing device can be a network-side device or a terminal device, or a chip inside the network-side device or a chip inside the terminal device. Among them, the network-side device includes a computing platform or a server, etc. The specific deployment form of the computing platform and the server is not limited in this application. For example, it can be cloud deployment (such as a cloud platform), or an independent computer device or chip, etc. The terminal device includes a hardware device supporting scientific computing. For example, it can include vehicles, personal computers, servers, mobile phone terminals, embedded devices, etc.
[0101] To facilitate the understanding of the content of this solution, some terms in this application are explained below for the understanding of those skilled in the art. This part is only for easy understanding and cannot be regarded as a specific limitation of this application.
[0102] 1. High-definition map (HD MAP)
[0103] High-precision maps, also known as high-definition maps or highly accurate maps, as one of the key capabilities for realizing autonomous driving, will effectively complement existing sensors for autonomous driving and enhance the safety of vehicle autonomous driving decisions. Compared with traditional navigation maps, high-precision maps for autonomous driving have higher requirements in all aspects and can cooperate with sensors and algorithms to provide support for the decision-making layer. High-precision maps include a static layer part and a dynamic layer part. The static layer part mainly refers to some target objects or elements in the high-precision map that remain conventionally stationary, which can include map elements such as road shapes, road markings, traffic signs, and obstacles. The dynamic layer part refers to the dynamic information that is changing or may change during the process of autonomous driving, that is, dynamic event information, such as changing traffic flows, real-time road conditions, road construction, or road closures, etc., which are data that need to be pushed or updated in real time.
[0104] 2. Design Operating Domain (ODD)
[0105] ODD, also known as the Design Operating Area or Design Operating Conditions, refers to the external environmental conditions used for the functional operation of a driving automation system during design. Generally speaking, it is the operating conditions of a certain autonomous driving function. Exemplarily, the design operating domain can include but is not limited to roads, traffic, weather, lighting, etc.
[0106] 3. Design Operating Conditions (ODC)
[0107] The general term for various conditions determined during the design of a driving automation system that are applicable to its functional operation, including the design operating domain, vehicle state, occupant state, and other necessary conditions.
[0108] 4. Scenarios
[0109] Currently, scenarios (or scenario types) mainly include ordinary road scenarios, intersection scenarios, ramp scenarios, roundabout scenarios, toll station scenarios, tunnel scenarios, overpass scenarios, elevated road scenarios, or continuous overpass scenarios, etc. Among them, different classification labels can exist under each scenario type, and multiple value range values can exist under each classification label. For example, taking ordinary roads as an example, ordinary roads can have 4 classification labels such as road form, road grade, whether there is a service road, and whether there is a gap. Among them, the value range values of road form can include straight roads, curved roads, ramp roads, etc.; the value range values of road grade can include highway roads, open roads, etc.; the value range values of whether there is a service road can include yes (i.e., there is a service road), no (i.e., there is no service road); the value range values of whether there is a gap can include yes (i.e., there is a gap), no (i.e., there is no gap).
[0110] Table 1
[0111]
[0112]
[0113] 5. Virtual Lane
[0114] Lane lines, as the constituent elements of a road, are used to indicate the path planning of autonomous vehicles to ensure the safety, comfort, and intelligence of vehicles during the autonomous driving process. In the traffic intersection scenario, due to the complex road structure at the intersection and the lack of clear physical lane line constraints, the behavior differences of vehicles are more obvious, and it is more difficult to accurately predict the future driving trajectories of other vehicles. The high-precision map in the autonomous driving system adds virtual lanes (or virtual lane lines) at the intersection to constrain vehicles to drive along the virtual lane lines when passing through the intersection. Correspondingly, the autonomous driving system determines the virtual lane lines of the high-precision map as the future driving trajectories of other vehicles at the intersection.
[0115] Currently, the virtual lanes include one or more of the left-turn virtual lane, right-turn virtual lane, straight-ahead virtual lane, U-turn virtual lane, etc. Generally speaking, the virtual lane lines within the intersection can be calculated based on the turning information of the lane and the angle between the entrance and exit of the intersection. The judgment principle for the direction of specific lane connections is as shown in (a) of Figure 1 . Taking the clockwise direction as the positive direction, when the included angle θ between the entrance and exit of the intersection is in the range of [315°, 360°) or [0°, 45°), it indicates going straight; when the included angle θ between the entrance and exit of the intersection is in the range of [45°, 135°), it indicates a right turn; when the included angle θ between the entrance and exit of the intersection is in the range of [135°, 180°), it indicates a right U-turn; when the included angle θ between the entrance and exit of the intersection is in the range of [180°, 225°), it indicates a U-turn; when the included angle θ between the entrance and exit of the intersection is in the range of [225°, 315°), it indicates a left turn. Generally, the road corresponding to a left turn includes a left-turn exit lane and / or a left-turn virtual lane, the road corresponding to a right turn includes a right-turn exit lane and / or a right-turn virtual lane, the road corresponding to going straight includes a straight-ahead exit lane and / or a straight-ahead virtual lane, and the road corresponding to a U-turn includes a U-turn exit lane and / or a U-turn virtual lane. Taking the left-turn scenario shown in (b) of Figure 1 as an example, the included angle between the entrance and exit of the intersection is 300°.
[0116] The safety of automobiles has always received extensive attention from automobile enterprises and scientific research institutions. The development of autonomous driving technology has given rise to the need for research related to automobile safety, which has in turn led to the current focus on the research of testing and evaluation of autonomous driving. Establishing and improving testing and evaluation methods is crucial for improving the R & D efficiency of autonomous vehicles and ensuring traffic safety.
[0117] Scenario-based simulation testing for autonomous driving is an essential and indispensable part of the testing and evaluation of intelligent vehicles. Simulation testing has the advantages of low cost and high efficiency. During the testing process of autonomous driving, the test scenarios are divided into static scenarios and dynamic scenarios. Static scenarios include road environment, traffic facilities, weather, etc., while dynamic scenarios include traffic participants, dynamic indication facilities, communication environment, etc.
[0118] It should be understood that the danger level of the traffic environment is related to the complexity of the vehicle driving environment and includes various factors such as roads, weather, light, and surrounding pedestrians and vehicles. Currently, the danger level of the autonomous driving scenario is jointly determined by static scenarios and dynamic scenarios. Generally speaking, the scenario danger level reflects the impact degree of different driving environments on the safety of autonomous driving. However, the current method of jointly determining the scenario danger level by static scenarios and dynamic scenarios is not flexible enough.
[0119] Based on this, the present application proposes a data processing method. By decoupling static scenarios and dynamic scenarios, this method can separately construct complex levels for static scenarios, improving the flexibility of scenario danger level division.
[0120] The following details the data processing method and related devices provided by the present application:
[0121] Please refer to Figure 2 , Figure 2 which is a schematic flowchart of the data processing method provided by an embodiment of the present application. As Figure 2 shown, the data processing method includes the following steps S201 - S203. This method takes the cloud platform as the execution subject for illustrative purposes. It should be noted that Figure 2 is a schematic flowchart of the method embodiment of the present application, showing the detailed communication steps or operations of the method. However, these steps or operations are only examples. Embodiments of the present application can also perform other operations or Figure 2 variations of the various operations in Figure 2 . In addition, Figure 2 the various steps in Figure 2 can be executed in different orders from those presented in
[0122] S201. The cloud platform obtains information on static elements in the target driving scenario.
[0123] Exemplarily, the target driving scenario involved in the embodiments of the present application can be any one of an ordinary road scenario, an intersection scenario, a ramp scenario, a roundabout scenario, a toll station scenario, a tunnel scenario, an overpass scenario, an elevated road scenario, or a continuous overpass scenario, etc. Alternatively, the target driving scenario can also be a combination of two or more of the above scenarios, etc. The present application does not limit this. The understanding of various types of scenarios can refer to the relevant descriptions in the foregoing term explanations and will not be elaborated here. It should be understood that in addition to the 9 scenarios listed above, the target driving scenario can also be other driving scenarios, such as a mining area scenario, etc., and this is not limited.
[0124] It should be understood that the static elements in the embodiments of the present application include one or more of an intersection surface, a road, an obstacle, a road surface marking, a virtual lane, or a traffic facility, etc. The information of the static elements includes one or more of an element boundary, an element position, or an element size, etc. For example, taking the static element as an obstacle, the information of the obstacle can include the boundary of the obstacle, the position where the obstacle is located, and the size of the obstacle, etc. Another example is taking the intersection surface as an example. The information of the intersection surface includes the boundary of the intersection surface and the area of the intersection surface, etc.
[0125] For example, taking the target driving scenario as an intersection scenario, the intersection scenario can include elements / static elements such as an intersection surface, the turning information of lanes, traffic signs, traffic lights, the association relationship between the intersection surface and the road / lane, the association relationship between the intersection surface and the stop line, the crosswalk, and obstacles, and virtual lanes.
[0126] Another example is taking the target driving scenario as a ramp scenario. The ramp scenario can include elements / static elements such as an exit ramp, an entrance ramp, and a connecting ramp. Generally speaking, for a ramp entrance: there is no preceding road or the preceding road is an ordinary road and the succeeding road is a highway; for a ramp exit: there is no succeeding road or the succeeding road is an ordinary road and the preceding road is a highway; for a connecting ramp: it refers to the connection part of the highway and both the preceding and succeeding roads are highway roads. Exemplarily, as shown in (a) and (b) of Figure 3 the figure.
[0127] In a possible implementation, information about static elements in a target driving scenario can be obtained from a high-precision map. Generally speaking, a high-precision map includes road-level information and lane-level information. Among them, the road-level information can provide navigation information for users to meet the navigation needs of driving routes. For example, the road-level information can include: the number of lanes of the current road, the speed limit information of the current road, turning information, etc. The lane-level information is used to indicate information about lanes in the road network environment. For example, lane curvature, lane heading, lane center axis, lane width, lane markings, lane speed limits, lane segmentation, and lane merging, etc. In addition, the lane line conditions (dashed lines, solid lines, single lines, and double lines) between lanes, lane line colors (white, yellow), road isolation belts, isolation belt materials, road arrows, text content, and locations can also be included in the lane-level information.
[0128] Specifically, a high-precision map segment of the target driving scenario can be extracted from an existing high-precision map (here, the high-precision map segment can also be understood as a file of the high-precision map segment), and the extracted high-precision map segment is processed. Here, the existing high-precision map can refer to an existing high-precision map obtained based on the collection data of real / actual roads. For example, data collection devices such as lidar, cameras, global navigation satellite system (GNSS) / inertial measurement unit (IMU), data storage, and computer devices can be arranged on a collection vehicle to collect all information about the surrounding environment during the driving process of the collection vehicle and store it. Among them, through automatic semantic recognition of the collected data, including lane lines, traffic signs, vehicle types, etc., it is vectorized and labeled according to a certain data specification, a topological relationship is established, and virtual lane lines at intersections are generated to realize the construction of a high-precision map. Optionally, the constructed high-precision map can be stored in a cloud storage device. When the complexity of the target driving scenario needs to be divided, the cloud platform can obtain the data of the high-precision map from the cloud storage device and process the obtained data of the high-precision map.
[0129] It should be understood that the high-precision map involved in this application can be a high-precision map within a specific geographical area. For example, a high-precision map of a certain country, or a high-precision map of a certain city, or a high-precision map of a certain district or county, etc. This application does not limit this. Optionally, the user can input / select a specific geographical area on the user interface / visualization interface, and then extract the target driving scenario for the selected specific geographical area and perform scene complexity division.
[0130] It should be noted that the user interface / visualization interface involved in the embodiments of the present application may be the user interface / visualization interface of the client, and the client described here may be other devices or software and hardware independent of the cloud platform, which interacts with the cloud platform through a communication port. Optionally, the user interface / visualization interface involved in the embodiments of the present application may also be the user interface / visualization interface that comes with the cloud platform, that is, the client is integrated with the cloud platform, so the interaction between the user interface / visualization interface and the cloud platform is internally implemented, which is determined according to the actual scenario and is not limited here.
[0131] Exemplarily, assuming that the target driving scene is an "intersection", the existing high-precision map can be detected, and the high-precision map fragments including the "intersection" can be extracted as the data source, and then the extracted high-precision map fragments are processed to obtain the information of the static elements contained in the high-precision map fragments. Generally speaking, when extracting the high-precision map fragments corresponding to the intersection scene, the intersection surface, the roads and lanes associated with the intersection surface, and the surrounding traffic facilities in the high-precision map can be extracted as the high-precision map fragments corresponding to the intersection scene. For example, the extraction principle of the high-precision map fragments corresponding to the intersection scene is: 1. Intersection scene range: 100 meters of the extension line of the entrance and exit roads; 2. Full element coverage: obtain roads, lanes, lane lines, lights, poles, signs, obstacles, road surface markings, stop lines, virtual lanes and other elements through the intersection association relationship; 3. The dedicated lanes around the intersection are complete, including left and right turn lanes, non-motorized vehicle lanes, etc.
[0132] As another example, assuming that the target driving scene is a "highway ramp", the existing high-precision map can be detected, and the high-precision map segment including the "highway ramp" can be extracted as a data source, and then the extracted high-precision map segment can be processed to obtain the information of the static elements contained in the high-precision map segment. Generally speaking, when extracting the high-precision map segment corresponding to the ramp scene, the ramp exit, ramp entrance, connecting ramp, etc. in the high-precision map can be extracted as the high-precision map segment corresponding to the ramp scene.
[0133] In another possible implementation, information about static elements in the target driving scene can also be obtained from existing vector maps and satellite cloud maps. Vector maps, such as open source vector maps, include road-level information, such as the number of lanes on the current road, speed limit information on the current road, turn information, etc. Satellite clouds can be understood as satellite maps, through which lane-level information can be identified, such as lane width, number of lanes, lane driving direction, lane usage information, etc.
[0134] Specifically, vector map fragments of the target driving scenario can be extracted from existing vector maps. By performing image detection on the satellite cloud map corresponding to the vector map fragment, high-precision map information corresponding to the vector map fragment can be obtained. The vector map fragment is converted into a high-precision map fragment using the high-precision map information, so as to process the obtained high-precision map fragment.
[0135] For ease of understanding, the following mainly uses high-precision maps as examples for illustrative purposes.
[0136] S202. The cloud platform determines the dangerous information existing in the target driving scenario according to the information of the static elements.
[0137] The dangerous information is used to indicate the collision situation of moving objects in the target driving scenario. For example, the dangerous information existing in the target driving scenario includes information about the collision points in the target driving scenario, etc. Here, the information about the collision points includes the number of collision points, or the density of collision points, etc. For ease of understanding, the following mainly uses the information about the collision points being the number of collision points for illustrative purposes.
[0138] In some feasible implementation manners, determining the dangerous information existing in the target driving scenario according to the information of the static elements includes: determining the physical collision points in the target driving scenario according to the information of the static elements, and then determining the information about the collision points in the target driving scenario according to the physical collision points in the target driving scenario. Generally speaking, the physical collision points are positions where a vehicle may collide due to the form or topological expression of the road. For example, the physical collision points can be the merging points of lanes or the intersection / confluence points of driving paths (or virtual lanes), as Figure 4 Figures (a) and (b) in which respectively show schematic diagrams of the merging point of a lane and the intersection point of a driving path.
[0139] Exemplarily, taking an intersection scenario as an example, the intersection scenario can be divided into three regions, namely outside the intersection, the intersection boundary, and inside the intersection. For outside the intersection and the intersection boundary, since there are actual physical lane boundary lines in these two regions, the merging points of the lanes can be used as physical collision points. For inside the intersection, since there are no actual physical lane boundary lines inside the intersection, it is necessary to construct a virtual lane topology and cluster the virtual lanes into driving paths according to the driving direction, and then use the intersection points of the driving paths as physical collision points. Optionally, for inside the intersection, the intersection points of the virtual lanes can also be directly used as physical collision points, as Figure 5 shown.
[0140] In a possible implementation, determining the information of the collision points in the target driving scenario based on the physical collision points in the target driving scenario includes: determining the number of physical collision points in the target driving scenario as the number of collision points in the target driving scenario. That is to say, the number of collision points is equal to the number of physical collision points. For example, in a ramp scenario, the number of physical collision points can be determined as the number of collision points.
[0141] For example, assume that the target driving scenario is a ramp scenario. Then, information about static elements such as the exit ramp, entrance ramp, and connecting ramp can be extracted from the high-precision map segment corresponding to the ramp scenario. The physical collision points of the ramp can refer to the lane merging points where lanes merge into the ramp. Assume that the number of physical collision points in the ramp scenario is 12. Then, the number of collision points can be determined to be 12.
[0142] In another possible implementation, determining the information of the collision points in the target driving scenario based on the physical collision points in the target driving scenario includes: rasterizing the collision area where the physical collision points are located to obtain the logical collision points in the target driving scenario, and then determining the number of logical collision points as the number of collision points in the target driving scenario. One logical collision point is associated with at least one physical collision point. Generally speaking, the logical collision point is a collision risk point in the adjacent area of the collision area, such as Figure 6 shows a schematic diagram of logical collision points and physical collision points. For example, in an intersection scenario, the number of logical collision points can be determined as the number of collision points.
[0143] For example, assume that the target driving scenario is an intersection scenario. Then, information about static elements such as the exit intersection, entrance intersection, and connecting intersection can be extracted from the high-precision map segment corresponding to the intersection scenario. The physical collision points of the intersection can refer to the lane merging points or the intersection points of the driving paths (or virtual lanes). Assume that the number of physical collision points in the intersection scenario is 26, as Figure 6 shown. By rasterizing all the physical collision points, 6 logical collision points as shown in Figure 6 can be obtained. Then, the number of collision points can be determined to be 6.
[0144] In yet another possible implementation, determining the information of the collision points in the target driving scenario based on the physical collision points in the target driving scenario includes: clustering each physical collision point, and taking the number of clustered points obtained through the clustering process as the number of collision points in the target driving scenario.
[0145] S203. The cloud platform determines the complexity of the target driving scenario according to the dangerous information existing in the target driving scenario.
[0146] The complexity of the target driving scenario can be indicated by a complexity level. It should be understood that the complexity of the target driving scenario reflects the degree of influence of the target driving scenario on driving safety. Generally speaking, the higher the complexity of the target driving scenario, the greater the degree of influence of the target driving scenario on driving safety. In one possible implementation, the scenario complexity can be positively correlated with the complexity level, that is, the higher the complexity level, the higher the scenario complexity; in another possible implementation, the scenario complexity can also be negatively correlated with the complexity level, that is, the higher the complexity level, the lower the scenario complexity. For ease of understanding, this application mainly uses the example where the higher the complexity level, the higher the scenario complexity for illustrative purposes.
[0147] In some feasible embodiments, the complexity of the target driving scenario is determined according to the dangerous information existing in the target driving scenario, including: determining the complexity level of the target driving scenario according to the number of collision points and a plurality of preset ranges of the number of collision points, where one range of the number of collision points corresponds to one complexity level. Specifically, the first range of the number of collision points to which the number of collision points belongs can be determined first, and then the complexity level corresponding to the first range of the number of collision points can be determined as the complexity level of the target driving scenario, where the first range of the number of collision points is one of the plurality of ranges of the number of collision points.
[0148] For example, assume that the plurality of ranges of the number of collision points includes range 1 of the number of collision points, range 2 of the number of collision points, and range 3 of the number of collision points. Among them, range 1 of the number of collision points corresponds to complexity level 1, range 2 of the number of collision points corresponds to complexity level 2, and range 3 of the number of collision points corresponds to complexity level 3. Among them, assume that the number of collision points in the target driving scenario is included in range 1 of the number of collision points, then the complexity level of the target driving scenario can be determined to be complexity level 1.
[0149] It should be noted that this application can set a plurality of ranges of the number of collision points without distinguishing regions and scenario types, and then divide the complexity level of the scenario based on the preset plurality of ranges of the number of collision points. That is to say, the plurality of ranges of the number of collision points involved in the embodiments of this application are ranges set without distinguishing regions and scenario types, or the plurality of ranges of the number of collision points involved in the embodiments of this application can be applied to all scenarios in all regions.
[0150] For example, such as Figure 7As shown in the figure, assume that the multiple collision point quantity ranges include collision point quantity range 1, collision point quantity range 2, and collision point quantity range 3. Among them, collision point quantity range 1 is (0, 20], collision point quantity range 2 is (20, 40], and collision point quantity range 3 is (40, +∞). Among them, collision point quantity range 1 corresponds to complexity level 1, collision point quantity range 2 corresponds to complexity level 2, and collision point quantity range 3 corresponds to complexity level 3. For any scene in any area, the scene complexity can be determined based on these 3 collision point quantity ranges. For example, for any ordinary road scene (such as ordinary road 1) in city A, if the number of collision points contained in this ordinary road 1 is 28, since the number of collision points 28 is included in (20, 40], it can be determined that the scene complexity of ordinary road 1 in city A is complexity level 2. Another example, for any intersection scene (such as intersection 1) in city B, if the number of collision points contained in this intersection 1 is 18, since the number of collision points 18 is included in (0, 20], it can be determined that the scene complexity of intersection 1 in city B is complexity level 1.
[0151] Optionally, multiple collision point quantity ranges can also be set according to the scene type, and then the complexity level of the scene can be divided based on the multiple collision point quantity ranges corresponding to the scene type. That is to say, corresponding collision point quantity ranges can be set for different scene types respectively.
[0152] For example, as Figure 8 shown, for the ordinary road scene, its corresponding collision point quantity ranges 1 to 3. Among them, collision point quantity range 1 is (0, 5], collision point quantity range 2 is (5, 10], collision point quantity range 3 is (10, +∞), and collision point quantity range 1 corresponds to complexity level 1, collision point quantity range 2 corresponds to complexity level 2, and collision point quantity range 3 corresponds to complexity level 3.
[0153] For the intersection scene, its corresponding collision point quantity ranges 4 to 6. Among them, collision point quantity range 4 is (0, 30], collision point quantity range 5 is (30, 60], collision point quantity range 6 is (60, +∞), and collision point quantity range 4 corresponds to complexity level 1, collision point quantity range 5 corresponds to complexity level 2, and collision point quantity range 6 corresponds to complexity level 3.
[0154] For the ramp scene, its corresponding collision point quantity ranges 7 to 9. Among them, collision point quantity range 7 is (0, 4], collision point quantity range 8 is (4, 8], collision point quantity range 9 is (8, +∞), and collision point quantity range 7 corresponds to complexity level 1, collision point quantity range 8 corresponds to complexity level 2, and collision point quantity range 9 corresponds to complexity level 3.
[0155] Specifically, for the same type of scenario, the range of the number of collision points used is the same. For example, for any ordinary road scenario in City A (such as Ordinary Road 1), the range of the number of collision points used is from the number range of collision points 1 to the number range of collision points 3. If the number of collision points in this Ordinary Road 1 is 6, since the number 6 of collision points is included in (5, 10], it can be determined that the scenario complexity of Ordinary Road 1 in City A is of complex level 2. Another example, for any intersection scenario in City B (such as Intersection 1), the range of the number of collision points used is from the number range of collision points 4 to the number range of collision points 6. If the number of collision points in this Intersection 1 is 18, since the number 18 of collision points is included in (0, 30], it can be determined that the scenario complexity of Intersection 1 in City B is of complex level 1. Another example, for any ramp scenario in City B (such as Ramp 1), for any ramp scenario in City B (such as Ramp 1), the range of the number of collision points used is from the number range of collision points 7 to the number range of collision points 9. If the number of collision points in this Ramp 1 is 4, since the number 4 of collision points is included in (0, 4], it can be determined that the scenario complexity of Ramp 1 in City B is of complex level 1.
[0156] Optionally, it is also possible to set multiple ranges of the number of collision points by distinguishing regions and scenario types, and then classify the complexity levels of scenarios based on the multiple ranges of the number of collision points corresponding to specific regions and scenario types. That is to say, corresponding ranges of the number of collision points can be set separately for different scenario types within different regions. For example, separately set the ranges of the number of collision points corresponding to different scenario types in each city.
[0157] For example, as Figure 9 shown, for the ordinary road scenario in City A, the corresponding range of the number of collision points is from the number range of collision points 1 to the number range of collision points 3, where the number range of collision points 1 corresponds to complex level 1, the number range of collision points 2 corresponds to complex level 2, and the number range of collision points 3 corresponds to complex level 3. For the intersection scenario in City A, the corresponding range of the number of collision points is from the number range of collision points 4 to the number range of collision points 6, where the number range of collision points 4 corresponds to complex level 1, the number range of collision points 5 corresponds to complex level 2, and the number range of collision points 6 corresponds to complex level 3.
[0158] For the ordinary road scenario in City B, the corresponding range of the number of collision points is from the number range of collision points 7 to the number range of collision points 9, where the number range of collision points 7 corresponds to complex level 1, the number range of collision points 8 corresponds to complex level 2, and the number range of collision points 9 corresponds to complex level 3. For the intersection scenario in City B, the corresponding range of the number of collision points is from the number range of collision points 10 to the number range of collision points 12, where the number range of collision points 10 corresponds to complex level 1, the number range of collision points 11 corresponds to complex level 2, and the number range of collision points 12 corresponds to complex level 3.
[0159] Specifically, for the same scene type within the same area, the range of the number of collision points adopted is the same. For example, for any ordinary road scene in City A (such as Ordinary Road 1), the range of the number of collision points adopted is from the number of collision points range 1 to the number of collision points range 3. If the number of collision points included in this Ordinary Road 1 is included in the number of collision points range 2, then it can be determined that the scene complexity of Ordinary Road 1 in City A is at the complex level 2. Another example, for any ordinary road scene in City B (such as Ordinary Road 2), the range of the number of collision points adopted is from the number of collision points range 7 to the number of collision points range 9. If the number of collision points included in this Ordinary Road 2 is included in the number of collision points range 8, then it can be determined that the scene complexity of Ordinary Road 2 in City B is at the complex level 2.
[0160] It should be noted that the specific numerical settings of each range of the number of collision points can be determined based on the actual scene, and this application does not limit it. For example, when separately setting the ranges of the number of collision points corresponding to different scene types in each city, the number of scenes corresponding to each range of the number of collision points can be made to approach the same. For example, for the 3 ranges of the number of collision points corresponding to the intersection scene in City A, the numerical settings of these 3 ranges of the number of collision points are preferably such that the number of intersections in City A belonging to each range of the number of collision points among these 3 ranges of the number of collision points approaches the same. For example, assuming that there are a total of 72202 different intersections in City A, if the settings of these 3 ranges of the number of collision points are respectively (0, 29], (29, 59], (59, +∞), then the number of intersections corresponding to (0, 29] can be 24052, the number of intersections corresponding to (29, 59] can be 25000, and the number of intersections corresponding to (59, +∞) can be 23150. Then it can be considered that the numerical settings of (0, 29], (29, 59], (59, +∞) are a preferred range setting.
[0161] Optionally, the number of divisions of the ranges of the number of collision points corresponding to different scene types can be the same or different, and this is not limited. Among them, for the convenience of description above Figures 7 - 9 a schematic illustration is mainly given by taking the number of divisions of the ranges of the number of collision points corresponding to different scene types as being the same and the number being 3 as an example.
[0162] Optionally, when the information of the collision point is the density of the collision point, the complexity level of the target driving scene can be determined according to the density of the collision point and a plurality of preset ranges of the collision point density, where one range of the collision point density corresponds to one complexity level. Specifically, reference can be made to the implementation of determining the complexity level of the target driving scene according to the number of collision points and a plurality of preset ranges of the number of collision points when the information of the collision point is the number of collision points described above, and details will not be elaborated here.
[0163] Optionally, after determining the complexity of the identified target driving scenario, the cloud platform can also obtain the autonomous driving test requirements of the user (such as a tester), and determine whether to use the target driving scenario as a test scenario for autonomous driving based on the complexity of the target driving scenario and the autonomous driving test requirements. In one possible implementation, the tester can input / select the autonomous driving test requirements on the user interface / visualization interface. For example, the autonomous driving test requirement can be to use the scenario with a complexity level of complex level 1 as the test scenario for autonomous driving (or the autonomous driving test requirement is to conduct autonomous driving tests in the scenario with a complexity level of complex level 1). If the complexity of the target driving scenario is complex level 1, then the target driving scenario can be used as the test scenario; if the complexity of the target driving scenario is not complex level 1, then the target driving scenario cannot be used as the test scenario. Another example is that the autonomous driving test requirement can also be to use the scenario with a complexity level not lower than complex level 2 as the test scenario (or the autonomous driving test requirement is to conduct autonomous driving tests in scenarios with a complexity level of 2 or above). If the complexity of the target driving scenario is complex level 2, then the target driving scenario can be used as the test scenario; if the complexity of the target driving scenario is complex level 1, then the target driving scenario cannot be used as the test scenario.
[0164] Optionally, when the high-precision map corresponding to the target driving scenario is updated, the cloud platform can obtain the updated high-precision map again and process the updated high-precision map to re-determine the complexity of the target driving scenario. The specific implementation can refer to the relevant descriptions in the foregoing steps S201 to S203 and will not be elaborated here.
[0165] The embodiment of the present application provides a complexity division scheme for static scenarios, which can improve the flexibility of dividing the scene danger level. Specifically, the dangerous information existing in the target driving scenario can be determined according to the information of the static elements in the target driving scenario, and then the complexity of the target driving scenario can be determined according to the dangerous information existing in the target driving scenario. Generally speaking, the higher the complexity of the vehicle driving scenario, the greater the impact of the vehicle driving scenario on driving safety.
[0166] The method of the embodiment of the present application is elaborated in detail above. Below, a device for implementing the method in the embodiment of the present application is provided. For example, a device is provided that includes units (or means) for implementing each step performed by the devices in the above method.
[0167] Please refer to Figure 10 , Figure 10 which is a schematic structural diagram of a data processing device provided by the embodiment of the present application.
[0168] As Figure 10As shown, the data processing device 100 may include a transceiver unit 1001 and a processing unit 1002. The transceiver unit 1001 and the processing unit 1002 may be software, hardware, or a combination of software and hardware.
[0169] Among them, the transceiver unit 1001 can implement the sending function and / or the receiving function. The transceiver unit 1001 can also be described as a transceiver unit. The transceiver unit 1001 can also be a unit integrating an acquisition unit (or a receiving unit) and a sending unit, where the acquisition unit is used to implement the receiving function and the sending unit is used to implement the sending function. Optionally, the transceiver unit 1001 can be used to receive information sent by other devices and can also be used to send information to other devices.
[0170] In a possible design, the data processing device 100 may correspond to the cloud platform in the above Figure 2 shown method embodiment. The data processing device 100 may include units for performing the operations performed by the cloud platform in the above Figure 2 shown method embodiment, and each unit in the data processing device 100 is respectively for implementing the operations performed by the cloud platform in the above Figure 2 shown method embodiment. Among them, the descriptions of each unit are as follows:
[0171] The transceiver unit 1001 is used to obtain information about static elements in the target driving scenario;
[0172] The processing unit 1002 is used to determine the dangerous information existing in the target driving scenario according to the information of the static elements, and the dangerous information is used to indicate the collision situation of a moving object in the target driving scenario;
[0173] The processing unit 1002 is used to determine the complexity of the target driving scenario according to the dangerous information existing in the target driving scenario, and the complexity of the target driving scenario reflects the degree of influence of the target driving scenario on driving safety.
[0174] In a possible implementation manner, the dangerous information existing in the target driving scenario includes information about the collision point in the target driving scenario; when determining the dangerous information existing in the target driving scenario according to the information of the static elements, the processing unit 1002 specifically is used to:
[0175] Determine the physical collision point in the target driving scenario according to the information of the static elements, and the physical collision point is the merging point of the lane or the intersection point of the driving path;
[0176] Determine the information about the collision point in the target driving scenario according to the physical collision point in the target driving scenario.
[0177] In a possible implementation, the information of the collision point includes the number of collision points; when determining the information of the collision point in the target driving scenario according to the physical collision points in the target driving scenario, the processing unit 1002 is specifically configured to:
[0178] Determine the number of physical collision points in the target driving scenario as the number of collision points in the target driving scenario; or,
[0179] Perform grid processing on the collision area where the physical collision points are located to obtain logical collision points in the target driving scenario; at least one physical collision point is associated with one logical collision point, and the logical collision point is a collision risk point in the adjacent area of the collision area.
[0180] Determine the number of logical collision points as the number of collision points in the target driving scenario.
[0181] In a possible implementation, the complexity of the target driving scenario is indicated by a complexity level; when determining the complexity of the target driving scenario according to the dangerous information existing in the target driving scenario, the processing unit 1002 is specifically configured to:
[0182] Determine the complexity level of the target driving scenario according to the number of collision points and a plurality of preset collision point number ranges, where one collision point number range corresponds to one complexity level.
[0183] In a possible implementation, when determining the complexity level of the target driving scenario according to the number of collision points and a plurality of preset collision point number ranges, the processing unit 1002 is specifically configured to:
[0184] Determine the first collision point number range to which the number of collision points belongs, and determine the complexity level corresponding to the first collision point number range as the complexity level of the target driving scenario, where the first collision point number range is one of the plurality of collision point number ranges.
[0185] In a possible implementation, the plurality of collision point number ranges are the collision point number ranges corresponding to the scenario type to which the target driving scenario belongs; or,
[0186] The plurality of collision point number ranges are the collision point number ranges corresponding to the scenario type to which the target driving scenario belongs and the region where the target driving scenario is located.
[0187] In a possible implementation, when obtaining the information of the static elements in the target driving scenario, the transceiver unit 1001 is specifically configured to:
[0188] Obtain information on static elements in the target driving scenario from a high-precision map.
[0189] In a possible implementation, the target driving scenario includes a general road scenario, an intersection scenario, a ramp scenario, a roundabout scenario, a toll station scenario, a tunnel scenario, an overpass scenario, an elevated road scenario, or a continuous overpass scenario.
[0190] In a possible implementation, the static elements include one or more of intersection surfaces, roads, obstacles, road markings, virtual lanes, or traffic facilities.
[0191] In a possible implementation, the virtual lane is determined based on the steering information of the lane and the angular information between the entrance and exit of the intersection.
[0192] In a possible implementation, the information on the static elements includes one or more of the element boundary, element position, or element size.
[0193] In a possible implementation, the processing unit 1002 is further configured to:
[0194] Obtain autonomous driving test requirements;
[0195] Determine whether to use the target driving scenario as a test scenario according to the complexity of the target driving scenario and the autonomous driving test requirements.
[0196] Regarding the technical effects brought by this design and any possible implementation, reference can be made to the Figure 2 description of the technical effects corresponding to
[0197] Optionally, in any possible design of the data processing device 100 shown above: Figure 10 In one implementation, the data processing device is a communication device. When the data processing device is a communication device, the transceiver unit can be a transceiver or an input / output interface; the processing unit can be at least one processor. Optionally, the transceiver can be a transceiver circuit. Optionally, the input / output interface can be an input / output circuit.
[0198] In another implementation, the data processing device is a chip (system) or circuit used in a communication device. When the data processing device is a chip (system) or circuit used in a communication device, the transceiver unit can be a communication interface (input / output interface), interface circuit, output circuit, input circuit, pin, or related circuit, etc. on the chip (system) or circuit; the processing unit can be at least one processor, processing circuit, or logic circuit, etc.
[0199] In another implementation, the data processing device is a chip (system) or circuit used in a communication device. When the data processing device is a chip (system) or circuit used in a communication device, the transceiver unit can be a communication interface (input / output interface), interface circuit, output circuit, input circuit, pin, or related circuit, etc. on the chip (system) or circuit; the processing unit can be at least one processor, processing circuit, or logic circuit, etc.
[0200] According to an embodiment of the present application, Figure 10 Each unit in the device shown can be separately or entirely combined into one or several other units to form, or a certain one (or some) of the units can be further split into multiple smaller units with functional division to form, which can achieve the same operation without affecting the realization of the technical effects of the embodiments of the present application. The above units are divided based on logical functions. In practical applications, the function of one unit can also be realized by multiple units, or the functions of multiple units can be realized by one unit. In other embodiments of the present application, based on the electronic device, other units can also be included. In practical applications, these functions can also be assisted by other units and can be realized by the cooperation of multiple units.
[0201] It should be noted that the implementation of each unit can also correspond to the corresponding description of the method embodiment shown above Figure 2 shown.
[0202] Please refer to Figure 11 , Figure 11 , which is a schematic structural diagram of a data processing device provided by an embodiment of the present application.
[0203] It should be understood that Figure 11 the data processing device 110 shown is only an example. The data processing device of the embodiment of the present application may also include other components, or include components similar to the functions of each component in Figure 11 , or does not necessarily include all components in Figure 11 .
[0204] The data processing device 110 includes a communication interface 1101 and at least one processor 1102.
[0205] The data processing device 110 can correspond to an in-vehicle device or a server, etc. that has deployed a cloud platform. The communication interface 1101 is used for receiving and transmitting signals, and at least one processor 1102 executes program instructions, so that the data processing device 110 realizes the corresponding processes of the methods executed by the corresponding devices in the above method embodiments.
[0206] In a possible design, the data processing device 110 can correspond to the in-vehicle device or chip that has deployed a cloud platform in the method embodiment shown above Figure 11 . The data processing device 110 can include components for executing the operations performed by the cloud platform in the above method embodiments, and each component in the data processing device 110 is respectively for realizing the operations performed by the cloud platform in the above method embodiments. Specifically, it can be as follows:
[0207] Obtain information on static elements in the target driving scenario;
[0208] Determine the dangerous information existing in the target driving scenario according to the information of the static elements, where the dangerous information is used to indicate the collision situation of a moving object in the target driving scenario;
[0209] Determine the complexity of the target driving scenario according to the dangerous information existing in the target driving scenario, where the complexity of the target driving scenario reflects the degree of influence of the target driving scenario on driving safety.
[0210] In a possible implementation manner, the dangerous information existing in the target driving scenario includes the information of the collision points in the target driving scenario;
[0211] The determining the dangerous information existing in the target driving scenario according to the information of the static elements includes:
[0212] Determine the physical collision points in the target driving scenario according to the information of the static elements, where the physical collision points are the merging points of lanes or the intersection points of driving paths;
[0213] Determine the information of the collision points in the target driving scenario according to the physical collision points in the target driving scenario.
[0214] In a possible implementation manner, the information of the collision points includes the number of collision points;
[0215] The determining the information of the collision points in the target driving scenario according to the physical collision points in the target driving scenario includes:
[0216] Determine the number of collision points in the target driving scenario as the number of physical collision points in the target driving scenario; or,
[0217] Perform rasterization processing on the collision area where the physical collision points are located to obtain the logical collision points in the target driving scenario; one logical collision point is associated with at least one physical collision point, and the logical collision point is a collision risk point in the adjacent area of the collision area;
[0218] Determine the number of logical collision points as the number of collision points in the target driving scenario.
[0219] In a possible implementation manner, the complexity of the target driving scenario is indicated by a complexity level;
[0220] The determining the complexity of the target driving scenario according to the dangerous information existing in the target driving scenario includes:
[0221] Determine the complexity level of the target driving scenario according to the number of collision points and a plurality of preset ranges of the number of collision points, where one range of the number of collision points corresponds to one complexity level.
[0222] In a possible implementation, determining the complexity level of the target driving scenario according to the number of collision points and a plurality of preset ranges of the number of collision points includes:
[0223] Determine the first range of the number of collision points to which the number of collision points belongs, and determine the complexity level corresponding to the first range of the number of collision points as the complexity level of the target driving scenario, where the first range of the number of collision points is one of the plurality of ranges of the number of collision points.
[0224] In a possible implementation, the plurality of ranges of the number of collision points are the ranges of the number of collision points corresponding to the scenario type to which the target driving scenario belongs; or,
[0225] The plurality of ranges of the number of collision points are the ranges of the number of collision points corresponding to the scenario type to which the target driving scenario belongs and the region where the target driving scenario is located.
[0226] In a possible implementation, obtaining information about static elements in the target driving scenario includes:
[0227] Obtain information about static elements in the target driving scenario from a high-precision map.
[0228] In a possible implementation, the target driving scenario includes an ordinary road scenario, an intersection scenario, a ramp scenario, a roundabout scenario, a toll station scenario, a tunnel scenario, an overpass scenario, an elevated road scenario, or a continuous overpass scenario.
[0229] In a possible implementation, the static elements include one or more of an intersection surface, a road, an obstacle, a road marking, a virtual lane, or a traffic facility.
[0230] In a possible implementation, the virtual lane is determined based on the steering information of the lane and the angular information between the entrance and exit of the intersection.
[0231] In a possible implementation, the information about the static elements includes one or more of an element boundary, an element position, or an element size.
[0232] In a possible implementation, the method further includes:
[0233] Obtain autonomous driving test requirements;
[0234] According to the complexity of the target driving scenario and the autonomous driving test requirements, determine whether to use the target driving scenario as a test scenario.
[0235] Regarding the technical effects brought by this design and any possible implementation, reference can be made to the description of the technical effects corresponding to Figure 2 and the corresponding implementation.
[0236] For the case where the data processing device can be a chip or a chip system, reference can be made to Figure 12 the structural schematic diagram of the chip shown.
[0237] As Figure 12 shown, the chip 120 includes a processor 1201 and an interface 1202. Among them, the number of processors 1201 can be one or more, and the number of interfaces 1202 can be multiple. It should be noted that the functions corresponding to the processor 1201 and the interface 1202 can be implemented through hardware design, software design, or a combination of software and hardware, and there is no limitation here.
[0238] Optionally, the chip 120 may further include a memory 1203, and the memory 1203 is used to store necessary program instructions and data.
[0239] In this application, the processor 1201 can be used to call the implementation programs of the data processing methods provided by one or more embodiments of this application in one or more devices such as in-vehicle devices and servers deployed with a cloud platform from the memory 1203, and execute the instructions included in the program. The interface 1202 can be used to output the execution result of the processor 1201. In this application, the interface 1202 can be specifically used to output each message or information of the processor 1201.
[0240] Regarding the data processing methods provided by one or more embodiments of this application, reference can be made to the foregoing Figure 2 shown embodiments, and details are not described herein again.
[0241] The processor in the embodiments of this application can be a central processing unit (CPU), and this processor can also be other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or this processor can also be any conventional processor, etc.
[0242] The memory in the embodiments of the present application is used to provide a storage space, and data such as an operating system and computer programs can be stored in the storage space. The memory includes, but is not limited to, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), or a compact disc read-only memory (CD-ROM).
[0243] According to the method provided by the embodiments of the present application, the embodiments of the present application also provide a computer-readable storage medium. A computer program is stored in the computer-readable storage medium. When the computer program runs on one or more processors, the above-mentioned Figure 2 shown method can be implemented.
[0244] According to the method provided by the embodiments of the present application, the embodiments of the present application also provide a computer program product. The computer program product includes a computer program. When the computer program runs on a processor, the above-mentioned Figure 2 shown method can be implemented.
[0245] The embodiments of the present application also provide a system. The system includes at least one of the above-mentioned data processing device 100, data processing device 110, or chip 120, and is used to execute the steps Figure 2 executed by the corresponding device in any of the above embodiments.
[0246] The embodiments of the present application also provide a system. The system includes a vehicle-mounted device or a server with a cloud platform deployed thereon. The vehicle-mounted device or server with the cloud platform deployed thereon is used to execute the steps Figure 2 executed by the cloud platform in the shown embodiments. Optionally, the system may further include a human–machine interaction (HMI) display screen, etc. The HMI display screen is used to obtain user input, such as the user's demand for an autonomous driving test, etc.
[0247] The embodiments of the present application also provide a processing device, including a processor and an interface; the processor is used to execute the method in any of the above method embodiments.
[0248] It should be understood that the above processing device may be a chip. For example, the processing device may be a field programmable gate array (FPGA), a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components. It may also be a system on chip (SoC), a central processor unit (CPU), a network processor (NP), a digital signal processing circuit (DSP), a micro controller unit (MCU), a programmable logic device (PLD), or other integrated chips. It can implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. The steps of the method disclosed in combination with the embodiments of the present application may be directly embodied as being executed by a hardware decoding processor, or completed by a combination of hardware and software modules in the decoding processor. The software module may be located in a mature storage medium in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory, and the processor reads the information in the memory and combines its hardware to complete the steps of the above method.
[0249] It will be appreciated that the memory in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. Among them, the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchlink dynamic random access memory (SLDRAM), and direct rambus random access memory (DR RAM). It should be noted that the memory of the systems and methods described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0250] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that the computer can access or a data storage device such as a server or data center that includes one or more integrated available media. The available medium can be a magnetic medium (such as a floppy disk, hard disk, magnetic tape), an optical medium (such as a high-density digital video disc (DVD)), or a semiconductor medium (such as a solid state disc (SSD)), etc.
[0251] The units in the above device embodiments and the electronic devices in the method embodiments correspond exactly. The corresponding steps are executed by the corresponding modules or units. For example, the transceiver unit (transceiver) executes the steps of receiving or transmitting in the method embodiments, and the other steps except for sending and receiving can be executed by the processing unit (processor). The functions of the specific units can refer to the corresponding method embodiments. Among them, the processor can be one or more.
[0252] It can be understood that in the embodiments of the present application, the electronic device can execute some or all of the steps in the embodiments of the present application. These steps or operations are only examples, and the embodiments of the present application can also execute other operations or various deformations of the operations. In addition, the various steps can be executed in different orders presented in the embodiments of the present application, and it is possible not to execute all the operations in the embodiments of the present application.
[0253] Those of ordinary skill in the art can realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of this application.
[0254] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the systems, devices, and units described above can refer to the corresponding processes in the foregoing method embodiments, and will not be elaborated herein.
[0255] In several embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division. In actual implementation, there can be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces, and the indirect couplings or communication connections of the devices or units can be in electrical, mechanical, or other forms.
[0256] The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they can be located in one place, or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0257] In addition, the functional units in each embodiment of this application can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit.
[0258] When the above-mentioned functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that makes a contribution, or a part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of this application. The foregoing storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard disks, read-only memory ROM, random access memory RAM, magnetic disks, or optical discs.
[0259] As described above, the above are only specific implementation manners of this application, but the protection scope of this application is not limited thereto. Any person skilled in the art within the technical scope disclosed by this application can easily think of changes or substitutions, which should all be covered within the protection scope of this application.
Claims
1. A data processing method, characterized in that, Including: Obtaining information of static elements in a target driving scenario; Determining, according to the information of the static elements, dangerous information existing in the target driving scenario, where the dangerous information is used to indicate a collision situation of a moving object in the target driving scenario; Determining, according to the dangerous information existing in the target driving scenario, the complexity of the target driving scenario, where the complexity of the target driving scenario reflects the degree of influence of the target driving scenario on driving safety.
2. The method according to claim 1, wherein The dangerous information existing in the target driving scenario includes information of collision points in the target driving scenario; The determining, according to the information of the static elements, the dangerous information existing in the target driving scenario includes: Determining a physical collision point in the target driving scenario according to the information of the static elements, where the physical collision point is an entry point of a lane or an intersection point of a driving path; Determining information of collision points in the target driving scenario according to the physical collision points in the target driving scenario.
3. The method according to claim 2, characterized in that The information of the collision points includes the number of collision points; The determining, according to the physical collision points in the target driving scenario, the information of the collision points in the target driving scenario includes: Determining the number of physical collision points in the target driving scenario as the number of collision points in the target driving scenario; or, Performing rasterization processing on a collision area where the physical collision points are located to obtain logical collision points in the target driving scenario; where one logical collision point is associated with at least one physical collision point, and the logical collision point is a collision risk point in a neighboring area of the collision area; Determining the number of the logical collision points as the number of collision points in the target driving scenario.
4. The method according to claim 3, wherein The complexity of the target driving scenario is indicated by a complexity level; The determining, according to the dangerous information existing in the target driving scenario, the complexity of the target driving scenario includes: Determining the complexity level of the target driving scenario according to the number of collision points and a plurality of preset ranges of the number of collision points, where one range of the number of collision points corresponds to one complexity level.
5. The method according to claim 4, wherein The determining, according to the number of collision points and a plurality of preset ranges of the number of collision points, the complexity level of the target driving scenario includes: Determining a first range of the number of collision points to which the number of collision points belongs, and determining the complexity level corresponding to the first range of the number of collision points as the complexity level of the target driving scenario, where the first range of the number of collision points is one of the plurality of ranges of the number of collision points.
6. The method according to claim 4 or 5, wherein the plurality of ranges of the number of collision points are ranges of the number of collision points corresponding to the scenario type to which the target driving scenario belongs; or, the plurality of ranges of the number of collision points are ranges of the number of collision points corresponding to the scenario type to which the target driving scenario belongs and the region where the target driving scenario is located.
7. The method according to any one of claims 1-6, characterized in that, The obtaining information of static elements in a target driving scenario includes: Obtaining information of static elements in the target driving scenario from a high-precision map.
8. The method according to any one of claims 1 to 7, characterized in that The target driving scenarios include ordinary road scenarios, intersection scenarios, ramp scenarios, roundabout scenarios, toll station scenarios, tunnel scenarios, overpass scenarios, elevated road scenarios, or continuous overpass scenarios.
9. The method according to any one of claims 1 - 8, characterized in that, The static elements include one or more of intersection surfaces, roads, obstacles, pavement markings, virtual lanes, or traffic facilities.
10. The method according to any one of claims 1-9, characterized in that, The information of the static elements includes one or more of element boundaries, element positions, or element sizes.
11. The method according to any one of claims 1 to 10, characterized in that, The method further includes: Obtaining autonomous driving test requirements; Determining whether to use the target driving scenario as a test scenario according to the complexity of the target driving scenario and the autonomous driving test requirements.
12. A data processing device, characterized in that, Including a unit or module for executing the method according to any one of claims 1-11.
13. A data processing device, characterized in that, Including: A processor, when the processor calls a computer program or instruction in a memory, causing the method according to any one of claims 1-11 to be executed.
14. A data processing device, characterized in that, Including a logic circuit and an interface, the logic circuit and the interface being coupled; The interface is used for inputting data to be processed, the logic circuit processes the data to be processed according to the method according to any one of claims 1-11 to obtain processed data, and the interface is used for outputting the processed data.
15. A computer-readable storage medium, characterized in that, Including: The computer-readable storage medium is used for storing instructions or computer programs; when the instructions or the computer programs are executed, the method according to any one of claims 1-11 is implemented.
16. A computer program product, characterized in that, Including: Instructions or computer programs; When the instructions or the computer programs are executed, the method according to any one of claims 1-11 is executed.