System and method for predictive driving behavior detection
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- TOYOTA MOTOR ENG & MFG NORTH AMERICA INC
- Filing Date
- 2025-10-10
- Publication Date
- 2026-06-05
AI Technical Summary
Existing technologies struggle to accurately and efficiently detect and predict unsafe driving behaviors in vehicles, leading to potential safety risks.
By analyzing vehicle driving data, we infer the characteristics of driving behavior, select predictive models, use environmental data to predict the vehicle's next action, and monitor actual actions to improve the predictive models, including models for reckless, aggressive, and distracted behavior.
It improves the accuracy and efficiency of detecting and predicting unsafe driving behaviors, helping vehicles to take timely preventive measures and reduce the risk of accidents.
Smart Images

Figure CN122143915A_ABST
Abstract
Description
Technical Field
[0001] This disclosure generally relates to the detection of abnormal driving; more specifically, some aspects of the systems and methods described herein relate to a method and system for improving predictive analysis of vehicle driving behavior when unsafe driving is detected. Background Technology
[0002] Unsafe driving behaviors can damage or endanger the safety of the vehicle and its driver, as well as other vehicles and people. Unsafe driving behaviors can be characterized as (i) aggressive driving, such as following too closely or changing lanes abruptly, (ii) distracted driving, such as sudden steering or slow driver reaction, or (iii) reckless driving, such as running a green light or changing lanes without using turn signals. Studies show that (i) more than half of all accidents involve at least one aggressive driver, (ii) more than 80% of drivers in the United States have engaged in distracted driving, and (iii) the most common type of collision in the United States is rear-end collisions, primarily caused by distracted or reckless driving by the following vehicle. To address these issues and help prevent accidents caused by unsafe driving behaviors, early and accurate detection of unsafe driving behaviors is crucial for conducting predictive analytics to generate preventative measures. Systems are needed to analyze detected unsafe driving behaviors and improve predictive analytics to ensure accurate preventative measures are generated. Summary of the Invention
[0003] Systems and methods for improving predictive driving actions are provided in accordance with various aspects of the disclosed technology.
[0004] According to some implementations, a method for improving predictive driving actions is provided. The method may include: analyzing driving data of a vehicle to determine driving behavior of the vehicle; inferring characteristics of the driving behavior based on the determined driving behavior; selecting a predictive model according to the characteristics; using the predictive model to determine predictive actions of the vehicle based on environmental data of the vehicle; monitoring the vehicle to determine the vehicle's next action; analyzing the next action to determine whether the next action matches the predictive action; and improving the predictive model based on the analysis of the next action.
[0005] In some applications, the vehicle's driving data may include the identity of the vehicle's driver.
[0006] In some applications, the driving behavior of the vehicle may include one or more actions performed by the vehicle while it is in motion.
[0007] In some applications, the characteristics of the driving behavior may include the type of action performed by the vehicle, the repetition of that type of action, the movement pattern, the time period of the movement pattern, and the degree of impact.
[0008] In some applications, the types of actions may include nudging, acceleration, deceleration, braking, weaving, sudden turning, not using turn signals, following too closely, lane drifting, not parking properly, speeding, driving too slowly, delayed stopping, delayed acceleration, honking, flashing headlights, and not turning on headlights.
[0009] In some applications, the prediction model may include at least one of the following groups of models: reckless behavior prediction model, aggressive behavior prediction model, and distracted behavior prediction model.
[0010] In some applications, each prediction model can be generated based on driving data from multiple vehicles.
[0011] In some applications, the environmental data may include traffic, traffic signs, weather, road conditions, and information about the vehicle's surroundings.
[0012] In some applications, the predictive actions of the vehicle can also be determined based on stored driving data of the vehicle's driver.
[0013] In some applications, the method may further include: determining that the predicted action of the vehicle is an unsafe action; and notifying a first driver of the first vehicle of the predicted action of the vehicle, wherein the first vehicle is in a dangerous position threatened by the predicted action of the vehicle.
[0014] In some applications, determining whether a vehicle's predictive actions are unsafe can be based on a driving detection algorithm associated with the predictive model.
[0015] In some applications, unsafe actions may include repeated probing lane changes, frequent acceleration, frequent deceleration, frequent braking, frequent crossings, frequent sudden turns, frequent flashing of headlights, following too closely for extended periods, aggressive speeding, and driving through intersections without stopping.
[0016] In some applications, improving the prediction model may include generating new rules for inferring characteristics of driving behavior.
[0017] In another aspect, a system for improving predictive driving actions is provided, the system including one or more processors; and a memory coupled to the one or more processors to store instructions that, when executed by the one or more processors, enable the one or more processors to operate. The operation may include: analyzing driving data of a vehicle to determine driving behavior of the vehicle; inferring characteristics of the driving behavior based on the determined driving behavior; selecting a predictive model according to the characteristics; using the predictive model to determine predictive actions of the vehicle based on environmental data of the vehicle; monitoring the vehicle to determine the next action of the vehicle; analyzing the next action to determine whether the next action matches the predictive action; and improving the predictive model based on the analysis of the next action.
[0018] In some applications, the vehicle's driving data may include the identity of the vehicle's driver.
[0019] In some applications, the driving behavior of the vehicle may include one or more actions performed by the vehicle while it is in motion.
[0020] In some applications, the characteristics of the driving behavior may include the type of action performed by the vehicle, the repetition of that type of action, the movement pattern, the duration of the movement pattern, and the degree of impact.
[0021] In some applications, the types of actions may include tentative lane changes, acceleration, deceleration, braking, weaving, sudden turns, failure to use turn signals, following too closely, lane drifting, improper parking, speeding, driving too slowly, delayed stopping, delayed acceleration, honking, flashing headlights, and failure to turn on headlights.
[0022] In some applications, the prediction model may include at least one of the following groups of models: reckless behavior prediction model, aggressive behavior prediction model, and distracted behavior prediction model.
[0023] In some applications, each prediction model can be generated based on driving data from multiple vehicles.
[0024] In some applications, the environmental data may include traffic, traffic signs, weather, road conditions, and information about the vehicle's surroundings.
[0025] In some applications, the predictive actions of the vehicle can also be determined based on stored driving data of the vehicle's driver.
[0026] In some applications, the system may also include the following operations: determining that the predicted action of the vehicle is an unsafe action; and notifying a first driver of the first vehicle of the predicted action of the vehicle, wherein the first vehicle is in a dangerous position threatened by the predicted action of the vehicle.
[0027] In some applications, determining whether a vehicle's predictive actions are unsafe can be based on a driving detection algorithm associated with the predictive model.
[0028] In some applications, unsafe actions may include repeated probing lane changes, frequent acceleration, frequent deceleration, frequent braking, frequent crossings, frequent sudden turns, frequent flashing of headlights, following too closely for extended periods, aggressive speeding, and driving through intersections without stopping.
[0029] In some applications, improving the prediction model may include generating new rules for inferring characteristics of driving behavior.
[0030] In another aspect, a non-transitory machine-readable medium is provided. The non-transitory computer-readable medium may include instructions that, when executed by a processor, cause the processor to perform operations including: analyzing driving data of a vehicle to determine driving behavior of the vehicle; inferring characteristics of the driving behavior based on the determined driving behavior; selecting a prediction model according to the characteristics; using the prediction model to determine a predictive action of the vehicle based on environmental data of the vehicle; monitoring the vehicle to determine a next action of the vehicle; analyzing the next action to determine whether the next action matches the predictive action; and improving the prediction model based on the analysis of the next action.
[0031] In some applications, the vehicle's driving data may include the identity of the vehicle's driver.
[0032] In some applications, the driving behavior of the vehicle may include one or more actions performed by the vehicle while it is in motion.
[0033] In some applications, the characteristics of the driving behavior may include the type of action performed by the vehicle, the repetition of that type of action, the movement pattern, the time period of the movement pattern, and the degree of impact.
[0034] In some applications, the types of actions may include tentative lane changes, acceleration, deceleration, braking, weaving, sudden turns, failure to use turn signals, following too closely, lane drifting, improper parking, speeding, driving too slowly, delayed stopping, delayed acceleration, honking, flashing headlights, and failure to turn on headlights.
[0035] In some applications, the prediction model may include at least one of the following groups of models: reckless behavior prediction model, aggressive behavior prediction model, and distracted behavior prediction model.
[0036] In some applications, each prediction model can be generated based on driving data from multiple vehicles.
[0037] In some applications, the environmental data may include traffic, traffic signs, weather, road conditions, and information about the vehicle's surroundings.
[0038] In some applications, the predictive actions of the vehicle can also be determined based on stored driving data of the vehicle's driver.
[0039] In some applications, the non-transitory machine-readable medium may also include the following operations: determining that the predicted action of the vehicle is an unsafe action; and notifying a first driver of the first vehicle of the predicted action of the vehicle, wherein the first vehicle is in a dangerous position threatened by the predicted action of the vehicle.
[0040] In some applications, determining whether a vehicle's predictive actions are unsafe can be based on a driving detection algorithm associated with the predictive model.
[0041] In some applications, unsafe actions may include repeated probing lane changes, frequent acceleration, frequent deceleration, frequent braking, frequent crossings, frequent sudden turns, frequent flashing of headlights, following too closely for extended periods, aggressive speeding, and driving through intersections without stopping.
[0042] In some applications, improving the prediction model may include generating new rules for inferring characteristics of driving behavior.
[0043] Other features and aspects of the disclosed technology will become apparent from the following detailed description taken in conjunction with the accompanying drawings, which illustrate by way of example the features of the application of the disclosed technology. The content of this invention is not intended to limit the scope of any invention described herein, which is defined only by the appended claims. Attached Figure Description
[0044] This disclosure is described in detail with reference to the following accompanying drawings, depending on one or more different applications. The drawings are provided for illustrative purposes only and depict only typical or example applications.
[0045] Figure 1 An example computational system for improving predictive driving actions is illustrated in accordance with the example applications described in this disclosure.
[0046] Figure 2 The illustration shows an example vehicle that can implement the disclosed technology.
[0047] Figure 3 An example system for improving predictive driving actions is illustrated in accordance with the example applications described in this disclosure.
[0048] Figure 4The example process for improving predictive driving actions is illustrated in accordance with the example applications described in this disclosure.
[0049] Figure 5 An example system for improving predictive driving actions is illustrated in accordance with the example applications described in this disclosure.
[0050] Figure 6 An example system for improving predictive driving actions is illustrated in accordance with the example applications described in this disclosure.
[0051] Figure 7 An example computing component is illustrated in accordance with the example application described in this disclosure, the computing component including one or more hardware processors and a machine-readable storage medium storing a set of machine-readable / machine-executable instructions, which, when executed, cause the one or more hardware processors to perform illustrative methods for improving predictive driving actions.
[0052] Figure 8 The diagram illustrates a block diagram of an example computing component that can be used to implement the various features of the embodiments described in this disclosure.
[0053] These accompanying drawings are not exhaustive, nor do they limit this disclosure to the precise form disclosed. Detailed Implementation
[0054] Vehicles can be used for personal, commercial, governmental, military, and other purposes. Vehicles can include automobiles, trucks, motorcycles, bicycles, scooters, mopeds, recreational vehicles, and other similar on-road or off-road vehicles. Vehicles can also include autonomous, semi-autonomous, and manual vehicles. Because vehicles are a primary mode of public transport, it is important to drive them safely and responsibly to ensure public safety. Due to the fact that vehicles are on the road, current procedures struggle to accurately and efficiently detect unsafe driving behavior, and therefore, to accurately and efficiently predict the subsequent actions of vehicles driven unsafely.
[0055] The various aspects of the technology disclosed herein can provide systems and methods configured to detect unsafe driving behaviors and improve predictive driving actions. The vehicle may be traveling on a road. For example, the vehicle may include cars, trucks, motorcycles, bicycles, scooters, mopeds, recreational vehicles, and other similar on-road or off-road vehicles. For example, the vehicle may include autonomous, semi-autonomous, or manually operated vehicles. The vehicle may include one or more sensors that can be used to collect data on the driving behavior of the vehicle itself and the driving behavior of each of one or more other vehicles operating nearby. Each of the one or more other vehicles may itself include one or more sensors that can be used to collect data on its own driving behavior and the driving behavior of each of the other vehicles, including the vehicle. Other sensors, such as those for roads, infrastructure elements, etc., may also be used to collect driving data about the vehicle and each of the other vehicles, as well as data about other factors such as the environment and road conditions. Many variations are possible.
[0056] Sensors may include, for example, cameras, image sensors, radar sensors, LiDAR sensors, position sensors, audio sensors, infrared sensors, microwave sensors, optical sensors, tactile sensors, magnetometers, communication systems, and Global Positioning Systems (GPS). Data can be received by at least one sensor. Any vehicle, including a self-driving car, can be monitored while driving on a road to obtain driving data for that vehicle. One or more sensors can be used to collect driving data for a vehicle (e.g., a self-driving car). Driving data for vehicles, including self-driving cars, collected from multiple sensors can be combined to provide comprehensive and complete driving data for that vehicle. Driving data for a self-driving car can be collected by one or more sensors of the self-driving car, one or more sensors of one or more other vehicles, and one or more sensors on the road (e.g., road cameras, road sensors, etc.).
[0057] The driving data collected and received may include information about the vehicle's driving behavior. This information may include details about one or more driving actions performed by the vehicle, such as its speed, movement (or stillness), position, and direction of travel. The driving data may also include the identity of the vehicle's driver. Driving behavior information may be associated with the driver's identity.
[0058] Driving data from the vehicle's own driving behavior can be used to infer the characteristics of that driving behavior. Driving data from other vehicles can also be used to infer the characteristics of the vehicle's own driving behavior. The characteristics of the vehicle's own driving behavior can include one or more types of actions performed by the vehicle, the repetition of each type of action, the movement pattern of the driving behavior, the duration of the movement pattern, and the degree of impact of the vehicle's driving behavior on other vehicles. Types of actions the vehicle may perform can include tentative lane changes, acceleration, deceleration, braking, weaving, sudden steering, failure to use turn signals, improper use of traffic lights, following too closely, lane drifting, improper parking, failure to decelerate, speeding, driving too slowly, delayed stopping, delayed acceleration, honking, flashing headlights, failure to turn on headlights, driving at a speed limit, following traffic flow, proper use of traffic lights, and driving within a lane. The repetition of a certain type of action can include the number and frequency of each type of action being performed. A movement pattern can include a series of actions being performed. A series of actions can include a series of actions of the same type or a combination of a series of actions of different types. The duration of a movement pattern can include the amount of time that the movement pattern is performed. The degree of impact can include the magnitude and frequency of the vehicle's driving behavior's influence on other vehicles.
[0059] After inferring the characteristics of driving behavior, one or more predictive models can be selected based on these characteristics. Some characteristics may be potential indicators of unsafe driving. Potential indicators of unsafe driving may include one or more characteristics of driving behavior, such as specific types of actions, at least a minimum degree of repetition of a certain type of action, specific types of movement patterns, at least a minimum duration of the movement pattern, and at least a minimum degree of impact on other vehicles. Types of actions that may be potential indicators of unsafe driving may include, for example, tentative lane changes, acceleration, deceleration, braking, weaving, sudden steering, failure to use turn signals, improper use of traffic lights, following too closely, lane drifting, improper parking, failure to slow down, speeding, driving too slowly, delayed stopping, delayed acceleration, honking, flashing headlights, and failure to turn on headlights.
[0060] For example, when a certain type of action is performed at least a certain number of times within a specific time period, the minimum repetition level of that type of action may be a potential indicator of unsafe driving. The minimum repetition level for a certain type of action may depend on the type of action. For example, the minimum repetition level for crossing might be a vehicle crossing more than X times within Y seconds. The minimum repetition level for a certain type of action can be predetermined. The minimum repetition level for a certain type of action can be adjusted based on received data on the vehicle's historical driving behavior, data received from road traffic networks, data received from road condition networks, etc. Many variations are possible.
[0061] A motion pattern may be a potential indicator of unsafe driving when a series of actions, such as those involving at least two actions (whether of the same or different types), are considered potential indicators of unsafe driving. A motion pattern may be a potential indicator of unsafe driving when it involves one or more types of actions performed within a specific duration (e.g., 1 minute, 2 minutes, 5 minutes, 30 seconds, etc.). The duration of a motion pattern considered a potential indicator of unsafe driving may depend on one or more factors, such as time of day, traffic, road conditions, weather, number of vehicles around the vehicle, etc. Road conditions may include, for example, road damage, hazardous features on the road (i.e., obstacles), and road properties and characteristics (i.e., color, size, number of lanes, shape, etc.). Obstacles may include, for example, potholes, cracks, tire marks, faded road markings, debris, objects, obstructions, road glare, standing water, icy surfaces, oil spills, uneven road surfaces, erosion, and flaking. The obtained road condition data may be analyzed by the computing component 110 and used as a factor in determining the duration of a motion pattern considered a potential indicator of unsafe driving.
[0062] When an action performed by a vehicle could negatively impact one or more other vehicles, the degree of impact may be a potential indicator of unsafe driving. Negative impacts can include reactions from other vehicles or their drivers in response to the vehicle's actions. Reaction actions can be actions taken in response to poor or unsafe driving. For example, reactions may include shouting, hand gestures, and accident-prevention driving (i.e., changing lanes, slowing down, and accelerating). Many variations are possible.
[0063] If any inferred characteristics of driving behavior are identified as potential indicators of unsafe driving, one or more predictive models can be selected based on those characteristics. The predictive model can be an ML model used to analyze the characteristics of driving behavior to predict the vehicle's next driving action. Predictive models may include reckless behavior prediction models, aggressive behavior prediction models, and distracted behavior prediction models. Each predictive model may represent a different category of unsafe driving behavior. One or more predictive models can be selected based on one or more potential indicators of unsafe driving identified for the vehicle. Some potential indicators of unsafe driving may represent more than one category of unsafe driving behavior. Depending on the combination of one or more potential indicators of unsafe driving identified for the vehicle, the most relevant predictive model can be selected.
[0064] A reckless behavior prediction model can be selected when the identified potential indicators suggest that the vehicle is driving recklessly. A reckless behavior prediction model can be selected when the identified potential indicators, for example, include a high degree of repetitive sudden steering combined with a sudden steering pattern lasting more than one minute and speeding, and have a high impact on at least five other vehicles. Another example of potential indicators that might lead to the selection of a reckless behavior prediction model could include a high degree of repetitive tentative lane changes combined with a tentative lane change lasting more than 30 seconds, acceleration, deceleration, following too closely, and a driving pattern of not using headlights, and have at least a moderate impact on at least seven other vehicles. Many variations are possible.
[0065] An aggressive behavior prediction model can be selected when the identified potential indicators suggest that the vehicle is driving aggressively. An aggressive behavior prediction model can also be selected when the identified potential indicators include, for example, highly repetitive acceleration, deceleration, and tentative lane changes within a motion pattern lasting longer than 20 seconds that have at least a moderate impact on at least eight other vehicles. Another example of potential indicators that might lead to the selection of an aggressive behavior prediction model could include moderately repetitive speeding, weaving, and following too closely within a motion pattern lasting longer than 30 seconds that have a high impact on at least four other vehicles. Many variations are possible.
[0066] A distraction behavior prediction model can be selected when the identified potential indicators suggest that the vehicle is driving in a distracted manner. A distraction behavior prediction model can also be selected when the identified potential indicators include, for example, lane drifting and failure to use turn signals with a moderate repetition within a motion pattern lasting longer than 40 seconds that have at least a moderate impact on at least five other vehicles. Another example of potential indicators that might lead to the selection of a distraction behavior prediction model could include low-repetition weaving, failure to use turn signals, following too closely, tentative lane changes, driving too slowly, and delayed stopping within a motion pattern lasting longer than 30 seconds that have at least a moderate impact on at least six other vehicles. Many variations are possible.
[0067] There may be combinations of potential indicators of unsafe driving that can represent more than one category of unsafe driving behavior. When more than one category of unsafe driving behavior can be represented by a combination of potential indicators, each predictive model can be selected for each corresponding category of unsafe driving. Potential combinations of predictive models that can be selected may include, for example, reckless behavior prediction models and aggressive behavior prediction models, aggressive behavior prediction models and distracted behavior prediction models, etc. Many variations are possible.
[0068] The selected predictive model can be used to predict the vehicle's next driving data. Next driving data can include the vehicle's likely next driving action. The vehicle's next driving data can be predicted based on potential indicators of unsafe driving behavior already exhibited by the vehicle and environmental data, using one or more algorithms of the predictive model. Environmental data can be obtained from one or more sensors of the vehicle, other vehicles, roads, infrastructure, etc. Many variations are possible.
[0069] Each predictive model may include one or more algorithms for determining the predicted next driving data based on the vehicle's environmental data and identified potential indicators of unsafe driving. These algorithms may be pre-stored. The algorithms may include multiple equations and methods for determining the predicted next driving data. In other applications, each predictive model may include ML and / or AI logic. ML and / or AI logic can be used to determine the predicted next driving data. The ML and / or AI logic can use data from previous sessions (whether about the same vehicle or other vehicles) and stored data to determine the predicted next driving data for the vehicle more quickly and efficiently, including, for example, the type of action to be performed and the driving path to be taken.
[0070] After determining the predicted next driving data for the vehicle, one or more other vehicles nearby can be notified that the vehicle is engaging in potentially unsafe driving behavior. The notification may include the vehicle's position relative to the notified vehicle. Each notified vehicle may also receive information about the predicted next driving action of the vehicle. The notification may include suggested actions for the corresponding vehicle to take to move away from the vehicle based on the predicted next driving action. The notification may include a message that can be displayed on the screen of the receiving vehicle. Notifications sent to other vehicles can help those vehicles avoid the vehicle.
[0071] It can monitor the driving behavior of the vehicle to determine whether the vehicle's actual next driving action matches the predicted next driving action determined by one or more prediction models. While monitoring the vehicle's driving behavior, it can identify the vehicle's actual next driving action. The identified actual next driving action can then be compared with the predicted next driving action.
[0072] It can be determined whether the vehicle's actual next driving action matches the predicted next driving action. If the actual next driving action matches the vehicle's predicted next driving action, it can be determined that the potential indices of unsafe driving, the prediction model, and the predictive analysis of the vehicle's next driving action are accurate, and thus can be strengthened to improve the efficiency of identifying potential indices of unsafe driving and conducting predictive analysis of the vehicle's next driving action. If the actual next driving action does not match the vehicle's predicted next driving action, it can be determined that the potential indices of unsafe driving, the prediction model, and / or the predictive analysis of the vehicle's next driving action need to be improved to enhance the accuracy and efficiency of identifying potential indices of unsafe driving and conducting predictive analysis of the vehicle's next driving action.
[0073] If it is determined that the vehicle's actual next driving action does not match the predicted next driving action, then at least one of the following needs to be updated and improved: (i) the potential indicator characteristics of unsafe driving, (ii) the predictive model selected based on the potential indicator characteristics of unsafe driving, and (iii) the logic used for predictive analysis of the next driving data and the algorithms in the predictive model. Improving at least one of the potential indicators, the selection of the predictive model, and the predictive model algorithm and logic can improve the accuracy and efficiency of detecting and characterizing vehicle driving behavior to identify unsafe drivers on the road.
[0074] It should be noted that the terms "accurate," "precisely," etc., used herein can be used to indicate making performance as efficient or perfect as possible, or achieving performance as efficient or perfect as possible. However, as those skilled in the art who read this document will recognize, perfection is not always achievable. Therefore, these terms can also cover making performance as good or efficient as possible under given conditions, or achieving performance as good or efficient as possible, or making performance better than that achievable with other settings or parameters, or achieving performance better than that achievable with other settings or parameters.
[0075] Figure 1The illustration depicts an example of a computing system 100, which may be internal to or otherwise associated with a vehicle 150. In some embodiments, the computing system 100 may be a machine learning (ML) pipeline and model, using ML algorithms. In some examples, the vehicle 150 may include autonomous, semi-autonomous, or manually operated vehicles, utilizing which applications of the disclosed technologies can be implemented. In some examples, the vehicle 150 may include automobiles, trucks, motorcycles, bicycles, scooters, mopeds, recreational vehicles, and other similar on-road or off-road vehicles, which may be autonomous, semi-autonomous, or manually operated. In some examples, the vehicle 150 may include computing devices such as desktop computers, laptops, mobile phones, tablets, or Internet of Things (IoT) devices. The vehicle 150 may input data into a computing component 110. The computing component 110 may perform one or more available operations on the input data to generate outputs, such as detecting unsafe driving behaviors and predicting driving actions. The vehicle 150 may also display these outputs on a graphical user interface (GUI). The GUI can be located on vehicle 150 and can display the output as two-dimensional (2D) and three-dimensional (3D) layouts and maps, which show various outputs generated by algorithms such as ML algorithms based on various input data, such as road conditions, environmental conditions, lane markings, traffic, vehicle speed, vehicle direction, obstacles, and sensor data of objects.
[0076] The computing system 110 in the illustrated example may include one or more processors and logic 130. Logic 130 implements instructions to perform the functions of computing component 110, such as receiving driving data from vehicle 150; analyzing the driving data to determine the driving behavior of vehicle 150; inferring characteristics of the driving behavior based on the driving behavior; selecting a prediction model according to the characteristics; using the prediction model to determine a predictive action of vehicle 150 based on environmental data of vehicle 150; monitoring vehicle 150 to determine the next action of vehicle 150; analyzing the next action to determine whether the next action matches the predictive action; and improving the prediction model based on the analysis of the next action. Computing component 110 may store detailed information in database 120 about scenarios or conditions in which algorithms, image datasets, and evaluations are performed and used to detect unsafe driving behaviors and predict driving actions. Some scenarios or conditions will be illustrated in subsequent figures.
[0077] The processor may include one or more GPUs, CPUs, microprocessors, or any other suitable processing system. Each of the one or more processors may include one or more single-core or multi-core processors. The one or more processors may execute instructions stored in a non-transitory computer-readable medium. Logic 130 may contain instructions (e.g., program logic) executable by one or more processors to perform various functions of computing component 110. Logic 130 may also contain additional instructions, including instructions for sending data to vehicle 150, receiving data from vehicle 150, and interacting with vehicle 150.
[0078] ML can refer to methods that, through the use of algorithms, automatically extract intelligence or rules from training datasets and embody these intelligences or rules in information models. Accordingly, these models are able to make predictions based on patterns or inferences collected from subsequent data from input to the trained model (e.g., predictive models for driving behavior detection and predictive analytics). Depending on the implementation of the disclosed techniques, ML algorithms include, among other things, algorithms that implement Gaussian processes, etc. The ML algorithms disclosed herein can be supervised and / or unsupervised, depending on the implementation. ML algorithms can simulate the characteristics and components of observed roads, vehicles, and drivers to better evaluate vehicle driving behavior, detect unsafe driving behaviors, predict driving actions, and improve predictive analytics of driving actions to accurately detect and characterize vehicle driving behavior.
[0079] although Figure 1 The illustration depicts an example computing system 110, but various embodiments may include multiple computing systems 110. Additionally, one or more systems and subsystems of computing system 100 may include their own dedicated or shared computing components 110, or variations thereof. Thus, although computing system 100 is illustrated as a discrete computing system, this is merely for illustrative purposes, and computing system 100 may be distributed among various systems or components.
[0080] Figure 2This illustration illustrates a connected vehicle 200, such as an autonomous, semi-autonomous, or manually operated vehicle, which enables the application of the disclosed technologies. As described herein, vehicle 200 can refer to vehicles such as automobiles, trucks, motorcycles, bicycles, scooters, mopeds, recreational vehicles, and other similar on-road or off-road vehicles, which may include autonomous, semi-autonomous, and manually operated modes. Vehicle 200 may include components such as a computing system 210, sensors 220, a vehicle system 230, and an AV control system 240. Any of the computing system 210, sensors 220, vehicle system 230, and AV control system 240 can be part of an automated driving vehicle system / advanced driver assistance system (ADAS). ADAS can provide navigation control signals (e.g., for actuating the vehicle and operating such as…) Figure 2 The ADAS (Advanced Driver Assistance Systems) shown herein can be an autonomous vehicle control system applicable to any level of vehicle control and driving autonomy. For example, ADAS can be applicable to Level 1, Level 2, Level 3, Level 4, and Level 5 autonomy (according to SAE standards). ADAS can allow for a mixture of control modes (i.e., a mixture of autonomous and assisted control modes with human driver control). ADAS can correspond to a real-time machine perception system for vehicle actuation in a multi-vehicle environment. Vehicle 200 may include more or fewer systems and subsystems, and each system and subsystem may include multiple elements. Thus, one or more functions of the techniques disclosed herein can be divided into additional functions or physical components, or combined into fewer functions or physical components. Additionally, although... Figure 2 The systems and subsystems shown in the diagram are represented in a specific way, but the functions of vehicle 200 can be divided in other ways. For example, various vehicle systems and subsystems can be combined in different ways to share functions.
[0081] Sensor 220 may include multiple different sensors to collect data about vehicle 200, its operator, its operation, and its surrounding environment. While various sensors are shown, it is understood that systems and methods for detecting unsafe driving behaviors and improving predictive driving actions may not require many sensors. It is also understood that the systems and methods described herein can be enhanced by sensors outside of vehicle 200. In this example, sensor 220 includes a light detection and ranging (LiDAR) sensor 211, a radar sensor 212, an image sensor 213 (i.e., a camera), an audio sensor 214, a position sensor 215, a tactile sensor 216, an optical sensor 217, a Global Positioning System (GPS) or other vehicle positioning system 218, and other similar distance measurement and environmental sensing sensors 219. One or more sensors 220 may collect data, such as road condition data, and send that data to the vehicle ECU or other processing unit. For redundancy, sensor 220 (and other vehicle components) may be duplicated.
[0082] Ranging sensors such as LiDAR sensor 211, radar sensor 212, IR sensor, and other similar sensors can be used to collect data to measure the distance and approach rate of various external objects such as other vehicles, roads, traffic signs, pedestrians, lampposts, and other objects. Image sensor 213 may include one or more cameras or other image sensors to capture images of the vehicle's surrounding environment (such as the road surface) and the vehicle's interior. Information from image sensor 213 (e.g., a camera) can be used to determine information about the environment surrounding vehicle 200, including information about the road surface and other objects around vehicle 200. For example, image sensor 213 may be able to identify specific vehicles (e.g., color, model), landmarks or other features (e.g., including road signs, traffic lights, etc.), road slope, road markings, road damage and other potential hazards, curbs, objects to be avoided (e.g., other vehicles, pedestrians, cyclists, etc.), and other landmarks or features. Information from image sensor 213 can be combined with other information such as map data or information from positioning system 218 to determine, improve or verify the position of a vehicle (self-driving or other vehicles) and to detect obstacles and vehicle driving behavior.
[0083] The vehicle positioning system 218 (e.g., GPS or other positioning system) can be used to collect location information about the vehicle's current location as well as other positioning or navigation information, such as positioning information about the vehicle's current location and direction of movement according to specific road conditions.
[0084] Other sensors 219 may also be included. These other sensors 219 may include vehicle acceleration sensors, vehicle speed sensors, wheel slip sensors (e.g., one per wheel), tire pressure monitoring sensors (e.g., one per tire), vehicle clearance sensors, lateral and longitudinal slip ratio sensors, and environmental sensors (e.g., detecting weather, road surface adhesion, or other environmental conditions). For a given implementation of ADAS, other sensors 219 may also be included. Various sensors 220, such as other sensors 219, can be used to provide input to the vehicle 200's computing system 210 and other systems, so that these systems have information useful for detecting and verifying the vehicle and its driving behavior.
[0085] The AV control system 240 may include multiple different systems / subsystems to control the operation of the vehicle 200. In this example, the AV control system 240 may include an autonomous driving module (not shown), a sensor fusion module 231, a risk assessment module 232, a computer vision module 233, a throttle and brake control unit 234, a steering unit 235, an actuator 236, a path and planning module 237, and an obstacle avoidance module 238. The sensor fusion module 231 may be included to evaluate data from multiple sensors (including sensor 220). The sensor fusion module 231 may use the computing system 210 or its own computing system to execute algorithms to evaluate the inputs from the various sensors.
[0086] The system may include a computer vision module 233 to process image data (e.g., image data captured from image sensor 213 or other image data) to assess the environment inside or around the vehicle. For example, algorithms acting as part of the computer vision module 233 may evaluate still or moving images to identify features and landmarks (e.g., pavement, road markings, road damage and other potential hazards, road signs, traffic lights, lane markings and other road boundaries), obstacles (e.g., pedestrians, cyclists, other vehicles, other obstructions in the path of the main vehicle), and other objects. The system may include video tracking and other algorithms to identify objects such as those described above, estimate their speed, map the surrounding environment, etc. The computer vision module 233 may be able to model road traffic vehicle networks, predict upcoming hazards and obstacles, predict road hazards, and identify one or more contributing factors to the identification of obstacles. The computer vision module 233 may be able to perform depth estimation, image / video segmentation, camera localization, and object classification according to various classification techniques, including through applied neural networks.
[0087] The throttle and brake control unit 234 can be used to control the actuation of the throttle and brake mechanisms of a vehicle to accelerate, decelerate, stop, or otherwise adjust the speed of the vehicle. For example, the throttle unit can control the operating speed of the engine or electric motor that powers the vehicle. Similarly, the brake unit can be used to actuate brakes (e.g., disc brakes, drum brakes, etc.) or engage regenerative braking (e.g., in hybrid or electric vehicles) to decelerate or stop the vehicle.
[0088] The steering unit 235 may include any of several different mechanisms to control or change the course of the vehicle. For example, the steering unit 235 may include appropriate control mechanisms to adjust the orientation of the front or rear wheels of the vehicle, thereby completing a change in vehicle direction during operation. Electro-, hydraulic, mechanical, or other steering mechanisms may be controlled by the steering unit 235.
[0089] A path planning module 237 may be included to calculate the desired path for vehicle 200 based on inputs from various other sensors and systems. For example, the path planning module 237 may use information from positioning system 218, sensor fusion module 231, computer vision module 233, obstacle avoidance module 238 (described below), and other systems (e.g., AV control system 240, sensors 220, and vehicle system 230) to determine a safe path for navigating the vehicle along a segment of the desired route. The path planning module 237 may also be configured to dynamically update the vehicle path as it receives real-time information from sensors 220 and other control systems 240.
[0090] The system may include an obstacle avoidance module 238 to determine the control inputs required to avoid obstacles, obstructions, and other vehicles detected by the sensor 220 or the AV control system 240. The obstacle avoidance module 238 may work in conjunction with the path planning module 237 to determine appropriate paths to avoid and bypass obstacles and obstructions.
[0091] The path planning module 237 (either alone or in combination with one or more other modules of the AV control system 240, such as obstacle avoidance module 238, computer vision module 233, and sensor fusion module 231) may also be configured to perform and coordinate one or more vehicle maneuvers. Example vehicle maneuvers may include at least one of path tracking, stabilization, and collision avoidance maneuvers. For networked vehicles, such as those selected to verify obstacles, vehicle maneuvers may be performed at least partially in coordination among networked vehicles to collect a sufficient amount of data on the obstacles. A sufficient amount of data on the obstacles may include data collected from different angles and perspectives. Different types of obstacles may require different amounts of data to be collected and analyzed to make the necessary determinations to verify the obstacle. For example, the data required to verify a small obstacle (such as a pothole) may be minimal, as the networked vehicle collecting verification data for that pothole obstacle may only need to collect data on missing asphalt on the road. Verifying a larger obstruction (such as a fallen traffic light) may require a much wider range of data, as a networked vehicle collecting verification data on fallen traffic light obstructions might need to collect data on: the portion of road blocked by the fallen traffic light, electrical problems present on the road, traffic flow disruptions caused by the fallen traffic light (e.g., including any other vehicles or objects obstructing traffic due to the fallen traffic light), data on other obstructions on the road caused by the fallen traffic light (e.g., including cracks, potholes, debris, etc.), and so on. Therefore, those skilled in the art will understand what "sufficient" means in the context of collecting a sufficient amount of data to verify an obstruction.
[0092] Vehicle system 230 may include multiple different systems / subsystems to control the operation of vehicle 200. In this example, vehicle system 230 includes steering system 221, throttle system 222, brakes 223, transmission 224, electronic control unit (ECU) 225, propulsion system 226, and vehicle hardware interface 227. Vehicle system 230 can be controlled by AV control system 240 in autonomous, semi-autonomous, or manual modes of vehicle 200. For example, in autonomous or semi-autonomous mode, AV control system 240 can control vehicle system 230 alone or in combination with other systems to operate the vehicle in a fully or semi-autonomous manner. When taking over control, computing system 210 and AV control system 240 can provide the vehicle control system to the vehicle hardware interface of controlled systems such as steering angle 221, throttle 222, brakes 223, or other hardware interfaces 227 (e.g., traction, turn signals, horn, lights, etc.). This may also include an assist mode in which the vehicle takes over partial control or activates ADAS controls (e.g., AC control system 240) to assist the driver in operating the vehicle.
[0093] The computing system 210 in the illustrated example includes a processor 206 and memory 203. Some or all of the functions of the vehicle 200 can be controlled by the computing system 210. The processor 206 may include one or more GPUs, CPUs, microprocessors, or any other suitable processing system. The processor 206 may include one or more single-core or multi-core processors. The processor 206 executes instructions 208 stored in a non-transitory computer-readable medium, such as memory 203.
[0094] Memory 203 may contain instructions (e.g., program logic) executable by processor 206 to perform various functions of vehicle 200, including functions of vehicle systems and subsystems. Memory 203 may also contain additional instructions, including instructions to send data to, receive data from, interact with, and control one or more of sensors 220, AV control system 240, and vehicle system 230. In addition to these instructions, memory 203 may store data and other information about the operation of the vehicle and its systems and subsystems, including the operation of vehicle 200 in autonomous, semi-autonomous, or manual modes. For example, memory 203 may include data already transmitted to the vehicle (e.g., via V2V communication), map data, models of current or predicted road traffic vehicle networks, vehicle dynamics data, computer vision recognition data, and other data that may be useful for performing one or more vehicle maneuvers, such as those of one or more modules of AV control system 240.
[0095] although Figure 2 The diagram illustrates a computing system 210, but multiple computing systems 210 may be included in various applications. Furthermore, one or more systems and subsystems of vehicle 200 may include their own dedicated or shared computing system 210, or variations thereof. Thus, although computing system 210 is illustrated as a discrete computing system, this is merely for illustrative purposes, and computing system 210 may be distributed among various vehicle systems or components.
[0096] Vehicle 200 may also include a (wireless or wired) communication system (not shown) to communicate with other vehicles, infrastructure elements, cloud components, and other external entities using any of several communication protocols, such as V2V (vehicle-to-vehicle), V2I (vehicle-to-infrastructure), and V2X (vehicle-to-everything) protocols. This wireless communication system can allow vehicle 200 to receive information from other objects, such as map data, data about infrastructure elements, data about the operation and intentions of surrounding vehicles, etc. The wireless communication system can allow vehicle 200 to receive data updates that can be used to execute one or more vehicle control modes and vehicle control algorithms as discussed herein. The wireless communication system can also allow vehicle 200 to send information to and receive information from other objects, such as other vehicles, user equipment, or infrastructure. In some applications, one or more communication protocols or dictionaries, such as the SAE J2935 V2X communication message set dictionary, may be used. In some applications, as disclosed herein, the communication system can be used to retrieve and send one or more data that are useful in detecting unsafe driving behaviors and improving predictive driving actions.
[0097] The communication system can be configured to receive data and other information from sensor 220, which is used to determine whether and to what extent control mode blending should be activated. Additionally, as part of vehicle control, the communication system can be used to send activation signals or other activation information to various vehicle systems 230 and AV control system 240. For example, the communication system can be used to send signals to one or more vehicle actuators 236 to control parameters such as maximum steering angle, throttle response, vehicle braking, torque vectoring control, etc.
[0098] In some applications, the computing functions used for the various applications disclosed herein may be performed entirely on computing system 210, distributed among two or more computing systems 210 of vehicle 200, on a cloud-based platform, on an edge-based platform, or on a combination of the above.
[0099] The path and planning module 237 can allow one or more vehicle control modes and vehicle control algorithms to be executed according to various implementations of the systems and methods disclosed herein.
[0100] In operation, the path and planning module 237 (e.g., via a driver intent estimation module not shown) can receive information about human control inputs used to operate the vehicle. As described above, information from sensors 220, actuators 236, and other systems can be used to determine the type and level of human control inputs. The path and planning module 237 can use this information to predict driver actions. The path and planning module 237 can use this information to generate predicted paths and model road traffic vehicle networks. This can be useful in assessing road conditions and identifying and verifying obstacles. Also as described above, information from sensors and other systems can be used to assess road conditions and identify and verify obstacles. For example, eye state tracking, attention tracking, or intoxication level tracking can be used to determine vehicle movement patterns based on inherent human behavior. It is understood that driver state helps in verifying obstacles as disclosed herein. Driver state can be provided to the risk assessment module 232 to determine the risk level associated with vehicle operation and to detect unsafe driving behaviors and improve predictive driving actions. Although not explicitly stated... Figure 2 As shown, the risk assessment helps determine vehicle movement patterns based on inherent human behavior, but can generate a verification strategy and provide it to vehicle 200 to verify obstacles. Various aspects of detecting unsafe driving behaviors and improving predictive driving actions will be disclosed with reference to subsequent figures.
[0101] The route and planning module 237 can receive status information, such as from visibility maps, traffic and weather information, hazard maps, and local map views. Information from the navigation system can also provide the route and planning module 237 with task planning, including maps and route selection.
[0102] The path and planning module 237 (e.g., via a driver intent estimation module not shown) can receive this information and predict behavioral characteristics over a future timeframe. This information can be used by the path and planning module 237 to execute one or more planning decisions. Planning decisions can be based on one or more strategies (such as defensive driving strategies). These decisions can be based on one or more levels of autonomy, connected vehicle actions, or one or more strategies (such as defensive driving strategies, cooperative driving strategies, such as swarm or platoon formation, lead vehicle following, etc.). The path and planning module 237 can generate predictive models of road traffic hazards and assist in creating predicted traffic hazard levels and verifying strategies for vehicle implementation.
[0103] The path and planning module 237 may receive risk information from the risk assessment module 232. The path and planning module 237 may also receive vehicle capability and capacity information from one or more vehicle systems 230. For example, vehicle capability may be assessed by receiving information from the vehicle hardware interface 227 to determine vehicle capability and identify reachability set models. The path and planning module 237 may receive ambient environment information (e.g., from the computer vision module 233 and obstacle avoidance module 238). The path and planning module 237 may apply the risk information, along with the vehicle capability and capacity information, to trajectory information (e.g., a planned trajectory and driver intent) to determine a safe or optimized trajectory for the vehicle given driver intent, strategies (e.g., safety or vehicle cooperative strategies), transmitted information, one or more obstacles in the given ambient environment, and road conditions. This trajectory information may be provided to a controller (e.g., ECU 225) to provide partial or full vehicle control if the risk level exceeds a threshold. Signals from the risk assessment module 232 may be used to generate the countermeasures described herein. Signals from the risk assessment module 232 may trigger the ECU 225 or other AV control system 240 to take over partial or full control of the vehicle.
[0104] Figure 3 A diagram illustrating an example architecture used to detect unsafe driving behaviors and improve predictive driving actions as described in this paper. See now. Figure 3 In this example, the predictive driving behavior system 300 includes predictive driving behavior circuitry 310, multiple sensors 220, and multiple vehicle systems 350. It also includes various elements of a road traffic network 360 and a traffic condition network 370 with which the predictive driving behavior system 300 can communicate. It is understood that the road traffic network 360 may include a navigation road traffic network and various elements important to navigation road traffic networks, such as vehicles, pedestrians (with or without networked devices that may include various aspects of the predictive driving behavior system 300 disclosed herein), or infrastructure (e.g., traffic lights, sensors such as traffic cameras, databases, central servers, weather sensors, etc.). It is also understood that the traffic condition network 370 may include a navigation traffic condition network and various elements important to navigation traffic condition networks, such as roads, infrastructure (e.g., road sensors such as road cameras, databases, central servers, weather sensors, etc.), weather, road construction, or accidents. Other elements of the road traffic network 360 and traffic condition network 370 may include networked components in the workplace or home (e.g., vehicle chargers, networked devices, appliances, etc.).
[0105] The predictive driving behavior system 300 can achieve the following: Figure 2The vehicle 200 shown includes one or more components. Sensors 220, vehicle systems 350, elements of road traffic network 360, and elements of traffic condition network 370 can communicate with predictive driving behavior circuitry 310 via wired or wireless communication interfaces. As previously described, elements of road traffic network 360 and traffic condition network 370 can correspond to networked or unnetworked devices, infrastructure (e.g., traffic lights, sensors such as traffic cameras, weather sensors, road cameras, etc.), vehicles, pedestrians, obstacles, etc., located in the general vicinity or directly near the vehicle (e.g., vehicle 200), or otherwise important to navigation of the road traffic network or traffic condition network (e.g., remote infrastructure). Although sensors 220, vehicle systems 350, road traffic network 360, and traffic condition network 370 are depicted as communicating with predictive driving behavior circuitry 310, they can also communicate with each other, as well as with other vehicle systems 350, and directly with elements of road traffic network 360 and traffic condition network 370. The data disclosed herein can be transmitted to and from the predictive driving behavior circuit 310. For example, various infrastructures (example elements of road traffic network 360 or road condition network 370) may include one or more databases, such as vehicle collision data or weather data. This data can be transmitted to circuit 310 and can be updated based on the results of navigation from one or more motor or road traffic networks, vehicle telematics, driver status (physical and mental), and vehicle data from vehicle sensors 220 (e.g., tire pressure or braking status). Similarly, traffic data, vehicle status data, travel time, and driver demographics can be retrieved and updated. All of this data can be incorporated and contribute to predictive analysis of accident probability (e.g., through machine learning) and the determination of road conditions and adverse road conditions. Likewise, the model, circuit, and predictive analysis can be updated according to various results.
[0106] The predictive driving behavior circuit 310 can evaluate vehicle driving behavior, identify unsafe driving behaviors, predict driving actions, and improve predictive analysis of driving actions to accurately detect and characterize the driving behavior of a vehicle as described herein. As will be described in more detail herein, the detection of unsafe driving behaviors may have one or more contributing factors. Various sensors 220, vehicle system 350, road traffic network elements 360, and road condition network elements 370 can help collect data to evaluate vehicle driving behavior, detect unsafe driving behaviors, and predict driving actions. For example, the predictive driving behavior circuit 310 may include at least one of vehicle driving behavior detection and response circuits. The predictive driving behavior circuit 310 may be implemented as an ECU or as part of an ECU, such as electronic control unit 225. In other applications, the predictive driving behavior circuit 310 may be implemented independently of an ECU, for example, as another vehicle system.
[0107] The predictive driving behavior circuit 310 can be configured to evaluate vehicle driving behavior, detect unsafe driving behavior, predict driving actions, improve predictive analytics, and respond appropriately. The predictive driving behavior circuit 310 may include communication circuitry 301 (in this example, either or both of a wireless transceiver circuitry 302 with associated antenna 314 and a wired input / output (I / O) interface 304), decision and control circuitry 303 (in this example, including a processor 306 and a memory 308), and a power supply 311 (which may include a power supply device). It should be understood that the disclosed predictive driving behavior circuitry 310 may be compatible with and support one or more standard or non-standard messaging protocols.
[0108] The components of the predictive driving behavior circuit 310 are illustrated to communicate with each other via a data bus, although other communications in the interface may also be included. The decision and control circuit 303 can be configured to control one or more aspects of vehicle driving behavior detection and response. The decision and control circuit 303 can be configured to perform references (described below). Figure 4 and Figure 7 One or more of the steps described above.
[0109] Processor 306 may include a GPU, CPU, microprocessor, or any other suitable processing system. Memory 308 may include one or more memory or data storage devices of various forms (e.g., flash memory, RAM, etc.) that can be used to store calibration parameters, images (analysis or history), point parameters, instructions and variables for processor 306, and any other suitable information. Memory 308 may consist of one or more modules of one or more different types of memory and may be configured to store data and other information, as well as operational instructions 309 that can be used by processor 306 to perform one or more functions of predictive driving behavior circuitry 310. For example, data and other information may include vehicle driving data, such as a determined level of driver familiarity with driving and the vehicle. Data may also include signal values from one or more sensors 220 that are useful for detecting unsafe driving behaviors and improving predictive driving actions. Operational instructions 309 may contain instructions for performing the logic circuits, models, and methods described herein.
[0110] although Figure 3The examples are illustrated using processor and memory circuit diagrams, as described below with reference to the circuits disclosed herein, but the decision and control circuit 303 can be implemented using any form of circuitry, including hardware, software, or combinations thereof. As a further example, one or more processors, controllers, ASICs, PLAs, PALs, CPLDs, FPGAs, logic components, software routines, or other mechanisms can be implemented to constitute the predictive driving behavior circuit 310. Components of the decision and control circuit 303 can be distributed across two or more decision and control loops 303, on other circuitry described with respect to the predictive driving behavior circuit 310, on devices (such as cellular phones) on cloud-based platforms (e.g., part of infrastructure), on distributed elements of the road traffic network 360, such as across multiple vehicles, user equipment, or a central server, on edge-based platforms, and in combinations thereof.
[0111] Communication circuitry 301 may include either or both of a wireless transceiver circuitry 302 with an associated antenna 314 and a wired I / O interface 304 with an associated hardwired data port (not shown). As illustrated in this example, communication with predictive driving behavior circuitry 310 may include either or both of wired and wireless communication circuitry 301. Wireless transceiver circuitry 302 may include a transmitter and receiver (not shown), such as a vehicle driving behavior detection and verification broadcasting mechanism, to allow wireless communication via any of a variety of communication protocols, such as WiFi (e.g., IEEE 802.11 standard), Bluetooth, Near Field Communication (NFC), Zigbee, and any of a variety of other wireless communication protocols, whether standardized, proprietary, open, peer-to-peer, networked, or otherwise. Antenna 314 is coupled to wireless transceiver circuitry 302 and is used by wireless transceiver circuitry 302 to wirelessly transmit radio signals to and receive radio signals from connected wireless devices. These RF signals can include virtually any type of information sent or received by the predictive driving behavior circuitry 310 to / from other components of the vehicle, such as sensors 220, vehicle systems 350, infrastructure (e.g., server-based cloud systems), and other devices or elements of the road traffic network 360. These RF signals can include virtually any type of information sent or received by the vehicle.
[0112] Wired I / O interface 304 may include a transmitter and receiver (not shown) for hardwired communication with other devices. For example, wired I / O interface 304 may provide a hardwired interface to other components, including sensor 220 and vehicle system 350. Wired I / O interface 304 may communicate with other devices using Ethernet or any of a variety of other wired communication protocols, whether standardized, proprietary, open, point-to-point, networked, or others.
[0113] Power source 311 may be one or more of the following: a battery (e.g., Li-ion, Li-polymer, NiMH, NiCd, NiZn, and NiH2, to name a few, whether rechargeable or primary); a power connector (e.g., for connection to vehicle power supply, other vehicle batteries, alternators, etc.); an energy harvester (e.g., solar cells, piezoelectric systems, etc.); or it may include any other suitable power supply device. It is understood that power source 311 may be coupled to the vehicle's power supply, such as batteries and alternators. Power source 311 may be used to power predictive driving behavior circuitry 310.
[0114] Sensor 220 may include one or more of the aforementioned sensors 220. Sensor 220 may include one or more sensors that may or may not be present on a standard vehicle (e.g., vehicle 200) implementing the predictive driving behavior circuitry 310. In the illustrated example, sensor 220 includes a vehicle acceleration sensor 312, a vehicle speed sensor 314, wheel slip sensors 316 (e.g., one per wheel), a tire pressure monitoring system (TPMS) 320, accelerometers such as a 3-axis accelerometer 322 that detects vehicle roll, pitch, and yaw, a vehicle clearance sensor 324, left-right and front-rear slip ratio sensors 326, an environmental sensor 328 (e.g., detecting weather, salinity, or other environmental conditions), and a camera 213 (e.g., facing forward, backward, side, top, and bottom). Additional sensors 219 may also be included, as appropriate, for a given implementation of the predictive driving behavior system 300.
[0115] Vehicle system 350 may include any of a number of different vehicle components or subsystems for controlling or monitoring various aspects of the vehicle and its performance. For example, it may include Figure 2 Any or all of the vehicle system 240 and control system 230 shown above. In this example, vehicle system 350 may include GPS or other vehicle positioning system 218.
[0116] During operation, the predictive driving behavior circuit 310 can receive information from various vehicle sensors 220, vehicle system 350, road traffic network 360, and traffic condition network 370 to detect unsafe driving behaviors and improve predictive driving actions. Furthermore, the vehicle's driver, owner, and operator can manually trigger one or more processes described herein to detect unsafe driving behaviors and improve predictive driving actions. Communication circuit 301 can be used to send and receive information between the predictive driving behavior circuit 310, sensors 220, and vehicle system 350. Additionally, sensors 220 and the predictive driving behavior circuit 310 can communicate directly or indirectly (e.g., via communication circuit 301 or other means) with vehicle system 350. Communication circuit 301 can be used to send and receive information between the predictive driving behavior circuit 310, one or more other systems of vehicle 200, and other elements of road traffic network 360 and traffic condition network 370, such as vehicles, roads, devices (e.g., mobile phones), systems, networks (e.g., communication networks and central servers), and infrastructure.
[0117] In various applications, communication circuitry 301 can be configured to receive data and other information from sensor 220 and vehicle system 350, which are used to detect unsafe driving behaviors and improve predictive driving actions. As an example, when receiving data from elements of road traffic network 360 or traffic condition network 370 (such as from a driver's user device), communication circuitry 301 can be used to send activation signals and activation information to one or more vehicle systems 350 or sensors 220 so that the vehicle implements verification strategies to detect unsafe driving behaviors and improve predictive driving actions. For example, data useful to vehicle system 350 or sensor 220 is data useful for detecting unsafe driving behaviors and improving predictive driving actions. Alternatively, predictive driving behavior circuitry 310 can continuously receive information from vehicle system 350, sensor 220, other vehicles, devices, and infrastructure (e.g., those infrastructure elements of road traffic network 360 or traffic condition network 370). Furthermore, when vehicle driving behavior is detected, communication circuitry 301 can send signals to other components of the vehicle, infrastructure, or other elements of the road traffic network or traffic condition network based on the detection of vehicle driving behavior. For example, communication circuit 301 can send a signal to vehicle system 350 indicating control inputs for performing one or more predictive analyses of vehicle driving behavior to determine whether surrounding vehicles are engaging in unsafe driving behavior. In some applications, when unsafe driving behavior by surrounding vehicles is detected, depending on the type of unsafe driving behavior, the driver may be prohibited from controlling the vehicle, and control of the vehicle may be transferred to ADAS. In a more specific example, upon detection of unsafe driving behavior (e.g., via sensor 220 and vehicle system 350, or via elements of road traffic network 360 or road condition network 370), one or more signals can be sent to vehicle system 350 to activate an assistance mode, and the vehicle may control one or more of vehicle systems 240 (e.g., steering system 221, throttle system 222, brakes 223, transmission 224, ECU 225, propulsion system 226, suspension, and powertrain).
[0118] Figure 2 and Figure 3 The examples provided are for illustrative purposes only, and are given as examples of the vehicle 200 and the predictive driving behavior system 300 that can implement the disclosed technologies. Those skilled in the art who read this specification will understand how the disclosed applications can be implemented using a vehicle platform.
[0119] Figure 4 This diagram illustrates example process 400, which includes one or more steps that can be performed to detect unsafe driving behaviors and improve predictive driving actions. In some applications, process 400 may, for example, be... Figure 1The computational component 110 performs the operation. In another application, process 400 can be implemented as... Figure 1 The computational component 110. In other applications, process 400 can be implemented, for example, as... Figure 2 The computing system 210 and Figure 3 A predictive driving behavior system 300. Process 400 may include a server. Process 400 may be implemented by one or more vehicles, wherein the one or more vehicles may form a P2P or V2V network.
[0120] In step 402, the computing component 110 infers the characteristics of the driving behavior. The vehicle may be traveling on a road. The vehicle may include, for example, a car, truck, motorcycle, bicycle, scooter, moped, recreational vehicle, and other similar on-road or off-road vehicle. The vehicle may include, for example, autonomous, semi-autonomous, and manually operated vehicles. The vehicle may include one or more sensors that can be used to collect data on the driving behavior of the vehicle itself and the driving behavior of each of one or more other vehicles. Each of one or more other vehicles may include one or more sensors that can be used to collect data on the driving behavior of the vehicle itself and the driving behavior of each of the other vehicles, including the vehicle.
[0121] Sensors may include, for example, cameras, image sensors, radar sensors, LiDAR sensors, position sensors, audio sensors, infrared sensors, microwave sensors, optical sensors, tactile sensors, magnetometers, communication systems, and Global Positioning Systems (GPS). Data may be received by at least one sensor of the vehicle. The vehicle may be located on the road at a location within a general area of the main vehicle's travel path. The general area of the main vehicle's travel path may include a location in front of, behind, or to either side of the main vehicle while it is in motion. The computing component 110 may use one or more sensors of the vehicle to collect data on the driving behavior of the main vehicle. The computing component 110 may combine the data on the driving behavior of the main vehicle collected by one or more sensors of the vehicle with data on the driving behavior of the main vehicle collected by one or more sensors of one or more other vehicles and one or more sensors of the road (e.g., road cameras, road sensors, etc.).
[0122] Data on the driving behavior of the primary vehicle may include information about one or more driving actions performed by the primary vehicle, including the vehicle's speed, movement (or stillness), and direction of travel. The driving behavior data of the primary vehicle may include the identity of the driver of the primary vehicle. The calculation component 110 may use the driving behavior data of the primary vehicle to infer characteristics of the driving behavior. Data on the driving behavior of one or more other vehicles may be used to infer characteristics of the primary vehicle's driving behavior. Characteristics of the primary vehicle's driving behavior may include one or more types of actions performed by the primary vehicle, the repetition of each type of action, the movement pattern of the driving behavior, the duration of the movement pattern of the driving behavior, and the degree of impact of the primary vehicle's driving behavior on other vehicles, including itself. Types of actions that the primary vehicle may perform may include tentative lane changes, acceleration, deceleration, braking, weaving, sudden steering, failure to use turn signals, improper use of traffic lights, following too closely, lane drifting, improper parking, failure to decelerate, speeding, driving too slowly, delayed stopping, delayed acceleration, honking, flashing headlights, failure to turn on headlights, driving at a speed limit, following traffic flow, proper use of traffic lights, and driving within a lane. The repetition rate of a certain type of action can include the number and frequency of each type of action in progress. A movement pattern can include a series of actions in progress. A series of actions can include a series of actions of the same type or a combination of actions of different types. The duration of a movement pattern can include the amount of time that the movement pattern is in progress. The degree of impact can include the magnitude and frequency of the impact of the vehicle's driving behavior on other vehicles.
[0123] In step 404, the calculation component 110 determines whether any potential indicators of unsafe driving exist based on the characteristics of the driving behavior of the main vehicle. Potential indicators of unsafe driving may include one or more characteristics of driving behavior, such as a specific type of action, a minimum degree of repetition of a certain type of action, a specific type of movement pattern, a minimum duration of the movement pattern, and a minimum degree of impact on other vehicles. Types of actions that may be potential indicators of unsafe driving may include, for example, tentative lane changes, acceleration, deceleration, braking, weaving, sudden steering, failure to use turn signals, improper use of traffic lights, following too closely, lane drifting, improper parking, failure to decelerate, speeding, driving too slowly, delayed stopping, delayed acceleration, honking, flashing headlights, and failure to turn on headlights.
[0124] For example, when a certain type of action is performed at least a certain number of times within a specific time period, the minimum repetition level of that type of action may be a potential indicator of unsafe driving. The minimum repetition level for a certain type of action may depend on the type of action. For example, the minimum repetition level for crossing might be that the vehicle crosses more than X times within Y seconds. The minimum repetition level for a certain type of action can be predetermined. The minimum repetition level for a certain type of action can be adjusted based on received data on the vehicle's historical driving behavior, data received from the road traffic network 360, data received from the road condition network 370, etc. Many variations are possible.
[0125] A motion pattern may be a potential indicator of unsafe driving when a series of actions, such as those involving at least two actions (whether of the same or different types), are considered potential indicators of unsafe driving. A motion pattern may be a potential indicator of unsafe driving when it involves one or more types of actions performed within a specific duration (e.g., 1 minute, 2 minutes, 5 minutes, 30 seconds, etc.). The duration of a motion pattern considered a potential indicator of unsafe driving may depend on one or more factors, such as time of day, traffic, road conditions, weather, number of vehicles around the main vehicle, etc. Road conditions may include, for example, road damage, hazardous features on the road (i.e., obstacles), and road properties and characteristics (i.e., color, size, number of lanes, shape, etc.). Obstacles may include, for example, potholes, cracks, tire marks, faded road markings, debris, objects, glare, water accumulation, icy surfaces, oil spills, uneven road surfaces, erosion, and flaking. The obtained road condition data may be analyzed by the computing component 110 and used as a factor in determining the duration of a motion pattern considered a potential indicator of unsafe driving.
[0126] When an action performed by the primary vehicle may negatively impact one or more other vehicles, the degree of impact can be a potential indicator of unsafe driving. Negative impacts can include reactions from other vehicles' drivers to the primary vehicle's actions. Reaction actions can be actions taken in response to poor or unsafe driving. For example, reactions may include shouting, hand gestures, and accident-prevention driving (i.e., changing lanes, slowing down, and accelerating). Many variations are possible.
[0127] If one or more potential indicators are identified, proceed to step 406. If no potential indicators are identified, proceed to step 402 to infer the characteristics of the vehicle's driving behavior.
[0128] In step 406, the computation component 110 selects one or more prediction models based on the determined potential indicators. The prediction model can be an ML model used to analyze characteristics of driving behavior to predict the vehicle's next driving action. The prediction model may include a reckless behavior prediction model, an aggressive behavior prediction model, and a distracted behavior prediction model. Each prediction model may represent a different category of unsafe driving behavior. One or more prediction models can be selected based on one or more potential indicators of unsafe driving determined for the subject vehicle. Some potential indicators of unsafe driving may represent more than one category of unsafe driving behavior. Depending on the combination of one or more potential indicators of unsafe driving determined for the subject vehicle, the computation component 110 can select the most relevant prediction model.
[0129] A reckless behavior prediction model can be selected when the identified potential indicators suggest that the primary vehicle is driving recklessly. A reckless behavior prediction model can be selected when the identified potential indicators include, for example, a driving pattern of highly repeated sudden turns plus a sudden turn lasting more than one minute and speeding, and have a high impact on at least five other vehicles. Another example of potential indicators that might lead to the selection of a reckless behavior prediction model could include a driving pattern of highly repeated probing lane changes plus a probing lane change lasting more than 30 seconds, acceleration, deceleration, following too closely, and not using headlights, and have at least a moderate impact on at least seven other vehicles. Many variations are possible.
[0130] An aggressive behavior prediction model can be selected when the identified potential indicators suggest that the primary vehicle is driving aggressively. An aggressive behavior prediction model can also be selected when the identified potential indicators include, for example, highly repetitive acceleration, deceleration, and probing lane changes within a motion pattern lasting longer than 20 seconds that have at least a moderate impact on at least eight other vehicles. Another example of potential indicators that might lead to the selection of an aggressive behavior prediction model could include moderately repetitive speeding, weaving, and following too closely within a motion pattern lasting longer than 30 seconds that have a high impact on at least four other vehicles. Many variations are possible.
[0131] A distraction behavior prediction model can be selected when the identified potential indicators suggest that the primary vehicle is driving in a distracted manner. A distraction behavior prediction model can also be selected when the identified potential indicators include, for example, lane drifting and failure to use turn signals with a moderate degree of repetition within a motion pattern lasting longer than 40 seconds that have at least a moderate impact on at least five other vehicles. Another example of potential indicators that might lead to the selection of a distraction behavior prediction model could include low-repetition weaving, failure to use turn signals, following too closely, tentative lane changes, driving too slowly, and delayed stopping within a motion pattern lasting longer than 30 seconds that have at least a moderate impact on at least six other vehicles. Many variations are possible.
[0132] There may be combinations of potential indicators of unsafe driving that can represent more than one category of unsafe driving behavior. When a combination of potential indicators can represent more than one category of unsafe driving behavior, each predictive model can be selected for each corresponding category of unsafe driving. Potential combinations of predictive models that can be selected may include, for example, reckless behavior prediction models and aggressive behavior prediction models, aggressive behavior prediction models and distracted behavior prediction models, etc. Many variations are possible.
[0133] In step 408, computing component 110 predicts the next driving data of the subject vehicle based on one or more prediction models. The selected prediction model can be used to predict the next driving data of the subject vehicle. The next driving data may include the next driving action the subject vehicle might take. The next driving data of the subject vehicle can be predicted based on identifying potential indicators of unsafe driving that the subject vehicle has already performed and the subject vehicle's driving data, according to one or more algorithms of the prediction model. Each prediction model may include one or more algorithms for determining the predicted next driving data based on the subject vehicle's driving data and identified potential indicators of unsafe driving. The one or more algorithms may be pre-stored. The one or more algorithms may include multiple equations and methods for determining the predicted next driving data. In other applications, each prediction model may include ML and / or AI logic. ML and / or AI logic can be used to determine the predicted next driving data. ML and / or AI logic can use data from previous sessions (whether about the same subject vehicle or about other vehicles) and stored data to determine the predicted next driving data of the subject vehicle more quickly and efficiently, including, for example, the type of action to be performed and the driving path to be taken.
[0134] In step 410, computing component 110 runs unsafe driving detection logic using the predicted next driving data. The unsafe driving detection logic may include one or more algorithms for determining whether the predicted next driving data indicates unsafe driving behavior. The unsafe driving detection logic may include one or more algorithms for determining whether potential indicators of characteristics inferred from driving behavior can be used to identify ongoing unsafe driving behavior. The one or more algorithms may be pre-stored. The one or more algorithms may include multiple equations and methods to determine unsafe driving behavior based on the predicted next driving data. In other applications, the unsafe driving detection logic may include ML and / or AI logic. ML and / or AI logic can be used to identify unsafe driving behavior based on the predicted next driving data. ML and / or AI logic can use data from previous sessions (whether about the same subject vehicle or about other vehicles) and stored data to determine whether the predicted next driving data indicates unsafe driving behavior more quickly and efficiently. Many variations are possible.
[0135] In step 412, the calculation component 110 determines whether the subject vehicle is classified as an unsafe driver based on the unsafe driving detection logic. Running the unsafe driving detection logic using predicted driving data can determine whether the subject vehicle is predicted to engage in unsafe driving behavior. If it is determined that the subject vehicle is predicted to engage in unsafe driving behavior, then the subject vehicle can be identified as an unsafe driver. Otherwise, if it is determined that the subject vehicle is predicted to engage in safe driving behavior, then the subject vehicle can be identified as not being an unsafe driver.
[0136] If the primary vehicle is determined to be driven by an unsafe driver, proceed to step 414. Otherwise, proceed to step 402 to infer the characteristics of the driving behavior of one or more other vehicles.
[0137] In step 414, the computing component 110 notifies the driver of the vehicle that the main vehicle is driven by an unsafe driver. When the unsafe driving detection logic determines that the main vehicle is driven by an unsafe driver because it predicts that the main vehicle will engage in unsafe driving behavior, the vehicle can then be notified that the main vehicle is driven by an unsafe driver. This notification may include the position of the main vehicle relative to the vehicle. The vehicle can also be notified of the predicted next driving action of the main vehicle. This notification may include suggested actions for the vehicle to take to move away from the main vehicle based on the predicted next driving action of the main vehicle. The notification may include a message that can be displayed on the vehicle's screen. The notification sent to the vehicle can help the vehicle avoid the main vehicle.
[0138] In step 416, the computing component 110 monitors the driving behavior of the subject vehicle to determine whether the actual next driving action performed by the subject vehicle matches the predicted next driving action determined by one or more prediction models. While monitoring the driving behavior of the subject vehicle, the computing component 110 can identify the actual next driving action performed by the subject vehicle. The computing component 110 can compare the actual next driving action with the predicted next driving action. The computing component 110 can determine whether the actual next driving action performed by the subject vehicle matches the predicted next driving action. For example, the computing component 110 can determine the Euclidean distance between the actual next driving action and the predicted next driving action. If the determined Euclidean distance is less than a threshold, it can be determined that the actual next driving action is the same as or similar to the predicted next driving action. This threshold can be predetermined and pre-set. The threshold can vary according to one or more factors, such as the action type of the actual next driving action, the action type of the predicted next driving action, environmental data, time of day, traffic, road conditions, weather, number of vehicles around the vehicle, the subject vehicle, etc.
[0139] If the actual next driving action of the main vehicle does not match the predicted next driving action determined by one or more prediction models, proceed to step 418. If the actual next driving action of the main vehicle does match the predicted next driving action determined by one or more prediction models, proceed to step 402 to infer the characteristics of the driving behavior of other vehicles, since these prediction models are accurately selected based on the characteristics of the vehicles' driving behavior and the next driving action was accurately predicted using these prediction models.
[0140] In step 418, the computation component 110 improves one or more prediction models based on the accuracy of the actual next driving action compared to the predicted next driving action. If it is determined that the actual next driving action performed by the subject vehicle does not match the predicted next driving action, the computation component 110 may determine that at least one of the following may need to be updated and improved: (i) potential indicators of unsafe driving, (ii) prediction models selected based on potential indicators of unsafe driving, (iii) the algorithm in the prediction model used to predict the next driving data, and (iv) unsafe driving detection logic used to determine whether the predicted next driving data includes actions classified as unsafe driving behaviors. Improving at least one of the potential indicators, prediction model selection, prediction model algorithm, and unsafe driving detection logic can improve the accuracy and efficiency of detecting and characterizing the driving behavior of vehicles to identify unsafe drivers on the road.
[0141] For simplicity of description, process 400 is described as being performed for a single detected subject vehicle. It should be appreciated that, in a typical embodiment, computing component 110 can manage the detection of multiple subject vehicles occurring sequentially between each other at various locations within a short period of time. For example, in some embodiments, computing component 110 can perform many (if not all) steps of process 400 for multiple detected subject vehicles when data on the driving behavior of the vehicles is obtained.
[0142] Figure 5 This illustration illustrates an example of a predictive driving behavior system 500. The predictive driving behavior system 500 can be configured to detect vehicles (e.g., Figure 1 The predictive driving behavior system 500 detects unsafe driving behaviors of vehicle 150 and main vehicle 502, and improves the predictive analysis of driving actions to be performed by the vehicles. The predictive driving behavior system 500 can send the results of detected unsafe driving behaviors and predictive driving actions of main vehicle 502 to one or more other vehicles near and / or within the driving path of main vehicle 502. The predictive driving behavior system 500 can be implemented on one or more vehicles (including main vehicle 502, vehicle 504, etc.) traveling on the road. The predictive driving behavior system 500 can be implemented by one or more vehicles, such as vehicle 504, to determine whether main vehicle 502 is engaging in unsafe driving behavior that poses a danger to vehicle 504. One or more vehicles implementing the predictive driving behavior system 500 can form a P2P or V2V network to communicate with each other and send data on unsafe driving behaviors and predictive analyses of driving actions to each other. Many variations are possible.
[0143] In step 510, the predictive driving behavior system 500 can identify potential indicators of unsafe driving behavior. Vehicle 504 may be traveling on a road. Vehicle 502 may be traveling on the same road as vehicle 504 and in a direction toward vehicle 504. Vehicle 504 and vehicle 502 may include, for example, cars, trucks, motorcycles, bicycles, scooters, mopeds, recreational vehicles, and other similar on-road or off-road vehicles. Vehicle 504 and vehicle 502 may include, for example, autonomous, semi-autonomous, and manually operated vehicles. Each of vehicle 504 and vehicle 502 may include one or more sensors that can be used to collect data on the driving behavior of the vehicle itself and the driving behavior of each of one or more other vehicles. Each of the one or more other vehicles may include one or more sensors that can be used to collect data on the driving behavior of vehicle 504, vehicle 502, themselves, and each of the other vehicles.
[0144] Sensors may include, for example, cameras, image sensors, radar sensors, LiDAR sensors, position sensors, audio sensors, infrared sensors, microwave sensors, optical sensors, tactile sensors, magnetometers, communication systems, and Global Positioning Systems (GPS). Data may be received by at least one sensor of the vehicle. The vehicle 504 may be located on a road within a general area of the driving path of the main vehicle 502. The general area of the driving path of the main vehicle 502 may include positions in front of, behind, or to either side of the main vehicle 502 while it is traveling on the road. The predictive driving behavior system 500 may use one or more sensors of the vehicle, such as the vehicle 504, to collect data on the driving behavior of the main vehicle 504. The predictive driving behavior system 500 may combine the driving behavior data of the main vehicle 502 collected by one or more sensors of the vehicle 504 with driving behavior data of the main vehicle 502 collected by one or more sensors of one or more other vehicles and one or more sensors of the road (e.g., road cameras, road sensors, etc.).
[0145] Data on the driving behavior of the primary vehicle 502 may include information about one or more driving actions performed by the primary vehicle 502, including the speed, movement (or stillness), and direction of travel of the primary vehicle 502. The data on the driving behavior of the primary vehicle 502 may include the identity of the driver of the primary vehicle 502. The predictive driving behavior system 500 may use the data on the driving behavior of the primary vehicle 502 to infer characteristics of the driving behavior. Data on the driving of one or more other vehicles may be used to infer characteristics of the driving behavior of the primary vehicle 502. Characteristics of the driving behavior of the primary vehicle 502 may include one or more types of actions performed by the primary vehicle 502, the repetition of each type of action, the movement pattern of the driving behavior, the time period of the movement pattern of the driving behavior, and the degree of impact of the driving behavior of the primary vehicle 502 on other vehicles, including its own vehicle 504. The types of actions that vehicle 502 may perform may include tentative lane changes, acceleration, deceleration, braking, weaving, sudden steering, failure to use turn signals, improper use of traffic lights, following too closely, lane drifting, improper parking, failure to decelerate, speeding, driving too slowly, delayed stopping, delayed acceleration, honking, flashing headlights, failure to turn on headlights, driving at a speed limit, following traffic flow, proper use of traffic lights, and driving within a lane. The repetition of a certain type of action may include the number and frequency of each type of action in progress. A movement pattern may include a series of actions in progress. A series of actions may include a series of actions of the same type or a combination of actions of different types. The duration of a movement pattern may include the amount of time that the movement pattern is in progress. The degree of impact may include the magnitude and frequency of the impact of the vehicle's driving behavior on other vehicles.
[0146] The predictive driving behavior system 500 can determine the presence of any potential indicators of unsafe driving based on the characteristics of the driving behavior of the subject vehicle 504. Potential indicators of unsafe driving may include one or more characteristics of driving behavior, such as specific types of actions, at least a minimum degree of repetition of a certain type of action, specific types of movement patterns, at least a minimum duration of the movement pattern, and at least a minimum degree of impact on other vehicles. Types of actions that may be potential indicators of unsafe driving may include, for example, tentative lane changes, acceleration, deceleration, braking, weaving, sudden steering, failure to use turn signals, improper use of traffic lights, following too closely, lane drifting, improper parking, failure to decelerate, speeding, driving too slowly, delayed stopping, delayed acceleration, honking, flashing headlights, and failure to turn on headlights.
[0147] For example, the minimum repetition of a certain type of action, performed at least a certain number of times within a specific time period, may be a potential indicator of unsafe driving. A movement pattern may be a potential indicator of unsafe driving when a series of actions, for example, includes at least two actions that are potential indicators of unsafe driving (whether of the same or different types). The time period of a movement pattern may be a potential indicator of unsafe driving when it includes one or more types of actions performed within a specific duration (e.g., 1 minute, 2 minutes, 5 minutes, 30 seconds, etc.). The time period of a movement pattern considered a potential indicator of unsafe driving may depend on one or more factors, such as time of day, traffic, road conditions, weather, the number of vehicles around the main vehicle, etc. Road conditions may include, for example, road damage, hazardous features on the road (i.e., obstructions), and road properties and characteristics (i.e., color, size, number of lanes, shape, etc.). Obstructions may include, for example, potholes, cracks, tire marks, faded road markings, debris, objects, glare, water accumulation, icy surfaces, oil leaks, uneven road surfaces, erosion, and flaking. The acquired road condition data can be analyzed by the predictive driving behavior system 500 and used as a factor in determining the time periods of motion patterns that are considered potential indicators of unsafe driving.
[0148] When the actions performed by the principal vehicle 502 may have a negative impact on one or more other vehicles, the degree of impact may be a potential indicator of unsafe driving. Negative impacts may include reactions from other vehicles or their drivers to the actions performed by the principal vehicle 502. Reaction actions can be actions taken in response to poor or unsafe driving. For example, reactions may include shouting, hand gestures, and accident-prevention driving (i.e., changing lanes, slowing down, and accelerating). Many variations are possible.
[0149] In box 512, the predictive driving behavior system 500 can determine the driving behavior characteristics of the subject vehicle 502, which are accelerating and decelerating. The predictive driving behavior system 500 can determine that both acceleration and deceleration driving behavior characteristics are classified as potential indicators of unsafe driving. The predictive driving behavior system 500 can determine that the subject vehicle 502 is accelerating and decelerating at a high degree of repetition sufficient to be considered a potential indicator.
[0150] In box 514, the predictive driving behavior system 500 can determine that the subject vehicle 502 is performing a tentative lane change. The predictive driving behavior system 500 can determine that the tentative lane change is classified as a potential indicator of unsafe driving. The predictive driving behavior system 500 can determine that the subject vehicle 502 is performing tentative lane changes with a high degree of repetition sufficient to be considered a potential indicator.
[0151] In step 520, the predictive driving behavior system 500 may select one or more predictive models based on the identified potential indicator characteristics of the subject vehicle 502. The predictive model may be an ML model used to analyze driving behavior characteristics to predict the vehicle's next driving action. The predictive model may include a reckless behavior prediction model, an aggressive behavior prediction model, and a distracted behavior prediction model. Each predictive model may represent a different category of unsafe driving behavior. One or more predictive models may be selected based on one or more potential indicators of unsafe driving determined for the subject vehicle 502. Some potential indicators of unsafe driving may represent more than one category of unsafe driving behavior. Depending on the combination of one or more potential indicators of unsafe driving determined for the subject vehicle 502, the predictive driving behavior system 500 may select the most relevant predictive model.
[0152] When the identified latent indicators suggest that the vehicle is driving recklessly, a reckless behavior prediction model can be selected. When the identified latent indicators suggest that the vehicle is driving aggressively, an aggressive behavior prediction model can be selected. When the identified latent indicators suggest that the vehicle is driving distractedly, a distracted behavior prediction model can be selected. There may be combinations of latent indicators of unsafe driving that can represent more than one category of unsafe driving behavior. When a combination of latent indicators can represent more than one category of unsafe driving behavior, each prediction model representing a corresponding category of unsafe driving can be selected. Potential combinations of selectable prediction models may include, for example, reckless behavior prediction models and aggressive behavior prediction models, aggressive behavior prediction models and distracted behavior prediction models, etc. Many variations are possible.
[0153] Based on the high-repetition acceleration and deceleration characteristics identified in box 512 and the high-repetition probing lane-changing characteristics identified in box 514, the predictive driving behavior system 500 can determine that the subject vehicle 502 is driving aggressively. Therefore, the predictive driving behavior system 500 can select an aggressive behavior prediction model. The predictive driving behavior system 500 can also consider other parameters to determine that the subject vehicle 502 is driving aggressively and select an aggressive behavior prediction model. These other parameters may include the motion pattern, the duration of the motion pattern, the degree of impact on other vehicles and objects, and environmental data.
[0154] In step 530, the predictive driving behavior system 500 can predict the next driving data of the subject vehicle 502 based on an aggressive behavior prediction model. The selected aggressive behavior prediction model can be used to predict the next driving data of the subject vehicle 502. The next driving data may include the next driving action that the subject vehicle 502 may perform. The next driving data of the subject vehicle 502 can be predicted based on potential indicator characteristics of the subject vehicle 502's high-repetition acceleration and deceleration, and high-repetition probing lane changes, according to one or more algorithms of the aggressive behavior prediction model. The aggressive behavior prediction model can predict that the next driving data includes the next driving action 532 that the subject vehicle 502 will perform, such as weaving in and out of lanes.
[0155] In step 540, the predictive driving behavior system 500 can determine whether unsafe driving has been detected based on the predicted next driving data of the subject vehicle 502. Unsafe driving detection logic can be run to analyze the predicted next driving data of the subject vehicle 502 and determine whether the subject vehicle 502 is predicted to be engaging in unsafe driving. The unsafe driving detection logic may include one or more algorithms for determining whether the predicted next driving data indicates unsafe driving behavior. These algorithms may be pre-stored. The algorithms may include multiple equations and methods to determine unsafe driving behavior based on the predicted next driving data. In other applications, the unsafe driving detection logic may include ML and / or AI logic. ML and / or AI logic can be used to identify unsafe driving behavior based on the predicted next driving data. ML and / or AI logic can use data from previous sessions (whether about the same subject vehicle 502 or about other vehicles) as well as stored data to determine whether the predicted next driving data indicates unsafe driving behavior more quickly and efficiently. Many variations are possible.
[0156] By using the predicted next driving data to run unsafe driving detection logic, the predicted next driving action 532, which involves weaving in and out of lanes, can be classified as unsafe driving behavior. Therefore, the predictive driving behavior system 500 can determine that the primary vehicle 502 is predicted to be engaging in unsafe driving. The predictive driving behavior system 500 can send a notification 542 to the secondary vehicle 504 that the primary vehicle 502 is predicted to be engaging in unsafe driving. The notification 542 may include the position of the primary vehicle 502 relative to the secondary vehicle 504. The notification 542 may also include the predicted next driving action 532 of the primary vehicle 502. The notification 542 may include suggested actions for the secondary vehicle 504 to take to move away from the primary vehicle 502 based on the predicted next driving action 532 of the primary vehicle 502. The notification 542 may include a message that can be displayed on the screen of the secondary vehicle 504. The notification 542 sent to the secondary vehicle 504 can help the secondary vehicle 504 avoid the primary vehicle 502.
[0157] In step 550, the predictive driving behavior system 500 can improve the potential indicator characteristics, the aggressive behavior prediction model, and the unsafe driving detection logic. Before making improvements, the predictive driving behavior system 500 can monitor the driving behavior of the subject vehicle 502 to determine whether the actual next driving action performed by the subject vehicle 502 matches the predicted next driving action 532 determined by using the aggressive behavior prediction model. While monitoring the driving behavior of the subject vehicle 502, the predictive driving behavior system 500 can identify the actual next driving action performed by the subject vehicle 502. The predictive driving behavior system 500 can compare the actual next driving action with the predicted next driving action 532. The predictive driving behavior system 500 can determine whether the actual next driving action performed by the subject vehicle 502 matches the predicted next driving action 532.
[0158] If the actual next driving action of the subject vehicle 502 matches the predicted next driving action 532 determined by using the aggressive behavior prediction model, the predictive driving behavior system 500 can infer that the determination of potential indicator characteristics, the selection and use of the aggressive behavior prediction model, and the implementation of unsafe driving detection logic are accurate. Otherwise, if the actual next driving action of the subject vehicle 502 does not match the predicted next driving action 532 determined according to the aggressive behavior prediction model, the predictive driving behavior system 500 can determine that at least one of the following may need to be updated and improved: (i) the potential indicator characteristics of unsafe driving, (ii) the aggressive behavior prediction model selected based on the potential indicator characteristics of unsafe driving, (iii) the algorithm used for the next driving data in the aggressive behavior prediction model, and (iv) the unsafe driving detection logic used to determine whether the predicted next driving data includes actions classified as unsafe driving behaviors. Improving at least one of the potential indicator characteristics, the aggressive behavior prediction model selection, the aggressive behavior prediction model algorithm, and the unsafe driving detection logic can improve the accuracy and efficiency of detecting and characterizing the driving behavior of vehicles to identify unsafe drivers on the road.
[0159] The Predictive Driving Behavior System 500 can achieve the following: Figure 1 Computing component 110 Figure 2 The computing system 210 Figure 3 Predictive driving behavior system 300 and Figure 4 The process is 400.
[0160] Figure 6 This illustration illustrates an example of a predictive driving behavior system 600. The predictive driving behavior system 600 can be configured to detect vehicles (e.g., Figure 1 The predictive driving behavior system 600 detects unsafe driving behaviors of vehicle 150 and main vehicle 602, and improves the predictive analysis of driving actions to be performed by the vehicles. The predictive driving behavior system 600 can send the results of detected unsafe driving behaviors and predictive driving actions of main vehicle 602 to one or more other vehicles, such as vehicle 604, in the vicinity and / or along the driving path of main vehicle 602. The predictive driving behavior system 600 can be implemented on one or more vehicles (including main vehicle 602, vehicle 604, etc.) traveling on the road. The predictive driving behavior system 600 can be implemented by one or more vehicles, such as vehicle 604, to determine whether main vehicle 602 is engaging in unsafe driving behavior that poses a danger to vehicle 604. One or more vehicles implementing the predictive driving behavior system 600 can form a P2P or V2V network to communicate with each other and send data on unsafe driving behaviors and predictive analyses of driving actions to each other. Many variations are possible.
[0161] In step 610, the predictive driving behavior system 600 can determine potential indicators of unsafe driving behavior of the primary vehicle 602. The primary vehicle 604 may be traveling on the first road. The primary vehicle 602 may be traveling on a second road that directly contacts the primary road of the primary vehicle 604, wherein the first and second roads meet at intersection 606, such as... Figure 6 As shown in the diagram. Each of the vehicle 604 and the host vehicle 602 may include one or more sensors that can be used to collect data on the driving behavior of the vehicle itself and the driving behavior of each of the one or more other vehicles. Each of the one or more other vehicles may include one or more sensors that can be used to collect data on the driving behavior of the vehicle 604, the host vehicle 602, themselves, and each of the other vehicles.
[0162] Data can be received by at least one sensor of the vehicle. The vehicle 604 may be located on the road within a general area of the driving path of the main vehicle 602. The general area of the driving path of the main vehicle 602 may include positions in front of, behind, or to either side of the main vehicle 602 while it is traveling on the road. The predictive driving behavior system 600 may use one or more sensors of the vehicle, such as the vehicle 604, to collect data on the driving behavior of the main vehicle 604. The predictive driving behavior system 600 may combine the driving behavior data of the main vehicle 602 collected by one or more sensors of the vehicle 604 with driving behavior data of the main vehicle 602 collected by one or more sensors of one or more other vehicles and one or more sensors of the road (e.g., road cameras, road sensors, etc.).
[0163] Data on the driving behavior of the primary vehicle 602 may include information about one or more driving actions performed by the primary vehicle 602, including the speed, movement (or stillness), and direction of travel of the primary vehicle 602. The data on the driving behavior of the primary vehicle 602 may include the identity of the driver of the primary vehicle 602. The predictive driving behavior system 600 may determine that the primary vehicle 602 will attempt to make a left turn at the intersection 606 of the first and second roads.
[0164] The predictive driving behavior system 600 can use data on the driving behavior of the primary vehicle 602 to infer characteristics of driving behavior. Data on the driving behavior of one or more other vehicles can be used to infer characteristics of the primary vehicle 602's driving behavior. Characteristics of the primary vehicle 602's driving behavior may include one or more types of actions performed by the primary vehicle 602, the repetition of each type of action, the movement pattern of the driving behavior, the time period of the movement pattern of the driving behavior, and the degree of impact of the primary vehicle 602's driving behavior on other vehicles, including its own vehicle 604. Types of actions that the primary vehicle 602 may perform may include tentative lane changes, acceleration, deceleration, braking, weaving, sudden steering, failure to use turn signals, improper use of traffic lights, following too closely, lane drifting, failure to stop properly, failure to decelerate, speeding, driving too slowly, delayed stopping, delayed acceleration, honking, flashing headlights, failure to turn on headlights, driving at a speed limit, following traffic flow, proper use of traffic lights, and driving within a lane. The repetition of a certain type of action may include the number and frequency of each type of action in progress. Movement patterns may include a series of actions being performed. A series of actions can include a series of actions of the same type or a combination of actions of different types. The duration of a movement pattern can include the amount of time that movement pattern is in progress. The degree of impact can include the magnitude and frequency of the impact of the vehicle's driving behavior on other vehicles.
[0165] The predictive driving behavior system 600 can determine the presence of any potential indicators of unsafe driving based on the characteristics of the driving behavior of the subject vehicle 604. Potential indicators of unsafe driving may include one or more characteristics of driving behavior, such as specific types of actions, at least a minimum degree of repetition of a certain type of action, specific types of movement patterns, at least a minimum duration of the movement pattern, and at least a minimum degree of impact on other vehicles. Types of actions that may be potential indicators of unsafe driving may include, for example, tentative lane changes, acceleration, deceleration, braking, weaving, sudden steering, failure to use turn signals, improper use of traffic lights, following too closely, lane drifting, improper parking, failure to decelerate, speeding, driving too slowly, delayed stopping, delayed acceleration, honking, flashing headlights, and failure to turn on headlights.
[0166] For example, the minimum repetition of a certain type of action, performed at least a certain number of times within a specific time period, may be a potential indicator of unsafe driving. A movement pattern may be a potential indicator of unsafe driving when a series of actions, for example, includes at least two actions that are potential indicators of unsafe driving (whether of the same or different types). The time period of a movement pattern may be a potential indicator of unsafe driving when it includes one or more types of actions performed within a specific duration (e.g., 1 minute, 2 minutes, 5 minutes, 30 seconds, etc.). The time period of a movement pattern considered a potential indicator of unsafe driving may depend on one or more factors, such as time of day, traffic, road conditions, weather, the number of vehicles around the main vehicle, etc. Road conditions may include, for example, road damage, hazardous features on the road (i.e., obstructions), and road properties and characteristics (i.e., color, size, number of lanes, shape, etc.). Obstructions may include, for example, potholes, cracks, tire marks, faded road markings, debris, objects, glare, water accumulation, icy surfaces, oil spills, uneven road surfaces, erosion, and granular material flaking. The acquired road condition data can be analyzed by the predictive driving behavior system 600 and used as a factor in determining the time periods of motion patterns that are considered potential indicators of unsafe driving.
[0167] When the actions performed by the principal vehicle 602 may have a negative impact on one or more other vehicles, the degree of impact may be a potential indicator of unsafe driving. Negative impacts may include reactions from drivers of other vehicles or other vehicles to the actions performed by the principal vehicle 602. Reaction actions can be actions taken in response to poor or unsafe driving. For example, reactions may include shouting, hand gestures, and accident-prevention driving (i.e., changing lanes, slowing down, and accelerating). Many variations are possible.
[0168] The predictive driving behavior system 600 can determine that the vehicle 602 is performing slow stops and slow starts. The predictive driving behavior system 600 can determine that both slow stops and slow starts are potential indicators of unsafe driving. The predictive driving behavior system 600 can determine that the vehicle 602 is performing slow stops and slow starts with a duration of motion patterns high enough to be considered potential indicators.
[0169] In step 620, the predictive driving behavior system 600 may select one or more predictive models based on the identified potential indicator characteristics of the subject vehicle 602. The predictive model may be an ML model used to analyze driving behavior characteristics to predict the vehicle's next driving action. The predictive model may include a reckless behavior prediction model, an aggressive behavior prediction model, and a distracted behavior prediction model. Each predictive model may represent a different category of unsafe driving behavior. One or more predictive models may be selected based on one or more potential indicators of unsafe driving determined for the subject vehicle 602. Some potential indicators of unsafe driving may represent more than one category of unsafe driving behavior. Depending on the combination of one or more potential indicators of unsafe driving determined for the subject vehicle 602, the predictive driving behavior system 600 may select the most relevant predictive model.
[0170] When the identified latent indicators suggest that the vehicle is driving recklessly, a reckless behavior prediction model can be selected. When the identified latent indicators suggest that the vehicle is driving aggressively, an aggressive behavior prediction model can be selected. When the identified latent indicators suggest that the vehicle is driving distractedly, a distracted behavior prediction model can be selected. There may be combinations of latent indicators of unsafe driving that can represent more than one category of unsafe driving behavior. When a combination of latent indicators can represent more than one category of unsafe driving behavior, each prediction model representing a corresponding category of unsafe driving can be selected. Potential combinations of selectable prediction models may include, for example, reckless behavior prediction models and aggressive behavior prediction models, aggressive behavior prediction models and distracted behavior prediction models, etc. Many variations are possible.
[0171] Based on the potential indicator characteristics of slow stops and slow starts with high motion pattern durations determined in step 610, the predictive driving behavior system 600 can determine that the subject vehicle 602 is driving in a distracted manner. Therefore, the predictive driving behavior system 600 can select a distracted behavior prediction model. The predictive driving behavior system 600 may also consider other parameters to determine that the subject vehicle 602 is driving in a distracted manner and select a distracted behavior prediction model. Other parameters may include the repetition of driving actions, the degree of impact on other vehicles and objects, and environmental data.
[0172] In step 630, the predictive driving behavior system 600 can predict the next driving data of the subject vehicle 602 based on a distraction behavior prediction model. The selected distraction behavior prediction model can be used to predict the next driving data of the subject vehicle 602. The next driving data may include the next driving action that the subject vehicle 602 may perform. The next driving data of the subject vehicle 602 can be predicted based on potential indicator characteristics of slow stops and slow starts with high motion mode durations performed by the subject vehicle 602, according to one or more algorithms of the distraction behavior prediction model. The distraction behavior prediction model can predict that the next driving data includes the next driving action 632 that the subject vehicle 602 will perform when implementing lane cutting during a left turn.
[0173] A predictive driving behavior system 600 can determine whether unsafe driving has been detected based on predicted next driving data for a subject vehicle 602. Unsafe driving detection logic can be run to analyze the predicted next driving data for the subject vehicle 602 and determine whether the subject vehicle 602 is predicted to be engaging in unsafe driving. The unsafe driving detection logic may include one or more algorithms for determining whether the predicted next driving data indicates unsafe driving behavior. These algorithms may be pre-stored. The algorithms may include multiple equations and methods to determine unsafe driving behavior based on the predicted next driving data. In other applications, the unsafe driving detection logic may include ML and / or AI logic. ML and / or AI logic can be used to identify unsafe driving behavior based on predicted next driving data. The ML and / or AI logic can use data from previous sessions (whether about the same subject vehicle 602 or about other vehicles) as well as stored data to determine whether the predicted next driving data indicates unsafe driving behavior more quickly and efficiently. Many variations are possible.
[0174] By using the predicted next driving data to run unsafe driving detection logic, the predicted next driving action 632, which involves lane cutting during a left turn, can be classified as unsafe driving behavior. Therefore, the predictive driving behavior system 600 can determine that the primary vehicle 602 is predicted to be engaging in unsafe driving. The predictive driving behavior system 600 can send a notification 634 to the secondary vehicle 604 that the primary vehicle 602 is predicted to be engaging in unsafe driving. The notification 634 may include the position of the primary vehicle 602 relative to the secondary vehicle 604. The notification 634 may include the predicted next driving action 632 of the primary vehicle 602. The notification 634 may include suggested actions for the secondary vehicle 604 to take to move away from the primary vehicle 602 based on the predicted next driving action 632 of the primary vehicle 602. The notification 634 may include a message that can be displayed on the screen of the secondary vehicle 604. The notification 634 sent to the secondary vehicle 604 can help the secondary vehicle 604 avoid the primary vehicle 602.
[0175] The predictive driving behavior system 600 can improve potential indicator characteristics, distraction behavior prediction models, and unsafe driving detection logic. Before making improvements, the predictive driving behavior system 600 can monitor the driving behavior of the subject vehicle 602 to determine whether the actual next driving action performed by the subject vehicle 602 matches the predicted next driving action 632 determined using the distraction behavior prediction model. While monitoring the driving behavior of the subject vehicle 602, the predictive driving behavior system 600 can identify the actual next driving action performed by the subject vehicle 602. The predictive driving behavior system 600 can compare the actual next driving action with the predicted next driving action 632. The predictive driving behavior system 600 can determine whether the actual next driving action performed by the subject vehicle 602 matches the predicted next driving action 632.
[0176] If the actual next driving action of the subject vehicle 602 matches the predicted next driving action 632 determined by using the distraction behavior prediction model, the predictive driving behavior system 600 can infer that the determination of potential indicator characteristics, the selection and use of the distraction behavior prediction model, and the implementation of unsafe driving detection logic are accurate. Otherwise, if the actual next driving action of the subject vehicle 602 does not match the predicted next driving action 632 determined by the distraction behavior prediction model, the predictive driving behavior system 600 can determine that at least one of the following may need to be updated and improved: (i) the potential indicator characteristics of unsafe driving, (ii) the distraction behavior prediction model selected based on the potential indicator characteristics of unsafe driving, (iii) the algorithm in the distraction behavior prediction model used to predict the next driving data, and (iv) the unsafe driving detection logic used to determine whether the predicted next driving data includes actions classified as unsafe driving behaviors. Improving at least one of the potential indicator characteristics, the distraction behavior prediction model selection, the distraction behavior prediction model algorithm, and the unsafe driving detection logic can improve the accuracy and efficiency of detecting and characterizing the driving behavior of vehicles to identify unsafe drivers on the road.
[0177] The predictive driving behavior system 600 can achieve the following: Figure 1 Computing component 110 Figure 2 The computing system 210 Figure 3 Predictive driving behavior system 300 Figure 4 Process 400 and Figure 5 500 predictive driving behavior system.
[0178] Figure 7This illustration describes an example computing component 700, which includes one or more hardware processors 702 and a machine-readable storage medium 704 storing a set of machine-readable / machine-executable instructions that, when executed, cause the hardware processors 702 to perform illustrative methods of verifying obstacles. It should be appreciated that, unless otherwise stated, within the scope of the various examples discussed herein, additional, fewer, or alternative steps may be performed in a similar or alternative order or in parallel. The computing component 700 can be implemented as... Figure 1 Computing component 110 Figure 2 The computing system 210 Figure 3 Predictive driving behavior system 300 Figure 4 Process 400 Figure 5 Predictive driving behavior system 500 and Figure 6 The predictive driving behavior system 600.
[0179] In step 706, the hardware processor 702 may execute machine-readable / machine-executable instructions stored in the machine-readable storage medium 704 to receive driving data from the vehicle. The vehicle may be driving on a road. The vehicle may include, for example, a car, truck, motorcycle, bicycle, scooter, moped, recreational vehicle, and other similar on-road or off-road vehicle. The vehicle may include, for example, autonomous, semi-autonomous, and manually operated vehicles. The vehicle may include one or more sensors that can be used to collect data on the driving behavior of the vehicle itself and the driving behavior of each of one or more other vehicles. Each of one or more other vehicles may include one or more sensors that can be used to collect data on the driving behavior of the vehicle itself and the driving behavior of each of the other vehicles, including the vehicle. Other sensors for roads, infrastructure, etc., may collect driving data about the vehicle and each of the other vehicles. Many variations are possible.
[0180] Sensors may include, for example, cameras, image sensors, radar sensors, LiDAR sensors, position sensors, audio sensors, infrared sensors, microwave sensors, optical sensors, tactile sensors, magnetometers, communication systems, and Global Positioning Systems (GPS). Data can be received by at least one sensor. The vehicle can be monitored while it is traveling on the road to obtain its driving data. One or more sensors can be used to collect the vehicle's driving data. Driving data collected from multiple sensors can be combined to provide comprehensive and complete driving data. The vehicle's driving data can be collected by one or more sensors of the vehicle itself, one or more sensors of one or more other vehicles, and one or more sensors of the road (e.g., road cameras, road sensors, etc.).
[0181] In step 708, the hardware processor 702 may execute machine-readable / machine-executable instructions stored in the machine-readable storage medium 704 to analyze driving data and thereby determine the vehicle's driving behavior. The collected driving data may include information about the vehicle's driving behavior. This information may include information about one or more driving actions performed by the vehicle, such as the vehicle's speed, movement (or stillness), position, and direction of travel. The driving data may include the identity of the vehicle's driver. The driving behavior information may be associated with the driver's identity.
[0182] In step 710, the hardware processor 702 can execute machine-readable / machine-executable instructions stored in the machine-readable storage medium 704 to infer characteristics of the vehicle's driving behavior. Driving data of the vehicle's driving behavior can be used to infer characteristics of the driving behavior. Driving data from one or more other vehicles can be used to infer characteristics of the vehicle's driving behavior. Characteristics of the vehicle's driving behavior may include one or more types of actions performed by the vehicle, the repetition of each type of action, the movement pattern of the driving behavior, the duration of the movement pattern of the driving behavior, and the degree of impact of the vehicle's driving behavior on other vehicles. Types of actions that the vehicle may perform may include tentative lane changes, acceleration, deceleration, braking, weaving, sudden steering, failure to use turn signals, improper use of traffic lights, following too closely, lane drifting, failure to stop as required, failure to decelerate, speeding, driving too slowly, delayed stopping, delayed acceleration, honking, flashing headlights, failure to turn on headlights, driving at a speed limit, following traffic flow, proper use of traffic lights, and driving within a lane. The repetition of a certain type of action may include the number and frequency of each type of action in progress. Movement patterns may include a series of ongoing actions. A series of actions can include a series of actions of the same type or a combination of actions of different types. The duration of a movement pattern can include the amount of time that movement pattern is in progress. The degree of impact can include the magnitude and frequency of the impact of the vehicle's driving behavior on other vehicles.
[0183] In step 712, the hardware processor 702 may execute machine-readable / machine-executable instructions stored in the machine-readable storage medium 704 to select a predictive model based on the characteristics of the driving behavior. After inferring the characteristics of the driving behavior, one or more predictive models may be selected based on these characteristics. Some characteristics may be potential indicators of unsafe driving. Potential indicators of unsafe driving may include one or more characteristics of driving behavior, such as specific types of actions, at least a minimum degree of repetition of a certain type of action, specific types of movement patterns, at least a minimum duration of the movement pattern, and at least a minimum degree of impact on other vehicles. Types of actions that may be potential indicators of unsafe driving may include, for example, tentative lane changes, acceleration, deceleration, braking, weaving, sudden steering, failure to use turn signals, improper use of traffic lights, following too closely, lane drifting, failure to stop properly, failure to decelerate, speeding, driving too slowly, delayed stopping, delayed acceleration, honking, flashing headlights, and failure to turn on headlights.
[0184] For example, when a certain type of action is performed at least a certain number of times within a specific time period, the minimum repetition level of that type of action may be a potential indicator of unsafe driving. The minimum repetition level for a certain type of action may depend on the type of action. For example, the minimum repetition level for crossing might be a vehicle crossing more than 3 times in 10 seconds. The minimum repetition level for a certain type of action can be predetermined. The minimum repetition level for a certain type of action can be adjusted based on received data on the vehicle's historical driving behavior, data received from the road traffic network 360, data received from the road condition network 370, etc. Many variations are possible.
[0185] A motion pattern may be a potential indicator of unsafe driving when a series of actions, such as those involving at least two actions (whether of the same or different types), are considered potential indicators of unsafe driving. A motion pattern may be a potential indicator of unsafe driving when it involves one or more types of actions performed within a specific duration (e.g., 1 minute, 2 minutes, 5 minutes, 30 seconds, etc.). The duration of a motion pattern considered a potential indicator of unsafe driving may depend on one or more factors, such as time of day, traffic, road conditions, weather, number of vehicles around the vehicle, etc. Road conditions may include, for example, road damage, hazardous features on the road (i.e., obstacles), and road properties and characteristics (i.e., color, size, number of lanes, shape, etc.). Obstacles may include, for example, potholes, cracks, tire marks, faded road markings, debris, objects, glare, water accumulation, icy surfaces, oil spills, uneven road surfaces, erosion, and flaking. The obtained road condition data may be analyzed by the computing component 110 and used as a factor in determining the duration of a motion pattern considered a potential indicator of unsafe driving.
[0186] When an action performed by a vehicle could negatively impact one or more other vehicles, the degree of impact may be a potential indicator of unsafe driving. Negative impacts can include reactions from other vehicles or their drivers in response to the vehicle's actions. Reaction actions can be actions taken in response to poor or unsafe driving. For example, reactions may include shouting, hand gestures, and accident-prevention driving (i.e., changing lanes, slowing down, and accelerating). Many variations are possible.
[0187] If any inferred characteristics of driving behavior are identified as potential indicators of unsafe driving, one or more predictive models can be selected based on those characteristics. The predictive model can be an ML model used to analyze the characteristics of driving behavior to predict the vehicle's next driving action. Predictive models may include reckless behavior prediction models, aggressive behavior prediction models, and distracted behavior prediction models. Each predictive model may represent a different category of unsafe driving behavior. One or more predictive models can be selected based on one or more potential indicators of unsafe driving identified for the vehicle. Some potential indicators of unsafe driving may represent more than one category of unsafe driving behavior. Depending on the combination of one or more potential indicators of unsafe driving identified for the vehicle, the most relevant predictive model can be selected.
[0188] A reckless behavior prediction model can be selected when the identified potential indicators suggest that the vehicle is driving recklessly. A reckless behavior prediction model can be selected when the identified potential indicators, for example, include a high degree of repetitive sudden steering combined with a sudden steering pattern lasting more than one minute and speeding, and have a high impact on at least five other vehicles. Another example of potential indicators that might lead to the selection of a reckless behavior prediction model could include a high degree of repetitive tentative lane changes combined with a tentative lane change lasting more than 30 seconds, acceleration, deceleration, following too closely, and a driving pattern of not using headlights, and have at least a moderate impact on at least seven other vehicles. Many variations are possible.
[0189] An aggressive behavior prediction model can be selected when the identified potential indicators suggest that the vehicle is driving aggressively. An aggressive behavior prediction model can also be selected when the identified potential indicators include, for example, highly repetitive acceleration, deceleration, and tentative lane changes within a motion pattern lasting longer than 20 seconds that have at least a moderate impact on at least eight other vehicles. Another example of potential indicators that might lead to the selection of an aggressive behavior prediction model could include moderately repetitive speeding, weaving, and following too closely within a motion pattern lasting longer than 30 seconds that have a high impact on at least four other vehicles. Many variations are possible.
[0190] A distraction behavior prediction model can be selected when the identified potential indicators suggest that the vehicle is driving in a distracted manner. A distraction behavior prediction model can also be selected when the identified potential indicators include, for example, lane drifting and failure to use turn signals with a moderate repetition within a motion pattern lasting longer than 40 seconds that have at least a moderate impact on at least five other vehicles. Another example of potential indicators that might lead to the selection of a distraction behavior prediction model could include low-repetition weaving, failure to use turn signals, following too closely, tentative lane changes, driving too slowly, and delayed stopping within a motion pattern lasting longer than 30 seconds that have at least a moderate impact on at least six other vehicles. Many variations are possible.
[0191] There may be combinations of potential indicators of unsafe driving that can represent more than one category of unsafe driving behavior. When more than one category of unsafe driving behavior can be represented by a combination of potential indicators, each predictive model can be selected for each corresponding category of unsafe driving. Potential combinations of predictive models that can be selected may include, for example, reckless behavior prediction models and aggressive behavior prediction models, aggressive behavior prediction models and distracted behavior prediction models, etc. Many variations are possible.
[0192] In step 714, the hardware processor 702 may execute machine-readable / machine-executable instructions stored in the machine-readable storage medium 704 to determine predictive actions of the vehicle using a predictive model and environmental data of the vehicle. The selected predictive model can be used to predict the vehicle's next driving data. The next driving data may include the next driving action the vehicle might take. The vehicle's next driving data can be predicted based on identifying potential indicator characteristics of unsafe driving that the vehicle has already performed and the vehicle's environmental data, according to one or more algorithms of the predictive model. The vehicle's environmental data can be obtained from one or more sensors of the vehicle, other vehicles, roads, infrastructure, etc. Many variations are possible.
[0193] Each predictive model may include one or more algorithms for determining the predicted next driving data based on the vehicle's environmental data and identified potential indicators of unsafe driving. These algorithms may be pre-stored. They may include multiple equations and methods for determining the predicted next driving data. In other applications, each predictive model may include ML and / or AI logic. ML and / or AI logic can be used to determine the predicted next driving data. This logic can use data from previous sessions (whether about the same vehicle or other vehicles) and stored data to determine the predicted next driving data for the vehicle more quickly and efficiently, including, for example, the type of action to be performed and the driving path to be taken.
[0194] After determining the predicted next driving data for the vehicle, one or more other vehicles nearby can be notified that the vehicle is engaging in potentially unsafe driving behavior. The notification may include the vehicle's position relative to the notified vehicle. Each notified vehicle may also receive information about the predicted next driving action of the vehicle. The notification may include suggested actions for the corresponding vehicle to take to move away from the vehicle based on the predicted next driving action. The notification may include a message that can be displayed on the screen of the receiving vehicle. Notifications sent to other vehicles can help those vehicles avoid the vehicle.
[0195] In step 716, the hardware processor 702 can execute machine-readable / machine-executable instructions stored in the machine-readable storage medium 704 to monitor the vehicle and determine its next action. The vehicle's driving behavior can be monitored to determine whether the actual next driving action performed by the vehicle matches a predicted next driving action determined by one or more prediction models. While monitoring the vehicle's driving behavior, the actual next driving action performed by the vehicle can be identified. The identified actual next driving action can be compared with the predicted next driving action.
[0196] In step 718, the hardware processor 702 can execute machine-readable / machine-executable instructions stored in the machine-readable storage medium 704 to analyze the vehicle's next action to determine whether the next action matches the predicted action. It can be determined whether the actual next driving action performed by the vehicle matches the predicted next driving action. If the actual next driving action matches the vehicle's predicted next driving action, it can be determined that the potential indicators of unsafe driving, the prediction model, and the predictive analysis of the vehicle's next driving action are accurate, and can be strengthened to improve the efficiency of determining the potential indicators of unsafe driving and performing the predictive analysis of the vehicle's next driving action. If the actual next driving action does not match the vehicle's predicted next driving action, it can be determined that the potential indicators of unsafe driving, the prediction model, and / or the predictive analysis of the vehicle's next driving action need improvement to enhance the accuracy and efficiency of determining the potential indicators of unsafe driving and performing the predictive analysis of the vehicle's next driving action.
[0197] In step 720, the hardware processor 702 may execute machine-readable / machine-executable instructions stored in the machine-readable storage medium 704 to improve the predictive model based on the analysis of the vehicle's next action. If it is determined that the actual next driving action performed by the vehicle does not match the predicted next driving action, then at least one of the following needs to be updated and improved: (i) the potential indicator characteristics of unsafe driving, (ii) the predictive model selected based on the potential indicator characteristics of unsafe driving, and (iii) the logic and algorithms in the predictive model used for predictive analysis of the next driving data. Improving at least one of the potential indicators, the predictive model selection, and the predictive model algorithm and logic can improve the accuracy and efficiency of detecting and characterizing the vehicle's driving behavior to identify unsafe drivers on the road.
[0198] As used herein, the terms circuit, system, and component describe a given unit that performs a function according to one or more applications of this application. As used herein, a component can be implemented using any form of hardware, software, or a combination thereof. For example, one or more processors, controllers, ASICs, PLAs, PALs, CPLDs, FPGAs, logic components, software routines, or other mechanisms can be implemented to constitute a component. The various components described herein can be implemented as discrete components, or the described functions and features can be partially or wholly shared among one or more components. In other words, as will be apparent to a person of ordinary skill in the art after reading this specification, the various features and functions described herein can be implemented in any given application. They can be implemented in one or more independent or shared components in various combinations and arrangements. Although various feature or functional elements may be described or claimed as independent components, it should be understood that these features / functions can be shared among one or more general software and hardware elements. Such descriptions should not require or imply the use of separate hardware or software components to implement such features or functions.
[0199] When components are implemented wholly or partially using software (such as the user device applications described herein), these software elements can be implemented to work in conjunction with computing or processing components capable of performing the functions described therein. Figure 8 An example computing component 800 is shown herein. Various applications are described based on this example computing component 800. After reading this specification, it will be apparent to those skilled in the art how to implement this application using other computing components or architectures.
[0200] See now Figure 8 Computing component 800 may, for example, represent computing or processing power present in a vehicle (e.g., vehicle 150, vehicle 200), user equipment, self-adjusting display, desktop computer, laptop computer, notebook computer, and tablet computer. They may be present in handheld computing devices (tablet computers, PDAs, smartphones, cellular phones, PDAs, etc.). They may be present in workstations or other devices with displays, servers, or any other type of dedicated or general-purpose computing device that may be desirable or suitable for a given application or environment. Computing component 800 may also represent computing power embedded within or otherwise available to a given device. For example, computing components may be present in other electronic devices, such as portable computing devices, and other electronic devices that may include some form of processing power. In another example, computing components may be present in components constituting user equipment, vehicle 150, vehicle 200, predictive driving behavior circuitry 310, decision and control circuitry 303, computing system 100, computing system 210, ECU 225, etc.
[0201] The computing component 800 may include, for example, one or more processors, controllers, control components, or other processing devices. This may include processors, and components constituting... Figure 1 150 vehicles Figure 2 200 vehicles Figure 2 The computing system 210 Figure 3 Predictive driving behavior system 300 Figure 5 Predictive driving behavior system 500 and Figure 6 The processor 804 may be any one or more components of the predictive driving behavior system 600. The processor 804 may be implemented using a general-purpose or special-purpose processing engine, such as a microprocessor, controller, or other control logic. The processor 804 may be specifically configured to execute one or more instructions to perform the logic of one or more circuits described herein, such as the logic of the predictive driving behavior circuit 310, the decision and control circuit 303, and the control system 240. The processor 804 may be configured to execute one or more instructions to perform one or more methods, such as... Figure 4 , Figure 5 and Figure 6 The process described in the text, and Figure 7 The method described in [the document / document].
[0202] Processor 804 can be connected to bus 802. However, any communication medium can be used to facilitate interaction with other components of computing component 800 or for external communication. In an application, processor 804 can acquire, decode, and execute one or more instructions to control the processes and operations used to implement vehicle services as described herein. For example, instructions may correspond to those used to perform... Figure 4 , Figure 5 and Figure 6 The process described in the text and Figure 7 The steps of one or more steps of the method described in the document.
[0203] The computing component 800 may also include one or more memory components, referred to herein as main memory 808. For example, random access memory (RAM) or other dynamic memory may be used to store information and instructions to be retrieved, decoded, and executed by the processor 804. Such instructions may include one or more instructions for performing one or more logic circuits described herein. For example, instructions may include those as described herein. Figure 2 Instruction 208 and Figure 3Instruction 309. Main memory 808 can also be used to store temporary variables or other intermediate information during the execution of instructions to be fetched, decoded, and executed by processor 804. Computing component 800 may also include read-only memory (“ROM”) or other static storage devices coupled to bus 802 for storing static information and instructions for processor 804.
[0204] The computing component 800 may also include one or more different forms of information storage mechanism 810, which may include, for example, a media drive 812 and a storage unit interface 820. The media drive 812 may include a drive or other mechanism to support a fixed or removable storage medium 814. For example, a hard disk drive, solid-state drive, magnetic tape drive, optical disc drive, compact optical disc (CD) or digital video optical disc (DVD) drive (R or RW) or other removable or fixed media drive may be provided. The storage medium 814 may include, for example, a hard disk, integrated circuit assembly, magnetic tape, cassette tape, optical disc, CD, or DVD. The storage medium 814 may be any other fixed or removable medium that is read, written to, or accessed by the media drive 812. As these examples illustrate, the storage medium 814 may include a computer-usable storage medium in which computer software or data is stored.
[0205] In alternative applications, information storage unit 810 may include other similar tools for allowing computer programs or other instructions or data to be loaded into computing component 800. Such tools may include, for example, fixed or removable storage units 822 and interfaces 820. Examples of such storage units 822 and interfaces 820 may include program boxes and box interfaces, removable memory (e.g., flash memory or other removable memory components), and memory slots. Other examples may include PCMCIA slots and cards, as well as other fixed or removable storage units 822 and interfaces 820 that allow software and data to be transferred from storage unit 822 to computing component 800.
[0206] The computing component 800 may also include a communication interface 824. The communication interface 824 can be used to allow the transfer of software and data between the computing component 800 and external devices. Examples of the communication interface 824 may include a modem or softmodem, a network interface (such as Ethernet, a network interface card, IEEE 802.XX, or other interfaces). Other examples include communication ports (such as USB ports, IR ports, RS232 ports, Bluetooth® interfaces, or other ports) or other communication interfaces. Software / data transferred via the communication interface 824 may be carried on signals, which may be electronic signals, electromagnetic signals (including optical signals), or other signals that can be exchanged through a given communication interface 824. These signals may be provided to the communication interface 824 via a channel 828. The channel 828 may carry signals and may be implemented using wired or wireless communication media. Some examples of channels may include telephone lines, cellular links, RF links, optical links, network interfaces, local area networks (LANs) or wide area networks (WANs), and other wired or wireless communication channels.
[0207] In this document, the terms "computer program medium" and "computer-usable medium" are generally used to refer to temporary or non-temporary media. Such media may, for example, be memory 808, storage cell 822, medium 814, and channel 828. These and other various forms of computer program media or computer-usable media may involve delivering one or more sequences of one or more instructions to a processing device for execution. Such instructions embodied on the medium are generally referred to as "computer program code" or "computer program product" (which may be grouped as a computer program or other grouping). When executed, such instructions enable computing component 800 to perform the features or functions of this application as discussed herein.
[0208] As described herein, a vehicle can be an aircraft, a semi-submersible, a submersible, a vessel, a road vehicle, an off-road vehicle, a passenger vehicle, a truck, a tram, a train, a drone, a motorcycle, a bicycle, or other vehicle. As used herein, a vehicle can be any form of powered or unpowered transport. Obstacles can include one or more potholes, cracks, tire marks, faded road markings, debris, objects, obstructions, road glare, standing water, icy surfaces, oil spills, road surface irregularities, erosion, aggregate spalling, and other potentially hazardous conditions on the road. Although roads are mentioned herein, it should be understood that this disclosure is not limited to roads, nor to one-dimensional (1d) or two-dimensional (2d) traffic patterns.
[0209] The terms “operably connected,” “coupled,” or “coupled to” as used throughout this specification may include direct or indirect connections, including connections without direct physical contact, electrical connections, optical connections, etc.
[0210] The terms “one” and “an” as used herein are defined as one or more. The term “multiple” as used herein is defined as two or more. The term “another” as used herein is defined as at least a second or more. The terms “including” and “having” as used herein are defined as encompassing (i.e., open-ended language). The phrase “at least one of… and…” as used herein refers to and includes any one of one or more related enumerated items and all possible combinations thereof. For example, the phrase “at least one of A, B, or C” includes only A, only B, only C, or any combination thereof (e.g., AB, AC, BC, or ABC).
[0211] Various aspects thereof may be embodied in other forms without departing from their spirit or essential attributes. Therefore, reference should be made to the following claims rather than the foregoing description to indicate its scope. While various applications of the disclosed technology have been described above, it should be understood that they are given by way of example only and not as limitations. Similarly, the various figures may depict exemplary architectures or other configurations of the disclosed technology, done to aid in understanding the features and functions that may be included in the disclosed technology. The disclosed technology is not limited to the exemplary architectures or configurations shown in the figures, but various alternative architectures and configurations may be used to implement the desired features. Indeed, it will be apparent to those skilled in the art how alternative functions, logical or physical partitions and configurations can be implemented to achieve the desired features of the technology disclosed herein. Furthermore, many different names for component modules may be applied to various partitions in addition to those depicted herein. Additionally, with regard to flowcharts, descriptions of operation, and method claims, unless the context otherwise requires, the order of steps presented herein should not compel various applications to be implemented in the same order and to utilize each step shown to perform the stated functions.
[0212] Although the disclosed techniques have been described above with reference to various exemplary applications and implementations, it should be understood that the various features, aspects, and functions described in one or more individual applications are not limited in their applicability to the specific applications in which they are used to describe these features, aspects, and functions, but can be applied individually or in various combinations to one or more other applications of the disclosed techniques, whether or not such applications have been described, and whether or not such features are presented as part of the described applications. Therefore, the breadth and scope of the techniques disclosed herein should not be limited by any of the exemplary applications described above.
[0213] Unless otherwise expressly stated, the terms and phrases used in this document and their variations should be interpreted as open-ended, not restrictive. As examples above: the term “including” should be interpreted as meaning “including, but not limited to”, etc.; the term “example” is used to provide exemplary instances of the items discussed, not an exhaustive or restrictive list thereof; the terms “a” or “an” should be interpreted as meaning “at least one,” “one or more,” etc.; adjectives such as “conventional,” “traditional,” “usual,” “standard,” “known,” and similar expressions should not be interpreted as limiting the described items to a given time period or to items available up to a given time, but should be interpreted as including conventional, traditional, usual, or standard techniques that may be available or known now or at any future time. Similarly, when this document refers to techniques that are obvious or known to a person skilled in the art, such techniques include techniques that are obvious or known to a person skilled in the art now or at any future time.
[0214] In some cases, the presence of extended words and phrases such as “one or more,” “at least,” “but not limited to,” or other similar phrases should not be interpreted as implying a narrower intent or requirement in situations where such extended phrases might not exist. The use of the term “module” does not imply that the components or functions described or claimed as part of that module are configured within a common encapsulation. In fact, any or all of the various components of a module (whether control logic or other components) can be combined in a single encapsulation or maintained separately, and can also be distributed across multiple groups or encapsulations, or distributed across multiple locations.
[0215] Furthermore, the various applications described herein are based on exemplary block diagrams, flowcharts, and other illustrations. As will become apparent to those skilled in the art after reading this document, the applications illustrated and their various alternatives can be implemented without being limited to the examples shown in the diagrams. For example, the block diagrams and their accompanying descriptions should not be construed as imposing a specific architecture or configuration.
Claims
1. A method for improving the computer implementation of predictive driving actions, the method comprising: Analyze the vehicle's driving data to determine the vehicle's driving behavior; Inferring the characteristics of driving behavior based on the determined driving behavior; Select the prediction model according to the aforementioned characteristics; Using the prediction model, predictive actions of the vehicle are determined based on the vehicle's environmental data; Monitor the vehicle to determine its next action; Analyze the next action to determine whether it matches the predicted action; and The prediction model is improved based on the analysis of the next action.
2. The computer-implemented method according to claim 1, wherein the driving data of the vehicle includes the identity of the driver of the vehicle.
3. The computer-implemented method according to claim 1, wherein the driving behavior of the vehicle includes one or more actions performed by the vehicle while it is in motion.
4. The computer-implemented method according to claim 1, wherein the characteristics of the driving behavior include the type of action performed by the vehicle, the repetition of the type of action, the movement pattern, the time period of the movement pattern, and the degree of influence.
5. The computer-implemented method according to claim 4, wherein the types of actions include tentative lane change, acceleration, deceleration, braking, weaving, sudden turning, failure to use turn signals, following too closely, lane drifting, failure to park properly, speeding, driving too slowly, delayed stopping, delayed acceleration, honking, flashing headlights, and failure to turn on headlights.
6. The computer-implemented method according to claim 1, wherein the prediction model includes at least one of the group of models: a reckless behavior prediction model, an aggressive behavior prediction model, and a distracted behavior prediction model.
7. The computer-implemented method according to claim 6, wherein each prediction model is generated based on driving data from multiple vehicles.
8. The computer-implemented method according to claim 1, wherein the environmental data includes traffic, traffic signs, weather, road conditions, and information about the environment surrounding the vehicle.
9. The computer-implemented method according to claim 2, wherein determining the predictive action of the vehicle is further based on stored driving data of the driver of the vehicle.
10. The computer-implemented method according to claim 1, further comprising: The predicted action of the vehicle is determined to be an unsafe action; as well as The first driver of the first vehicle is notified of the predicted action of the vehicle, wherein the first vehicle is in a dangerous position threatened by the predicted action of the vehicle.
11. The computer-implemented method of claim 10, wherein determining that a predictive action of the vehicle is an unsafe action is based on a driving detection algorithm associated with the predictive model.
12. The computer-implemented method according to claim 10, wherein the unsafe actions include multiple tentative lane changes, frequent acceleration, frequent deceleration, frequent braking, frequent crossing, frequent sudden turns, frequent flashing of headlights, following too closely for extended periods, aggressive speeding, and driving through intersections without stopping.
13. The computer-implemented method of claim 1, wherein improving the prediction model includes generating new rules for inferring driving behavior characteristics.
14. A computational system for improving predictive driving actions, comprising: One or more processors; and A memory coupled to the one or more processors to store instructions that, when executed by the one or more processors, cause the one or more processors to operate, the operations including: Analyze the vehicle's driving data to determine the vehicle's driving behavior; Inferring the characteristics of driving behavior based on the determined driving behavior; Select the prediction model according to the aforementioned characteristics; Using the prediction model, predictive actions of the vehicle are determined based on the vehicle's environmental data; Monitor the vehicle to determine its next action; Analyze the next action to determine whether it matches the predicted action; and The prediction model is improved based on the analysis of the next action.
15. The computing system according to claim 14, wherein the characteristics of the driving behavior include the type of action performed by the vehicle, the repetition of the type of action, the movement pattern, the time period of the movement pattern, and the degree of influence.
16. The computing system according to claim 15, wherein the types of actions include tentative lane change, acceleration, deceleration, braking, weaving, sudden turning, failure to use turn signal, following too closely, lane drifting, failure to park properly, speeding, driving too slowly, delayed stopping, delayed acceleration, honking, flashing headlights, and failure to turn on headlights.
17. The computing system according to claim 14, wherein the prediction model includes at least one of the group of reckless behavior prediction models, aggressive behavior prediction models, and distracted behavior prediction models.
18. The computing system according to claim 14, further comprising: The predicted action of the vehicle is determined to be an unsafe action; as well as The first driver of the first vehicle is notified of the predicted action of the vehicle, wherein the first vehicle is in a dangerous position threatened by the predicted action of the vehicle.
19. The computing system according to claim 18, wherein the unsafe actions include multiple tentative lane changes, frequent acceleration, frequent deceleration, frequent braking, frequent crossing, frequent sudden turns, frequent flashing of headlights, following too closely for extended periods, aggressive speeding, and driving through intersections without stopping.
20. A non-transitory machine-readable medium storing instructions that, when executed by a processor, cause the processor to perform operations, the operations including: Analyze the vehicle's driving data to determine the vehicle's driving behavior; Inferring the characteristics of driving behavior based on the determined driving behavior; Select the prediction model according to the aforementioned characteristics; Using the prediction model, predictive actions of the vehicle are determined based on the vehicle's environmental data; Monitor the vehicle to determine its next action; Analyze the next action to determine whether it matches the predicted action; and The prediction model is improved based on the analysis of the next action.