# US 12,223,840 B1 · Facial recognition technology for improving driver safety

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,223,840 B1
- Document ID: US12223840B1
- Status: Granted
- Kind: B1
- Application number: 18/783,165
- Filed: 2024-07-24
- Granted: 2025-02-11
- Earliest claimed: 2019-10-02
- Assignees: Samsara Inc.
- Applicants: Samsara Inc.
- Inventors: Evaline Shin-Tin Tsai; Alan Guihong Liu; Ijeoma Emeagwali; Ishaan Kansal; Saleh ElHattab; Bodecker John DellaMaria; Eliott Ray Chapuis; Jason Noah Laska; Jennifer Kao; Sean Kyungmok Bae; Sylvie Lee; Brian Tuan
- Web page: https://patentgrep.com/patent/US12223840B1

## CPC

- G08G 1/20: {Monitoring the location of vehicles belonging to a group, e.g. fleet of vehicles, countable or determined number of vehicles}
- B60R 11/04: Mounting of cameras operative during drive; Arrangement of controls thereof relative to the vehicle
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/09: Supervised learning
- G06N 20/00: Machine learning
- G06T 7/74: {involving reference images or patches}
- G06V 20/59: inside of a vehicle, e.g. relating to seat occupancy, driver state or inner lighting conditions
- G06V 40/16: Human faces, e.g. facial parts, sketches or expressions
- G06V 40/173: {face re-identification, e.g. recognising unknown faces across different face tracks}
- G07C 5/02: Registering or indicating driving, working, idle, or waiting time only (apparatus forming part of taximeters G07B13/00)
- G08G 1/017: identifying vehicles (G08G1/015, G08G1/054 take precedence)
- B60R 2300/8006: for monitoring and displaying scenes of vehicle interior, e.g. for monitoring passengers or cargo
- G06N 3/044: Recurrent networks, e.g. Hopfield networks
- G06N 3/049: Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
- G06T 2200/24: involving graphical user interfaces [GUIs]
- G06T 2207/30201: Face
- G06T 2207/30268: Vehicle interior
- G08G: TRAFFIC CONTROL SYSTEMS (guiding railway traffic, ensuring the safety of railway traffic B61L; arrangement of road signs or traffic signals E01F9/00; radar or analogous systems, sonar systems, lidar systems specially adapted for traffic control G01S13/91, G01S15/88, G01S17/88; {radar or analogous systems, sonar systems, lidar systems specially adapted for anti-collision purposes G01S13/93, G01S15/93, G01S17/93})
- B60R: VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G07C: TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE

## Abstract

Methods for performing operations for improving driver safety across a fleet of vehicles are disclosed. A plurality of safety events pertaining to a driving of a fleet of vehicles by a plurality of drivers are detected. A subset of the events is identified. The subset corresponds to one or more safety events of the plurality of safety events involving one or more vehicles of the fleet of vehicles to which drivers have not been assigned. A user interface is generated for presentation on a client device, the user interface including an interactive user interface element for accessing the subset of the events. One or more user interface elements are provided for accepting or rejecting recommendations for assignments of one of the plurality of drivers to each of the vehicles. The recommendations are generated based on an application of a machine-learned model to images of faces captured.

## Claims

### Claim 1

A system comprising:
one or more computer processors;
one or more computer memories;
a set of instructions stored in the one or more computer memories, the set of instructions configuring the one or more computer processors to perform operations, the operations comprising:
identifying a set of safety events involving one or more vehicles based on data received from sensor devices, wherein the set of safety events corresponds to vehicles to which drivers have not been assigned during the set of safety events;
generating a user interface for presentation on a client device, the user interface including interactive user interface elements for accessing the set of safety events and for accepting or rejecting recommendations for assignments of drivers to each of the vehicles; and
notifying drivers assigned to the set of safety events to participate in education tailored to each of the set of safety events they are associated with, wherein the education is designed to correct behaviors leading to each of the set of safety events.

### Claim 2 (depends on 1)

The system of claim 1, wherein the sensor devices include cameras configured to capture video data, the operations further comprising analyzing the video data to detect safety events based on predefined criteria.

### Claim 3 (depends on 2)

The system of claim 2, wherein the predefined criteria include detection of behaviors such as harsh braking, close following, or unsafe lane changes.

### Claim 4 (depends on 1)

The system of claim 1, wherein the user interface is configured to display real-time alerts to an administrator regarding detected safety events.

### Claim 5 (depends on 1)

The system of claim 1, wherein the user interface includes interactive elements that allow an administrator to view historical data and trends related to safety events.

### Claim 6 (depends on 1)

The system of claim 1, wherein the operations further comprise analyzing the data received from sensor devices to categorize the set of safety events based on severity levels, and prioritizing a display of the set of safety events on the user interface based on their categorized severity.

### Claim 7 (depends on 1)

The system of claim 1, wherein the education is dynamically updated based on a frequency of detected safety events.

### Claim 8

A method comprising:
one or more computer processors;
one or more computer memories;
a set of instructions stored in the one or more computer memories, the set of instructions configuring the one or more computer processors to perform operations, the operations comprising:
identifying a set of safety events involving one or more vehicles based on data received from sensor devices, wherein the set of safety events corresponds to vehicles to which drivers have not been assigned during the set of safety events;
generating a user interface for presentation on a client device, the user interface including interactive user interface elements for accessing the set of safety events and for accepting or rejecting recommendations for assignments of drivers to each of the vehicles; and
notifying drivers assigned to the set of safety events to participate in education tailored to each of the set of safety events they are associated with, wherein the education is designed to correct behaviors leading to each of the set of safety events.

### Claim 9 (depends on 8)

The method of claim 8, wherein the sensor devices include cameras configured to capture video data, the operations further comprising analyzing the video data to detect safety events based on predefined criteria.

### Claim 10 (depends on 9)

The method of claim 9, wherein the predefined criteria include detection of behaviors such as harsh braking, close following, or unsafe lane changes.

### Claim 11 (depends on 8)

The method of claim 8, wherein the user interface is configured to display real-time alerts to an administrator regarding detected safety events.

### Claim 12 (depends on 8)

The method of claim 8, wherein the user interface includes interactive elements that allow an administrator to view historical data and trends related to safety events.

### Claim 13 (depends on 8)

The method of claim 8, wherein the operations further comprise analyzing the data received from sensor devices to categorize the set of safety events based on severity levels, and prioritizing a display of the set of safety events on the user interface based on their categorized severity.

### Claim 14 (depends on 8)

The method of claim 8, wherein the education is dynamically updated based on a frequency of detected safety events.

### Claim 15

A non-transitory computer-readable storage medium storing a set of instructions that, when executed by one or more computer processors, causes the one or more computer processors to perform operations, the operations comprising:
identifying a set of safety events involving one or more vehicles based on data received from sensor devices, wherein the set of safety events corresponds to vehicles to which drivers have not been assigned during the set of safety events;
generating a user interface for presentation on a client device, the user interface including interactive user interface elements for accessing the set of safety events and for accepting or rejecting recommendations for assignments of drivers to each of the vehicles; and
notifying drivers assigned to the set of safety events to participate in education tailored to each of the set of safety events they are associated with, wherein the education is designed to correct behaviors leading to each of the set of safety events.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the sensor devices include cameras configured to capture video data, the operations further comprising analyzing the video data to detect safety events based on predefined criteria.

### Claim 17 (depends on 16)

The non-transitory computer-readable storage medium of claim 16, wherein the predefined criteria include detection of behaviors such as harsh braking, close following, or unsafe lane changes.

### Claim 18 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the user interface is configured to display real-time alerts to an administrator regarding detected safety events.

### Claim 19 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the user interface includes interactive elements that allow an administrator to view historical data and trends related to safety events.

### Claim 20 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the operations further comprise analyzing the data received from sensor devices to categorize the set of safety events based on severity levels, and prioritizing a display of the set of safety events on the user interface based on their categorized severity.
