IP Library Granted Patent US 12,509,094
Granted Patent B2
US 12,509,094 · App. 18/052,271 · Granted Dec 30, 2025

Systems and methods for identifying distracted driving events using semi-supervised clustering

Inventor: Kenneth Jason Sanchez (San Francisco, CA)
Assignee: QUANATA, LLC
B60W40/09G06F18/214G06F18/23G06N3/08B60W2540/229
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,509,094
App. No.
18/052,271
Granted
Dec 30, 2025
Kind
B2
Abstract

A distracted driving analysis system for identifying distracted driving events is provided. The system includes a processor in communication with a memory device programmed to: (i) receive driving event records, each driving event record including phone usage by a user, wherein a driving event record is labeled as an actual distracted driving event or a passenger event, (ii) divide the driving event records into at least two clusters based at least in part upon common features and the labels of each driving event record by processing the plurality of driving event records with a semi-supervised machine learning algorithm, (iii) generate a trained model based at least in part upon the at least two clusters, (iv) process a new driving event using the trained model, (v) assign the new driving event to one of the clusters using the trained model, and/or (vi) determine whether the new driving event is an actual distracted driving event or a passenger event.

Claims (53)

1 . A distracted driving analysis system for identifying distracted driving events, the distracted driving analysis system comprising one or more processors configured to perform operations comprising:

determining, using a trained model, a cluster of at least two clusters that applies to new driving event data indicative of a new driving event by inputting features of the new driving event data into the trained model, wherein the features comprise a phone touch rate and a sudden braking amount, wherein the trained model is trained using a plurality of historical driving event records, wherein the new driving event data is obtained by sensors comprising an accelerometer, a gyroscope, and a magnetometer, and wherein the new driving event data is encoded as multi-dimensional coordinates each comprising a respective dimension for each of the sensors and a respective dimension for time,

wherein each first historical driving event record of a first portion of the plurality of historical driving event records is labeled with a respective label as an actual distracted driving event or a passenger event;

wherein the first portion and a second portion of the plurality of historical driving event records are divided into the at least two clusters based at least in part upon common features of the plurality of historical driving event records and the respective labels by processing the first portion and the second portion of the plurality of historical driving event records with a semi-supervised machine learning algorithm, wherein the semi-supervised machine learning algorithm is trained by (i) applying a K-means clustering algorithm to both the first portion and the second portion to identify natural groupings based on features comprising correlations between sudden braking events and phone touches, (ii) propagating the respective labels for the first portion to guide the clustering of the second portion, (iii) assigning confidence scores to cluster assignments for unlabeled data points in the second portion based on labeled data points in the first portion, (iv) automatically qualifying cluster assignments when the confidence scores exceed a predetermined threshold, and (v) manually qualifying the cluster assignments when the cluster assignments are not automatically qualified;

wherein the trained model is generated based at least in part upon the at least two clusters including cluster labels; and

wherein the common features of the plurality of historical driving event records comprise a respective phone touch tap rate and a respective sudden braking amount;

determining whether the new driving event is an actual distracted driving event based on the cluster; and

updating a driver profile for a user based on determining that the new driving event is the actual distracted driving event.

2 . The distracted driving analysis system of claim 1 , wherein the features further comprise a tap-to-swipe ratio.

3 . The distracted driving analysis system of claim 1 , wherein the features further comprise acceleration events.

4 . The distracted driving analysis system of claim 1 , wherein the operations further comprise:

assigning a category to the new driving event as an actual distracted driving event or a passenger event; and

assigning a confidence level to the category assigned to the new driving event.

5 . The distracted driving analysis system of claim 4 , wherein the driver profile includes the new driving event and the category.

6 . The distracted driving analysis system of claim 5 , wherein the operations further comprise:

calculating a user safety score based at least in part upon the new driving event and the category; and

adding the user safety score to the driver profile.

7 . The distracted driving analysis system of claim 6 , wherein the operations further comprise generating an insurance policy based at least in part upon the driver profile.

8 . A computer-implemented method for identifying distracted driving events using a distracted driving analysis system including one or more processors, the method comprising:

determining, using a trained model, a cluster of at least two clusters that applies to new driving event data indicative of a new driving event by inputting features of the new driving event data into the trained model, wherein the features comprise a phone touch rate and a sudden braking amount, wherein the trained model is trained using a plurality of historical driving event records, wherein the new driving event data is obtained by sensors comprising an accelerometer, a gyroscope, and a magnetometer, and wherein the new driving event data is encoded as multi-dimensional coordinates each comprising a respective dimension for each of the sensors and a respective dimension for time,

wherein each first historical driving event record of a first portion of the plurality of historical driving event records is labeled with a respective label as an actual distracted driving event or a passenger event;

wherein the first portion and a second portion of the plurality of historical driving event records are divided into the at least two clusters based at least in part upon common features of the plurality of historical driving event records and the respective labels by processing the first portion and the second portion of the plurality of historical driving event records with a semi-supervised machine learning algorithm, wherein the semi-supervised machine learning algorithm is trained by (i) applying a K-means clustering algorithm to both the first portion and the second portion to identify natural groupings based on features comprising correlations between sudden braking events and phone touches, (ii) propagating the respective labels for the first portion to guide the clustering of the second portion, (iii) assigning confidence scores to cluster assignments for unlabeled data points in the second portion based on labeled data points in the first portion, (iv) automatically qualifying cluster assignments when the confidence scores exceed a predetermined threshold, and (v) manually qualifying the cluster assignments when the cluster assignments are not automatically qualified;

wherein the trained model is generated based at least in part upon the at least two clusters including cluster labels; and

wherein the common features of the plurality of historical driving event records comprise a respective phone touch rate and a respective sudden braking amount;

determining whether the new driving event is an actual distracted driving event based on the cluster; and

updating a driver profile for a user based on determining that the new driving event is the actual distracted driving event.

9 . The computer-implemented method of claim 8 , wherein the features further comprise a tap-to-swipe ratio.

10 . The computer-implemented method of claim 8 , wherein the features further comprise acceleration events.

11 . The computer-implemented method of claim 8 further comprising:

assigning a category to the new driving event as an actual distracted driving event or a passenger event; and

assigning a confidence level to the category assigned to the new driving event.

12 . The computer-implemented method of claim 11 , wherein the driver profile includes the new driving event and the category.

13 . The computer-implemented method of claim 12 further comprising:

calculating a user safety score based at least in part upon the new driving event and the assigned category; and

adding the user safety score to the driver profile.

14 . The computer-implemented method of claim 13 further comprising generating an insurance policy based at least in part upon the driver profile.

15 . A non-transitory computer-readable storage medium having computer-executable instructions embodied thereon, wherein when executed by a distracted driving analysis system including one or more processors, the computer-executable instructions cause the one or more processors to perform operations comprising:

determining, using a trained model, a cluster of at least two clusters that applies to new driving event data indicative of a new driving event by inputting features of the new driving event data into the trained model, wherein the features comprise a phone touch rate and a sudden braking amount, wherein the trained model is trained using a plurality of historical driving event records, wherein the new driving event data is obtained by sensors comprising an accelerometer, a gyroscope, and a magnetometer, and wherein the new driving event data is encoded as multi-dimensional coordinates each comprising a respective dimension for each of the sensors and a respective dimension for time,

wherein each first historical driving event record of a first portion of the plurality of historical driving event records is labeled with a respective label as an actual distracted driving event or a passenger event;

wherein the first portion and a second portion of the plurality of historical driving event records are divided into the at least two clusters based at least in part upon common features of the plurality of historical driving event records and the respective labels by processing the first portion and the second portion of the plurality of historical driving event records with a semi-supervised machine learning algorithm, wherein the semi-supervised machine learning algorithm is trained by (i) applying a K-means clustering algorithm to both the first portion and the second portion to identify natural groupings based on features comprising correlations between sudden braking events and phone touches, (ii) propagating the respective labels for the first portion to guide the clustering of the second portion, (iii) assigning confidence scores to cluster assignments for unlabeled data points in the second portion based on labeled data points in the first portion, (iv) automatically qualifying cluster assignments when the confidence scores exceed a predetermined threshold, and (v) manually qualifying the cluster assignments when the cluster assignments are not automatically qualified;

wherein the trained model is generated based at least in part upon the at least two clusters including cluster labels; and

wherein the common features of the plurality of historical driving event records comprise a respective phone touch rate and a respective sudden braking amount;

determining whether the new driving event is an actual distracted driving event based on the cluster; and

updating a driver profile for a user based on determining that the new driving event is the actual distracted driving event.

16 . The non-transitory computer-readable storage medium of claim 15 , wherein the features further comprise a tap-to-swipe ratio.

17 . The non-transitory computer-readable storage medium of claim 15 , wherein the features further comprise acceleration events.

18 . The non-transitory computer-readable storage medium of claim 15 , wherein the operations further comprise:

assigning a category to the new driving event as an actual distracted driving event or a passenger event; and

assigning a confidence level to the category assigned to the new driving event.

19 . The non-transitory computer-readable storage medium of claim 18 , wherein the driver profile includes the new driving event and the category.

20 . The non-transitory computer-readable storage medium of claim 19 , wherein the operations further comprise:

calculating a user safety score based at least in part upon the new driving event and the category; and

adding the user safety score to the driver profile.

Assignments (2)
CHANGE OF NAME Recorded May 29, 2024
From: BLUEOWL, LLC
To: QUANATA, LLC
Reel/Frame 067558/0600 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2024
From: SANCHEZ, KENNETH JASON
To: BLUEOWL, LLC
Reel/Frame 066672/0114 →
Continuity (2)
Continuation 16883388 · May 26, 2020
Related Publication 20230116453A1 · Apr 13, 2023
References Cited (33)
US 8290480B2 · Abramson et al. · 2012 [cited by applicant]
US 8768286B2 · Naboulsi · 2014 [cited by applicant]
US 9398423B2 · Cordova et al. · 2016 [cited by applicant]
US 9451077B2 · Duvaut · 2016 [cited by applicant]
US 10115164B1 · Binion et al. · 2018 [cited by applicant]
US 10133942B2 · Gleeson-May et al. · 2018 [cited by applicant]
US 10158977B2 · Cordova et al. · 2018 [cited by applicant]
US 10250611B2 · Herrmann et al. · 2019 [cited by applicant]
US 10358142B2 · Joe et al. · 2019 [cited by applicant]
US 10365117B2 · Harish et al. · 2019 [cited by applicant]
US 10785604B1 · Kumar · 2020 [cited by examiner]
US 10938825B2 · Herrmann et al. · 2021 [cited by applicant]
US 11386676B2 · Yi et al. · 2022 [cited by applicant]
US 11676014B1 · Hallac · 2023 [cited by examiner]
US 20040176083A1 · Shiao et al. · 2004 [cited by applicant]
US 20110237219A1 · Mendenhall · 2011 [cited by examiner]
US 20160307285A1 · Gallagher · 2016 [cited by applicant]
US 20170366945A1 · Uliyar · 2017 [cited by examiner]
US 20180012082A1 · Satazoda et al. · 2018 [cited by applicant]
US 20180162275A1 · Pedersen · 2018 [cited by applicant]
US 20190005412A1 · Matus · 2019 [cited by examiner]
US 20190019351A1 · Harish et al. · 2019 [cited by applicant]
US 20190279009A1 · Srirangam et al. · 2019 [cited by applicant]
US 20190279365A1 · Sakuma et al. · 2019 [cited by applicant]
US 20190308619A1 · Rosenbaum · 2019 [cited by applicant]
US 20190389483A1 · Likhterman · 2019 [cited by examiner]
US 20200290628A1 · Pinoteau · 2020 [cited by applicant]
US 20200334524A1 · Sprague et al. · 2020 [cited by applicant]
US 20200346658A1 · Deng et al. · 2020 [cited by applicant]
US 20210031687A1 · Kim · 2021 [cited by applicant]
US 20210142055A1 · Broggi · 2021 [cited by applicant]
US 20210319332A1 · Isaac · 2021 [cited by applicant]
CN 109815884A · 2019 [cited by applicant]