System and method for calculating vehicle driver liability
A system using vehicle sensors and AI algorithms to identify hazardous events and generate driving scores automates the insurance claims process, addressing manual inefficiencies and improving accuracy and cost-effectiveness.
Patent Information
- Application Number
- JP2024168476
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-05-17
- Filing Date
- 2024-09-27
- Publication Date
- 2026-02-12
- Estimated Expiration
- 2040-05-17
AI Technical Summary
The insurance claims process is manual and labor-intensive, leading to increased costs and variability in accuracy and impartiality, with a need for automation to streamline operations and improve turnaround time.
A system utilizing vehicle sensors, video inputs, and artificial intelligence algorithms to identify hazardous driving events, generate driving scores, and automate the First Notice of Loss process, incorporating machine learning models for improved accuracy and efficiency.
Automates the insurance claims process, reducing manual labor, enhancing accuracy and impartiality, and lowering operating costs while improving response times.
Smart Images

Figure 0007813324000002 
Figure 0007813324000003 
Figure 0007813324000004
Abstract
Description
[Technical Field]
[0001] The technology described below generally relates to systems, devices, and methods for generating and calculating vehicle accident risk and operating costs by evaluating a driver's vehicle operation or performance. More specifically, a personal driving score is generated or calculated based on at least sensors, video inputs, and artificial intelligence algorithms.
[0002] Priority claim This application claims priority to and the benefit of Provisional Patent Application No. 62 / 849,763, filed with the United States Patent and Trademark Office on May 17, 2019, the entire contents of which are incorporated herein by reference as if fully set forth below for all applicable purposes. [Background technology]
[0003] Currently, the insurance industry relies on complex processes with overlapping systems and administrative processes that rely heavily on humans to process claims. The insurance claims process often includes the following steps: (1) receiving an accident report, (2) contacting the customer and verifying policy information, (3) creating a handwritten accident diagram and sending it to the claims department, (4) the claims department contacting the customer and reviewing the accident information, and (5) manually entering the information into the claims system.
[0004] After a claim is entered into the system, an adjuster must review the damaged vehicle that is the subject of the claim to verify the facts and determine a cost estimate. If a personal injury accident is reported, an interview with the injured party is conducted. The adjuster then manually reviews similar accidents to determine the estimated costs, determine the percentage of fault, and issue payments to each party.
[0005] The above-described process requires a lot of manual processing and review, which increases costs for insurance companies and delays in reaching settlement. Furthermore, the accuracy and impartiality of the process can vary depending on which adjuster handles the claim. Therefore, there is a need for an automated system and method to streamline the claims process, improve turnaround time, and make the process impartial. Summary of the Invention
[0006] The following presents a summary of one or more aspects of the present disclosure to provide a basic understanding of such aspects. This summary is not an extensive overview of all contemplated features of the present disclosure, and is not intended to identify key or critical elements of all aspects of the present disclosure or to delineate the scope of any or all aspects of the present disclosure. Its sole purpose is to present some concepts of one or more aspects of the present disclosure in a format as a prelude to the more detailed description that is presented later.
[0007] In one aspect, the present disclosure provides one or more non-transitory computer-readable media storing computer-executable instructions that, when executed, cause one or more processors to perform operations including receiving performance data from multiple sources related to performance of a driver of a vehicle, identifying at least one hazardous event affecting the driver's performance, the at least one hazardous event adversely affecting the performance data below a predetermined threshold, analyzing the performance data using a trained machine learning model to determine a severity level of each identified hazardous event affecting the driver's performance, the trained machine learning model employing multiple types of machine learning algorithms to analyze the performance data, generating at least one score based on the performance data for presentation via a user interface, and improving the machine learning model based on the generated at least one score, the improving including retraining the machine learning model based on at least one training corpus that has been modified based on the performance data.
[0008] The operations may further include notifying at least one user via a user interface of the at least one score; initiating recording of video data using a camera mounted on the vehicle; and analyzing the recorded video data using vehicle threshold events to identify at least one dangerous event.
[0009] The operations may further include using an object detection algorithm to identify from the recorded footage objects external to the vehicle that affect the performance data, and transmitting latitude and longitude coordinates of the identified objects to a diagnostic module processor for further processing to determine the object's effect on the at least one hazardous event.
[0010] The operations may further include initiating storage of vehicle data from the diagnostic module, the engine control unit module, and the autonomous driving module, and analyzing the stored vehicle data for vehicle threshold events to identify at least one unsafe event.
[0011] The operations may further include determining an occurrence of an accident from the performance data, and transmitting information related to the accident to a third party.
[0012] The operations may further include updating at least one score after a severity level is assigned to the at least one hazardous event, storing the updated score in an on-board memory device in the vehicle, and transmitting the updated score to a remote data database.
[0013] According to another aspect, a computer-implemented method for assessing driver risk is provided, the method comprising: receiving, by a processor of a vehicle module onboard a vehicle, performance data regarding performance of a driver of the vehicle from multiple sources onboard the vehicle; identifying, by the processor of the vehicle module, at least one hazardous event affecting the driver's performance, wherein the at least one hazardous event adversely affects the performance data below a predetermined threshold; analyzing the performance data using a trained machine learning model in the processor of the vehicle module to determine a severity level of each identified hazardous event affecting the driver's performance, wherein the trained machine learning model employs multiple types of machine learning algorithms to analyze the performance data; generating, by the processor of the vehicle module, at least one score based on the performance data for presentation via a user interface; and improving, by the processor of the vehicle module, the machine learning model based on the generated at least one score, wherein the improving includes retraining the machine learning model based on at least one training corpus that has been modified based on the performance data.
[0014] According to yet another aspect, a computing device for vehicle installation is provided, the device including an interface and a processing circuit coupled to the interface. The processing circuit is configured to: receive performance data related to a driver's performance of the vehicle from multiple sources; identify at least one hazardous event affecting the driver's performance, the at least one hazardous event adversely affecting the performance data below a predetermined threshold; analyze the performance data using a trained machine learning model to determine a severity level of each identified hazardous event affecting the driver's performance, the trained machine learning model employing multiple types of machine learning algorithms to analyze the performance data; generate at least one score based on the performance data for presentation to a user; and refine the machine learning model based on the generated at least one score, the refinement including retraining the machine learning model based on at least one training corpus that has been modified based on the performance data. [Brief explanation of the drawings]
[0015] Various features, nature and advantages will become apparent from the following detailed description taken in conjunction with the drawings in which like reference characters identify accordingly throughout. [Figure 1] FIG. 1 is a conceptual diagram illustrating an operating environment in which embodiments of the disclosed systems and methods may be found. [Figure 2] FIG. 2 is a block diagram illustrating exemplary hardware aspects of a vehicle module according to some aspects of the disclosure. [Figure 3] FIG. 3 is a block diagram illustrating exemplary hardware aspects of a user interface module and a data platform module according to some aspects of the present disclosure. [Figure 4]FIG. 4 is a block diagram illustrating example hardware aspects of an apparatus (e.g., an electronic device) that can support communications in accordance with certain aspects of the present disclosure. [Figure 5] FIG. 5 is a block diagram of an example hardware embodiment of a data platform module / device configured to communicate in accordance with one or more aspects of the present disclosure. [Figure 6] FIG. 6 illustrates a block diagram of an exemplary hardware embodiment of a user interface module / device configured to communicate in accordance with one or more aspects of the present disclosure. [Figure 7] FIG. 7 is a flow diagram illustrating an exemplary method for calculating a driver score for a driver of a vehicle. [Figure 8] FIG. 8 is a flow chart illustrating an exemplary method for determining driver and vehicle safety. [Figure 9] Figure 9 summarizes the overall process of the insurance system related to insurance. [Figure 10] FIG. 10 illustrates the process of detecting an event. [Figure 11] FIG. 11 illustrates a process for using data from multiple device sensors to improve the accuracy of vehicle and object position and motion estimations upon event detection. [Figure 12] FIG. 12 illustrates how an accident report can be used to assign fault to the involved entities. [Figure 13] FIG. 13 illustrates a process for reducing the amount of manual work required to bill and pay parties on their behalf. DETAILED DESCRIPTION OF THE INVENTION
[0016] overview Described herein are exemplary systems, apparatus, and methods for generating or calculating vehicle liability and operating costs based on the vehicle's driver's operations and performance. Using a combination of vehicle sensors, video input, and on-board artificial intelligence and / or machine learning algorithms, the disclosed systems and methods can identify risky events performed by the vehicle's driver, generate, calculate, and evaluate the vehicle's driver's driving score and trip score, and transmit the calculation results to one or more entities. The First Notice of Loss (FNOL) process, which is the initial report to an insurance company after loss, theft, or damage to insured property, is also automated for greater accuracy, response time, and lower operating costs.
[0017] The term "sensor" may refer to any type of known sensor for detecting a dynamic condition of a vehicle. The sensor may be original equipment or an aftermarket tool. Sensors include, but are not limited to, mass airflow sensors, engine speed sensors, oxygen sensors, spark knock sensors, coolant sensors, manifold absolute pressure (MAF) sensors, fuel temperature sensors, voltage sensors, camshaft position sensors, throttle position sensors, vehicle speed sensors or speedometers, proximity sensors, accelerometers, global positioning systems, odometers, steering angle sensors, safety system data, radio detection and ranging (RADAR), light detection and ranging (LIDAR), and diagnostic trouble codes.
[0018] The terms "sensor data" and "vehicle sensor data" refer to data received from any sensor in the vehicle, whether it is original equipment or an aftermarket tool.
[0019] The term "vehicle" refers to any type of machine that transports people or cargo, including, but not limited to, automobiles, trucks, buses, motorcycles, airplanes, and helicopters.
[0020] The term "hazardous event" refers to any occurrence or incident that occurs while driving that adversely affects driver performance, including, but not limited to, braking at a specific speed, accelerating at a specific speed, time to pull over before crash, cornering at a specific speed, trip time, trip distance, failure to stop at a stop sign, rolling stop, full stop, speeding distance, trip cost, trip start time, trip stop time, trip status, and trip score.
[0021] Some methods described herein may be implemented in hardware, such as a server, a user interface or device, a vehicle module, and a data module, each of which may determine whether a hazardous event has occurred, generate a driver score, and transmit incident data to emergency response vehicles via cellular and / or other network communications.
[0022] As used herein, the term "computer-readable medium" refers to any tangible storage device that participates in providing instructions to a processor for execution. Such media can take many forms, including, but not limited to, nonvolatile media, volatile media, and transmission media. Nonvolatile media include, for example, NVRAM, or magnetic or optical disks. Volatile media include dynamic memory such as main memory. Common forms of computer-readable media include, for example, floppy disks, flexible disks, hard disks, magnetic tape, other magnetic media, magneto-optical media, CD-ROMs, other optical media, punch cards, paper tape, other physical media with patterns of holes, RAM, PROMs, EPROMs, FLASH-EPROMs, solid-state media such as memory cards, other memory chips or cartridges, or other computer-readable media. When the computer-readable medium is configured as a database, it should be understood that the database may be any type, such as relational, hierarchical, and / or object-oriented. Thus, the present disclosure is deemed to include tangible storage media on which a software implementation of the present disclosure is stored, as well as equivalents and successor media recognized in the prior art.
[0023] As used herein, the terms “central processing unit,” “processor,” “processor circuitry,” and “processing circuitry,” as well as variations thereof, are used interchangeably and include, but are not limited to, a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic component, discrete gate or transistor logic, discrete hardware components, or any combination thereof, designed to perform the functions described herein. A general-purpose processor may include a microprocessor as well as any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing components, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in combination with a DSP core, an ASIC and a microprocessor, or any number of other various configurations. These examples of processors are illustrative, and other suitable configurations are contemplated within the scope of the present disclosure. Furthermore, a processor may be implemented as one or more processors, one or more controllers, and / or other structures configured to execute executable programming.
[0024] As used herein, the terms "determine," "calculate," and "operate," as well as variations thereof, are used interchangeably and include any type of methodology, process, mathematical operation, or technique.
[0025] As used herein, the term "module" refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and software that is capable of performing the functions associated with that element.
[0026] The terms "user interface" and "user interface module" may be embodied or implemented within a server, personal computer, cell phone, smartphone, tablet, portable computer, machine, entertainment device, or other electronic device having circuitry. The systems described herein can identify and draw bounding boxes around various objects, including, but not limited to, people, bicycles, cars, motorcycles, buses, trains, trucks, boats, traffic lights, fire hydrants, stop signs, and dogs.
[0027] The term "driver" can refer to a person or a vehicle with automated driving capabilities.
[0028] The detailed description set forth below in connection with the accompanying drawings is intended to describe various configurations and is not intended to represent the only configurations in which the concepts described herein may be practiced. The detailed description includes specific details to provide a thorough understanding of the various concepts. However, it will be apparent to those skilled in the art that the concepts may be practiced without the specific details. In some cases, well-known structures and components are shown in block diagram form in order to avoid obscuring such concepts. In this specification, a reference to an element in the singular is intended to refer to the element in the plural.
[0029] 1 illustrates an exemplary architecture 100 for generating or calculating vehicle liability and operating costs based on the operation or performance of a driver's vehicle, in which embodiments of the disclosed systems and methods may be found. The system includes a communication network 102 connecting a vehicle module 104, a user interface module 106, a data platform 108, and a remote file system or server 142. A third-party application protocol interface 109 provides access to data generated on the vehicle module 104 and the data platform 108. The vehicle module 104, the user interface 106, the data platform 108, the remote file system or server 142, and the third-party application protocol interface 109 are described in more detail below.
[0030] The system 100 calculates one or more risk scores related to the driver's operation of the vehicle using data obtained from the vehicle, which is obtained from a combination of vehicle sensors, video inputs, and on-board artificial intelligence / machine learning.
[0031] In some embodiments, the system 100 may interact with a local data storage device 112 and / or a remote server 142, or any combination of local and remote data storage devices and file systems.
[0032] The local file system (and / or remote file system) can control how data is stored and retrieved in the local data storage device 112 and / or the remote data storage device 142. In some embodiments, the structure and logical rules used to manage the information stored as data on the local data storage device 112 and / or the remote data storage device 142 can be referred to as a “file system” (e.g., the local file system and / or the remote file system). The local file system and / or the remote file system can each have different structure and logic, speed, flexibility, security, size, and other characteristics. In some embodiments, the structure and logic of the local file system and / or the remote file system provide improved speed and security over other known file systems. The local data storage device and / or the remote data storage device can use the same or different media on which data is stored. Examples of media include magnetic disks, magnetic tapes, optical disks, and electronic memory (e.g., flash memory).
[0033] Communication between any or all of the apparatus, devices, systems, functions, modules, and services and servers described herein may occur over one or more wired and / or wireless communication networks 134. Examples of the one or more communication networks 134 include a public switched telephone network (PSTN), a wide area network (WAN), a local area network (LAN), a TCP / IP data network such as the Internet, and a wireless network such as the 3G, 4G, LTE, and 5G networks promulgated by the 3rd Generation Partnership Project (3GPP). The one or more communication networks 134 may be any one or combination of two or more communication networks such as, but not limited to, those communication networks.
[0034] 2 is a block diagram illustrating exemplary hardware aspects of an on-board vehicle module according to some aspects of the present disclosure. The vehicle module 104 monitors driver activity within the vehicle. According to at least some embodiments, the vehicle module 104 may include a processor 110, local data storage 112, one or more sensors 114, a diagnostic module 116, an engine control unit (ECU) 118, a communications interface 120, and an autonomous driving module 121 having an autonomous driving switch 123 for tracking when the vehicle's autonomous driving features, if available, are activated, when they are activated, whether the driver or the vehicle activated the autonomous driving features, and when the autonomous driving features are deactivated. Information about whether the autonomous driving features are activated can be used to determine whether a hazardous event is due to the driver or the vehicle.
[0035] The vehicle module 104 collects driver data using various sensors 114 (e.g., speed sensors, accelerometers, GPS locators, tire pressure sensors, autonomous driving sensors, and audio / visual sensors such as backup cameras, anti-theft devices) installed in the vehicle, which are typically connected to the ECU via, for example, a Controller Area Network (CAN) bus. From the collected vehicle sensor data and / or video metadata, the processor 110 uses an artificial intelligence and / or machine learning module 124 to compute the collected data into a score based on insurance machine learning algorithms and extensive previously collected data collection and analysis, and calculates a driving score that includes risk and safety for a particular trip.
[0036] According to one aspect, the system can determine which vehicle sensors are available and disable modules and sensors as needed. When the system disables modules and sensors, it takes into account the amount of data available and adjusts the risk calculation accordingly. For each vehicle's trip summary, the system can output a trip score and an overall trip severity. Over time, the system can build a driver risk profile based on the average trip score. This score can be used to estimate the cost and risk of the vehicle itself, as well as to evaluate the vehicle's driver.
[0037] The vehicle module 104 also includes a user interface 106, a data platform 108, and a server 142 connected to the communication network 102, and a network communication interface 120 that enables communication via a wireless communication link to the communication network 102.
[0038] The machine learning module 124 comprises at least one insurance machine learning algorithm for analyzing data from the sensors 114, the diagnostic module 116, the engine control unit 118, and the autonomous driving module 121 to generate a driver score and trip information. In various embodiments, the machine learning module 124 uses a machine learning training pipeline to generate a machine learning model.
[0039] The diagnostic module 116 can store and retrieve data related to the vehicle's self-diagnostic and reporting functions in on-board memory or local data storage 112. The diagnostic module 116 can analyze the received data, diagnose potential problems, and prepare the data for presentation to a user, driver, insurance company, or other entity. The diagnostic module 116 can communicate with the user interface module 106 and the data platform module 108 via the communication interface 120. The diagnostic module 106 can receive commands / instructions via the communication interface 120 or the processor 110, obtain and / or generate appropriate information, and provide it to the data platform module 108 for presentation to a user, driver, insurance company, or other entity.
[0040] The ECU 118 reads values from sensors in the engine compartment and controls a series of actuators in the internal combustion engine to ensure optimal engine performance. It interprets the data using multi-dimensional performance maps (called look-up tables) and adjusts the engine actuators. For example, the ECU 118 can monitor and set the air-fuel mixture, ignition timing, idle speed, etc. Data from the ECU 118 is provided to a machine learning module 124, which uses it in conjunction with machine learning algorithms and previously collected data to calculate a driver risk score based on the driver's driving behavior.
[0041] 3 is a block diagram illustrating exemplary hardware aspects of the user interface module 106 and the data platform module 108 according to some aspects of the present disclosure. The user interface module 106 enables third parties to obtain vehicle and driver data information as a result of accident / anomaly analysis, fault allocation, subrogation, and claim settlement. This information can be transmitted to drivers and insurance companies via various user interfaces based on API connections configured to accept output from insurance systems.
[0042] The user interface module 106 may include a processor 132, a vehicle head-up display (HUD) module 134, a dashboard module 136, a communication interface 138, and a memory or data storage module 140. The user interface module allows a user to load and process sensor data that is provided directly to the machine learning module 124 (see FIG. 2 ).
[0043] The user interface module 106 allows external parties or third parties to receive the event and abnormal behavior data. The user interface module 106 can use its communication interface to establish a connection to an API on the user interface module 106 to retrieve data stored in local memory or remote data storage 142. The vehicle HUD module 136 and dashboard module 136 on the user interface module 106 allow users to view the data.
[0044] The user interface module 106 is connected to the communications network 104 and thus may also be considered a network computing device. The user interface 106 may include a network or communications interface 138 or multiple network interfaces that enable the user interface module 106 to communicate over various types of communications networks. For example, the user interface module 106 may include a network interface card, an antenna, an antenna driver, an Ethernet port, etc. Other examples of the user interface module 106 include, but are not limited to, a laptop, a tablet, a mobile phone, a personal digital assistant (PDA), a thin client, a supercomputer, a server, a proxy server, a communications switch, a set-top box (STB), a smart TV, etc. The processor 110 uses the artificial intelligence and / or machine learning module 124 to calculate the collected data based on insurance machine learning algorithms and extensive previously collected data collection and analysis to calculate a driving score including risk and safety for a particular trip. That is, the machine learning module 124 uses on-board machine learning methods to locally (on the vehicle module) calculate scores (such as a driver score, trip score, and risk score) based on the captured vehicle sensor and video data evaluated against a broader dataset previously collected. Once the scores and trip summaries are complete, the vehicle module 102 establishes a connection with a networked server to transmit the data, thereby allowing the user to evaluate the driver's performance against the established dataset.
[0045] The data platform module 108 has high computational and memory capabilities compared to the onboard processing system of the vehicle module 104. The data platform 108 is used to further process the received data, enabling it to refine the accuracy of estimation results using algorithms that are difficult to run on the vehicle due to performance, cost, or physical size constraints. Furthermore, the data platform module 108 houses processes that enable communication with third parties to a) request data from other vehicles or devices, b) collect data from other vehicles or devices, and / or c) communicate with other vehicles or devices. The data platform 108 also includes a processor 126, a graphics processing unit (GPU) 128, and a communication interface 130 that enables communication with third parties to a) request data from other vehicles or devices, b) collect data from other vehicles or devices, and / or c) communicate with other vehicles or devices.
[0046] According to one example, the system can retain up to 60 seconds of video data at a time using the GPU. When the system detects a hazardous event, the GPU can store 10 seconds of video footage before and after the hazardous event in the vehicle module's onboard storage. The data is retained so that the system can reconstruct video clips and telemetry data around the event as it occurs and is observed. The system can update the remote data storage or server with trip data at regular intervals. Periodic intervals include, but are not limited to, at the start of a trip, the end of a trip, and every 10 seconds of the trip.
[0047] Information resulting from a) accident / anomaly analysis, b) fault allocation, c) subrogation, and / or d) claim payment can be transmitted to drivers and insurance companies via various user interfaces based on API connections configured to accept output from insurance systems.
[0048] GPU input can come from vehicle cameras, such as dashboard cameras or driver assistance cameras. When a dashboard camera is activated, the system verifies that the module is operational by taking a camera shot. If the system fails to take a camera shot, it can retry, for example, every 0.01 seconds. If the system detects that the camera is not operational or that the video feed has ended, it sends a kill command to a subprocess that analyzes and processes the video feed. The video can be processed locally on the vehicle or on a separate device.
[0049] The user interface 106 is connected to the communications network 104 and may therefore also be considered a network computing device. The user interface 106 may include a network or communications interface 138 or multiple network interfaces that enable the user interface 106 to communicate over various types of communications networks. For example, the user interface 106 may include a network interface card, an antenna, an antenna driver, an Ethernet port, etc. Other examples of the user interface 106 include, but are not limited to, a laptop, a tablet, a mobile phone, a personal digital assistant (PDA), a thin client, a supercomputer, a server, a proxy server, a communications switch, a set-top box (STB), a smart TV, etc.
[0050] Dangerous events are detected by monitoring data observed by the vehicle's sensors or CAN bus. If the system observes sensory data approaching a pre-set threshold level or a risk pattern that matches a machine learning simulated model, it records a dangerous or abnormal situation. Once a dangerous or abnormal situation is recorded, the system's sensor module filters the event data and available video recordings and passes them to a module that handles the scoring model.
[0051] FIG. 4 illustrates a block diagram of an exemplary hardware embodiment of a vehicle module / device 400 configured to communicate in accordance with one or more aspects of the present disclosure. The vehicle module 400 may include, for example, a communication interface 402. The communication interface 402 may enable input and output of data and control. The communication interface 402 may enable communication over one or more communication networks, for example, similar to the one or more communication networks 102 of FIG. 1. The communication interface 402 may be communicatively coupled, directly or indirectly, to the one or more communication networks 102. The vehicle module 400 may include a local working memory device 404 and a processor system / function / module / device (hereinafter, processor 406). The processor 406 may use the working memory device 404 to store data to be manipulated, data being manipulated, or recently manipulated. The processor 406 may store instructions on the working memory device 404 and / or on one or more other memory structures or devices, such as, for example, a non-transitory computer-readable medium system / function / module / device (hereinafter, non-transitory computer-readable medium 408). When executed by the processor 406, the instructions may, for example, cause the processor 406 to perform one or more aspects of the methods described herein.
[0052] Vehicle module 400 may be implemented with a bus architecture generally represented by bus 410. Bus 410 may include any number of interconnected buses and bridges, depending on the specific application and overall design constraints of vehicle module 400. Bus 410 may communicatively couple various circuits including one or more processors (generally represented by processor 406), a working memory device 404, a communication interface 402, and a non-transitory computer-readable medium 408. Bus 410 may also couple various other circuits and devices, such as timing sources, peripherals, voltage regulators, and power management circuits and devices, which are well known in the art and will not be described further.
[0053] The communication interface 402 provides a means for communicating with other devices over a transmission medium. In some aspects, the communication interface 402 includes circuitry and / or programming adapted to facilitate bidirectional communication of information with one or more communication devices in a network. In some aspects, the communication interface 402 is adapted to facilitate wireless communication of the vehicle module 400. In these aspects, the communication interface 402 can be coupled to one or more antennas 412, as shown in FIG. 4, for wireless communication within a wireless communication system. In some aspects, the communication interface 402 can be configured for wire-based communication. For example, the communication interface 402 can be a bus interface, a transmit / receive interface, or other type of signal interface including drivers, buffers, or other circuitry for outputting and / or retrieving signals (e.g., outputting signals from an integrated circuit and / or receiving signals into an integrated circuit). The communication interface 402 can be configured with one or more stand-alone receivers and / or transmitters, as well as one or more transceivers. In the illustrated example, the communication interface 402 includes a transmitter 414 and a receiver 416. The communication interface 402 serves as an example of a receiving means and / or a transmitting means.
[0054] The processor 406 may be responsible for managing the bus 410 and for overall processing, including the execution of software stored on the non-transitory computer-readable medium 408. The software, when executed by the processor 406, may cause the processor 406 to perform various functions, as described below for any particular device or module. The non-transitory computer-readable medium 408 and working memory device 404 may also be used to store data that is manipulated by the processor 406 when executing software.
[0055] One or more processors, such as processor 406 of vehicle module 400, can execute software. Software can be broadly construed to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or the like. Software can reside on a non-transitory computer-readable medium, such as non-transitory computer-readable medium 408. The non-transitory computer-readable medium 408 may include, for example, magnetic storage devices (e.g., hard disks, floppy disks, magnetic tapes, magnetic strips), optical disks (e.g., compact disks (CDs) or digital versatile disks (DVDs)), smart cards, flash memory devices (e.g., cards, sticks, or key drives), random access memory (RAM), read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), registers, removable disks, and other suitable non-transitory media for storing software, dates, and / or instructions that can be accessed and read by the computer or processor 406. The computer-readable medium may also include, for example, carrier waves, transmission lines, and any other suitable medium for transmitting software and / or instructions that can be accessed and read by the computer or processor 406. The non-transitory computer-readable medium 408 may reside on the vehicle module 400 (e.g., the local data storage device 112 in FIG. 1 ), may reside outside the vehicle module 400 (e.g., the remote data storage device 142 ), or may be distributed across multiple entities, including the vehicle module 400 .
[0056] The processor 406 is configured to acquire, process, and / or transmit data, control data access and storage, issue commands, and control other desired operations. The processor 406, in at least one example, can include circuitry configured to implement desired programming provided by a suitable medium.
[0057] The non-transitory computer-readable medium 408 may be embodied by a computer program product. As an example, the computer program product may include the computer-readable medium in packaging materials. Those skilled in the art will recognize how best to implement the described functionality presented throughout this disclosure depending on the particular application and the overall design constraints imposed on the overall system.
[0058] In some aspects of the present disclosure, the processor 406 may include circuitry configured for various functions. For example, the processor 406 may include operational circuitry / modules 420 configured to manage sensor and display operation, perform input / output operations related to accessing the Internet web, and perform methods, such as those described herein. For example, the processor 406 may include a data storage 422 system / function / module / device configured to store data, including, but not limited to, sensory data, event data, threshold levels, video data, driver data, score data, and previously collected data sets. For example, the processor 406 may include a file system / function / module / device 424 configured to control how data is stored and retrieved in local and / or remote data storage. For example, the processor 406 may include a sensor system / function / module / device 426 configured to control sensor and video inputs. For example, processor 406 may include a diagnostic system / function / module / device 426 configured to, for example, handle email accounts, process email messages, compile emails for transmission, acquire and store vehicle self-reported data, recorded video, and perform methods described herein. For example, processor 406 may include an engine control unit system / function / module / device 430 configured to control one or more electrical systems of a subsystem within the vehicle relative to an external server and perform methods described herein. For example, processor 406 may include an artificial intelligence system / function / module / device 432 configured to build a model of past usage. For example, processor 406 may include an automated driving system / function / module / device 432 configured to determine whether the vehicle's automated driving system was engaged at the time of the hazardous event and whether the driver engaged the automated driving system or the vehicle engaged the automated driving feature.
[0059] In some aspects of the present disclosure, the non-transitory computer-readable medium 408 of the vehicle module 400 may include instructions that cause various systems / functions / modules / devices of the processor 406 to perform methods described herein. For example, the non-transitory computer-readable medium 408 may include operating instructions or code 420 for a circuit / module 420 to operate. For example, the non-transitory computer-readable medium 408 may include data storage instructions 436 corresponding to a data storage system / function / module / device 422. For example, the non-transitory computer-readable medium 408 may include file system instructions 438 corresponding to a file system / function / module / device 424. For example, the non-transitory computer-readable medium 408 may include sensor instructions 440 corresponding to a sensor system / function / module / device 426. For example, the non-transitory computer-readable medium 408 may include diagnostic instructions 442 corresponding to an engine control unit system / function / module / device 430. For example, the non-transitory computer-readable medium 408 may include engine control unit instructions 444 corresponding to an engine control unit system / function / module / device 430. For example, non-transitory computer-readable medium 408 may include artificial intelligence instructions 446 corresponding to artificial intelligence system / function / module / device 432. For example, non-transitory computer-readable medium 408 may include autonomous driving instructions 446 corresponding to autonomous driving system / function / module / device 433.
[0060] FIG. 5 illustrates a block diagram of an exemplary hardware embodiment of a data platform module / apparatus 500 configured to communicate in accordance with one or more aspects of the present disclosure. The data platform module 500 may include, for example, a communications interface 502. The communications interface 502 may enable input and output of data and control. The communications interface 502 may enable communication over one or more communications networks, for example, similar to the one or more communications networks 102 of FIG. 1. The communications interface 502 may be communicatively coupled, directly or indirectly, to one or more communications networks 102. The data platform module 500 may include a working memory device 504 and a processor system / function / module / device (hereinafter, processor 506). The processor 506 may use the working memory device 504 to store data to be manipulated, data being manipulated, or recently manipulated. The processor 506 may store instructions on the working memory device 504 and / or on one or more other memory structures or devices, such as, for example, a non-transitory computer-readable medium system / function / module / device (hereinafter, non-transitory computer-readable medium 508). The instructions, when executed by the processor 506, may, for example, cause the processor 506 to perform one or more aspects of the methods described herein.
[0061] The data platform module 500 may be implemented with a bus architecture, generally represented by bus 510. The bus 510 may include any number of interconnected buses and bridges, depending on the specific application and overall design constraints of the data platform module 500. The bus 510 may communicatively couple various circuits, including one or more processors (generally represented by processor 506), a working memory device 504, a communication interface 502, and a non-transitory computer-readable medium 508. The bus 510 may also couple various other circuits and devices, such as timing sources, peripherals, voltage regulators, and power management circuits and devices, which are well known in the art and will not be described further.
[0062] The communication interface 502 provides a means for communicating with other devices over a transmission medium. In some aspects, the communication interface 502 includes circuitry and / or programming adapted to facilitate bidirectional communication of information with one or more communication devices in a network. In some aspects, the communication interface 502 is adapted to facilitate wireless communication of the data platform module 500. In these aspects, the communication interface 502 can be coupled to one or more antennas 512, as shown in FIG. 5, for wireless communication within a wireless communication system. In some aspects, the communication interface 502 can be configured for wire-based communication. For example, the communication interface 502 can be a bus interface, a transmit / receive interface, or other type of signal interface including drivers, buffers, or other circuitry for outputting and / or retrieving signals (e.g., outputting signals from an integrated circuit and / or receiving signals into an integrated circuit). The communication interface 502 can be configured with one or more stand-alone receivers and / or transmitters, as well as one or more transceivers. In the illustrated example, the communication interface 502 includes a transmitter 514 and a receiver 516. The communication interface 502 serves as an example of a receiving means and / or a transmitting means.
[0063] The processor 506 may be responsible for managing the bus 510 and for overall processing, including the execution of software stored on the non-transitory computer-readable medium 508. The software, when executed by the processor 506, may cause the processor 506 to perform various functions, as described below for any particular device or module. The non-transitory computer-readable medium 508 and the working memory device 504 may also be used to store data that is manipulated by the processor 506 when executing software.
[0064] One or more processors, such as processor 506 of vehicle module 500, can execute software. Software can be broadly interpreted to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. Software can reside on a non-transitory computer-readable medium, such as non-transitory computer-readable medium 508. The non-transitory computer-readable medium 508 may include, for example, a magnetic storage device (e.g., a hard disk, floppy disk, magnetic tape, magnetic strip), an optical disk (e.g., a compact disk (CD) or digital versatile disk (DVD)), a smart card, a flash memory device (e.g., a card, stick, or key drive), random access memory (RAM), read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), registers, removable disks, and other suitable non-transitory medium for storing software, dates, and / or instructions that can be accessed and read by the computer or processor 506. The computer-readable medium may also include, for example, a carrier wave, a transmission line, and any other suitable medium for transmitting software and / or instructions that can be accessed and read by the computer or processor 506. The non-transitory computer-readable medium 508 may reside on the data platform module 500 (e.g., on the local data storage device 112 of FIG. 1 ), may reside outside the data platform module 500 (e.g., on the remote data storage device 142 ), or may be distributed across multiple entities, including the data platform module 500 .
[0065] The processor 506 is configured to acquire, process, and / or transmit data, control data access and storage, issue commands, and control other desired operations. The processor 506, in at least one example, can include circuitry configured to implement desired programming provided by a suitable medium.
[0066] The non-transitory computer-readable medium 508 may be embodied by a computer program product. As an example, the computer program product may include the computer-readable medium in packaging materials. Those skilled in the art will recognize how best to implement the described functionality presented throughout this disclosure depending on the particular application and the overall design constraints imposed on the overall system.
[0067] In some aspects of the present disclosure, the processor 506 may include circuitry configured for various functions. For example, the processor 506 may include circuitry / modules 520 for operations, such as managing the operation of data received from the vehicle module 104 (FIG. 1) and the user interface module 106 (FIG. 1), performing input / output operations related to accessing the Internet web, and performing methods described herein. For example, the processor 506 may include a data storage 522 system / function / module / device configured to store data, including, but not limited to, sensory data, event data, threshold levels, video data, driver data, score data, and previously collected data sets. For example, the processor 506 may include a file system / function / module / device 524 configured to control how data is stored and retrieved in local and / or remote data storage. For example, the processor 506 may include a graphics processor system / function / module / device 526 configured to control video input and output from a vehicle-mounted camera.
[0068] In some aspects of the present disclosure, the non-transitory computer-readable medium 508 of the data platform module 500 may include instructions that cause various systems / functions / modules / devices of the processor 506 to perform methods described herein. For example, the non-transitory computer-readable medium 508 may include operating instructions or code 528 for operating circuits / modules 520. For example, the non-transitory computer-readable medium 508 may include data storage instructions 530 corresponding to the data storage system / function / module / device 522. For example, the non-transitory computer-readable medium 508 may include file system instructions 532 corresponding to the file system / function / module / device 524. For example, the non-transitory computer-readable medium 508 may include graphics processor instructions 534 corresponding to the graphics processor system / function / module / device 526.
[0069] FIG. 6 illustrates a block diagram of an exemplary hardware embodiment of a user interface module / device 600 configured to communicate in accordance with one or more aspects of the present disclosure. The user interface module 600 may include, for example, a communications interface 402. The communications interface 602 may enable input and output of data and control. The communications interface 602 may enable communication over one or more communications networks, for example, similar to the one or more communications networks 102 of FIG. 1. The communications interface 602 may be communicatively coupled, directly or indirectly, to one or more communications networks 102. The user interface module 600 may include a working memory device 604 and a processor system / function / module / device (hereinafter, processor 606). The processor 606 may use the working memory device 604 to store data to be manipulated, data being manipulated, or recently manipulated. The processor 606 may store instructions on the working memory device 604 and / or on one or more other memory structures or devices, such as, for example, a non-transitory computer-readable medium system / function / module / device (hereinafter, non-transitory computer-readable medium 608). The instructions, when executed by the processor 606, may, for example, cause the processor 606 to perform one or more aspects of the methods described herein.
[0070] The user interface module 600 may be implemented with a bus architecture, generally represented by bus 610. The bus 610 may include any number of interconnected buses and bridges, depending on the particular application and overall design constraints of the user interface module 600. The bus 610 may communicatively couple various circuits, including one or more processors (generally represented by processor 606), a working memory device 604, a communication interface 602, and a non-transitory computer-readable medium 608. The bus 610 may also couple various other circuits and devices, such as timing sources, peripherals, voltage regulators, and power management circuits and devices, which are well known in the art and will not be described further.
[0071] The communication interface 602 provides a means for communicating with other devices over a transmission medium. In some aspects, the communication interface 602 includes circuitry and / or programming adapted to facilitate bidirectional communication of information with one or more communication devices in a network. In some aspects, the communication interface 602 is adapted to facilitate wireless communication of the user interface module 600. In these aspects, the communication interface 602 can be coupled to one or more antennas 612, as shown in FIG. 6, for wireless communication within a wireless communication system. In some aspects, the communication interface 602 can be configured for wire-based communication. For example, the communication interface 602 can be a bus interface, a transmit / receive interface, or other type of signal interface including drivers, buffers, or other circuitry for outputting and / or retrieving signals (e.g., outputting signals from an integrated circuit and / or receiving signals into an integrated circuit). The communication interface 602 can be configured with one or more stand-alone receivers and / or transmitters, as well as one or more transceivers. In the illustrated example, the communication interface 602 includes a transmitter 614 and a receiver 616. The communication interface 602 serves as an example of a receiving means and / or a transmitting means.
[0072] The processor 606 may be responsible for managing the bus 610 and for overall processing, including the execution of software stored on the non-transitory computer-readable medium 608. The software, when executed by the processor 606, may cause the processor 606 to perform various functions, as described below for any particular device or module. The non-transitory computer-readable medium 608 and the working memory device 404 may also be used to store data that is manipulated by the processor 606 when executing software.
[0073] One or more processors, such as processor 606 of user interface module 600, can execute software. Software can be broadly interpreted to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executable files, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. Software can reside in a non-transitory computer-readable medium, such as non-transitory computer-readable medium 608. The non-transitory computer-readable medium 608 may include, for example, magnetic storage devices (e.g., hard disks, floppy disks, magnetic tapes, magnetic strips), optical disks (e.g., compact disks (CDs) or digital versatile disks (DVDs)), smart cards, flash memory devices (e.g., cards, sticks, or key drives), random access memory (RAM), read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), registers, removable disks, and other suitable non-transitory medium for storing software, dates, and / or instructions that can be accessed and read by the computer or processor 606. The computer-readable medium may also include, for example, carrier waves, transmission lines, and any other suitable medium for transmitting software and / or instructions that can be accessed and read by the computer or processor 606. The non-transitory computer-readable medium 608 may reside on the user interface module 600 (e.g., on the local data storage device 112 of FIG. 1), may reside outside the user interface module 600 (e.g., on the remote data storage device 142), or may be distributed across multiple entities, including the user interface module 600.
[0074] The processor 606 is configured to acquire, process, and / or transmit data, control data access and storage, issue commands, and control other desired operations. The processor 606, in at least one example, can include circuitry configured to implement desired programming provided by a suitable medium.
[0075] The non-transitory computer-readable medium 608 may be embodied by a computer program product. As an example, the computer program product may include the computer-readable medium in packaging materials. Those skilled in the art will recognize how best to implement the described functionality presented throughout this disclosure depending on the particular application and the overall design constraints imposed on the overall system.
[0076] In some aspects of the present disclosure, the processor 606 may include circuitry configured for various functions. For example, the processor 606 may include circuitry / modules 620 for operations, such as managing the operation of data received from the vehicle module 104 (FIG. 1) and the data platform module 108 (FIG. 1), performing input / output operations related to accessing the Internet web, and performing methods described herein. For example, the processor 606 may include a data storage 622 system / function / module / device configured to store data, including, but not limited to, sensory data, event data, threshold levels, video data, driver data, score data, and previously collected data sets. For example, the processor 606 may include a file system / function / module / device 624 configured to control how data is stored and retrieved in local and / or remote data storage. For example, the processor 606 may include a vehicle HUD system / function / module / device 626 configured to provide video input and output. For example, the processor 606 may include a vehicle HUD system / function / module / device 626 configured to control an automotive head-up display on a vehicle.
[0077] In some aspects of the present disclosure, the non-transitory computer-readable medium 608 of the user interface module 600 may include instructions that cause various systems / functions / modules / devices of the processor 606 to perform methods described herein. For example, the non-transitory computer-readable medium 608 may include operational instructions or code 630 for operating a circuit / module 620. For example, the non-transitory computer-readable medium 608 may include data storage instructions 632 corresponding to a data storage system / function / module / device 622. For example, the non-transitory computer-readable medium 608 may include file system instructions 634 corresponding to a file system / function / module / device 624. For example, the non-transitory computer-readable medium 608 may include vehicle HUD instructions 636 corresponding to a vehicle HUD system / function / module / device 626. For example, the non-transitory computer-readable medium 608 may include dashboard instructions 638 corresponding to a vehicle HUD system / function / module / device 626.
[0078] 7 and 8 illustrate exemplary processes for collecting data from a combination of vehicle sensors, video inputs, and onboard artificial intelligence and / or machine learning modules, and generating, calculating, and evaluating driving scores and trip information from the data for a vehicle driver, if the driver is human, or for a vehicle driver, if the driver is a vehicle with automated driving features activated. The processes may also transmit the calculation results to one or more entities, or enable one or more entities to retrieve the calculation results. Each process is illustrated as a collection of logic flowchart blocks, which represent a sequence of operations that can be performed in hardware, software, or a combination thereof. In the case of software, the blocks represent computer-executable instructions that, when executed by one or more processors, perform the described operations. Generally, computer-executable instructions include routines, programs, objects, components, data structures, and the like, that perform particular functions or implement particular abstract data types. The order in which the operations are described is not intended to be limiting, and any number of the described blocks can be combined in any order and / or in a mirrored arrangement to implement a process. For illustrative purposes, the processes herein are described with reference to architecture 100 of FIGS. 1-3.
[0079] FIG. 7 is a flow diagram illustrating an example method 700 for calculating a driver score for a vehicle driver. As described above, the driver may be a human or, if automated driving features are activated, the vehicle itself. Execution of the driver score calculation process 700 may initially begin when the vehicle's engine is started to begin a trip (702). As the vehicle progresses through the trip, a vehicle module on the vehicle collects or retrieves data from sensors, diagnostic modules, engine control units, and / or automated driving modules (704). The vehicle module continuously monitors for unsafe events (706). If no unsafe events are detected (708), the vehicle module determines whether the trip has ended (710).
[0080] If a dangerous event is detected (712), the vehicle module initiates recording of video and / or vehicle data for onboard and offboard analysis (714) via a vehicle threshold event to indicate an abnormal situation. According to one example, the vehicle module can use a 5-10 second window to determine the peak of the dangerous event. For example, if the driver suddenly brakes, the vehicle module can check the corresponding sensor data over a 10 second time frame to determine the time of maximum deceleration. If the vehicle module determines that a dangerous event has occurred, it assigns a severity level, for example, 0-3 (or 0-4), and updates the trip summary. The trip summary may be stored on the vehicle module in the vehicle, as well as transmitted to a remote database or server at the beginning and end of the trip and every 10 seconds. All severity levels of the dangerous events detected during the course of the trip can be used to calculate the trip severity, which can be used to assess the trip score. According to one example, the system may automatically assume a trip severity of 4 for each minute of the trip, where the trip score is a number between 0 and 100, taking into account the configured typical severity of the trip (or pre-set severity or threshold) and the actual severity per minute. Table 1 below shows severities associated with hazardous events, according to one example. Table 1 is intended to be an illustrative and non-limiting example, and may include other hazardous events and severity levels. TIFF0007813324000001.tif116170
[0081] When an event is detected, the system may use 60 seconds of video data to store 10 seconds of video footage before and 10 seconds after the event timestamp. The vehicle module then analyzes the recorded content and uses an object detection algorithm to draw a box around each recognized object. After creating the object bounding box, the vehicle module sends the box coordinates to a processor for processing of the hazardous event. That is, the system can identify objects outside the vehicle that impacted the driver's driving performance. The box uses an object detection algorithm to identify objects outside the vehicle in the recorded video that impacted the performance data. The latitude and longitude coordinates of the identified objects may be determined and sent to the diagnostic module processor for further processing to determine the impact on driver performance.
[0082] Based on all data collected from the trip, the system calculates trip-based driver scoring for a cumulative overall driver score (716). The system then uses artificial intelligence and / or machine learning to calculate the collected vehicle sensor and / or video metadata based on the data collection and analysis and develops a driving score, including risk and safety scores (718). If no further unsafe events are detected and the trip is determined to be over (720), the system stops collecting data.
[0083] FIG. 8 is a flow diagram illustrating an example method 800 for determining driver and vehicle safety. Execution of the safety score calculation process 800 begins with acquiring, collecting, and / or detecting data during a trip. As described above, the driver may be a human or, if automated driving features are activated, the vehicle itself. Diagnostic data is collected (802), and from the diagnostic data, it is determined whether any trouble codes occurred during the trip (804). Unsafe event data is identified (806), and severity levels for the unsafe events are assigned (808). Driving data is also collected (810), and from the driving data, it is determined whether any abnormal behavior is detected (812). Unsafe event data is identified (814), and severity levels for the unsafe events are assigned (816). Using the collected data, detected trouble codes, identified unsafe events, and assigned event severity levels, the system determines an intermediate score (818) during the course of the trip. Once the trip is completed (820), a trip severity is assigned (822) and a trip score is determined (824). The trip severity level and trip score are used to calculate a driver score (826).
[0084] Factors that may be analyzed in determining a trip score include, but are not limited to, observed driver behavior, available vehicle safety systems, level of vehicle maintenance, and distance and time traveled.
[0085] According to one aspect of the present disclosure, if the system determines an anomaly of sufficient severity, it can contact and dispatch emergency responders and tow trucks, and also assist those involved in selecting medical facilities and vehicle repair facilities. The system can track the vehicle's position and orientation. If an inertial measurement unit (IMU) is installed, the system can process IMU data separately from GPS samples, thereby providing more detailed vehicle information. The system can obtain vehicle information every second from the GPS and IMU, such as longitude, latitude, altitude, speed, direction, longitude error (meters), latitude error (meters), speed error (meters / second), altitude error (meters), and direction error (degrees).
[0086] The GPS module then processes the GPS data using an unscented Kalman localization filter, which helps increase the precision and accuracy of the information the system receives. The localization filter itself estimates the vehicle's position based on speed and direction and matches it with the information received from GPS. In areas with poor reception, the system can give less weight to the GPS data and instead give more weight to the localization filter's predictions.
[0087] Figure 9 summarizes the overall insurance system process related to insurance. It shows four main processes that take place when an incident is detected: a) detection of accidents and other anomalies, b) reconstruction and explanation of the anomaly, c) incident costs and fault attribution, and d) subrogation and payment.
[0088] Figure 10 illustrates the process for detecting accidents or anomalies, or incidents. During driving, an allocated amount of data storage is reserved to hold one minute's worth of vehicle sensor information. When an accident or anomaly is detected, an alert is issued to surrounding vehicles and devices that may have observed the incident. Data from vehicles and devices within range of the potential incident is sent to the insurance system's data platform for further analysis.
[0089] Figure 11 illustrates a process for using data from multiple device sensors to improve the accuracy of vehicle and object location and movement estimates at the time of a detected incident. The diagram also illustrates a process for reconstructing detected object activity from device and vehicle sensor data, including path predictions for the detected object and behavior that may have led to the detected anomaly / incident. This process results in the creation of an incident report and event log of the activity that occurred.
[0090] Figure 12 illustrates how incident reports can be used to assign fault to involved entities. A model trained on the results of past insurance claims based on anomaly types is run on the incident report. The model assigns fault to objects and entities detected at the incident location, along with potential contributing faults, including but not limited to component manufacturers and vehicle software manufacturers. After fault is assigned, costs are estimated from a model trained on past insurance claims information. Additionally, if a driver or passenger took a photo of the incident with their mobile phone, the photo can be uploaded to the insurance system's data platform, and a cost estimation model trained on the incident images can be run. Given the estimated cost and the accuracy of the cost estimate, a decision can be made to automatically issue a payment to the insured or require approval from a human agent.
[0091] Figure 13 illustrates a process for reducing the amount of manual work required to bill and subrogate the parties. First, using data generated from an incident, a discrimination model is run on detected objects to detect vehicle license plate information and retrieve the parties' insurance companies from a remote database. If that information alone is not enough to identify the parties, an individual can take a photo of their driver's license with their mobile phone. The driver's license image is then used by a model trained to detect written letters and numbers to extract the parties' information. Based on the output of a historical fault model, the identified parties and their insurance companies are notified of their share of fault. Based on the assigned share of fault, payment is subrogated and the parties receive their insurance money.
[0092] The system can store accident data on the vehicle and on the device.
[0093] The system can be used to tailor hazardous signature calculations and anomaly detection to available sensor and / or data inputs.
[0094] The system can be used for driver and vehicle risk estimation and safety assessment for fleet management.
[0095] The system can be used to transmit accident data to emergency response services after an accident via cellular and / or other network connections.
[0096] The system can be used to estimate vehicle repairs, insurance claims and personal injury from accident data.
[0097] The system can be used for driver and / or vehicle safety analysis.
[0098] The system described above can be applied to both the financial and insurance industries. It can be used to calculate residual values for leases and loans. The generated risk calculations and estimates can be used to estimate vehicle residual values by identifying movements and vehicle mileage. The residual values can then be used to estimate lease prices, fleet management sales, vehicle prices, auction prices, and total loss insurance valuations. The estimated driver scores and trip summaries can be used to calculate trip costs per mile driven, changes in driver insurance premiums, and vehicle wear and tear.
[0099] Conclusion In this disclosure, the word “exemplary” is used to mean “serving as an example, instance, or illustration.” Any aspect or feature described herein as “exemplary” should not necessarily be construed as preferred or advantageous over other aspects of the present disclosure. Likewise, the term “aspect” does not require that all aspects of the present disclosure include the described feature, advantage, or mode of operation. As used herein, the term “coupled” refers to a direct or indirect coupling between two objects. For example, if object A is in physical contact with object B, and object B is in contact with object C, objects A and C can be considered to be coupled to each other even though they are not in direct physical contact. For example, a first object may be coupled to a second object even though the first object is not in direct physical contact with the second object. The terms “circuit” and “electrical circuitry” are used broadly and are not limited to types of electronic circuits, but are intended to include both hardware implementations of electrical devices and conductors that, when connected and configured, enable the performance of the functions described in this disclosure, and software implementations of information and instructions that, when executed by a processor, enable the performance of the functions described in this disclosure. "At least one" and "one or more" may be used interchangeably herein.
[0100] In this disclosure, the use of components "A and / or B" can mean "A or B or A and B," and can alternatively be expressed as "A, B, or a combination thereof" or "A, B, or both." In this disclosure, the use of components "A, B, and / or C" can mean "A or B or C, or any combination thereof," and can alternatively be expressed as "A, B, C, or any combination thereof."
[0101] One or more of the components, steps, features, and / or functions described herein may be rearranged and / or combined into a single component, step, feature, or function, or embodied in multiple components, steps, or functions. Additionally, additional elements, components, steps, and / or functions may be added without departing from the novel features disclosed herein. The apparatus, devices, and / or components described herein may be configured to perform one or more of the methods, features, or steps described herein. Additionally, the novel algorithms described herein may be efficiently implemented in software and / or incorporated into hardware.
[0102] It is understood that the specific order or hierarchy of steps in the disclosed methods is an example of a sample process. It is understood that the specific order or hierarchy of steps in the methods can be rearranged based on design desirability. The accompanying method claims present elements of the various steps in a sample order, and are not intended to be limited to the specific order or hierarchy presented, unless specifically stated therein.
[0103] The foregoing description is provided to enable those skilled in the art to practice the various embodiments described herein. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments. Therefore, the claims are not intended to be limited to the embodiments set forth herein but are to be accorded the full scope consistent with the language of the claims. References to elements in the singular shall mean "one or more," and not "only one," unless expressly stated otherwise. The term "some" refers to one or more, unless otherwise specified. A phrase referring to "at least one" of a list of items refers to any combination of those items, including single members. For example, "at least one of a, b, or c" is intended to include a; b; c; a and b; a and c; b and c; and a, b, and c. All structural and functional equivalents to the elements of the various embodiments described throughout this disclosure that are known, or that later become known, to those skilled in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public, regardless of whether such disclosure is expressly recited in the claims. No claim element is to be construed under the provisions of 35 U.S.C. 112(f) unless the claim element is expressly recited using the phrase "means for," or, in the case of a method claim, the phrase "step for."
[0104] As used herein, the term "determining" encompasses a wide variety of actions. For example, "determining" can include calculating, computing, processing, deriving, investigating, searching (e.g., searching in a table, database, or other data structure), ascertaining, and the like. "Determining" can also include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory), and the like. "Determining" can also include seeking, selecting, choosing, establishing, and the like.
[0105] While the foregoing disclosure sets forth exemplary embodiments, it should be noted that various changes and modifications may be made herein without departing from the scope of the appended claims. Also, the functions, steps, or actions of the method claims according to the embodiments described herein do not have to be performed in any particular order unless otherwise stated. Further, although elements may be described or claimed in the singular, the plural is contemplated unless limitation to the singular is expressly stated.
Claims
1. One or more non-transitory computer-readable media storing computer-executable instructions, The computer-executable instructions, when executed, cause one or more processors onboard a vehicle to perform operations for evaluating a driver's operation of the vehicle, the operations including: monitoring performance data related to the operation of the vehicle by a driver, the performance data including data from one or more of a plurality of sensors, a diagnostic module, an engine control unit module, and an autonomous driving module; detecting at least one unsafe event based on the performance data not reaching at least one predetermined threshold; analyzing the performance data and the at least one hazardous event to determine a numerical severity level of the at least one hazardous event; updating, by one or more of the processors, a trip summary to include the at least one hazardous event and a severity level of the at least one hazardous event; assigning a trip severity level for the trip when the trip is completed using the severity level numerical value of the at least one hazardous event; using the one or more processors to determine a trip score for the trip using the trip severity level for the trip; and using the one or more processors to generate at least one driver score for display on a user interface, the at least one driver score being generated using at least the trip score for the trip, a trip severity level for the trip, one or more other trip scores for one or more previous trips, and one or more other trip severity levels for one or more previous trips.
2. 10. The one or more non-transitory computer-readable media of claim 1, 10. The one or more non-transitory computer-readable media, wherein the operations further comprise communicating the at least one driver score to at least one user via the user interface.
3. 10. The one or more non-transitory computer-readable media of claim 1, 10. The one or more non-transitory computer-readable media, wherein the performance data includes at least one of sensor data, data from a diagnostic module, data from an engine control unit module, and data from an autonomous driving module.
4. 10. The one or more non-transitory computer-readable media of claim 1, The operation is Initiating video recording using a camera mounted on the vehicle; via the vehicle module, drawing object bounding boxes around recognized objects in the recorded video using an object detection algorithm; transmitting coordinates of the bounding box to one or more processors via a communication link between the camera and the one or more processors for processing the at least one hazardous event; analyzing, by one or more of the processors, the performance data and recorded video data using a vehicle threshold event to identify the at least one dangerous event, wherein the recorded video data includes the recognized object in the recorded video and coordinates of a bounding box of the recognized object; and transmitting the recorded video data to a data platform using a communication interface.
5. 5. The one or more non-transitory computer-readable media of claim 4, One or more non-transitory computer-readable media, wherein a memory device mounted on a vehicle stores 10 seconds of video recorded before and after the at least one hazardous event.
6. 5. The one or more non-transitory computer-readable media of claim 4, The operation is using the object detection algorithm to identify objects external to the vehicle from the recorded video; and transmitting the latitude and longitude coordinates of the identified object to a diagnostic module processor for further processing to determine an contribution of the identified object to the at least one hazardous event.
7. 5. The one or more non-transitory computer-readable media of claim 4, The operation is Initiating the saving of the performance data from the diagnostic module, the engine control unit module, and the autonomous driving module; and analyzing the stored performance data and the recorded video data to identify the at least one hazardous event.
8. 10. The one or more non-transitory computer-readable media of claim 1, The operation is determining the occurrence of an accident from the performance data; and transmitting information related to the accident to a third party.
9. 10. The one or more non-transitory computer-readable media of claim 1, 10. The one or more non-transitory computer-readable media, wherein the at least one driver score is generated on-board a vehicle.
10. 10. The one or more non-transitory computer-readable media of claim 1, The operation is updating the at least one driver score after the at least one dangerous event has been assigned a severity level; storing the updated driver score in an on-board memory device in the vehicle; and transmitting the updated driver score to a remote data database.
11. 10. The one or more non-transitory computer-readable media of claim 1, One or more non-transitory computer-readable media, wherein the at least one hazardous event comprises braking at a specific speed, accelerating at a specific speed, cornering at a specific speed, failing to stop at a stop sign, a rolling stop, or speeding.
12. 1. A method implemented in a vehicle computer, comprising: receiving, at a processor of a vehicle module onboard the vehicle, performance data relating to the performance of the vehicle from a plurality of sources onboard the vehicle, the performance data being communicated over a controller area network; detecting, by a processor of the vehicle module, at least one dangerous event based on the performance data not meeting at least one predetermined threshold or matching a risk pattern model, the at least one dangerous event comprising braking at a specific speed, accelerating at a specific speed, cornering at a specific speed, not stopping at a stop sign, a rolling stop, or speeding; causing the processor to initiate recording of video using a camera mounted on the vehicle; using an object detection algorithm, by the processor, to identify one or more objects external to the recorded vehicle and determine coordinates of the one or more identified objects; analyzing, by a processor of a vehicle module on the vehicle, the performance data and recorded video data using one or more predetermined thresholds to identify at least one hazardous event, the recorded video data including one or more identified objects and coordinates of bounding boxes of the one or more identified objects; using a processor of the vehicle module to analyze performance data and the recorded video data to determine a severity level of the at least one hazardous event, the video data including one or more identified objects and coordinates of one or more identified objects; updating, by the processor, a trip summary to include the at least one hazardous event and a severity level of the at least one hazardous event; when a trip is completed, assigning, by the processor, a trip severity level using the severity level of the at least one hazardous event and using the trip severity level to determine a final trip score for the trip; generating, by a processor of the vehicle module, at least one driver score using at least the final trip score for the trip, the trip severity level for the trip, one or more other trip scores for one or more previous trips, and one or more other trip severity levels for one or more previous trips.
13. 13. The computer-implemented method of claim 12, using the object detection algorithm to identify one or more objects within the recorded video; a diagnostic module in communication with a module onboard the vehicle using the object detection algorithm to identify one or more of the objects in the recorded video that affect performance data; determining latitude and longitude coordinates of one or more of the identified objects.
14. 13. The computer-implemented method of claim 12, wherein the one or more devices onboard the vehicle include at least a diagnostic module, an engine control unit module, and an autonomous driving module; causing the processor to initiate saving of the performance data from the diagnostic module, the engine control unit module, and the autonomous driving module; and wherein the processor analyzes the stored performance data to identify the at least one unsafe event.
15. A computing device mounted on a vehicle, a communication interface connected to a Controller Area Network (CAN) bus and installed in the vehicle; a diagnostic module, an engine control unit module, a plurality of sensors, and an autonomous driving module, each connected to a CAN bus; a processing circuit mounted on the vehicle and connected to the CAN bus; the processing circuitry obtaining and storing performance data relating to the vehicle from the diagnostic module, the engine control unit module, the plurality of sensors, and the autonomous driving module; detecting at least one dangerous event based on the performance data not reaching at least one predetermined threshold or conforming to a risk pattern model; determining whether the driving in the at least one hazardous event was due to a human driver or a vehicle in an automated driving mode; analyzing video from one or more cameras on the vehicle to identify one or more objects external to the vehicle and determine coordinates of the one or more identified objects; analyzing the performance data and recorded video data to determine a severity level of at least one identified hazardous event, wherein the recorded video data includes the one or more identified objects and coordinates of the one or more identified objects; updating a trip summary for the trip to include the at least one hazardous event and a severity level assigned to the at least one hazardous event; when the trip is completed, assigning a trip severity level for the trip using the severity level of the at least one hazardous event and using the trip severity level to determine a final trip score for the trip; determining risk and safety scores using at least the final trip score for the trip, the trip severity level for the trip, one or more other trip scores for one or more previous trips, and one or more other trip severity levels for one or more previous trips, the risk and safety scores including a driver score when the vehicle is not in an autonomous mode and a vehicle score when the vehicle is in an autonomous mode; notifying at least one user of the risk and safety scores via a user interface of the vehicle; 1. A computing device configured to execute
16. 16. The computing device of claim 15, the processing circuitry 10. The computing device, further configured to initiate recording of video from one or more cameras of the vehicle due to the at least one hazardous event.
17. 16. The computing device of claim 15, the processing circuitry using an object detection algorithm to identify one or more objects external to the vehicle from the recorded video; and transmitting longitude and latitude coordinates of a bounding box around one or more identified objects external to the vehicle to a diagnostic module processor for further processing to determine an effect of the identified one or more objects on the at least one hazardous event.
18. 16. The computing device of claim 15, the processing circuitry initiate saving of the performance data from the diagnostic module, the engine control unit module, the plurality of sensors, and the autonomous driving module; The computing device, further configured to analyze the stored performance data to identify the at least one unsafe event.
19. 16. The computing device of claim 15, The processing circuitry determines the at least one hazardous event as: a computing device that identifies the vehicle's speed as one or more of braking at a particular speed, accelerating at a particular speed, cornering at a particular speed, not stopping at a stop sign, making a rolling stop at a stop sign, or speeding.
Citation Information
Patent Citations
Driving diagnostic device and driving diagnostic method
JP2019012480A
Drive event capturing based on geolocation
US20130096731A1
Information processing device and method, program, and information processing system
WO2018139258A1