System and method for detecting predictive driving behavior

The system enhances predictive driving analysis by analyzing vehicle data, inferring characteristics, and selecting predictive models to accurately detect and prevent dangerous driving behaviors, reducing road accidents.

JP2026099761APending Publication Date: 2026-06-18TOYOTA JIDOSHA KK

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
TOYOTA JIDOSHA KK
Filing Date
2025-12-01
Publication Date
2026-06-18

AI Technical Summary

Technical Problem

Current systems struggle to accurately detect and predict dangerous driving behaviors, leading to increased accidents and safety risks on the road.

Method used

A system and method for refining predictive driving actions by analyzing vehicle driving data, inferring characteristics, selecting predictive models, and monitoring next actions to enhance predictive analysis and detection of dangerous driving behaviors.

Benefits of technology

Improves the accuracy and efficiency of detecting and predicting dangerous driving behaviors, enabling proactive measures to prevent accidents.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026099761000001_ABST
    Figure 2026099761000001_ABST
Patent Text Reader

Abstract

A system and method for detecting predictive driving behavior. [Solution] A system and method are provided for refining predictive driving actions. The system and method can receive vehicle driving data. The driving data can be analyzed to determine the vehicle's driving behavior. The system and method can infer the characteristics of the driving behavior. Predictive models can be selected for use according to their characteristics. Predictive models may include reckless behavior prediction models, aggressive behavior prediction models, and distracted behavior prediction models. Using the selected predictive models, predictive actions for the vehicle can be determined according to the vehicle's driving data and environmental data. The system and method can monitor the vehicle to determine the vehicle's next action. The next action can be analyzed to determine whether it matches a predicted action. The system and method can refine the predictive model according to the analysis of the next action.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure generally relates to the detection of abnormal driving. More specifically, some aspects of the systems and methods described herein relate to methods and systems for refining the predictive analysis of a vehicle's driving behavior when a dangerous driving is detected.

Background Art

[0002] Vehicles that exhibit abnormal driving behavior can lead to dangerous driving that abuses or endangers the safety of the vehicle and its driver, as well as the safety of other vehicles and people. Dangerous driving behaviors can be characterized as (i) aggressive driving, including, for example, tailgating or cutting in, (ii) distracted driving, including, for example, swerving or a driver's delayed reaction, or (iii) reckless driving, including, for example, proceeding on a green light or changing lanes without signaling. According to research, (i) more than half of accidents involve at least one aggressive driver, (ii) more than 80% of drivers in the United States are involved in distracted driving, and (iii) the most frequent type of collision in the United States is rear-end collision, which is mainly caused by the distracted or reckless driving behavior of the following vehicle. To address these problems and help prevent accidents caused by dangerous driving behaviors, early and accurate detection of dangerous driving behaviors is important and essential when performing predictive analysis to generate preventive measures. The system needs to analyze the detected dangerous driving behavior to refine the predictive analysis to ensure that accurate preventive measures are generated.

Summary of the Invention

[0003] According to various aspects of the disclosed technology, systems and methods for refining predictive driving actions are provided.

[0004] Several implementations provide a method for refining predictive driving actions. The method may include analyzing vehicle driving data to determine the vehicle's driving behavior, inferring the 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 the vehicle's predictive action according to the vehicle's environmental data, monitoring the vehicle to determine the vehicle's next action, analyzing the next action to determine whether it matches the predictive action, and refining the predictive model according to the analysis of the next action.

[0005] In some applications, vehicle driving data may include identification information of the vehicle's driver.

[0006] In some application examples, the driving behavior of a vehicle can include one or more actions performed by the vehicle while it is in motion.

[0007] In some applications, the characteristics of driving behavior may include the type of action performed by the vehicle, the degree of repetition of that type of action, the motion pattern, the duration of the motion pattern, and the degree of influence.

[0008] In some applications, the type of action may include nudging, accelerating, decelerating, braking, weaving, swerving, failure to signal, aggressive driving, lane departure, failure to stop, speeding, slowing down, delayed stopping, delayed acceleration, honking, flashing headlights, and headlights off.

[0009] In some applications, the predictive model may include at least one from the group consisting of reckless behavior predictive models, aggressive behavior predictive models, and distracted behavior predictive models.

[0010] In some applications, each predictive model can be generated based on driving data from multiple vehicles.

[0011] In some applications, environmental data can include information about traffic, traffic signs, weather, road conditions, and the surroundings of the vehicle.

[0012] In some applications, predicting a vehicle's actions can be 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 a vehicle is a dangerous action, and notifying the first driver of a first vehicle that is in a dangerous position from the predicted action of the vehicle.

[0014] In some applications, determining whether a vehicle's predicted action is a dangerous action can be based on a driving detection algorithm associated with the predictive model.

[0015] In some applications, dangerous behavior may include multiple nudges, frequent acceleration, frequent deceleration, frequent braking, frequent weaving, frequent swerving, frequent flashing of headlights, prolonged tailgating, aggressive speeding, and passing through intersections without stopping.

[0016] In some applications, refining a predictive model may involve generating new rules for inferring driving behavior characteristics.

[0017] In another embodiment, a system for refining predictive driving actions is provided, comprising one or more processors and a memory coupled to one or more processors for storing instructions, wherein when an instruction is executed by one or more processors, it causes one or more processors to perform an action. The action may include analyzing vehicle driving data to determine the vehicle's driving behavior, 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 a predicted action for the vehicle according to the vehicle's environmental data, monitoring the vehicle to determine the vehicle's next action, analyzing the next action to determine whether the next action matches a predicted action, and refining the predictive model according to the analysis of the next action.

[0018] In some applications, vehicle driving data may include identification information of the vehicle's driver.

[0019] In some application examples, the driving behavior of a vehicle can include one or more actions performed by the vehicle while it is in motion.

[0020] In some applications, the characteristics of driving behavior may include the type of action performed by the vehicle, the degree of repetition of that type of action, the motion pattern, the duration of the motion pattern, and the degree of influence.

[0021] In some applications, the type of action may include nudging, accelerating, decelerating, braking, weaving, swerving, failing to signal, tailgating, lane departure, failing to stop, speeding, slowing down, delaying stopping, delaying acceleration, honking the horn, flashing headlights, and turning off headlights.

[0022] In some application examples, the prediction model can include at least one of the group consisting of a reckless behavior prediction model, an aggressive behavior prediction model, and a distracted behavior prediction model.

[0023] In some application examples, each prediction model can be generated according to the driving data of multiple vehicles.

[0024] In some application examples, the environmental data can include information on traffic, traffic signs, weather, road conditions, and the surroundings of the vehicle.

[0025] In some application examples, determining the predicted action of the vehicle can be further based on the stored driving data of the driver of the vehicle.

[0026] In some application examples, the system can further include operations including determining that the predicted action of the vehicle is a dangerous action and notifying the first driver of the first vehicle at a dangerous position from the predicted action of the vehicle of the predicted action of the vehicle.

[0027] In some application examples, determining that the predicted action of the vehicle is a dangerous action can be based on a driving detection algorithm associated with the prediction model.

[0028] In some application examples, dangerous actions can include multiple nudges, frequent acceleration, frequent deceleration, frequent braking, frequent weaving, frequent swerving, frequent flashing of headlights, long-term tailgating, aggressive speeding, and passing through intersections without stopping.

[0029] In some application examples, refining the prediction model can include generating new rules regarding the inference of driving behavior characteristics.

[0030] In another aspect, a non-transitory machine-readable medium is provided. The non-transitory computer-readable medium can include instructions that, when executed by a processor, cause the processor to analyze driving data of a vehicle to determine a driving behavior of the vehicle, infer characteristics of the driving behavior based on the determined driving behavior, select a prediction model according to the characteristics, use the prediction model to determine a predicted action of the vehicle according to environmental data of the vehicle, monitor the vehicle to determine a next action of the vehicle, analyze the next action to determine whether the next action matches the predicted action, and refine the prediction model according to the analysis of the next action.

[0031] In some applications, the driving data of the vehicle can include identification information of the driver of the vehicle.

[0032] In some applications, the driving behavior of the vehicle can include one or more actions performed by the vehicle while in motion.

[0033] In some applications, the characteristics of the driving behavior can include the type of action performed by the vehicle, the degree of repetition of the type of action, the movement pattern, the duration of the movement pattern, and the degree of influence.

[0034] In some applications, the type of action can include nudging, accelerating, decelerating, braking, weaving, swerving, failure to signal, aggressive driving, lane departure, failure to stop, speeding, creeping, delay in stopping, delay in accelerating, honking, flashing of headlights, and non-illumination of headlights.

[0035] In some applications, the prediction model can include at least one of the group consisting of a reckless behavior prediction model, an aggressive behavior prediction model, and a distracted behavior prediction model.

[0036] In some applications, each predictive model can be generated based on driving data from multiple vehicles.

[0037] In some applications, environmental data can include information about traffic, traffic signs, weather, road conditions, and the surroundings of the vehicle.

[0038] In some applications, predicting a vehicle's actions can be based on stored driving data of the vehicle's driver.

[0039] In some applications, the non-temporary machine-readable medium may further include actions that include determining that the predicted action of a vehicle is a dangerous action, and notifying the first driver of a first vehicle that is in a dangerous position from the predicted action of the vehicle.

[0040] In some applications, determining whether a vehicle's predicted action is a dangerous action can be based on a driving detection algorithm associated with the predictive model.

[0041] In some applications, dangerous behavior may include multiple nudges, frequent acceleration, frequent deceleration, frequent braking, frequent weaving, frequent swerving, frequent flashing of headlights, prolonged tailgating, aggressive speeding, and passing through intersections without stopping.

[0042] In some applications, refining a predictive model may involve generating new rules for inferring driving behavior characteristics.

[0043] Other features and aspects of the disclosed technology will become apparent from the following “Modes for Carrying Out the Invention,” together with the accompanying drawings illustrating features by application examples of the disclosed technology. This summary is not intended to limit the scope of any invention described herein, and the scope of the invention is defined solely by the claims appended herein. [Brief explanation of the drawing]

[0044] This disclosure will be described in detail with reference to the following drawings, according to one or more different applications. The drawings are provided for illustrative purposes only and only show typical or exemplary applications. [Figure 1] Figure 1 shows an exemplary computing system for refining predictive driving actions using an exemplary application described in this disclosure. [Figure 2] Figure 2 shows an exemplary vehicle that can implement an application example of the disclosed technology. [Figure 3] Figure 3 shows an exemplary system for refining predictive driving actions using an exemplary application described in this disclosure. [Figure 4] Figure 4 illustrates an exemplary process for refining predictive driving actions using an exemplary application described in this disclosure. [Figure 5] Figure 5 shows an exemplary system for refining predictive driving actions using an exemplary application described in this disclosure. [Figure 6] Figure 6 shows an exemplary system for refining predictive driving actions using an exemplary application described in this disclosure. [Figure 7] Figure 7 shows an exemplary computing component, which includes one or more hardware processors and a machine-readable storage medium that stores a set of machine-readable instructions / machine-executable instructions that, when executed, cause one or more hardware processors to perform exemplary methods for refining predictive driving actions as described in the exemplary applications of this disclosure. [Figure 8] Figure 8 shows a block diagram of exemplary computing components that can be used to implement various features of the embodiments described herein.

[0045] The drawings are not exhaustive and do not limit this disclosure to the exact form disclosed. [Modes for carrying out the invention]

[0046] Vehicles can be used as a means of transport 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 further include autonomous, semi-autonomous, and manual vehicles. As vehicles are a major source of public transport, it is important that they operate in a safe and responsible manner to ensure public safety. When vehicles are operating on the road, current programs have difficulty accurately and efficiently detecting dangerous driving behavior and accurately and efficiently predicting the subsequent actions of dangerously driven vehicles.

[0047] Embodiments of the technology disclosed herein can provide systems and methods configured to detect dangerous driving behaviors and to refine predictive driving actions. The ego vehicle may be moving on a road. The ego vehicle may include, for example, automobiles, trucks, motorcycles, bicycles, scooters, mopeds, recreational vehicles, and other similar on-road or off-road vehicles. The ego vehicle may include, for example, autonomous, semi-autonomous, or manually operated vehicles. The ego vehicle may include one or more sensors that can be used to collect data on its own driving behavior and the driving behavior of one or more other vehicles operating in its vicinity. Each of the one or more other vehicles may 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 ego vehicle. Other sensors, such as road and infrastructure elements, may also be used to collect driving data on the ego vehicle and each of the other vehicles, as well as data on other factors such as the environment and road conditions. Many variations are possible.

[0048] Examples of sensors include cameras, image sensors, radar sensors, light detection and ranging (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 the own vehicle, can be monitored while moving along the road to acquire driving data for each vehicle. Driving data for a vehicle, such as the own vehicle, can be collected using one or more sensors. Driving data for a vehicle, including the own vehicle, collected from multiple sensors can be combined to provide collective and complete driving data for each vehicle. Driving data for the own vehicle may be collected by one or more sensors in the own vehicle, one or more sensors in one or more other vehicles, and one or more sensors on the road, such as road cameras and road sensors.

[0049] The driving data of the vehicle that is collected and received may include information about the vehicle's driving behavior. This information may include, for example, information about one or more driving actions performed by the vehicle, including the vehicle's speed, movement (or lack thereof), position, and direction of travel. The driving data of the vehicle may include identification information of the vehicle's driver. The driving behavior information may be associated with the driver's identification information.

[0050] Driving data of one's own vehicle's driving behavior can be used to infer the characteristics of that driving behavior. Driving data of other vehicles can be used to infer the characteristics of one's own vehicle's driving behavior. The characteristics of one's own vehicle's driving behavior can include one or more types of actions performed by one's own vehicle, the degree of repetition of each type of action, the motion pattern of the driving behavior, the duration of the motion pattern of the driving behavior, and the degree of impact caused to other vehicles by one's own vehicle's driving behavior. Action types that one's own vehicle can perform can include nudge, acceleration, deceleration, braking, weaving, swerving, failure to signal, inaccurate signaling, aggressive driving, lane departure, failure to stop, failure to slow down, speeding, slow driving, delayed stopping, delayed acceleration, honking, flashing headlights, headlights off, driving within the speed limit, driving in line with the flow of traffic, proper signaling, and driving within the lane. The degree of repetition of an action type can include the quantity and frequency of each type of action being performed. The motion pattern can include a sequence of actions being performed. A sequence of actions can include a sequence of the same type of action, or a sequence of combinations of different types of actions. The duration of a motion pattern may include the time the motion pattern is being performed. The degree of impact may include the amount and frequency of the impact that the vehicle's driving behavior has on other vehicles.

[0051] After the characteristics of driving behavior have been inferred, one or more predictive models can be selected based on those characteristics. Some characteristics may be potential indicators of dangerous driving. Potential indicators of dangerous driving may include one or more characteristics of driving behavior, such as a specific type of action, at least a minimum amount of repetition of the type of action, a specific type of movement pattern, at least a minimum amount of duration of the movement pattern, and at least a minimum amount of impact on other vehicles. Types of actions that may be potential indicators of dangerous driving may include, for example, nudging, acceleration, deceleration, braking, weaving, swerving, failure to signal, inaccurate signaling, aggressive driving, lane departure, failure to stop, failure to slow down, speeding, driving slowly, delayed stopping, delayed acceleration, honking, flashing headlights, and headlights off.

[0052] The minimum number of repetitions of an action type can be a potential indicator of dangerous driving, for example, when that type of action is performed at least a certain number of times within a specific period. The minimum number of repetitions of an action type can depend on the type of action. For example, the minimum number of repetitions of weaving may be more than X weavings by a vehicle within a span of Y seconds. The minimum number of repetitions of an action type can be predetermined. The minimum number of repetitions of an action type can be adjusted according to 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.

[0053] A motion pattern that may be a potential indicator of dangerous driving when a sequence of actions is performed includes, for example, at least two actions that are potential indicators of dangerous driving, whether they are of the same type or different types. The duration of a motion pattern may be a potential indicator of dangerous driving if it includes one or more types of actions performed within a specific duration, such as one minute, two minutes, five minutes, or 30 seconds. The duration of a motion pattern that is considered a potential indicator of dangerous driving may depend on one or more factors, such as time of day, traffic, road conditions, weather, and the number of vehicles surrounding the vehicle. Road conditions may include, for example, damage to the road, dangerous features on the road (i.e., obstacles), and attributes and characteristics of the road (i.e., color, size, number of lanes, shape, etc.). Obstacles may include, for example, potholes, cracks, tire markings, faded road markings, rubble, objects, blockages, road surface reflections, floods, frozen surfaces, oil spills, uneven pavement, erosion, and raveling. The acquired road condition data can be analyzed by the computing component 110 and used as a factor to determine the duration of movement patterns that should be considered potential indicators of dangerous driving.

[0054] The degree of impact can be a potential indicator of dangerous driving if an action performed by one's own vehicle could adversely affect one or more other vehicles. Adverse impacts may include reactions made by other vehicles or their drivers in response to actions performed by one's own vehicle. These reaction actions may be those taken in response to bad or dangerous driving. For example, reactions may include shouting, hand gestures, and accident prevention actions (i.e., lane changes, deceleration, and acceleration). Many variations are possible.

[0055] If any inferred characteristic of driving behavior is determined to be a potential indicator of dangerous driving, one or more predictive models can be selected based on (one or more) inferred characteristics. The predictive models may be ML models used to analyze characteristics of driving behavior and predict the vehicle's next driving action. Predictive models may include reckless behavior predictive models, aggressive behavior predictive models, and distracted behavior predictive models. Each predictive model may represent a different category of dangerous driving behavior. One or more predictive models can be selected based on one or more potential indicators of dangerous driving determined for the vehicle. Several potential indicators of dangerous driving may represent two or more categories of dangerous driving behavior. Depending on the combination of one or more potential indicators of dangerous driving determined for the vehicle, the most relevant (one or more) predictive models can be selected.

[0056] A reckless behavior prediction model may be selected when latent indicators that determine the vehicle is being driven recklessly indicate this. A reckless behavior prediction model may be selected when the determined latent indicators include, for example, high-frequency swerving with a duration exceeding one minute, having a motion pattern involving swerving and speeding, and having a high degree of impact on at least five other vehicles. Another example of determined latent indicators that may lead to the selection of a reckless behavior prediction model could include a high degree of nudge repetitions with a motion pattern of nudge, acceleration, deceleration, tailgating, and headlight-off motion, having a duration exceeding 30 seconds, and having at least a moderate impact on at least seven other vehicles. Many variations are possible.

[0057] An aggressive behavior prediction model may be selected if latent indicators that determine the vehicle is being driven in an aggressive manner indicate this. The aggressive behavior prediction model may be selected if the determined latent indicators include, for example, a high degree of repetition of acceleration, deceleration, and nudges within a motion pattern lasting more than 20 seconds, with at least a moderate impact on at least eight other vehicles. Another example of determined latent indicators that may lead to the selection of an aggressive behavior prediction model could include a moderate degree of repetition of speeding, weaving, and aggressive driving within a motion pattern lasting more than 30 seconds, with a high degree of impact on at least four other vehicles. Many variations are possible.

[0058] A distracted behavior prediction model may be selected if latent indicators determine that the vehicle is being driven in a distracted manner. The distracted behavior prediction model may be selected if the determined latent indicators include, for example, moderate repetitions of lane departure and signal failure within a motion pattern lasting more than 40 seconds, with at least moderate impact on at least five other vehicles. Another example of determined latent indicators that may lead to the selection of a distracted behavior prediction model could include a low degree of repetition of weaving, signal failure, aggressive driving, nudges, slowing down, and delayed stops within a motion pattern lasting more than 30 seconds, with at least moderate impact on at least six other vehicles. Many variations are possible.

[0059] There may be combinations of latent indicators of dangerous driving that can represent two or more categories of dangerous driving behavior. When two or more categories of dangerous driving behavior can be represented by a combination of latent indicators, a predictive model can be selected for each represented category of dangerous driving. Potential combinations of predictive models that can be selected include, for example, a reckless behavior predictive model and an aggressive behavior predictive model, or an aggressive behavior predictive model and a distracted behavior predictive model. Many variations are possible.

[0060] One or more selected predictive models can be used to predict the vehicle's next driving data. This next driving data may include the next driving action the vehicle can perform. The vehicle's next driving data can be predicted according to one or more algorithms of the predictive models, based on the potential indicator characteristics of dangerous driving determined to have been performed by the vehicle and the vehicle's environmental data. The vehicle's environmental data can be obtained from one or more sensors, such as those of the vehicle itself, other vehicles, roads, and infrastructure. Many variations are possible.

[0061] Each predictive model may include one or more algorithms used to determine the next predicted driving data based on the vehicle's environmental data and the identified potential indicator characteristics of dangerous driving. One or more algorithms may be pre-stored. One or more algorithms may include multiple expressions and methods for determining the next predicted driving data. In other applications, each predictive model may include ML and / or AI logic. ML and / or AI logic may be used to determine the next predicted driving data. Using data from previous sessions, whether relating to the same vehicle or other vehicles, and stored data, ML and / or AI logic can more quickly and efficiently determine the next predicted driving data to be performed by the vehicle, including, for example, the type of action to be performed and the path of progress to be taken.

[0062] When determining the predicted next driving data for your vehicle, you can notify one or more other vehicles in your vicinity that your vehicle is performing potentially dangerous driving behavior. The notification may include the location of your vehicle relative to each notified vehicle. Each notified vehicle may also receive information about the predicted next driving action of your vehicle. Based on the predicted next driving action of your vehicle, the notification may include suggestive actions for each vehicle to take to navigate away from your vehicle. The notification may include a message that can be displayed on the screen of each vehicle receiving the notification. Notifications to other vehicles can help them avoid your vehicle.

[0063] By monitoring the driving behavior of the vehicle, it is possible to determine whether the actual next driving action performed by the vehicle matches the predicted next driving action determined by one or more predictive models. While monitoring the driving behavior of the vehicle, the actual next driving action performed by the subject vehicle can be identified. The identified actual next driving action of the vehicle may be compared with the predicted next driving action.

[0064] It is possible to determine whether the actual next driving action performed by the vehicle matches the predicted next driving action. If the actual next driving action matches the predicted next driving action of the vehicle, it can be determined that the potential indicator characteristics of dangerous driving, (one or more) predictive models, and predictive analysis of the vehicle's next driving action are accurate and can be enhanced to improve the efficiency of determining the potential indicator characteristics of dangerous driving and performing predictive analysis of the vehicle's next driving action. If the actual next driving action does not match the predicted next driving action of the vehicle, it can be determined that the potential indicator characteristics of dangerous driving, (one or more) predictive models, and / or predictive analysis of the vehicle's next driving action need to be refined to improve the accuracy and efficiency of determining the potential indicator characteristics of dangerous driving and performing predictive analysis of the vehicle's next driving action.

[0065] If it is determined that the actual next driving action performed by the vehicle does not match the predicted next driving action, it can be determined that at least one of the following needs to be updated and refined: (i) the potential indicator characteristics of dangerous driving, (ii) one or more predictive models selected based on the potential indicator characteristics of dangerous driving, and (iii) one or more algorithms in the predictive models and logic used to perform predictive analysis of the next driving data. By refining the potential indicators, the selection of one or more predictive models, and at least one of the algorithms and logic in the predictive models, the accuracy and efficiency of detecting and characterizing the driving behavior of vehicles in order to identify dangerous drivers on the road can be improved.

[0066] It should be noted that, as used herein, terms such as “accurate” and “precise” can be used to mean achieving or realizing the most effective or perfect performance possible. However, as a person skilled in the art reading this specification will recognize, perfection is not always achieved. Therefore, these terms may also encompass achieving or realizing the best possible, effective, or practical performance under given circumstances, or achieving or realizing performance better than that which could be achieved with other settings or parameters.

[0067] Figure 1 shows one embodiment of a computing system 100 that may be located inside or otherwise associated with the vehicle 150. In some embodiments, the computing system 100 may be a machine learning (ML) pipeline and model, and ML algorithms may be used. In some embodiments, the vehicle 150 may include an autonomous, semi-autonomous, or manual vehicle that can implement applications of the disclosed technology. In some embodiments, the vehicle 150 may include automobiles, trucks, motorcycles, bicycles, scooters, mopeds, recreational vehicles, and other similar on-road or off-road vehicles that may include autonomous, semi-autonomous, and manual operation. In some embodiments, the vehicle 150 may include computing devices such as desktop computers, laptops, mobile phones, tablet devices, and Internet of Things (IoT) devices. The vehicle 150 may input data to a computing component 110. The computing component 110 may perform one or more available actions on the input data to generate outputs such as detection of dangerous driving behavior and prediction of driving actions. Vehicle 150 can further display output on a graphical user interface (GUI). The GUI may be located on Vehicle 150 and may display output as two-dimensional (2D) and three-dimensional (3D) layouts and maps showing various outputs generated by algorithms such as ML algorithms based on various input data such as road conditions, environmental conditions, lane markers, traffic, vehicle speed, vehicle direction, obstacles, and sensor data of objects from the vehicle and the road.

[0068] The computing system 110 in the illustrated embodiment may include one or more processors and logic 130 that implement instructions for performing the functions of the computing component 110, these functions including, for example, receiving driving data of 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 predictive model according to the characteristics; using the predictive model to determine a predicted action of vehicle 150 according to the 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 a predicted action; and refining the predictive model according to the analysis of the next action. The computing component 110 may store in the database 120 several algorithms, image datasets, and details of scenarios or conditions in which evaluations are performed and used to detect dangerous driving behavior and predict driving actions. Some of the scenarios or conditions are shown in the following figures.

[0069] The processor may include one or more GPUs, CPUs, microprocessors, or any other suitable processing systems. 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-temporary computer-readable medium. The logic 130 may include instructions (e.g., program logic) that can be executed by one or more processors to perform various functions of the computing component 110. The logic 130 may also include additional instructions that include instructions for sending data to the vehicle 150, receiving data from the vehicle 150, and interacting with the vehicle 150.

[0070] ML can refer to methods that, through the use of algorithms, can automatically extract intelligence or rules from training datasets and capture the same in information models. These models can then make predictions based on patterns or inferences collected from subsequent data input to trained models, such as predictive models for driving behavior detection and predictive analysis. Depending on the implementation of the disclosed technology, ML algorithms include, among other embodiments, algorithms that perform Gaussian processes. The ML algorithms disclosed herein may be supervised and / or unsupervised, depending on the implementation. ML algorithms can emulate observed characteristics and components of roads, vehicles, and drivers to better evaluate vehicle driving behavior, detect dangerous driving behavior, predict driving actions, refine predictive analysis of driving actions, and accurately detect and characterize vehicle driving behavior.

[0071] Although one exemplary computing system 110 is shown in Figure 1, various embodiments may include multiple computing systems 110. In addition, 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 shown as a separate computing system, this is merely for the sake of illustration, and computing system 100 can be distributed among various systems or components.

[0072] Figure 2 shows an exemplary connected vehicle 200, such as an autonomous, semi-autonomous, or manual vehicle, that can implement application examples of the disclosed technology. 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 can include autonomous, semi-autonomous, and manual operation. Vehicle 200 may include components such as a computing system 210, sensors 220, vehicle systems 230, and AV control systems 240. Any of the computing system 210, sensors 220, vehicle systems 230, and AV control systems 240 may be part of an automated vehicle system / advanced driver assistance system (ADAS). The ADAS can provide navigation control signals for the vehicle to navigate various situations (e.g., control signals to actuate the vehicle and operate one or more vehicle systems 240 as shown in Figure 2). As used herein, ADAS may be an autonomous vehicle control system adapted to any level of vehicle control and driving autonomy. For example, ADAS can be adapted to Level 1, Level 2, Level 3, Level 4, and Level 5 autonomy (according to SAE standards). ADAS can enable a mixture of control modes (i.e., a mixture of autonomous control mode and assisted control mode with human driver control). ADAS can accommodate a real-time machine perception system for vehicle operation in multiple vehicle environments. Vehicle 200 may include more or fewer systems and subsystems, each of which may include multiple elements. Thus, one or more functions of the technologies disclosed herein may be divided into additional functional or physical components, or combined into fewer functional or physical components. In addition, although the systems and subsystems shown in Figure 2 are shown as being divided in a particular way, 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.

[0073] Sensor 220 may include several different sensors for collecting data about the vehicle 200, its operator, its operation, and its surrounding environment. While various sensors are shown, it can be understood that systems and methods for detecting dangerous driving behavior and refining predictive driving actions may not require many sensors. It can also be understood that the systems and methods described herein can be extended by sensors located away from the vehicle 200. In this embodiment, 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 measuring and environmental sensing sensors 219. One or more of the sensors 220 may collect data such as road condition data and transmit that data to the vehicle ECU or other processing unit. Sensors 220 (and other vehicle components) may be redundant.

[0074] Distance measuring sensors such as LiDAR sensor 211, radar sensor 212, IR sensor, and other similar sensors can be used to collect data for measuring the distance and approach speed to various external objects such as other vehicles, roads, traffic signs, pedestrians, utility poles, and other objects. The image sensor 213 may include one or more cameras or other image sensors for capturing images of the environment around the vehicle, such as the road surface, as well as images of the interior of the vehicle. Information from the image sensor 213 (e.g., cameras) can be used to determine information about the environment surrounding the vehicle 200, for example, information about the road surface and other objects surrounding the vehicle 200. For example, the image sensor 213 may be capable of recognizing specific vehicles (e.g., color, vehicle type), landmarks or other features (e.g., road signs, traffic signals, etc.), road gradient, road lines, damage to the road and other potentially dangerous conditions, curbs, objects to be avoided (e.g., other vehicles, pedestrians, cyclists, etc.), and other landmarks or features. The information from the image sensor 213 can be used in conjunction with other information such as map data or information from the positioning system 218 to determine, refine, or verify the position of a vehicle (either the vehicle itself or another vehicle), and to detect obstacles and the vehicle's driving behavior.

[0075] Using the vehicle positioning system 218 (for example, GPS or other positioning systems), location information regarding the vehicle's current location, as well as other positioning or navigation information such as positioning information regarding the vehicle's current location and direction of movement according to specific road conditions, can be collected.

[0076] Other sensors 219 can be provided in a similar manner. Other sensors 219 may include vehicle acceleration sensors, vehicle speed sensors, wheel spin sensors (e.g., one for each wheel), tire pressure monitoring sensors (e.g., one for each tire), vehicle clearance sensors, left / right and front / rear slip ratio sensors, and environmental sensors (e.g., for detecting weather, traction conditions, or other environmental conditions). For a given implementation of ADAS, other sensors 219 may be further included. Various sensors 219, such as other sensors 220, can be used to provide inputs to the computing system 210 and other systems of the vehicle 200 so that the system has information useful for detecting and verifying the vehicle and its driving behavior.

[0077] The AV control system 240 may include several different systems / subsystems for controlling the operation of the vehicle 200. In this embodiment, 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, (one or more) actuators 236, a path and planning module 237, and an obstacle avoidance module 238. A 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 for evaluating inputs from various sensors.

[0078] The computer vision module 233 may include processing image data (e.g., image data captured from the image sensor 213, or other image data) to evaluate the environment inside or surrounding the vehicle. For example, an algorithm operating as part of the computer vision module 233 can evaluate still or moving images to determine features and landmarks (e.g., road pavement, road lines, damage and other potentially hazardous conditions on the road, road signs, traffic signals, lane markings and other road boundaries), obstacles (e.g., pedestrians, cyclists, other vehicles, other obstacles in the path of the vehicle in question), and other objects. The system may include video tracking and other algorithms to recognize objects such as those mentioned above, estimate their speeds, and map the surroundings. The computer vision module 233 may be capable of modeling a road traffic vehicle network, predicting incoming hazards and obstacles, predicting road hazards, and determining one or more contributing factors for identifying obstacles. The computer vision module 233 may be capable of performing depth estimation, image / video segmentation, camera localization, and object classification according to various classification techniques (including those using applied neural networks).

[0079] The throttle and brake control unit 234 can be used to control the operation of the vehicle's throttle and brake mechanisms to accelerate, decelerate, stop, or otherwise adjust the vehicle's speed. For example, the throttle unit can control the operating speed of the engine or motor used to power the vehicle. Similarly, the brake unit can be used to decelerate or stop the vehicle by acting on the brakes (e.g., discs, drums, etc.) or by engaging regenerative braking (e.g., in hybrid or electric vehicles).

[0080] The steering unit 235 may include any of several different mechanisms for controlling or changing the direction of travel of the vehicle. For example, the steering unit 235 may include a suitable control mechanism for adjusting the orientation of the front or rear wheels of the vehicle to achieve a change in the direction of the vehicle during operation. Electronic, hydraulic, mechanical, or other steering mechanisms may be controlled by the steering unit 235.

[0081] The routing and planning module 237 may include a component for calculating a desired route for the vehicle 200 based on inputs from various other sensors and systems. For example, the routing and planning module 237 can use information from the positioning system 218, the sensor fusion module 231, the computer vision module 233, the obstacle avoidance module 238 (described below), and other systems (e.g., the AV control system 240, sensors 220, and vehicle systems 230) to determine a safe route for navigating the vehicle along a desired route segment. The routing and planning module 237 can also be configured to dynamically update the vehicle route when it receives real-time information from sensors 220 and other control systems 240.

[0082] The obstacle avoidance module 238 may include control inputs necessary to avoid obstacles, nuisances, and other vehicles detected by the sensor 220 or the AV control system 240. The obstacle avoidance module 238 can work in conjunction with the route and planning module 237 to determine an appropriate route to avoid obstacles and nuisances and to navigate around them.

[0083] The routing and planning module 237 can also be configured to perform and coordinate one or more vehicle maneuvers (either by itself or in combination with one or more other modules of the AV control system 240, such as the obstacle avoidance module 238, the computer vision module 233, and the sensor fusion module 231). Illustrative vehicle maneuvers include at least one of the following: route tracking, stabilization, and collision avoidance maneuvers. In connected vehicles, such as a vehicle selected to verify an obstacle, the vehicle maneuvers can be performed at least partially in coordination between connected vehicles to collect a sufficient amount of obstacle data. A sufficient amount of obstacle data may include collecting obstacle data from various angles and viewpoints. Each different type of obstacle can ensure that different amounts of data are collected and analyzed to make the necessary determinations for verifying the obstacle. For example, the data required to verify a small obstacle, such as a small pothole, may be minimal, as the connected vehicle collecting the small pothole obstacle verification data only needs to collect data on missing asphalt on the road. The data required to verify larger obstacles, such as a malfunctioning traffic signal, may be far more extensive, as a connected vehicle collecting data on the malfunctioning traffic signal obstacle may need to collect data on the portion of the road blocked by the malfunctioning traffic signal, electrical problems present on the road, such as any other vehicles or objects blocking traffic due to the malfunctioning traffic signal, and additional obstacles on the road caused by the malfunctioning traffic signal, such as cracks, potholes, and debris. Therefore, those skilled in the art will understand what constitutes sufficient means in the context of collecting a sufficient amount of data to verify an obstacle.

[0084] The vehicle system 230 may include several different systems / subsystems for controlling the operation of the vehicle 200. In this embodiment, the vehicle system 230 includes a steering system 221, a throttle system 222, brakes 223, a transmission 224, an electronic control unit (ECU) 225, a propulsion system 226, and a vehicle hardware interface 227. The vehicle system 230 can be controlled by the AV control system 240 in autonomous, semi-autonomous, or manual mode of the vehicle 200. For example, in autonomous or semi-autonomous mode, the AV control system 240 may control the vehicle system 230, either by itself or in conjunction with other systems, to operate the vehicle in a fully or semi-autonomous manner. Where control is assumed, the computing system 210 and the AV control system 240 may provide a vehicle control system to the vehicle hardware interface for controlled systems such as steering angle 221, throttle 222, brakes 223, or other hardware interfaces 227 such as traction, turn signals, horns, lights, etc. This may also include assistance modes in which the vehicle takes over partial control or activates ADAS control (e.g., AC control system 240) to assist the driver in vehicle operation.

[0085] The computing system 210 in the illustrated embodiment 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 systems. The processor 206 may include one or more single-core or multi-core processors. The processor 206 executes instructions 208 stored in a non-temporary computer-readable medium such as memory 203.

[0086] Memory 203 may contain instructions (e.g., program logic) that can be executed by the processor 206 to perform various functions of the vehicle 200, including functions of the vehicle systems and subsystems. Memory 203 may also contain additional instructions, including instructions for transmitting data to, receiving data from, interacting with, and controlling one or more of the sensors 220, the AV control system 240, and the vehicle systems 230. In addition to instructions, memory 203 may store data and other information used by the vehicle and its systems and subsystems for operation, including the operation of the vehicle 200 in autonomous, semi-autonomous, or manual modes. For example, memory 203 may contain data communicated to the vehicle (e.g., via V2V communication), mapping data, a model of the current or predicted road traffic vehicle network, vehicle dynamics data, computer vision recognition data, and other data that may be useful, for example, for the execution of one or more vehicle maneuvers by one or more modules of the AV control system 240.

[0087] Although one computing system 210 is shown in Figure 2, various applications may include multiple computing systems 210. In addition, one or more systems and subsystems of the vehicle 200 may include their own dedicated or shared computing system 210, or a variation thereof. Thus, although computing system 210 is shown as a separate computing system, this is merely for the sake of illustration, and computing system 210 can be distributed among various vehicle systems or components.

[0088] Vehicle 200 may also include a (wireless or wired) communication system (not shown) for communicating with other vehicles, infrastructure elements, cloud components, and other external entities using one of several communication protocols, including, for example, V2V (vehicle-to-vehicle), V2I (vehicle-to-infrastructure), and V2X (vehicle-to-all) protocols. Such a wireless communication system may enable Vehicle 200 to receive information from other objects, including, for example, map data, data about infrastructure elements, and data about the behavior and intentions of surrounding vehicles. The wireless communication system may enable Vehicle 200 to receive updates of data that can be used to execute one or more vehicle control modes and vehicle control algorithms, as described herein. The wireless communication system may also enable Vehicle 200 to transmit information to other objects and to receive information from other objects (such as other vehicles, user devices, 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, the communication system may be useful in extracting and transmitting one or more data that is useful in detecting dangerous driving behavior and refining predictive driving actions, as disclosed herein.

[0089] The communication system can be configured to receive data and other information from sensor 220 that is used to determine whether and to what extent control mode mixing should be activated. In addition, the communication system can be used to transmit activation signals or other activation information to various vehicle systems 230 and AV control systems 240 as part of controlling the vehicle. For example, the communication system can be used to transmit signals to one or more of the vehicle actuators 236 to control parameters such as maximum steering angle, throttle response, vehicle braking, and torque vectoring.

[0090] In some applications, the computing functions for the various applications disclosed herein may run entirely on a computing system 210, distributed among two or more computing systems 210 in a vehicle 200, run on a cloud-based platform, run on an edge-based platform, or a combination of the above.

[0091] The route and planning module 237 can enable the execution of one or more vehicle control modes and vehicle control algorithms according to various implementations of the systems and methods disclosed herein.

[0092] During operation, the route and planning module 237 can receive information about human control inputs used to operate the vehicle (for example, by a driver intent estimation module not shown). 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 route and planning module 237 can use this information to predict driver actions. The route and planning module 237 can use this information to generate predicted routes and model road traffic vehicle networks. This can be useful for evaluating road conditions and identifying and verifying obstacles. Also, as described above, information from sensors and other systems can be used to evaluate road conditions and identify and verify obstacles. For example, tracking eye state, attention tracking, or intoxication level tracking can be used to determine vehicle movement patterns according to innate human behavior. It can be understood that driver states can contribute to verifying obstacles, as disclosed herein. Driver conditions are provided to the risk assessment module 232 to determine the level of risk associated with vehicle operation, enabling the detection of dangerous driving behaviors and the refinement of predictive driving actions. Although not shown in Figure 2, if the assessed risk contributes to determining vehicle movement patterns according to innate human behavior, a verification strategy can be generated and provided to the vehicle 200 for obstacle verification. Embodiments of detecting dangerous driving behaviors and refining predictive driving actions are disclosed with reference to subsequent figures.

[0093] The routing 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 routing and planning module 237 with a mission plan, including maps and routing.

[0094] The routing and planning module 237 can receive this information (for example, by a driver intent estimation module, not shown) and predict behavioral characteristics within a future planned period. This information can be used by the routing and planning module 237 to make one or more planning decisions. Planning decisions can be based on one or more policies (e.g., defensive driving policies). Planning decisions can be based on one or more levels of autonomy, connected vehicle actions, and one or more policies (e.g., defensive driving policies, cooperative driving policies such as swarm or platooning, leader following). The routing and planning module 237 can generate expectation models for road traffic hazards and help create predicted traffic hazard levels and validation strategies for the vehicle to implement.

[0095] The route and planning module 237 can receive risk information from the risk assessment module 232. The route and planning module 237 can receive vehicle capability and capacity information from one or more vehicle systems 230. Vehicle capability can be assessed, for example, by receiving information from the vehicle hardware interface 227 to determine vehicle capability and identify reachable set models. The route and planning module 237 can receive ambient environment information (for example, from the computer vision module 233 and the obstacle avoidance module 238). The route and planning module 237 can apply risk information and vehicle capability and capacity information to trajectory information (for example, based on the planned trajectory and driver intent) to determine a safe or optimized trajectory for the vehicle, taking into account the driver's intent, policies (e.g., safety or vehicle coordination policies), communicated information, a given one or more obstacles in the ambient environment, and road conditions. This trajectory information can be provided to a controller (e.g., ECU 225) to provide partial or full vehicle control in the event of a risk level exceeding a threshold. Signals from the risk assessment module 232 can be used to generate the countermeasures described herein. Signals from the risk assessment module 232 can trigger the ECU 225 or another AV control system 240 to take over partial or complete control of the vehicle.

[0096] Figure 3 shows an exemplary architecture for detecting dangerous driving behavior and refining predictive driving actions as described herein. Referring here to Figure 3, in this embodiment, the predictive driving behavior system 300 includes a predictive driving behavior circuit 310, a plurality of sensors 220, and a plurality of vehicle systems 350. It also includes various elements of a road traffic network 360 and a road condition network 370 with which the predictive driving behavior system 300 can communicate. It can be understood that the road traffic network 360 may include various elements that are important for navigating and navigating the road traffic network, such as vehicles, pedestrians (with or without connected devices that may include embodiments of the predictive driving behavior system 300 disclosed herein), or infrastructure (e.g., traffic signals, sensors such as traffic cameras, databases, central servers, weather sensors, etc.). It can also be understood that the road condition network 370 may include various elements that are important for navigating and navigating the road condition network, 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 the road conditions network 370 may include connected elements at work or home (such as vehicle chargers, connected devices, and electrical appliances).

[0097] The predictive driving behavior system 300 may be implemented as one or more components of the vehicle 200 shown in Figure 2, and may include the sensor 220, the vehicle system 350, elements of the road traffic network 360, and elements of the road condition network 370 can communicate with the predictive driving behavior circuit 310 via a wired or wireless communication interface. As previously mentioned, the elements of the road traffic network 360 and the road condition network 370 may correspond to connected or unconnected devices, infrastructure (e.g., sensors such as traffic signals, traffic cameras, weather sensors, and road cameras), vehicles, pedestrians, obstacles, etc., which are important for the navigation of the vehicle (e.g., vehicle 200) in the wide area or immediate vicinity, or otherwise important for the navigation of the road traffic network or road condition network (e.g., remote infrastructure). Although the sensors 220, vehicle system 350, road traffic network 360, and road condition network 370 are shown to communicate with the predictive driving behavior circuit 310, they can also communicate directly with each other, with other vehicle systems 350, and with elements of the road traffic network 360 and road condition network 370. Data disclosed herein can be communicated with the predictive driving behavior circuit 310. For example, various infrastructures (exemplary elements of the 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 communicated to the circuit 310, and such data can be updated based on the results of one or more maneuvers or navigation of the road traffic network, vehicle telematics, driver status (physical and mental), and vehicle data from sensors 220 from the vehicle (e.g., tire pressure or brake status). Similarly, traffic data, vehicle status data, travel time, and driver demographic data can be retrieved and updated. All of this data can be used to predict the likelihood of accidents (e.g., using machine learning), as well as to determine road conditions and poor, dangerous road conditions, and contribute to these processes. Similarly, models, circuits, and predictive analyses can be updated according to various results.

[0098] The predictive driving behavior circuit 310 can accurately detect and characterize vehicle driving behavior by evaluating vehicle driving behavior, determining dangerous driving behavior, predicting driving actions, and refining predictive analysis of driving actions, as described herein. As will be described in more detail herein, the detection of dangerous driving behavior may have one or more contributing factors. Various sensors 220, vehicle systems 350, elements of the road traffic network 360, and elements of the road condition network 370 can contribute to collecting data for evaluating vehicle driving behavior, detecting dangerous driving behavior, and predicting 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 can be implemented as an ECU or as part of an ECU, such as an electronic control unit 225. In other applications, the predictive driving behavior circuit 310 can be implemented independently of an ECU, for example, as a separate vehicle system.

[0099] The predictive driving behavior circuit 310 can be configured to evaluate vehicle driving behavior, detect dangerous driving behavior, predict driving actions, refine predictive analysis, and respond appropriately. The predictive driving behavior circuit 310 may include a communication circuit 301 (in this embodiment, either or both of a wireless transceiver circuit 302 having an associated antenna 314 and a wired input / output (I / O) interface 304), a decision and control circuit 303 (in this embodiment, a processor 306 and memory 308), and a power supply 311 (which may include a power supply). It is understood that the disclosed predictive driving behavior circuit 310 is compatible with and can support one or more standard or non-standard messaging protocols.

[0100] The components of the predictive driving behavior circuit 310 are shown as communicating with each other via a data bus, but other communications in the interface may 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 one or more steps described with reference to Figures 4 and 7 (described below).

[0101] The processor 306 may include a GPU, CPU, microprocessor, or any other suitable processing system. The memory 308 may include one or more different forms of memory or data storage devices (e.g., flash, RAM, etc.) that can be used to store calibration parameters, images (analysis or history), point parameters, instructions and variables, and any other suitable information for the processor 306. The 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 operation instructions 309 that can be used by the processor 306 to perform one or more functions of the predictive driving behavior circuit 310. For example, the data and other information may include vehicle driving data such as the driver's determined familiarity with driving and the vehicle. The data may also include the values ​​of signals from one or more sensors 220 that are useful for detecting dangerous driving behaviors and refining predictive driving actions. The operation instructions 309 may include instructions for performing logic circuits, models, and methods as described herein.

[0102] Although the embodiment in Figure 3 is shown using a processor and memory circuit, the decision and control circuit 303 can be implemented using any form of circuitry, including, for example, hardware, software, or a combination thereof, as described below with reference to the circuits disclosed herein. In further embodiments, 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. The components of the decision and control circuit 303 can be distributed among two or more decision and control circuit 303s, run on other circuits described with respect to the predictive driving behavior circuit 310, run on devices (such as mobile phones), run on cloud-based platforms (e.g., as part of infrastructure), run on distributed elements of the road traffic network 360 such as multiple vehicles, user devices, and a central server, run on edge-based platforms, or on a combination of the foregoing.

[0103] The communication circuit 301 may include either or both a wireless transceiver circuit 302 having an associated antenna 314 and a wired I / O interface 304 having an associated hardwired data port (not shown). As this embodiment demonstrates, communication with the predictive driving behavior circuit 310 may include either or both of the wired communication circuit 301 and the wireless communication circuit 301. The wireless transceiver circuit 302 may include a transmitter and receiver (not shown), for example, a vehicle driving behavior detection and verification broadcast mechanism, to enable wireless communication over any of several communication protocols, such as WiFi (e.g., IEEE 802.11 standard), Bluetooth®, near field communications (NFC), Zigbee®, and any of several other wireless communication protocols, whether standardized, proprietary, open, point-to-point, networked, or otherwise. The antenna 314 is coupled to the wireless transceiver circuit 302 and is used by the wireless transceiver circuit 302 to wirelessly transmit and receive radio signals to and from wireless devices to which it is connected. These RF signals may include almost all kinds of information transmitted or received by the predictive driving behavior 310 to or from other components of the vehicle, such as the sensors 220, the vehicle system 350, infrastructure (e.g., servers, cloud-based systems), and other devices or elements of the road traffic network 360. These RF signals may also include almost all kinds of information transmitted or received by the vehicle.

[0104] The wired I / O interface 304 may include transmitters and receivers (not shown) for hardwired communication with other devices. For example, the wired I / O interface 304 can provide a hardwired interface to other components, including sensors 220 and vehicle systems 350. The wired I / O interface 304 can communicate with other devices using Ethernet® or any of several other wired communication protocols, whether standardized, proprietary, open, point-to-point, networked, or otherwise.

[0105] The power source 311 may include one or more batteries (e.g., whether rechargeable or primary batteries, some examples being Li-ion, Li-polymer, NiMH, NiCd, NiZn, and NiH2), a power connector (e.g., for connecting to vehicle power supply, another vehicle battery, alternator, etc.), an energy harvester (e.g., a solar cell, piezoelectric system, etc.), or any other suitable power source. It is understood that the power source 311 can be coupled to vehicle power sources such as batteries and alternators. The power source 311 can be used to supply power to the predictive driving behavior circuit 310.

[0106] 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 included in a standard vehicle (e.g., vehicle 200) on which the predictive driving behavior circuit 310 is implemented. In the illustrated embodiment, sensor 220 includes a vehicle acceleration sensor 312, a vehicle speed sensor 314, a wheel spin sensor 316 (e.g., one for each wheel), a tire pressure monitoring system (TPMS) 320, an accelerometer such as a three-axis accelerometer 322 for detecting 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., for detecting weather, salinity, or other environmental conditions), and (one or more) cameras 213 (e.g., facing front-rear, side, up, and down). Additional sensors 219 may also be included to be suitable for a given implementation of the predictive driving behavior system 300.

[0107] The vehicle system 350 may include any of several different vehicle components or subsystems used to control or monitor various aspects of the vehicle and its performance. For example, it may include any or all of the aforementioned vehicle system 240 and control system 230 shown in Figure 2. In this embodiment, the vehicle system 350 may include a GPS or other vehicle positioning system 218.

[0108] During operation, the predictive driving behavior circuit 310 can receive information from various vehicle sensors 220, vehicle systems 350, road traffic networks 360, and road condition networks 370 to detect dangerous driving behaviors and refine predictive driving actions. Furthermore, the vehicle driver, owner, and operator can manually trigger one or more of the processes described herein for detecting dangerous driving behaviors and refining predictive driving actions. The communication circuit 301 can be used to send and receive information between the predictive driving behavior circuit 310, sensors 220, and vehicle systems 350. Additionally, sensors 220 and the predictive driving behavior circuit 310 can communicate directly or indirectly with the vehicle systems 350 (for example, via the communication circuit 301 or other means). The communication circuit 301 can be used to send and receive information between the predictive driving behavior circuit 310 and one or more other systems of the vehicle 200, but it can also be used to send and receive information between the vehicle, roads, devices (e.g., mobile phones), systems, networks (such as communication networks and central servers), and infrastructure, as well as other elements of the road traffic network 360 and the road conditions network 370.

[0109] In various application examples, the communication circuit 301 can be configured to receive data and other information from sensors 220 and vehicle systems 350 used to detect dangerous driving behaviors and refine predictive driving actions. In one embodiment, once data is received from an element of the road traffic network 360 or road conditions network 370 (such as from a driver's user device), the communication circuit 301 can be used to transmit activation signals and activation information to one or more vehicle systems 350 or sensors 220 to implement a verification strategy for the vehicle to detect dangerous driving behaviors and refine predictive driving actions. For example, it may be useful for the vehicle system 350 or sensors 220 to provide data useful for detecting dangerous driving behaviors and refining predictive driving actions. Alternatively, the predictive driving behavior circuit 310 can continuously receive information from vehicle systems 350, sensors 220, other vehicles, devices, and infrastructure (e.g., elements of the road traffic network 360 or road conditions network 370). Furthermore, upon detecting vehicle driving behavior, the communication circuit 301 can transmit signals to other components of the vehicle, infrastructure, or other elements of the road traffic network or road conditions network based on the detection of vehicle driving behavior. For example, the communication circuit 301 can transmit signals to the vehicle system 350 indicating control inputs for performing one or more predictive analyses of vehicle driving behavior to determine whether surrounding vehicles are performing dangerous driving behavior. In some applications, upon detecting dangerous driving behavior of surrounding vehicles, control of the vehicle's driver can be prohibited depending on the type of dangerous driving behavior, and control of the vehicle can be offloaded to the ADAS.In a more specific embodiment, when dangerous driving behavior is detected (for example, by the sensor 220 and the vehicle system 350, or by elements of the road traffic network 360 or road conditions network 370), one or more signals can be transmitted to the vehicle system 350, thereby activating an assistance mode, and the vehicle can control one or more of the vehicle systems 240 (for example, the steering system 221, the throttle system 222, the brakes 223, the transmission 224, the ECU 225, the propulsion system 226, the suspension, and the powertrain).

[0110] The embodiments shown in Figures 2 and 3 are provided for illustrative purposes only as examples of a vehicle 200 and a predictive driving behavior system 300 that can implement the disclosed application examples. Those skilled in the art who read this specification will understand how the disclosed application examples can be implemented on a vehicle platform.

[0111] Figure 4 shows an exemplary process 400 that includes one or more steps that can be performed to detect dangerous driving behavior and refine predictive driving actions. In some applications, process 400 can be performed, for example, by the computing component 110 in Figure 1. In another application, process 400 can be implemented as the computing component 110 in Figure 1. In yet another application, process 400 can be implemented, for example, as the computing system 210 in Figure 2 and the predictive driving behavior system 300 in Figure 3. Process 400 may include a server. Process 400 can be performed by one or more vehicles, which may form a P2P or V2V network.

[0112] In step 402, the computing component 110 infers the characteristics of the driving behavior. The vehicle may be moving 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 vehicles. 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 its own driving behavior and the driving behavior 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 its own driving behavior and the driving behavior of the other vehicles, including the vehicle itself.

[0113] Examples of sensors include cameras, image sensors, radar sensors, light detection and ranging (LiDAR) sensors, position sensors, audio sensors, infrared sensors, microwave sensors, optical sensors, tactile sensors, magnetometers, communication systems, and Global Positioning System (GPS). Data can be received by at least one sensor of the vehicle. The vehicle itself may be located on the road in an approximate area of ​​the target vehicle's path. The approximate area of ​​the target vehicle's path may include the position in front of, behind, or to either side of the target vehicle as it is moving. The computing component 110 can use one or more sensors of the vehicle to collect data on the target vehicle's driving behavior. The computing component 110 may combine the data on the target vehicle's driving behavior collected by one or more sensors of the vehicle itself with data on the target vehicle's driving behavior collected by one or more sensors of other vehicles and the road, such as road cameras and road sensors.

[0114] The driving behavior data of the target vehicle may include information about one or more driving actions performed by the target vehicle, including the vehicle's speed, movement (or lack thereof), and direction of travel. The driving behavior data of the target vehicle may include identification information of the target vehicle's driver. The driving behavior data of the target vehicle can be used by the computing component 110 to infer the characteristics of the driving behavior. The driving behavior data of one or more other vehicles may be used to infer the characteristics of the target vehicle's driving behavior. The characteristics of the target vehicle's driving behavior may include one or more types of actions performed by the target vehicle, the degree of repetition of each type of action, the motion pattern of the driving behavior, the duration of the motion pattern of the driving behavior, and the degree of impact caused by the target vehicle's driving behavior on other vehicles, including its own vehicle. The types of actions that can be performed by the target vehicle may include nudge, acceleration, deceleration, braking, weaving, swerving, failure to signal, inaccurate signaling, aggressive driving, lane departure, failure to stop, failure to slow down, speeding, slow driving, delayed stopping, delayed acceleration, honking, flashing headlights, headlights off, driving within the speed limit, driving in line with the flow of traffic, proper signaling, and driving within the lane. The degree of repetition of the action type may include the amount and frequency of each type of action being performed. A movement pattern may include a sequence of actions being performed. A sequence of actions may include a sequence of the same type of action or a sequence of combinations of different types of actions. The duration of a movement pattern may include the time the movement pattern is being performed. The degree of influence may include the amount and frequency of the impact that the vehicle's driving behavior has on other vehicles.

[0115] In step 404, the computing component 110 determines from the characteristics of the vehicle's driving behavior whether there are any potential indicators of dangerous driving. Potential indicators of dangerous driving may include one or more characteristics of driving behavior, such as a specific type of action, at least a minimum amount of repetition of that type of action, a specific type of movement pattern, at least a minimum amount of duration of the movement pattern, and at least a minimum amount of impact on other vehicles. Types of actions that may be potential indicators of dangerous driving may include, for example, nudging, accelerating, decelerating, braking, weaving, swerving, failure to signal, inaccurate signaling, aggressive driving, lane departure, failure to stop, failure to slow down, speeding, driving slowly, delayed stopping, delayed acceleration, honking, flashing headlights, and headlights off.

[0116] The minimum degree of repetition of an action type can be a potential indicator of dangerous driving, for example, when that type of action is performed at least a certain number of times within a specific period. The minimum degree of repetition of an action type may depend on the type of action. For example, the minimum degree of repetition of weaving may be more than X weavings by a vehicle within a span of Y seconds. The minimum degree of repetition of an action type can be predetermined. The minimum degree of repetition of an action type can be adjusted according to 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.

[0117] A motion pattern that may be a potential indicator of dangerous driving when a sequence of actions is performed includes, for example, at least two actions that are potential indicators of dangerous driving, whether they are of the same type or different types. The duration of a motion pattern may be a potential indicator of dangerous driving if it includes one or more types of actions performed within a specific duration, such as one minute, two minutes, five minutes, or 30 seconds. The duration of a motion pattern that is considered a potential indicator of dangerous driving may depend on one or more factors, such as time of day, traffic, road conditions, weather, and the number of vehicles surrounding the vehicle in question. Road conditions may include, for example, damage to the road, dangerous features on the road (i.e., obstacles), and attributes and characteristics of the road (i.e., color, size, number of lanes, shape, etc.). Obstacles may include, for example, potholes, cracks, tire markings, faded road markings, debris, objects, blockages, road surface reflections, floods, frozen surfaces, oil spills, uneven pavement, erosion, and raveling. The acquired road condition data can be analyzed by the computing component 110 and used as a factor to determine the duration of movement patterns that should be considered potential indicators of dangerous driving.

[0118] The degree of impact can be a potential indicator of dangerous driving if an action performed by the vehicle in question could adversely affect one or more other vehicles. Adverse impacts may include reactions made by other vehicles or their drivers in response to actions performed by the vehicle in question. These reaction actions may be those taken in response to bad or dangerous driving. For example, reactions may include shouting, hand gestures, and accident prevention actions (i.e., lane changes, deceleration, and acceleration). Many variations are possible.

[0119] If one or more potential indicators are determined, proceed to step 406. If no potential indicators are determined, proceed to step 402 to infer the characteristics of the vehicle's driving behavior.

[0120] In step 406, the computing component 110 selects one or more predictive models according to the determined latent indicators. The predictive models may be ML models used to analyze the characteristics of driving behavior and predict the next driving action of the vehicle. The predictive models may include reckless behavior predictive models, aggressive behavior predictive models, and distracted behavior predictive models. Each predictive model may represent a different category of dangerous driving behavior. One or more predictive models can be selected based on one or more latent indicators of dangerous driving determined for the vehicle in question. Some latent indicators of dangerous driving may represent two or more categories of dangerous driving behavior. Depending on the combination of one or more latent indicators of dangerous driving determined for the vehicle in question, the computing component 110 can select the most relevant predictive model.

[0121] A reckless behavior prediction model may be selected if the determined latent indicators indicate that the vehicle in question is being driven recklessly. A reckless behavior prediction model may be selected if the determined latent indicators include, for example, a high degree of repetition of swerving with a swerving and speeding motion pattern lasting longer than one minute, having a high degree of impact on at least five other vehicles. Another example of a determined latent indicator that may lead to the selection of a reckless behavior prediction model could include a high degree of repetition of nudges with a nudge, acceleration, deceleration, tailgating, and headlight-off motion pattern lasting longer than 30 seconds, having at least a moderate impact on at least seven other vehicles. Many variations are possible.

[0122] An aggressive behavior prediction model may be selected if the determined latent indicators indicate that the vehicle in question is being driven in an aggressive manner. An aggressive behavior prediction model may be selected if the determined latent indicators include, for example, a high degree of repetition of acceleration, deceleration, and nudges within a motion pattern lasting more than 20 seconds, with at least a moderate impact on at least eight other vehicles. Another example of determined latent indicators that may lead to the selection of an aggressive behavior prediction model could include a moderate degree of repetition of speeding, weaving, and aggressive driving within a motion pattern lasting more than 30 seconds, with a high degree of impact on at least four other vehicles. Many variations are possible.

[0123] A distraction behavior prediction model may be selected if the determined latent indicators indicate that the vehicle in question is being driven in a distraction-prone manner. A distraction behavior prediction model may be selected if the determined latent indicators include, for example, moderate repetitions of lane departure and signal failure within a motion pattern lasting more than 40 seconds, with at least moderate impact on at least five other vehicles. Another example of determined latent indicators that may lead to the selection of a distraction behavior prediction model could include a low degree of repetition of weaving, signal failure, aggressive driving, nudges, slowing down, and delayed stops within a motion pattern lasting more than 30 seconds, with at least moderate impact on at least six other vehicles. Many variations are possible.

[0124] There may be combinations of latent indicators of dangerous driving that can represent two or more categories of dangerous driving behavior. When two or more categories of dangerous driving behavior can be represented by a combination of latent indicators, a predictive model can be selected for each represented category of dangerous driving. Potential combinations of predictive models that can be selected include, for example, a reckless behavior predictive model and an aggressive behavior predictive model, or an aggressive behavior predictive model and a distracted behavior predictive model. Many variations are possible.

[0125] In step 408, the computing component 110 predicts the next driving data for the subject vehicle based on one or more predictive models. The selected predictive models (one or more) can be used to predict the next driving data for the subject vehicle. The next driving data may include the next driving action that the subject vehicle can perform. The next driving data for the subject vehicle can be predicted according to one or more algorithms of the predictive models (one or more) based on the subject vehicle's driving data and the potential indicators of dangerous driving that the subject vehicle has been determined to have performed. Each predictive model may include one or more algorithms used to determine the predicted next driving data based on the subject vehicle's driving data and the determined potential indicators of dangerous driving. One or more algorithms may be pre-stored. One or more algorithms may include multiple expressions 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 may be used to determine the predicted next driving data. ML and / or AI logic can use data from previous sessions and stored data, whether relating to the same vehicle or other vehicles, to more quickly and efficiently determine the next driving data expected to be performed by the vehicle in question, including, for example, the type of action expected to be performed and the path of progress to be taken.

[0126] In step 410, the computing component 110 executes dangerous driving detection logic using the predicted next driving data. The dangerous driving detection logic may include one or more algorithms used to determine whether the predicted next driving data indicates dangerous driving behavior. The dangerous driving detection logic may include one or more algorithms used to determine whether it is possible to identify (one or more) dangerous driving behaviors being performed using latent indicators for inferring the characteristics of driving behavior. One or more algorithms may be pre-stored. One or more algorithms may include multiple expressions and methods for determining dangerous driving behavior based on the predicted next driving data. In other applications, the dangerous driving detection logic may include ML and / or AI logic. ML and / or AI logic can be used to identify dangerous driving behavior from the predicted next driving data. ML and / or AI logic can use data from previous sessions, whether relating to the same vehicle or other vehicles, and stored data to more quickly and efficiently determine whether the predicted next driving data represents dangerous driving behavior. Many variations are possible.

[0127] In step 412, the computing component 110 determines whether the vehicle in question is classified as a dangerous driver according to the dangerous driving detection logic. By executing the dangerous driving detection logic using the predicted driving data, it is possible to determine whether the vehicle in question is predicted to perform dangerous driving behavior. If it is determined that the vehicle in question is predicted to perform dangerous driving behavior, the vehicle can be identified as a dangerous driver. Otherwise, if it is determined that the vehicle in question is predicted to perform safe driving behavior, the vehicle can be identified as not a dangerous driver.

[0128] If the vehicle in question is determined to be driven by a dangerous driver, proceed to step 414. Otherwise, proceed to step 402 to infer the characteristics of the driving behavior of one or more other vehicles.

[0129] In step 414, the computing component 110 notifies the driver of its own vehicle that the target vehicle is being driven by a dangerous driver. If the dangerous driving detection logic predicts that the target vehicle will perform dangerous driving behavior and determines that the target vehicle is being driven by a dangerous driver, it can notify the driver of its own vehicle that the target vehicle is being driven by a dangerous driver. The notification may include the location of the target vehicle relative to the driver's own vehicle. The driver's own vehicle may also be notified of the target vehicle's predicted next driving action. Based on the target vehicle's predicted next driving action, the notification may include suggestive actions for the driver's own vehicle to take to navigate away from the target vehicle. The notification may include a message that can be displayed on the driver's vehicle's screen. The notification to the driver's vehicle can help the driver's vehicle avoid the target vehicle.

[0130] In step 416, the computing component 110 monitors the driving behavior of the target vehicle and determines whether the actual next driving action performed by the target vehicle matches the predicted next driving action determined by one or more prediction models. While monitoring the driving behavior of the target vehicle, the computing component 110 can identify the actual next driving action performed by the target 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 target vehicle matches the predicted next driving action. For example, the computing component 110 may determine the Euclidean distance between the actual next driving action and the predicted next driving action. If the determined Euclidean distance is smaller 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. The threshold may be predetermined and set in advance. The threshold may vary depending on one or more factors, including, for example, the type of action of the actual next driving action, the type of action of the predicted next driving action, environmental data, time of day, traffic, road conditions, weather, the number of vehicles around the vehicle, and the target vehicle.

[0131] If the actual next driving action of the target vehicle does not match the predicted next driving action determined by one or more predictive models, proceed to step 418. If the actual next driving action of the target vehicle does match the predicted next driving action determined by one or more predictive models, proceed to step 402, where the characteristics of the driving behavior of other vehicles are inferred because the predictive models were accurately selected based on the characteristics of the vehicle's driving behavior and the next driving action was accurately predicted using the predictive models.

[0132] In step 418, the computing component 110 refines one or more predictive 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 vehicle in question does not match the predicted next driving action, the computing component 110 may determine that it is necessary to update and refine at least one of the following: (i) a potential indicator of dangerous driving; (ii) one or more predictive models selected based on the potential indicator of dangerous driving; (iii) one or more algorithms within the predictive models when predicting the next driving data; and (iv) dangerous driving detection logic used to determine whether the predicted next driving data includes an action classified as dangerous driving behavior. By refining at least one of the potential indicator, the selection of one or more predictive models, one or more algorithms within the predictive models, and the dangerous driving detection logic, the accuracy and efficiency of detecting and characterizing the driving behavior of a vehicle in order to identify dangerous drivers on the road can be improved.

[0133] For simplicity, process 400 is described as being performed with respect to a single detected target vehicle. In a typical embodiment, it should be understood that the computing component 110 can manage the detection of multiple target vehicles at various locations, in short successions to each other. For example, in some embodiments, once data on the driving behavior of the vehicles is acquired, the computing component 110 can perform many, if not all, of the steps of process 400 for multiple detected target vehicles.

[0134] Figure 5 shows an exemplary predictive driving behavior system 500. The predictive driving behavior system 500 can be configured to detect dangerous driving behavior of vehicles such as vehicle 150 and target vehicle 502 in Figure 1, and to refine predictive analysis of driving actions performed by the vehicles. The predictive driving behavior system 500 can transmit the results of the detected dangerous driving behavior and predictive driving actions of target vehicle 502 to one or more other vehicles in the vicinity of and / or along the path of target vehicle 502. The predictive driving behavior system 500 can be implemented for one or more vehicles moving on a road, including target vehicle 502 and the vehicle itself 504. The predictive driving behavior system 500 can be implemented by one or more vehicles, such as the vehicle itself 504, to determine whether target vehicle 502 is performing dangerous driving behavior and posing a danger to the vehicle itself 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 transmit data on dangerous driving behavior and predictive analysis of driving actions to each other. Many variations are possible.

[0135] In step 510, the predictive driving behavior system 500 may determine potential indicators of dangerous driving behavior. The vehicle itself 504 may be moving on a road. The target vehicle 502 may be moving on the same road as the vehicle itself 504, in the direction toward the vehicle itself 504. The vehicle itself 504 and the target vehicle 502 can include, for example, automobiles, trucks, motorcycles, bicycles, scooters, mopeds, recreational vehicles, and other similar on-road or off-road vehicles. The vehicle itself 504 and the target vehicle 502 can include, for example, autonomous, semi-autonomous, and manually operated vehicles. Each of the vehicle itself 504 and the target vehicle 502 may include one or more sensors that can be used to collect data on its own driving behavior and the driving behavior 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 the vehicle itself 504, the target vehicle 502, and the other vehicles.

[0136] Examples of sensors include cameras, image sensors, radar sensors, light detection and ranging (LiDAR) sensors, position sensors, audio sensors, infrared sensors, microwave sensors, optical sensors, tactile sensors, magnetometers, communication systems, and the Global Positioning System (GPS). Data can be received by at least one sensor of the vehicle. The vehicle 504 may be located on the road in an approximate area of ​​the target vehicle 502's path. The approximate area of ​​the target vehicle 502's path can include the position in front of, behind, or to either side of the target vehicle 502 as it moves along the road. The predictive driving behavior system 500 can collect data on the driving behavior of the target vehicle 504 using one or more sensors of the vehicle, such as the vehicle 504. The predictive driving behavior system 500 may combine data on the driving behavior of the target vehicle 502 collected by one or more sensors of its own vehicle 504 with data on the driving behavior of the target vehicle 502 collected by one or more sensors of other vehicles and roads, such as road cameras and road sensors.

[0137] The driving behavior data of the target vehicle 502 may include information about one or more driving actions performed by the target vehicle 502, including the speed, movement (or lack thereof), and direction of travel of the target vehicle 502. The driving behavior data of the target vehicle 502 may include identification information of the driver of the target vehicle 502. The driving behavior data of the target vehicle 502 can be used by the predictive driving behavior system 500 to infer the characteristics of the driving behavior. Driving data of one or more other vehicles may be used to infer the characteristics of the driving behavior of the target vehicle 502. The characteristics of the driving behavior of the target vehicle 502 may include one or more types of actions performed by the target vehicle 502, the degree of repetition of each type of action, the motion pattern of the driving behavior, the duration of the motion pattern of the driving behavior, and the degree of impact caused by the driving behavior of the target vehicle 502 to other vehicles, including its own vehicle 504. The types of actions that can be performed by the subject vehicle 502 may include nudge, acceleration, deceleration, braking, weaving, swerving, failure to signal, inaccurate signaling, aggressive driving, lane departure, failure to stop, failure to slow down, speeding, slow driving, delayed stopping, delayed acceleration, honking, flashing headlights, headlights off, driving within the speed limit, driving in line with the flow of traffic, proper signaling, and driving within the lane. The degree of repetition of an action type may include the quantity and frequency of each type of action being performed. A motion pattern may include a sequence of actions being performed. A sequence of actions may include a sequence of the same type of action or a sequence of combinations of different types of actions. The duration of a motion pattern may include the time the motion pattern is being performed. The degree of influence may include the quantity and frequency of the influence the vehicle's driving behavior has on other vehicles.

[0138] The predictive driving behavior system 500 may determine from the characteristics of the driving behavior of the target vehicle 504 whether there are any potential indicators of dangerous driving. Potential indicators of dangerous driving may include one or more characteristics of driving behavior, for example, a specific type of action, at least a minimum amount of repetition of the type of action, a specific type of movement pattern, at least a minimum amount of duration of the movement pattern, and at least a minimum amount of impact on other vehicles. Types of actions that may be potential indicators of dangerous driving may include, for example, nudge, acceleration, deceleration, braking, weaving, swerving, failure to signal, inaccurate signaling, aggressive driving, lane departure, failure to stop, failure to slow down, speeding, driving slowly, delayed stopping, delayed acceleration, honking, flashing headlights, and headlights off.

[0139] The minimum degree of repetition of an action type can be a potential indicator of dangerous driving, for example, when that type of action is performed at least a certain number of times within a particular period. A motion pattern that can be a potential indicator of dangerous driving when a sequence of actions is performed includes, for example, at least two actions that are potential indicators of dangerous driving, whether they are the same type of action or different types of actions. The duration of a motion pattern can be a potential indicator of dangerous driving if it includes one or more types of actions performed within a particular duration, for example, one minute, two minutes, five minutes, or 30 seconds. The duration of a motion pattern that is considered a potential indicator of dangerous driving may depend on one or more factors, for example, time of day, traffic, road conditions, weather, and the number of surrounding vehicles of the subject vehicle 502. Road conditions may include, for example, damage to the road, dangerous features on the road (i.e., obstacles), and attributes and characteristics of the road (i.e., color, size, number of lanes, shape, etc.). Obstacles may include, for example, potholes, cracks, tire markings, faded road markings, debris, objects, blockages, road surface reflections, floods, frozen surfaces, oil spills, uneven pavement, erosion, and raveling. The acquired road condition data can be analyzed by the predictive driving behavior system 500 and used as a factor to determine the duration of movement patterns that should be considered potential indicators of dangerous driving.

[0140] The degree of impact may be a potential indicator of dangerous driving if an action performed by the vehicle in question 502 could adversely affect one or more other vehicles. Adverse effects may include reactions made by other vehicles or their drivers in response to actions performed by the vehicle in question 502. These reaction actions may be those taken in response to bad or dangerous driving. For example, reactions may include shouting, hand gestures, and accident prevention actions (i.e., lane changes, deceleration, and acceleration). Many variations are possible.

[0141] In block 512, the predictive driving behavior system 500 can determine that the target vehicle 502 is exhibiting acceleration and deceleration driving behavior characteristics. The predictive driving behavior system 500 can determine that the acceleration and deceleration driving behavior characteristics are each classified as potential indicators of dangerous driving. The predictive driving behavior system 500 can determine that the target vehicle 502 is performing acceleration and deceleration with a sufficiently high degree of repetition to be considered a potential indicator.

[0142] In block 514, the predictive driving behavior system 500 may determine that the target vehicle 502 is exhibiting the nudge driving behavior characteristics. The predictive driving behavior system 500 may determine that the nudge driving behavior characteristics are classified as a potential indicator of dangerous driving. The predictive driving behavior system 500 may determine that the target vehicle 502 is performing the nudge with a sufficiently high number of iterations to be considered a potential indicator.

[0143] In step 520, the predictive driving behavior system 500 may select one or more predictive models according to the determined latent indicator characteristics of the target vehicle 502. The predictive models may be ML models used to analyze the characteristics of driving behavior and predict the vehicle's next driving action. The predictive models may include reckless behavior predictive models, aggressive behavior predictive models, and distracted behavior predictive models. Each predictive model may represent a different category of dangerous driving behavior. One or more predictive models may be selected based on one or more latent indicators of dangerous driving determined for the target vehicle 502. Some latent indicators of dangerous driving may represent two or more categories of dangerous driving behavior. Depending on the combination of one or more latent indicators of dangerous driving determined for the target vehicle 502, the predictive driving behavior system 500 may select (one or more) the most relevant predictive models.

[0144] A reckless driving prediction model may be selected if the latent indicators indicate that the vehicle in question is being driven recklessly. An aggressive driving prediction model may be selected if the latent indicators indicate that the vehicle in question is being driven aggressively. A distracted driving prediction model may be selected if the latent indicators indicate that the vehicle in question is being driven distractedly. There may be combinations of latent indicators for dangerous driving that can represent two or more categories of dangerous driving behavior. If two or more categories of dangerous driving behavior can be represented by a combination of latent indicators, then each prediction model for dangerous driving in each represented category can be selected. Potential combinations of prediction models that can be selected include, for example, a reckless driving prediction model and an aggressive driving prediction model, or an aggressive driving prediction model and a distracted driving prediction model. Many variations are possible.

[0145] Based on the high-repetition potential indicator characteristics of acceleration and deceleration determined in block 512, and the high-repetition nudge determined in block 514, the predictive driving behavior system 500 can determine that the target vehicle 502 is being driven aggressively. Therefore, the predictive driving behavior system 500 can select an aggressive behavior prediction model. The predictive driving behavior system 500 may also consider other parameters to cause it to determine that the target vehicle 502 is being driven aggressively and to select an aggressive behavior prediction model. Other parameters may include motion patterns, the duration of motion patterns, the degree of impact on other vehicles and objects, and environmental data.

[0146] In step 530, the predictive driving behavior system 500 may predict the next driving data of the target 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 target vehicle 502. The next driving data may include the next driving action that the target vehicle 502 can perform. The next driving data of the target vehicle 502 can be predicted according to one or more algorithms of the aggressive behavior prediction model based on the potential indicator properties of acceleration and deceleration with a high degree of repetition, and nudges with a high degree of repetition, performed by the target vehicle 502. The aggressive behavior prediction model may predict that the next driving data includes the next driving action 532 of weaving in and out of lanes, which the target vehicle 502 will perform.

[0147] In step 540, the predictive driving behavior system 500 can determine whether dangerous driving has been detected from the predicted next driving data of the target vehicle 502. Dangerous driving detection logic can be performed to analyze the predicted next driving data of the target vehicle 502 and determine whether the target vehicle 502 is predicted to perform dangerous driving. Dangerous driving detection logic may include one or more algorithms used to determine whether the predicted next driving data indicates dangerous driving behavior. One or more algorithms may be pre-stored. One or more algorithms may include multiple expressions and methods for determining dangerous driving behavior based on the predicted next driving data. In other applications, dangerous driving detection logic may include ML and / or AI logic. ML and / or AI logic can be used to identify dangerous driving behavior from the predicted next driving data. ML and / or AI logic can more quickly and efficiently determine whether the predicted next driving data represents dangerous driving behavior using data from previous sessions, whether relating to the same target vehicle 502 or other vehicles, and stored data. Many variations are possible.

[0148] By executing dangerous driving detection logic using predicted next driving data, it can be determined that the predicted next driving action 532 of weaving in and out of lanes is classified as dangerous driving behavior. Therefore, the predictive driving behavior system 500 may determine that the target vehicle 502 is predicted to perform dangerous driving. The predictive driving behavior system 500 may send a notification 542 to its own vehicle 504 indicating that the target vehicle 502 is predicted to perform dangerous driving. The notification 542 may include the position of the target vehicle 502 relative to the own vehicle 504. The notification 542 may also include the predicted next driving action 532 of the target vehicle 502. Based on the predicted next driving action 532 of the target vehicle 502, the notification 542 may include suggestive actions for the own vehicle 504 to take to navigate away from the target vehicle 502. The notification 542 may include a message that can be displayed on the screen of the own vehicle 504. The notification 542 to the own vehicle 504 can help the own vehicle 504 avoid the target vehicle 502.

[0149] In step 550, the predictive driving behavior system 500 can refine the potential indicator characteristics, the aggressive behavior prediction model, and the dangerous driving detection logic. Before performing refinement, the predictive driving behavior system 500 can monitor the driving behavior of the target vehicle 502 and determine whether the actual next driving action performed by the target vehicle 502 matches the predicted next driving action 532 determined by using the aggressive behavior prediction model. While monitoring the driving behavior of the target vehicle 502, the predictive driving behavior system 500 can identify the actual next driving action performed by the target vehicle 502. The predictive driving behavior system 500 may 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 target vehicle 502 matches the predicted next driving action 532.

[0150] If the actual next driving action of the target vehicle 502 matches the predicted next driving action 532 determined from using the aggressive behavior prediction model, the predictive driving behavior system 500 can infer that it is correct to determine the potential indicator characteristics, select and use the aggressive behavior prediction model, and execute the dangerous driving detection logic. If, however, the actual next driving action of the target vehicle 502 does not match the predicted next driving action 532 determined from the aggressive behavior prediction model, the predictive driving behavior system 500 can determine that it may need to update and refine at least one of the following: (i) the potential indicator characteristics of dangerous driving, (ii) the aggressive behavior prediction model selected based on the potential indicator characteristics of dangerous driving, (iii) one or more algorithms within the aggressive behavior prediction model when predicting the next driving data, and (iv) the dangerous driving detection logic used to determine whether the predicted next driving data includes an action classified as dangerous driving behavior. By refining at least one of the following: latent indicator characteristics, aggressive behavior prediction model selection, (one or more) aggressive behavior prediction model algorithms, and dangerous driving detection logic, the accuracy and efficiency of detecting and characterizing vehicle driving behavior to identify dangerous drivers on the road can be improved.

[0151] The predictive driving behavior system 500 can be implemented as the computing component 110 in Figure 1, the computing system 210 in Figure 2, the predictive driving behavior system 300 in Figure 3, and the process 400 in Figure 4.

[0152] Figure 6 shows an exemplary predictive driving behavior system 600. The predictive driving behavior system 600 can be configured to detect dangerous driving behavior of vehicles, such as vehicle 150 and target vehicle 602 in Figure 1, and to refine predictive analysis of driving actions performed by the vehicles. The predictive driving behavior system 600 can transmit the results of the detected dangerous driving behavior and predictive driving actions of target vehicle 602 to one or more other vehicles in the vicinity of and / or along the route of target vehicle 602, such as the vehicle itself 604. The predictive driving behavior system 600 can be implemented for one or more vehicles moving on a road, such as target vehicle 602 and the vehicle itself 604. The predictive driving behavior system 600 can be implemented by one or more vehicles, such as the vehicle itself 604, to determine whether target vehicle 602 is performing dangerous driving behavior and posing a danger to the vehicle itself 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 transmit data on dangerous driving behaviors and predictive analyses of driving actions to one another. Many variations are possible.

[0153] In step 610, the predictive driving behavior system 600 may determine potential indicators of dangerous driving behavior of the target vehicle 602. The vehicle itself 604 may be moving on a first road. The target vehicle 602 may be moving on a second road that is in direct contact with the first road of the vehicle itself 604, and the first and second roads are in contact at intersection 606, as shown in Figure 6. Each of the vehicle itself 604 and the target vehicle 602 may include one or more sensors that can be used to collect data on its own driving behavior and the driving behavior 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 the vehicle itself 604, the target vehicle 602, and the other vehicles.

[0154] The data can be received by at least one sensor on the vehicle. The vehicle 604 may be located on the road in an approximate area of ​​the target vehicle 602's path. The approximate area of ​​the target vehicle 602's path may include the position in front of, behind, or to either side of the target vehicle 602 as it moves along the road. The predictive driving behavior system 600 can collect data on the driving behavior of the target vehicle 604 using one or more sensors on the vehicle, such as the vehicle 604. The predictive driving behavior system 600 may combine the data on the driving behavior of the target vehicle 602 collected by one or more sensors on the vehicle 604 with data on the driving behavior of the target vehicle 602 collected by one or more sensors on one or more other vehicles and the road, such as road cameras and road sensors.

[0155] The driving behavior data of the target vehicle 602 may include information about one or more driving actions performed by the target vehicle 602, including the speed, movement (or lack thereof), and direction of travel of the target vehicle 602. The driving behavior data of the target vehicle 602 may include identification information of the driver of the target vehicle 602. The predictive driving behavior system 600 can determine that the target vehicle 602 is about to turn left at the intersection 606 of the first and second roads.

[0156] Data on the driving behavior of the target vehicle 602 can be used by the predictive driving behavior system 600 to infer the characteristics of the driving behavior. Data on the driving behavior of one or more other vehicles may also be used to infer the characteristics of the driving behavior of the target vehicle 602. The characteristics of the driving behavior of the target vehicle 602 may include one or more types of actions performed by the target vehicle 602, the degree of repetition of each type of action, the motion pattern of the driving behavior, the duration of the motion pattern of the driving behavior, and the degree of impact caused by the driving behavior of the target vehicle 602 to other vehicles, including its own vehicle 604. The types of actions that the target vehicle 602 may perform may include nudge, acceleration, deceleration, braking, weaving, swerving, failure to signal, inaccurate signaling, aggressive driving, lane departure, failure to stop, failure to slow down, speeding, slow driving, delayed stopping, delayed acceleration, honking, flashing headlights, headlights off, driving within the speed limit, driving in line with the flow of traffic, appropriate signaling, and driving within the lane. The degree of repetition of an action type can include the quantity and frequency of each type of action being performed. A motion pattern can include a sequence of actions being performed. A sequence of actions can include a sequence of the same type of action or a sequence of combinations of different types of actions. The duration of a motion pattern can include the time the motion pattern is being performed. The degree of impact can include the quantity and frequency of the impact that a vehicle's driving behavior has on other vehicles.

[0157] The predictive driving behavior system 600 may determine from the characteristics of the driving behavior of the target vehicle 604 whether there are any potential indicators of dangerous driving. Potential indicators of dangerous driving may include one or more characteristics of driving behavior, for example, a specific type of action, at least a minimum amount of repetition of the type of action, a specific type of movement pattern, at least a minimum amount of duration of the movement pattern, and at least a minimum amount of impact on other vehicles. Types of actions that may be potential indicators of dangerous driving may include, for example, nudge, acceleration, deceleration, braking, weaving, swerving, failure to signal, inaccurate signaling, aggressive driving, lane departure, failure to stop, failure to slow down, speeding, driving slowly, delayed stopping, delayed acceleration, honking, flashing headlights, and headlights off.

[0158] The minimum degree of repetition of an action type can be a potential indicator of dangerous driving, for example, when that type of action is performed at least a certain number of times within a particular period. A motion pattern that can be a potential indicator of dangerous driving when a sequence of actions is performed includes, for example, at least two actions that are potential indicators of dangerous driving, whether they are the same type of action or different types of actions. The duration of a motion pattern can be a potential indicator of dangerous driving if it includes one or more types of actions performed within a particular duration, for example, one minute, two minutes, five minutes, or 30 seconds. The duration of a motion pattern that is considered a potential indicator of dangerous driving may depend on one or more factors, for example, time of day, traffic, road conditions, weather, and the number of surrounding vehicles of the subject vehicle 602. Road conditions may include, for example, damage to the road, dangerous features on the road (i.e., obstacles), and attributes and characteristics of the road (i.e., color, size, number of lanes, shape, etc.). Obstacles may include, for example, potholes, cracks, tire markings, faded road markings, debris, objects, blockages, road surface reflections, floods, frozen surfaces, oil spills, uneven pavement, erosion, and raveling. The acquired road condition data can be analyzed by the predictive driving behavior system 600 and used as a factor to determine the duration of movement patterns that should be considered potential indicators of dangerous driving.

[0159] The degree of impact may be a potential indicator of dangerous driving if an action performed by the vehicle in question 602 could adversely affect one or more other vehicles. The adverse effect may include a reaction by another vehicle or driver of another vehicle to an action performed by the vehicle in question 602. The reaction action may be an action taken in response to bad or dangerous driving. For example, a reaction may include shouting, hand gestures, and accident prevention driving (i.e., lane changes, deceleration, and acceleration). Many variations are possible.

[0160] The predictive driving behavior system 600 may determine that the target vehicle 602 is exhibiting driving behavior characteristics of slow stopping and slow starting. The predictive driving behavior system 600 may also determine that the driving behavior characteristics of slow stopping and slow starting are each classified as potential indicators of dangerous driving. The predictive driving behavior system 600 can determine that the target vehicle 602 is exhibiting slow stopping and slow starting with a motion pattern duration that is sufficiently long to be considered a potential indicator.

[0161] In step 620, the predictive driving behavior system 600 may select one or more predictive models according to the determined latent indicator characteristics of the target vehicle 602. The predictive models may be ML models used to analyze the characteristics of driving behavior and predict the vehicle's next driving action. The predictive models may include reckless behavior predictive models, aggressive behavior predictive models, and distracted behavior predictive models. Each predictive model may represent a different category of dangerous driving behavior. One or more predictive models may be selected based on one or more latent indicators of dangerous driving determined for the target vehicle 602. Some latent indicators of dangerous driving may represent two or more categories of dangerous driving behavior. Depending on the combination of one or more latent indicators of dangerous driving determined for the target vehicle 602, the predictive driving behavior system 600 may select (one or more) the most relevant predictive models.

[0162] A reckless driving prediction model may be selected if the latent indicators indicate that the vehicle in question is being driven recklessly. An aggressive driving prediction model may be selected if the latent indicators indicate that the vehicle in question is being driven aggressively. A distracted driving prediction model may be selected if the latent indicators indicate that the vehicle in question is being driven distractedly. There may be combinations of latent indicators for dangerous driving that can represent two or more categories of dangerous driving behavior. If two or more categories of dangerous driving behavior can be represented by a combination of latent indicators, then each prediction model for dangerous driving in each represented category can be selected. Potential combinations of prediction models that can be selected include, for example, a reckless driving prediction model and an aggressive driving prediction model, or an aggressive driving prediction model and a distracted driving prediction model. Many variations are possible.

[0163] Based on the potential indicator characteristics of slow stopping and slow starting with a high motion pattern duration determined in step 610, the predictive driving behavior system 600 can determine that the target vehicle 602 is being driven in a distracted manner. Therefore, the predictive driving behavior system 600 may select a distracted behavior prediction model. The predictive driving behavior system 600 may also consider other parameters to cause it to determine that the target vehicle 602 is being driven in a distracted manner and to 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.

[0164] In step 630, the predictive driving behavior system 600 may predict the next driving data of the target vehicle 602 based on a distraction behavior prediction model. The selected distraction behavior prediction model may be used to predict the next driving data of the target vehicle 602. The next driving data may include the next driving action that the target vehicle 602 can perform. The next driving data of the target vehicle 602 can be predicted according to one or more algorithms of the distraction behavior prediction model based on the potential indicator characteristics of slow stopping and slow starting with high motion pattern duration performed by the target vehicle 602. The distraction behavior prediction model may predict that the next driving data includes the next driving action 632 of taking a lane shortcut when the target vehicle 602 will make a left turn.

[0165] The predictive driving behavior system 600 can determine whether dangerous driving has been detected from the predicted next driving data of the target vehicle 602. Dangerous driving detection logic can be performed to analyze the predicted next driving data of the target vehicle 602 and determine whether the target vehicle 602 is predicted to perform dangerous driving. Dangerous driving detection logic may include one or more algorithms used to determine whether the predicted next driving data indicates dangerous driving behavior. One or more algorithms may be pre-stored. One or more algorithms may include multiple expressions and methods for determining dangerous driving behavior based on the predicted next driving data. In other applications, dangerous driving detection logic may include ML and / or AI logic. ML and / or AI logic can be used to identify dangerous driving behavior from the predicted next driving data. ML and / or AI logic can more quickly and efficiently determine whether the predicted next driving data represents dangerous driving behavior using data from previous sessions, whether relating to the same target vehicle 602 or other vehicles, and stored data. Many variations are possible.

[0166] By executing dangerous driving detection logic using predicted next driving data, it can be determined that the predicted next driving action 632, which is to take a shortcut in the lane when turning left, is classified as dangerous driving behavior. Therefore, the predictive driving behavior system 600 may determine that the target vehicle 602 is predicted to perform dangerous driving. The predictive driving behavior system 600 may send a notification 634 to its own vehicle 604 indicating that the target vehicle 602 is predicted to perform dangerous driving. The notification 634 may include the position of the target vehicle 602 relative to the own vehicle 604. The notification 634 may include the predicted next driving action 632 of the target vehicle 602. The notification 634 may include suggestive actions for the own vehicle 604 to take to navigate away from the target vehicle 602 based on the predicted next driving action 632 of the target vehicle 602. The notification 634 may include a message that can be displayed on the screen of the own vehicle 604. The notification 634 to the own vehicle 604 can help the own vehicle 604 avoid the target vehicle 602.

[0167] The predictive driving behavior system 600 can perform refinement of potential indicator characteristics, distraction behavior prediction models, and dangerous driving detection logic. Before performing refinement, the predictive driving behavior system 600 can monitor the driving behavior of the target vehicle 602 and determine whether the actual next driving action performed by the target vehicle 602 matches the predicted next driving action 632 determined by using the distraction behavior prediction model. While monitoring the driving behavior of the target vehicle 602, the predictive driving behavior system 600 can identify the actual next driving action performed by the target vehicle 602. The predictive driving behavior system 600 may 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 target vehicle 602 matches the predicted next driving action 632.

[0168] If the actual next driving action of the target vehicle 602 matches the predicted next driving action 632 determined using the distracted behavior prediction model, the predictive driving behavior system 600 can infer that it is correct to determine the latent indicator characteristics, select and use the distracted behavior prediction model, and execute the dangerous driving detection logic. If, instead, the actual next driving action of the target vehicle 602 does not match the predicted next driving action 632 determined from the distracted behavior prediction model, the predictive driving behavior system 600 can determine that it may need to update and refine at least one of the following: (i) the latent indicator characteristics of dangerous driving, (ii) the distracted behavior prediction model selected based on the latent indicator characteristics of dangerous driving, (iii) one or more algorithms within the distracted behavior prediction model when predicting the next driving data, and (iv) the dangerous driving detection logic used to determine whether the predicted next driving data includes an action classified as dangerous driving behavior. By refining at least one of the following: latent indicator characteristics, distraction behavior prediction model selection, (one or more) distraction behavior prediction model algorithms, and dangerous driving detection logic, the accuracy and efficiency of detecting and characterizing vehicle driving behavior to identify dangerous drivers on the road can be improved.

[0169] The predictive driving behavior system 600 can be implemented as the computing component 110 in Figure 1, the computing system 210 in Figure 2, the predictive driving behavior system 300 in Figure 3, the process 400 in Figure 4, and the predictive driving behavior system 500 in Figure 5.

[0170] Figure 7 shows an exemplary computing component 700, which includes one or more hardware processors 702 and a machine-readable storage medium 704 that stores a set of machine-readable instructions / machine-executable instructions that, when executed, cause the (one or more) hardware processors 702 to perform an exemplary method of verifying for obstacles. Unless otherwise noted, it should be understood that within the scope of the various embodiments described herein, there may be additional, fewer, or alternative steps performed in a similar or alternative order, or in parallel. The computing component 700 can be implemented as computing component 110 in Figure 1, computing system 210 in Figure 2, predictive driving behavior system 300 in Figure 3, process 400 in Figure 4, predictive driving behavior system 500 in Figure 5, and predictive driving behavior system 600 in Figure 6.

[0171] In step 706, one or more hardware processors 702 can receive driving data of their own vehicle by executing machine-readable instructions / machine-executable instructions stored in a machine-readable storage medium 704. The vehicle may be moving 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 vehicles. 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 its own driving behavior and the driving behavior 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 its own driving behavior and the driving behavior of the other vehicles, including the vehicle itself. Other sensors, such as roads and infrastructure, can collect driving data on the vehicle itself and the other vehicles. Many variations are possible.

[0172] Examples of sensors include cameras, image sensors, radar sensors, LiDAR (Light Detection and Ranging) sensors, position sensors, audio sensors, infrared sensors, microwave sensors, optical sensors, tactile sensors, magnetometers, communication systems, and Global Positioning System (GPS). Data can be received by at least one sensor. The vehicle can be monitored while moving along the road to acquire its driving data. One or more sensors can be used to collect driving data of the vehicle. Driving data of the vehicle collected from multiple sensors can be combined to provide aggregated and complete driving data. Driving data of the vehicle may be collected by one or more sensors on the vehicle, one or more sensors on one or more other vehicles, and one or more sensors on the road, such as road cameras and road sensors.

[0173] In step 708, one or more hardware processors 702 can execute machine-readable instructions / machine-executable instructions stored in the machine-readable storage medium 704 to analyze driving data and determine the driving behavior of the vehicle. The collected driving data of the vehicle may include information about the vehicle's driving behavior. This information may include, for example, information about one or more driving actions performed by the vehicle, including the vehicle's speed, movement (or lack thereof), position, and direction of travel. The driving data of the vehicle may include identification information of the vehicle's driver. The driving behavior information may be associated with the driver's identification information.

[0174] In step 710, one or more hardware processors 702 can execute machine-readable instructions / machine-executable instructions stored in the machine-readable storage medium 704 to infer the characteristics of the vehicle's driving behavior. Driving data of the vehicle's driving behavior can be used to infer the characteristics of the driving behavior. Driving data of one or more other vehicles can be used to infer the characteristics of the vehicle's driving behavior. The characteristics of the vehicle's driving behavior may include one or more types of actions performed by the vehicle, the degree of repetition of each type of action, the motion pattern of the driving behavior, the duration of the motion pattern of the driving behavior, and the degree of influence caused to other vehicles by the vehicle's driving behavior. The types of actions that the vehicle can perform may include nudge, acceleration, deceleration, braking, weaving, swerving, failure to signal, inaccurate signaling, aggressive driving, lane departure, failure to stop, failure to slow down, speeding, slow driving, delayed stopping, delayed acceleration, honking, flashing headlights, headlights off, driving within the speed limit, driving in line with the flow of traffic, proper signaling, and driving within the lane. The degree of repetition of an action type can include the quantity and frequency of each type of action being performed. A motion pattern can include a sequence of actions being performed. A sequence of actions can include a sequence of the same type of action or a sequence of combinations of different types of actions. The duration of a motion pattern can include the time the motion pattern is being performed. The degree of impact can include the quantity and frequency of the impact that a vehicle's driving behavior has on other vehicles.

[0175] In step 712, one or more hardware processors 702 can execute machine-readable instructions / machine-executable instructions stored in a machine-readable storage medium 704 to select a predictive model according to the characteristics of the driving behavior. After the characteristics of the driving behavior have been inferred, one or more predictive models can be selected based on the characteristics. Some characteristics may be potential indicators of dangerous driving. Potential indicators of dangerous driving may include one or more characteristics of driving behavior, for example, a specific type of action, at least a minimum amount of repetition of the type of action, a specific type of motion pattern, at least a minimum amount of duration of the motion pattern, and at least a minimum amount of impact on other vehicles. Types of actions that may be potential indicators of dangerous driving may include, for example, nudge, acceleration, deceleration, braking, weaving, swerving, failure to signal, inaccurate signaling, aggressive driving, lane departure, failure to stop, failure to slow down, speeding, driving slowly, delayed stopping, delayed acceleration, honking, flashing headlights, and headlights off.

[0176] The minimum degree of repetition of an action type can be a potential indicator of dangerous driving, for example, when that type of action is performed at least a certain number of times within a specific period. The minimum degree of repetition of an action type may depend on the type of action. For example, the minimum degree of repetition of weaving may be more than three weavings by a vehicle within a 10-second span. The minimum degree of repetition of an action type can be predetermined. The minimum degree of repetition of an action type can be adjusted according to 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.

[0177] A motion pattern that may be a potential indicator of dangerous driving when a sequence of actions is performed includes, for example, at least two actions that are potential indicators of dangerous driving, whether they are of the same type or different types. The duration of a motion pattern may be a potential indicator of dangerous driving if it includes one or more types of actions performed within a specific duration, such as 1 minute, 2 minutes, 5 minutes, or 30 seconds. The duration of a motion pattern that is considered a potential indicator of dangerous driving may depend on one or more factors, such as time of day, traffic, road conditions, weather, and the number of vehicles surrounding the vehicle. Road conditions may include, for example, damage to the road, dangerous features on the road (i.e., obstacles), and attributes and characteristics of the road (i.e., color, size, number of lanes, shape, etc.). Obstacles may include, for example, potholes, cracks, tire markings, faded road markings, debris, objects, blockages, road surface reflections, floods, frozen surfaces, oil spills, uneven pavement, erosion, and raveling. The acquired road condition data can be analyzed by the computing component 110 and used as a factor to determine the duration of movement patterns that should be considered potential indicators of dangerous driving.

[0178] The degree of impact can be a potential indicator of dangerous driving if an action performed by one's own vehicle could adversely affect one or more other vehicles. Adverse impacts may include reactions made by other vehicles or their drivers in response to actions performed by one's own vehicle. These reaction actions may be those taken in response to bad or dangerous driving. For example, reactions may include shouting, hand gestures, and accident prevention actions (i.e., lane changes, deceleration, and acceleration). Many variations are possible.

[0179] If any inferred characteristic of driving behavior is determined to be a potential indicator of dangerous driving, one or more predictive models can be selected based on (one or more) inferred characteristics. The predictive models may be ML models used to analyze characteristics of driving behavior and predict the vehicle's next driving action. Predictive models may include reckless behavior predictive models, aggressive behavior predictive models, and distracted behavior predictive models. Each predictive model may represent a different category of dangerous driving behavior. One or more predictive models can be selected based on one or more potential indicators of dangerous driving determined for the vehicle. Several potential indicators of dangerous driving may represent two or more categories of dangerous driving behavior. Depending on the combination of one or more potential indicators of dangerous driving determined for the vehicle, (one or more) the most relevant predictive models can be selected.

[0180] A reckless behavior prediction model may be selected if the determined latent indicators indicate that the vehicle is being driven recklessly. A reckless behavior prediction model may be selected if the determined latent indicators include, for example, a high degree of repetition of swerving with a swerving and speeding motion pattern lasting longer than one minute, having a high degree of impact on at least five other vehicles. Another example of a determined latent indicator that may lead to the selection of a reckless behavior prediction model could include a high degree of repetition of nudges with a nudge, acceleration, deceleration, tailgating, and headlight-off motion pattern lasting longer than 30 seconds, having at least a moderate impact on at least seven other vehicles. Many variations are possible.

[0181] An aggressive behavior prediction model may be selected if latent indicators that determine the vehicle is being driven in an aggressive manner indicate this. The aggressive behavior prediction model may be selected if the determined latent indicators include, for example, a high degree of repetition of acceleration, deceleration, and nudges within a motion pattern lasting more than 20 seconds, with at least a moderate impact on at least eight other vehicles. Another example of determined latent indicators that may lead to the selection of an aggressive behavior prediction model could include a moderate degree of repetition of speeding, weaving, and aggressive driving within a motion pattern lasting more than 30 seconds, with a high degree of impact on at least four other vehicles. Many variations are possible.

[0182] A distracted behavior prediction model may be selected if latent indicators determine that the vehicle is being driven in a distracted manner. The distracted behavior prediction model may be selected if the determined latent indicators include, for example, moderate repetitions of lane departure and signal failure within a motion pattern lasting more than 40 seconds, with at least moderate impact on at least five other vehicles. Another example of determined latent indicators that may lead to the selection of a distracted behavior prediction model could include a low degree of repetition of weaving, signal failure, aggressive driving, nudges, slowing down, and delayed stops within a motion pattern lasting more than 30 seconds, with at least moderate impact on at least six other vehicles. Many variations are possible.

[0183] There may be combinations of latent indicators of dangerous driving that can represent two or more categories of dangerous driving behavior. When two or more categories of dangerous driving behavior can be represented by a combination of latent indicators, a predictive model can be selected for each represented category of dangerous driving. Potential combinations of predictive models that can be selected include, for example, a reckless behavior predictive model and an aggressive behavior predictive model, or an aggressive behavior predictive model and a distracted behavior predictive model. Many variations are possible.

[0184] In step 714, one or more hardware processors 702 can execute machine-readable / machine-executable instructions stored in the machine-readable storage medium 704 to determine the predicted action of the vehicle using a predictive model and the vehicle's environmental data. One or more selected predictive models can be used to predict the vehicle's next driving data. The next driving data may include the next driving action the vehicle can perform. The vehicle's next driving data can be predicted according to one or more algorithms of the predictive models, based on the potential indicator characteristics of dangerous driving determined to have been performed by the vehicle and the vehicle's environmental data. The vehicle's environmental data can be obtained from one or more sensors, such as the vehicle itself, other vehicles, roads, and infrastructure. Many variations are possible.

[0185] Each predictive model may include one or more algorithms used to determine the next predicted driving data based on the vehicle's environmental data and the identified potential indicator characteristics of dangerous driving. One or more algorithms may be pre-stored. One or more algorithms may include multiple expressions and methods for determining the next predicted driving data. In other applications, each predictive model may include ML and / or AI logic. ML and / or AI logic may be used to determine the next predicted driving data. Using data from previous sessions, whether relating to the same vehicle or other vehicles, and stored data, ML and / or AI logic can more quickly and efficiently determine the next predicted driving data to be performed by the vehicle, including, for example, the type of action to be performed and the path of progress to be taken.

[0186] When determining the predicted next driving data for your vehicle, you can notify one or more other vehicles in your vicinity that your vehicle is performing potentially dangerous driving behavior. The notification may include the location of your vehicle relative to each notified vehicle. Each notified vehicle may also receive information about the predicted next driving action of your vehicle. Based on the predicted next driving action of your vehicle, the notification may include suggestive actions for each vehicle to take to navigate away from your vehicle. The notification may include a message that can be displayed on the screen of each vehicle receiving the notification. Notifications to other vehicles can help them avoid your vehicle.

[0187] In step 716, one or more hardware processors 702 can execute machine-readable instructions / machine-executable instructions stored in the machine-readable storage medium 704 to monitor their own vehicle and determine the next action of their own vehicle. They can monitor the driving behavior of their own vehicle and determine whether the actual next driving action performed by their own vehicle matches the predicted next driving action determined by one or more prediction models. While monitoring the driving behavior of their own vehicle, they can identify the actual next driving action performed by the target vehicle. The identified actual next driving action of their own vehicle may be compared with the predicted next driving action.

[0188] In step 718, one or more hardware processors 702 can execute machine-readable instructions / machine-executable instructions stored in the machine-readable storage medium 704 to analyze the next action of the vehicle and determine whether the next action matches a predicted action. It can determine whether the actual next driving action performed by the vehicle matches a predicted next driving action. If the actual next driving action matches the predicted next driving action of the vehicle, it can be determined that the potential indicator characteristics of dangerous driving, one or more predictive models, and the predictive analysis of the vehicle's next driving action are accurate and can be enhanced to improve the efficiency of determining the potential indicator characteristics of dangerous driving and performing the predictive analysis of the vehicle's next driving action. If the actual next driving action does not match the predicted next driving action of the vehicle, it can be determined that the potential indicator characteristics of dangerous driving, one or more predictive models, and / or the predictive analysis of the vehicle's next driving action need to be refined to improve the accuracy and efficiency of determining the potential indicator characteristics of dangerous driving and performing the predictive analysis of the vehicle's next driving action.

[0189] In step 720, one or more hardware processors 702 can execute machine-readable instructions / machine-executable instructions stored in the machine-readable storage medium 704 to refine the predictive model according to 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, it can be determined that at least one of the following needs to be updated and refined: (i) the potential indicator characteristics of dangerous driving, (ii) one or more predictive models selected based on the potential indicator characteristics of dangerous driving, and (iii) one or more algorithms in the predictive models and logic used to perform predictive analysis of the next driving data. By refining the potential indicators, the selection of one or more predictive models, and at least one of the algorithms and logic in the predictive models, the accuracy and efficiency of detecting and characterizing the driving behavior of vehicles in order to identify dangerous drivers on the road can be improved.

[0190] As used herein, the terms circuit, system, and component may describe a given unit of function that can be performed according to one or more applications of this application. As used herein, a component may 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 may be implemented to constitute a component. The various components described herein may be implemented as individual components, or the functions and features described may be shared partially or entirely among one or more components. In other words, as will become apparent to those skilled in the art after reading this specification, the various features and functions described herein can be implemented in any given application. They may be implemented in one or more separate or shared components in various combinations and substitutions. Various features or functional elements may be described or claimed individually as separate components, but it should be understood that these features / functions may be shared among one or more common software and hardware elements. Such descriptions do not require or imply the use of separate hardware or software components to implement such features or functions.

[0191] When components are implemented entirely or partially using software (such as user device applications as described herein), these software elements can be implemented to work with computing or processing components capable of performing the functions described herein. One such exemplary computing component is shown in Figure 8. Various applications are described with respect to this exemplary computing component 800. After reading this specification, it will be apparent to those skilled in the art how to implement the applications using other computing components or architectures.

[0192] Referring here to Figure 8, the computing component 800 can represent computing or processing capabilities found, for example, in vehicles (e.g., vehicle 150, vehicle 200), user devices, self-adjusting displays, desktops, laptops, notebooks, and tablet computers. They can be found in handheld computing devices (tablets, PDAs, smartphones, mobile phones, palmtops, etc.). They can be found in workstations or other devices having displays, servers, or any other type of dedicated or general-purpose computing device, as may be desirable or appropriate for a given application or environment. The computing component 800 can also represent computing capabilities incorporated into a given device, or otherwise available to a given device. For example, the computing component can be found in other electronic devices, such as portable computing devices and other electronic devices that may include some form of processing capability. In another embodiment, the computing component can be found in components comprising a user device, vehicle 150, vehicle 200, predictive driving behavior circuit 310, decision and control circuit 303, computing system 100, computing system 210, ECU 225, etc.

[0193] The computing component 800 may include, for example, one or more processors, controllers, control components, or other processing devices. This may include a processor and any one or more components that make up the vehicle 150 in Figure 1, the vehicle 200 in Figure 2, the computing system 210 in Figure 2, the predictive driving behavior system 300 in Figure 3, the predictive driving behavior system 500 in Figure 5, and the predictive driving behavior system 600 in Figure 6. The processor 804 may be implemented using a general-purpose or dedicated processing engine, such as a microprocessor, controller, or other control logic. The processor 804 may be particularly configured to execute one or more instructions for executing the logic of one or more circuits described herein, such as the predictive driving behavior circuit 310, the decision and control circuit 303, and the logic for the control system 240. The processor 804 may be configured to execute one or more instructions for executing one or more methods, such as the processes described in Figures 4, 5, and 6, and the method described in Figure 7.

[0194] The processor 804 can be connected to the bus 802. However, any communication medium can be used to facilitate interaction with other components of the computing component 800 or to communicate with the outside. In the application examples, the processor 804 can fetch, decode, and execute one or more instructions to control processes and operations to enable vehicle services, as described herein. For example, the instructions may correspond to steps to perform one or more steps of the processes described in Figures 4, 5, and 6, and the methods described in Figure 7.

[0195] The computing component 800 may also include one or more memory components, which are referred to herein simply as main memory 808. For example, random access memory (RAM) or other dynamic memory may be used to store information and instructions that are fetched, decoded, and executed by the processor 804. Such instructions may include one or more instructions for the execution of one or more logic circuits described herein. The instructions may include, for example, instruction 208 in Figure 2 and instruction 309 in Figure 3, as described herein. Main memory 808 can also be used to store temporary variables or other intermediate information during the execution of instructions that are fetched, decoded, and executed by the processor 804. The 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 the processor 804.

[0196] The computing component 800 may also include one or more different forms of information storage mechanisms 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 for supporting a fixed or removable storage medium 814. For example, it may provide a hard disk drive, a solid-state drive, a magnetic tape drive, an optical drive, a compact disc (CD) or digital video disc (DVD) drive (R or RW), or other removable or fixed media drive. The storage medium 814 may include, for example, a hard disk, an integrated circuit assembly, magnetic tape, a cartridge, an optical disc, a CD, or a DVD. The storage medium 814 may also be any other fixed or removable medium that is read, written to, or accessed by the media drive 812. As these embodiments show, the storage medium 814 may include a computer-usable storage medium storing computer software or data.

[0197] In alternative applications, the information storage mechanism 810 may include other similar means for enabling the loading of computer programs or other instructions or data into the computing component 800. Such means may include, for example, fixed or removable storage units 822 and interfaces 820. Examples of such storage units 822 and interfaces 820 include program cartridges and cartridge interfaces, removable memory (e.g., flash memory or other removable memory components), and memory slots. Other examples include PCMCIA slots and cards, as well as other fixed or removable storage units 822 and interfaces 820 that enable the transfer of software and data from the storage unit 822 to the computing component 800.

[0198] The computing component 800 may also include a communication interface 824. The communication interface 824 can be used to enable the transfer of software and data between the computing component 800 and external devices. Examples of the communication interface 824 include a modem or soft modem, a network interface (such as Ethernet®, a network interface card, IEEE 802.XX, or other interfaces), or other communication ports (e.g., a USB port, an IR port, an RS232 port, a Bluetooth® interface, or other ports), or other communication interfaces. The software / data transferred via the communication interface 824 can be carried over signals, which may be electronic signals, electromagnetic (including optical) signals, or other signals that can be exchanged by a given communication interface 824. These signals can be provided to the communication interface 824 via a channel 828. The channel 828 can carry signals and can be implemented using wired or wireless communication media. Some examples of channels include telephone lines, cellular links, RF links, optical links, network interfaces, local area networks or wide area networks, and other wired or wireless communication channels.

[0199] In this specification, the terms “computer program medium” and “computer-ready medium” are used generally to refer to temporary or non-temporary media. Such media may be, for example, memory 808, storage unit 822, medium 814, and channel 828. These and various other forms of computer program mediums or computer-ready media may be involved in transporting one or more sequences of one or more instructions to a processing device for execution. Such instructions embodied on a medium are generally referred to as “computer program code” or “computer program product” (which may be grouped in the form of a computer program or other grouping). When executed, such instructions may enable computing component 800 to perform features or functions of the present application as described herein.

[0200] As described herein, a vehicle may be a flying, partially submersible, submersible, boat, roadway, off-road, passenger, truck, trolley, train, drone, motorcycle, bicycle, or other vehicle. When used herein, a vehicle may be any form of powered or unpowered means of transport. Obstacles may include one or more potholes, cracks, tire markings, faded road markings, debris, objects, blockages, road reflections, floods, frozen surfaces, oil spills, uneven pavement, erosion, raveling, and other potentially hazardous conditions on the road. While "road" is a standard term herein, it is understood that this disclosure is not limited to roads or 1d or 2d traffic patterns.

[0201] When used throughout this Specified, the terms “operably connected,” “coupled,” or “coupled” may include direct or indirect connections, including connections that do not involve direct physical contact, electrical connections, optical connections, etc.

[0202] As used herein, the terms “a” and “an” are defined as one or more. As used herein, the term “plurality” is defined as two or more. As used herein, the term “another” is defined as at least the second or subsequent. As used herein, the terms “including” and / or “having” are defined as having (i.e., open-ended). As used herein, the phrase “at least one of…and…” refers to and encompasses any one or more of the associated enumerated items and all possible combinations thereof. For example, the phrase “at least one of A, B, or C” includes A only, B only, C only, or any combination thereof (e.g., AB, AC, BC, or ABC).

[0203] Aspects of this specification may be embodied in other forms without departing from their spirit or essential attributes. Therefore, the following claims, rather than the preceding specification, should be used as the scope of this specification. While various applications of the disclosed technology have been described above, it should be understood that these are presented only as examples and not as limitations. Similarly, various figures may illustrate exemplary architectures or other configurations for the disclosed technology, provided to aid in understanding the features and functions that may be included in the disclosed technology. The disclosed technology is not limited to the illustrated exemplary architectures or configurations, and desired features can be implemented using various alternative architectures and configurations. Indeed, it will be apparent to those skilled in the art how alternative functional, logical, or physical divisions and configurations can be implemented to implement desired features of the technology disclosed herein. Furthermore, numerous other different component module names, not shown herein, can be applied to various divisions. In addition, with respect to flowcharts, operational descriptions, and method claims, the order in which the steps are presented herein does not obligate various applications to be implemented in the same order, using each of the steps shown, unless otherwise indicated in the context.

[0204] While the disclosed technology is described above with respect to various exemplary applications and implementations, it should be understood that the various features, aspects, and functions described in one or more of the individual applications are not limited in their applicability to the specific application described, but rather can be applied, alone or in various combinations, to one or more other applications of the disclosed technology, regardless of whether such application is described or whether such features are presented as part of the described application. Accordingly, the breadth and scope of the technology disclosed herein should not be limited by any of the exemplary applications described above.

[0205] The terms and phrases used herein, and their variations thereof, should be interpreted as non-restrictive, as opposed to restrictive, unless otherwise specified. For example, the term “including” should be read as “including without limitation,” etc. The term “example” is used to provide illustrative examples of the items under discussion, and is not an exhaustive or restrictive list. The terms “one (a)” or “one (an)” should be read as “at least one,” “one or more,” etc. Adjectives such as “conventional,” “traditional,” “usual,” “standard,” and “known,” and similar terms should not be interpreted as limiting the items described to items available during a given period or at a given point in time, but rather as encompassing conventional, traditional, usual, or standard techniques that may be available or known at the present or future time. Similarly, where this specification refers to a technique that is obvious or known to those skilled in the art, such a technique encompasses techniques that are obvious or known to those skilled in the art at the present or future time.

[0206] The presence of broad words and phrases such as “one or more,” “at least,” “not limited to,” or other similar terms in some examples should not be interpreted as meaning that a narrower case is intended or required in cases where such broad terms may not be present. The use of the term “module” does not mean that all components or functions described or claimed as part of a module are organized within a common package. In fact, any or all of the various components of a module, whether control logic or other components, may be combined into a single package, maintained separately, and further distributed across multiple groups or packages or multiple locations.

[0207] In addition, the various application examples described herein are illustrated with illustrative block diagrams, flowcharts, and other figures. As will be apparent to those skilled in the art after reading this specification, the illustrated application examples and their various alternative forms can be implemented without being limited to the illustrated embodiments. For example, the block diagrams and their accompanying descriptions should not be construed as obligating a particular architecture or configuration.

Claims

1. A method implemented by computer to refine predictive driving actions, Analyzing the vehicle's driving data to determine the vehicle's driving behavior, Based on the determined driving behavior, the characteristics of the driving behavior are to be inferred, Selecting a predictive model according to the aforementioned characteristics, Using the aforementioned prediction model, the predictive actions of the vehicle are determined according to the vehicle's environmental data. The vehicle is monitored, and the next action of the vehicle is determined. The following actions are analyzed to determine whether they match the predicted actions, The predictive model is refined according to the analysis of the following actions: Methods performed by computers, including those mentioned above.

2. The method performed by a computer according to claim 1, wherein the driving data of the vehicle includes identification information of the driver of the vehicle.

3. The computer-based method according to claim 1, wherein the driving behavior of the vehicle includes one or more actions performed by the vehicle while it is moving.

4. The computer-based method according to claim 1, wherein the characteristics of the driving behavior include the type of action performed by the vehicle, the degree of repetition of the type of action, the motion pattern, the duration of the motion pattern, and the degree of influence.

5. The computer-operated method according to claim 4, wherein the type of action includes nudge, acceleration, deceleration, braking, weaving, swerving, failure to signal, aggressive driving, lane departure, failure to stop, speeding, slowing down, delaying stopping, delaying acceleration, honking the horn, flashing the headlights, and turning off the headlights.

6. The computer-based method according to claim 1, wherein the prediction model includes at least one from the group including a reckless behavior prediction model, an aggressive behavior prediction model, and a distracted behavior prediction model.

7. The computer-based method according to claim 6, wherein each predictive model is generated according to driving data of multiple vehicles.

8. The computer-based method according to claim 1, wherein the environmental data includes information about traffic, traffic signs, weather, road conditions, and the surroundings of the vehicle.

9. A method, according to claim 2, in which the determination of the predicted action of the vehicle is performed by a computer, further based on stored driving data of the driver of the vehicle.

10. Determining that the predicted action of the vehicle is a dangerous action, To notify the first driver of the first vehicle, which is in a dangerous position relative to the predicted action of the said vehicle, A computer-based method according to claim 1, further comprising:

11. A method, according to claim 10, in which determining that the predicted action of the vehicle is a dangerous action is performed by a computer based on a driving detection algorithm associated with the prediction model.

12. The computer-based method according to claim 10, wherein the dangerous actions include multiple nudges, frequent acceleration, frequent deceleration, frequent braking, frequent weaving, frequent swerving, frequent flashing of headlights, prolonged tailgating, aggressive speeding, and passing through an intersection without stopping.

13. The computer-based method according to claim 1, wherein the refinement of the predictive model includes generating new rules for inferring driving behavior characteristics.

14. A computing system for refining predictive driving actions, One or more processors, The system comprises a memory coupled to one or more processors for storing instructions, wherein when an instruction is executed by one or more processors, the system causes one or more processors to perform an operation, and the operation is performed Analyzing the vehicle's driving data to determine the vehicle's driving behavior, Based on the determined driving behavior, the characteristics of the driving behavior are to be inferred, Selecting a predictive model according to the aforementioned characteristics, Using the aforementioned prediction model, the predictive actions of the vehicle are determined according to the vehicle's environmental data. The vehicle is monitored, and the next action of the vehicle is determined. The following actions are analyzed to determine whether they match the predicted actions, The predictive model is refined according to the analysis of the following actions: A computing system that includes this.

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 degree of repetition of the type of action, the motion pattern, the duration of the motion pattern, and the degree of influence.

16. The computing system according to claim 15, wherein the types of actions include nudge, acceleration, deceleration, braking, weaving, swerving, failure to signal, aggressive driving, lane departure, failure to stop, speeding, slowing down, delayed stopping, delayed acceleration, honking, flashing headlights, and headlights not working.

17. The computing system according to claim 14, wherein the prediction model includes at least one from the group including a reckless behavior prediction model, an aggressive behavior prediction model, and a distracted behavior prediction model.

18. Determining that the predicted action of the vehicle is a dangerous action, To notify the first driver of the first vehicle, which is in a dangerous position relative to the predicted action of the said vehicle, The computing system according to claim 14, further comprising:

19. The computing system according to claim 18, wherein the dangerous actions include multiple nudges, frequent acceleration, frequent deceleration, frequent braking, frequent weaving, frequent swerving, frequent flashing of headlights, prolonged tailgating, aggressive speeding, and passing through an intersection without stopping.

20. A non-temporary machine-readable medium storing instructions, wherein when an instruction is executed by a processor, it causes the processor to perform an action, and the action is Analyzing the vehicle's driving data to determine the vehicle's driving behavior, Based on the determined driving behavior, the characteristics of the driving behavior are to be inferred, Selecting a predictive model according to the aforementioned characteristics, Using the aforementioned prediction model, the predictive actions of the vehicle are determined according to the vehicle's environmental data. The vehicle is monitored, and the next action of the vehicle is determined. The following actions are analyzed to determine whether they match the predicted actions, The predictive model is refined according to the analysis of the following actions: Non-temporary machine-readable media, including [specific examples of such media].