U.S. patent application number 16/697297 was filed with the patent office on 2021-05-27 for systems and methods for improved driver safety analytics.
The applicant listed for this patent is Verizon Connect Ireland Limited. Invention is credited to Stefano CAPRASECCA, Tommaso MUGNAI.
Application Number | 20210155259 16/697297 |
Document ID | / |
Family ID | 1000005579972 |
Filed Date | 2021-05-27 |
![](/patent/app/20210155259/US20210155259A1-20210527-D00000.png)
![](/patent/app/20210155259/US20210155259A1-20210527-D00001.png)
![](/patent/app/20210155259/US20210155259A1-20210527-D00002.png)
![](/patent/app/20210155259/US20210155259A1-20210527-D00003.png)
![](/patent/app/20210155259/US20210155259A1-20210527-D00004.png)
![](/patent/app/20210155259/US20210155259A1-20210527-D00005.png)
![](/patent/app/20210155259/US20210155259A1-20210527-D00006.png)
![](/patent/app/20210155259/US20210155259A1-20210527-D00007.png)
![](/patent/app/20210155259/US20210155259A1-20210527-D00008.png)
United States Patent
Application |
20210155259 |
Kind Code |
A1 |
CAPRASECCA; Stefano ; et
al. |
May 27, 2021 |
SYSTEMS AND METHODS FOR IMPROVED DRIVER SAFETY ANALYTICS
Abstract
A device receives location data that identifies geographic
locations of a vehicle at corresponding times, and speed data that
identifies respective speeds of the vehicle at the set of
corresponding times. The device identifies, based on the location
data, speed limit data that identifies respective speed limits at
the geographic locations. The device determines, based on the
respective speeds and the respective speed limits, a set of
respective relative speed values associated with the vehicle. The
device identifies respective relative speed values, of the set of
respective relative speed values, that exceed a threshold. The
device determines, based on the respective relative speed values, a
univocal speed indicator that represents an overall degree to which
the respective relative speed values exceed the threshold, during a
time interval that includes the corresponding times. The device
performs a set of actions based on the univocal speed
indicator.
Inventors: |
CAPRASECCA; Stefano;
(Firenze, IT) ; MUGNAI; Tommaso; (Figline e Incisa
Valdarno, IT) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Verizon Connect Ireland Limited |
Dublin |
|
IE |
|
|
Family ID: |
1000005579972 |
Appl. No.: |
16/697297 |
Filed: |
November 27, 2019 |
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G08G 1/052 20130101;
B60W 2050/146 20130101; B60W 40/105 20130101; G08G 1/0112 20130101;
B60W 2554/00 20200201; B60W 50/14 20130101; G06N 20/00 20190101;
B60W 2556/45 20200201 |
International
Class: |
B60W 50/14 20060101
B60W050/14; B60W 40/105 20060101 B60W040/105; G08G 1/052 20060101
G08G001/052; G08G 1/01 20060101 G08G001/01; G06N 20/00 20060101
G06N020/00 |
Claims
1. A method, comprising: receiving, by a device, location data from
a location sensor that identifies a set of geographic locations of
a vehicle at a set of corresponding times; receiving, by the
device, speed data from a speed sensor that identifies respective
speeds of the vehicle at the set of corresponding times;
identifying, by the device and based on the location data, speed
limit data that identifies respective speed limits at the set of
geographic locations; determining, by the device, and based on the
respective speeds and the respective speed limits, a set of
respective relative speed values associated with the vehicle;
identifying, by the device, respective relative speed values, of
the set of respective relative speed values, that exceed a
threshold, determining, by the device and based on the respective
relative speed values, a univocal speed indicator, for a driver of
the vehicle, that represents an overall degree to which the
respective relative speed values exceed the threshold, during a
time interval that includes the set of corresponding times;
determining, by the device and using a data model trained on
historical speed data, an overall univocal speed indicator for a
group of drivers that had previously operated vehicles at the set
of geographic locations; setting, by the device, the threshold
based on the overall univocal speed indicator; and performing, by
the device, a set of actions based on the univocal speed indicator,
wherein the set of actions include: generating an interface to
display a graphical image associated with the univocal speed
indicator, and providing the interface for display on another
device.
2. The method of claim 1, further comprising: determining another
set of respective relative speed values, for times within the time
interval and different from the set of corresponding times, by
using linear interpolation between the respective relative speed
values; and wherein determining the univocal speed indicator
comprises: determining the univocal speed indicator based on the
respective relative speed values and the other set of respective
relative speed values.
3. The method of claim 1, wherein, for each time in the set of
corresponding times, the threshold is based on a respective speed
limit.
4. The method of claim 1, further comprising: receiving vehicle
revolutions per minute (RPM) data that identifies a total RPM of an
engine of the vehicle over the time interval; providing, as input
to a data model that has been trained using machine learning, the
univocal speed indicator and the RPM data to cause the data model
to output a univocal safety indicator for the driver of the
vehicle; and wherein performing the set of actions comprises:
generating the interface to display the graphical image based on
the univocal safety indicator.
5. The method of claim 1, further comprising: receiving sensor data
that identifies a set of trailing distances; providing, as input to
the data model, the univocal speed indicator and the sensor data
that identifies the set of trailing distances, to cause the data
model to output a univocal safety indicator for the driver of the
vehicle; and wherein performing the set of actions comprises:
generating the interface to display the graphical image based on
the univocal safety indicator.
6. (canceled)
7. The method of claim 1, wherein the overall degree to which the
driver of the vehicle caused the respective relative speed values
to exceed the threshold is a first overall degree and the time
interval is a first time interval; and wherein providing the
interface for display comprises: providing the graphical image for
display on the other device in a manner that displays the univocal
speed indicator in association with one or more other univocal
speed indicators, wherein the one or more other univocal speed
indicators include a particular univocal speed indicator that is
based on a second overall degree to which other respective relative
speed values, which correspond to a particular driver of another
vehicle, exceed the threshold during a second time interval, and
wherein the first overall degree is greater than the second overall
degree and a length of the second time interval is greater than a
length of the first time interval.
8. A device, comprising: one or more processors, to: receive
location data from a location sensor that identifies a set of
geographic locations of a vehicle at a set of corresponding times;
receive speed data from a speed sensor that identifies respective
speeds of the vehicle at the set of corresponding times; identify
speed limit data that identifies respective speed limits at the set
of geographic locations by using the location data to reference a
data structure that associates corresponding location data with the
speed limit data; determine, based on the respective speeds and the
respective speed limits, a first set of respective relative speed
values associated with the vehicle; identify a subset of respective
relative speed values, of the first set of respective relative
speed values, that exceed a threshold; determine, by using linear
interpolation between respective relative speed values of the
subset of respective relative speed values, a second set of
respective relative speed values for times that are different from
the set of corresponding times and that are within a time interval
that includes the set of corresponding times; determine, based on
the subset of respective relative speed values and the second set
of respective relative speed values, a univocal speed indicator,
for a driver of the vehicle, that represents an average degree to
which the vehicle was speeding over the time interval; determine,
using a data model trained on historical speed data, an overall
univocal speed indicator for a group of drivers that had previously
operated vehicles at the set of geographic locations; set the
threshold based on the overall univocal speed indicator; and
perform a set of actions based on the univocal speed indicator,
wherein the one or more processors, when performing the set of
actions, are to: generate an interface to display a graphical image
based on the univocal speed indicator, and provide the interface
for display on another device.
9. The device of claim 8, wherein, for each time of the set of
corresponding times, the threshold is based on a respective speed
limit.
10. The device of claim 8, wherein the one or more processors are
further to: receive vehicle revolutions per minute (RPM) data that
identifies a total RPM of an engine of the vehicle over the time
interval; receive sensor data that identifies a set of trailing
distances; provide, as input to the data model, the univocal speed
indicator, the RPM data, and the sensor data, to cause the data
model to output a univocal safety indicator for the driver of the
vehicle; and wherein the one or more processors, when performing
the set of actions, are to: generate the interface to display the
graphical image based on the univocal safety indicator.
11. (canceled)
12. The device of claim 8, wherein the one or more processors, when
performing the set of actions, are to: generate the interface to
display, as part of the graphical image, the univocal speed
indicator in association with one or more other univocal speed
indicators for one or more other drivers, wherein the univocal
speed indicator and the one or more other univocal speed indicators
provide a uniform metric that accounts for total average degrees to
which the vehicle and one or more other vehicles are speeding at
respective time intervals.
13. The device of claim 8, wherein the average degree to which the
driver of the vehicle caused the respective relative speed values
to exceed the threshold is a first average degree and the time
interval is a first time interval; and wherein the one or more
processors, when performing the set of actions, are to: provide the
graphical image for display on the other device in a manner that
displays the univocal speed indicator in association with one or
more other univocal speed indicators, wherein the one or more other
univocal speed indicators include a particular univocal speed
indicator that is based on a second average degree to which other
respective relative speed values, which correspond to a particular
driver of another vehicle, exceed the threshold during a second
time interval, and wherein the second average degree is greater
than the second average degree and a length of the first time
interval is greater than a length of the first time interval.
14. The device of claim 8, wherein the one or more processors, when
performing the set of actions, are to: perform one or more other
actions of the set of actions, wherein the set of actions further
includes: a first action to provide a safety tip to a user device
associated with the driver of the vehicle, a second action to
assign to an account of the driver a reward, and a third action to
cause insurance data associated with the driver to update.
15. A non-transitory computer-readable medium storing instructions,
the instructions comprising: one or more instructions that, when
executed by one or more processors, cause the one or more
processors to: receive location data that identifies a set of
geographic locations of a vehicle at a set of corresponding times;
receive speed data that identifies respective speeds of the vehicle
at the set of corresponding times; identify, based on the location
data, speed limit data that identifies respective speed limits at
the set of geographic locations; determine, based on the respective
speeds and the respective speed limits, a set of respective
relative speed values associated with the vehicle; identify
respective relative speed values, of the set of respective relative
speed values, that exceed a threshold; determine, based on the
respective relative speed values, a univocal speed indicator, for a
driver of the vehicle, that represents an overall degree to which
the respective relative speed values exceed the threshold, during a
time interval that includes the set of corresponding times;
determine another overall univocal speed indicator for a group of
drivers that had previously operated vehicles at the set of
geographic locations; set the threshold based on the another
overall univocal speed indicator; generate an interface to display
a graphical image based on the univocal speed indicator; provide
the interface for display on another device; and perform one or
more actions based on the univocal speed indicator.
16. The non-transitory computer-readable medium of claim 15,
wherein the one or more instructions, when executed by the one or
more processors, further cause the one or more processors to:
determine, by using linear interpolation between the respective
relative speed values of the set of respective relative speed
values, another set of respective relative speed values for times
that are different from the set of corresponding times and that are
within the time interval; and wherein the one or more instructions,
that cause the one or more processors to determine the univocal
speed indicator, cause the one or more processors to: determine the
univocal speed indicator based on the identified respective
relative speed values of the set of respective relative speed
values and the other set of respective relative speed values.
17. The non-transitory computer-readable medium of claim 15,
wherein the one or more instructions, when executed by the one or
more processors, further cause the one or more processors to:
receive vehicle revolutions per minute (RPM) data that identifies a
total RPM of an engine of the vehicle over the time interval;
provide, as input to a data model, the univocal speed indicator and
the RPM data to cause the data model to output a univocal safety
indicator for the driver of the vehicle; and wherein the one or
more instructions, that cause the one or more processors to
generate the interface, cause the one or more processors to:
generate the interface to display the graphical image based on the
univocal safety indicator.
18. The non-transitory computer-readable medium of claim 15,
wherein the one or more instructions, when executed by the one or
more processors, further cause the one or more processors to:
receive sensor data that identifies a set of trailing distances;
provide, as input to a data model, the univocal speed indicator and
the sensor data to cause the data model to output a univocal safety
indicator for the driver of the vehicle; and wherein the one or
more instructions, that cause the one or more processors to
generate the interface, cause the one or more processors to:
generate the interface to display the graphical image based on the
univocal safety indicator.
19. (canceled)
20. The non-transitory computer-readable medium of claim 15,
wherein the one or more actions include at least one of: a first
action to provide a safety tip to a user device associated with the
driver of the vehicle, a second action to assign an account of the
driver a reward, or a third action to cause an insurance of the
driver to update.
21. The method of claim 1, wherein a relative speed value of the
set of respective relative speed values represents a degree to
which the vehicle is over or under a speed limit indicated by the
speed limit data.
22. The device of claim 8, wherein the one or more processors are
further to: determine the univocal speeding indicator in a manner
that reflects a total time during which the vehicle is
speeding.
23. The non-transitory computer-readable medium of claim 0, wherein
the speed limit data that identifies a speed limit associated with
a geographic location, of the set of geographic locations, and
another speed limit associated with another geographic location, of
the set of geographic locations, and wherein the threshold is a
same threshold for the speed limit and the other speed limit.
Description
BACKGROUND
[0001] Location data may identify a location of a vehicle at a
particular time. Speed data may identify a speed at which the
vehicle is driving during the particular time. Speed limit data may
identify a speed limit of a road on which the vehicle is driving
during the particular time. A device may, based on the location
data, the speed data, and/or the speed limit data, determine an
average vehicle speed for the vehicle over time, flag instances
where the vehicle speed has exceeded the speed limit, and/or the
like.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] FIGS. 1A-1E are diagrams of one or more example
implementations described herein.
[0003] FIG. 2 is a diagram of an example environment in which
systems and/or methods described herein may be implemented.
[0004] FIG. 3 is a diagram of example components of one or more
devices of FIG. 2.
[0005] FIG. 4 is a flowchart of an example process for determining
and displaying a univocal speed indicator for a driver of a
vehicle.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
[0006] The following detailed description of example
implementations refers to the accompanying drawings. The same
reference numbers in different drawings may identify the same or
similar elements.
[0007] Some systems may include sensors and/or computing devices
for attempting to manage driver safety for a group of drivers that
operate vehicles of an organization, a company, a fleet, and/or the
like. For example, such a system may manage a dataset that includes
data that identifies an average vehicle speed for each respective
vehicle, data that identifies speed limits for particular roads,
data that flags particular vehicles that have been identified as
exceeding a speed limit, and/or the like.
[0008] However, such systems are unable to provide a singular
metric that reflects a multitude of different driving behaviors
that drivers may exhibit over time. For example, an average vehicle
speed of a vehicle over time might be the same for two vehicles,
even if drivers of those vehicles exhibit different driving
behaviors. As an example, a first driver may have been speeding
frequently at speeds slightly above the speed limit, and a second
driver may have been speeding infrequently at speeds significantly
above the speed limit. In some cases, vehicles driven by the first
and second driver may have the same average speed, despite
exhibiting vastly different driving behaviors, and systems with
metrics based on average speed are unable to distinguish between
those two different driving behaviors.
[0009] Furthermore, without a singular metric to reflect the
multitude of different driving behaviors exhibited by drivers, such
systems are unable to effectively manage driver safety, unable to
effectively compare behaviors of different drivers to each other,
and/or the like. For example, such a system may perform a set of
actions to improve driver safety and/or to reduce a likelihood of
vehicle collision, and may, without the singular metric, perform
incorrect actions, perform correct actions inefficiently, and/or
the like. As another example, the system may be unable to present a
displayed comparison of the behaviors of different drivers in a
manner that is easily understood by users.
[0010] Some implementations described herein provide for a driver
safety management (DSM) platform to determine and display a
univocal speeding indicator. For example, the DSM platform may
receive location data that identifies a set of geographic locations
of a vehicle at a set of corresponding times, and speed data that
identifies respective speeds of the vehicle at the set of
corresponding times. This may allow the DSM platform to identify
speed limit data that identifies respective speed limits at the set
of geographic locations, and to determine, based on the respective
speeds and the respective speed limits, a set of respective
relative speed values associated with the vehicle.
[0011] Furthermore, the DSM platform may identify a subset of the
set of respective relative speed values that satisfy a threshold
and that specify a degree to which the vehicle is speeding at
respective times. This may allow the DSM platform to determine,
based on the subset of respective relative speed values, a univocal
speed indicator that represents an overall degree to which the
vehicle was speeding over the time interval. Additionally, the DSM
platform may generate, based on the univocal speed indicator, an
interface to display a graphical image, may provide the interface
for display on another device, and/or may perform one or more
actions based on the univocal speed indicator.
[0012] By determining the univocal speeding indicator in a manner
that reflects a total degree to which the vehicle is speeding and a
total time during which the vehicle is speeding, the DSM platform
determines a single, uniform metric that captures and distinguishes
between a multitude of different behaviors exhibited by drivers.
This conserves resources (e.g., processing resources, network
resources, memory resources, and/or the like) relative to an
inferior platform that determines multiple metrics that are
unsuitable to be compared to each other, conserves resources by
performing correct actions and/or efficient actions based on the
univocal speeding indicator, and/or the like. In some cases, the
DSM platform may implement a configurable threshold to use when
identifying the respective relative speed values, thereby allowing
the univocal speeding indicator to be customizable to fit the needs
of different users. Furthermore, by determining the univocal speed
indicator, the DSM platform determines a metric that may be
compared to corresponding metrics of other drivers, even if the
corresponding metrics are determined based on different data
points, over different time intervals, and/or the like.
[0013] FIGS. 1A-1E are diagrams of one or more example
implementations 100 described herein. Example implementation(s) 100
may include a vehicle 102, a driver safety management (DSM)
platform 104, a data storage device 106, a user device associated
with a fleet manager (shown as fleet manager device 108), a user
device associated with a driver (shown as driver user device 110),
a server that supports an account of a user (shown as user account
server 112), and/or an insurance server 114. As shown in FIGS.
1A-1E, DSM platform 104 may determine a univocal speed indicator
for a driver of a vehicle, may generate and display an interface
that includes a graphical image associated with the univocal speed
indicator, and may perform one or more actions based on the
univocal speed indicator.
[0014] As shown in FIG. 1A, and by reference number 116, DSM
platform 104 may receive location data and/or speed data. For
example, vehicle 102 and/or driver user device 110 may be
configured to periodically provide DSM platform 104 with location
data and/or speed data that may be used to determine the univocal
speed indicator for the driver.
[0015] Vehicle 102 may include a ground vehicle (e.g., a truck, a
car, a motorcycle, and/or the like), an aerial vehicle (e.g., a
plane, a helicopter, and/or the like), a watercraft (e.g., a boat,
a submarine, and/or the like), an autonomous vehicle, and/or the
like. Driver user device 110 may include a mobile device of the
driver, such as a smartphone, a laptop computer, and/or the
like.
[0016] The location data may identify a set of geographic locations
of vehicle 102 at a set of corresponding times. For example, the
location data may identify geographic coordinates of each
respective geographic location. The speed data may identify
respective speeds of vehicle 102 at the set of corresponding times.
For example, the speed data may identify a number of kilometers per
hour (kph) at which vehicle 102 is traveling at a particular time.
In other cases, the speed data may be represented using other types
of distance over time metrics, such as miles per hour, and/or the
like.
[0017] In some implementations, DSM platform 104 may receive the
location data from a location sensor associated with vehicle 102.
The location sensor may, for example, be part of an in-vehicle
navigation system, a global positioning system (GPS) navigation
system, an infotainment system, and/or the like, that is used to
capture and provide the location data to DSM platform 104.
Additionally, or alternatively, DSM platform 104 may receive the
location data from a location sensor associated with driver user
device 110. The location sensor associated with driver user device
110 may include a GPS sensor, a gyroscope, a proximity sensor,
and/or the like.
[0018] Additionally, or alternatively, DSM platform 104 may receive
the speed data from a speed sensor associated with vehicle 102. The
speed sensor associated with vehicle 102 may include a tachometer,
a GPS device, a speedometer, and/or the like. Additionally, or
alternatively, DSM platform 104 may receive the speed data from a
speed sensor associated with driver user device 110. The speed
sensor associated with driver user device 110 may include a
speedometer, an accelerometer, and/or the like. In some cases, a
sensing element associated with driver user device 110 may capture
the speed data. For example, an application hosted on and/or
accessible to driver user device 110 may capture the speed
data.
[0019] In some implementations, a location sensor (e.g., the
location sensor associated with vehicle 102 and/or the location
sensor associated with driver user device 110) may be configured to
periodically provide the location data to DSM platform 104. For
example, the location sensor may be configured to provide DSM
platform 104 with location data at configured times and/or time
intervals, during times where vehicle 102 is in motion, based on a
condition being satisfied, and/or the like. Additionally, or
alternatively, a speed sensor (e.g., the speed sensor associated
with vehicle 102 and/or the speed sensor associated with driver
user device 110) may be configured in a similar manner.
[0020] In some implementations, DSM platform 104 may receive other
data from vehicle 102 and/or driver user device 110. For example,
DSM platform 104 may receive a vehicle identifier that identifies
vehicle 102, a driver identifier that identifies the driver of the
vehicle, and/or the like.
[0021] As shown by reference number 118, DSM platform 104 may
receive, from data storage device 106, speed limit data that
identifies respective speed limits at the set of geographic
locations. For example, data storage device 106 may use a data
structure to associate location data for a geographic region (e.g.,
a city, a state, a country, and/or the like) with a master dataset
of speed limit data that identifies speed limits of roads within
the geographic region. In this case, DSM platform 104 may reference
the data structure (e.g., using the location data) to identify the
speed limit data that identifies the respective speed limits at the
set of geographic locations.
[0022] In this way, DSM platform 104 receives data that may be used
to determine the univocal speed indicator for the driver of vehicle
102.
[0023] As shown in FIG. 1B, and by reference number 120, DSM
platform 104 may determine a set of relative speed values
associated with vehicle 102. For example, DSM platform 104 may
determine a set of relative speed values that identify a set of
relative speeds of vehicle 102 and that correspond to the set of
geographic locations. A relative speed value may represent a
relationship between a speed and a speed limit, a degree to which
vehicle 102 is over or under a speed limit, and/or the like.
[0024] In some implementations, DSM platform 104 may determine a
relative speed value that identifies a relative speed of vehicle
102. For example, DSM platform 104 may divide a speed value that
identifies a speed of vehicle 102 at a given geographic location by
a speed limit value that corresponds to that geographic location.
In some cases, DSM platform 104 may multiply the relative speed
value by 100 to represent the relative speed value using a whole
number. In some implementations, DSM platform 104 may normalize a
corresponding time value. For example, DSM platform 104 may
standardize the corresponding time value by converting the
corresponding time value to a value between zero and one.
[0025] In the example shown, DSM platform 104 determines relative
speed values for twenty-two data points (shown by 22 dots on a
graph). In this example, DSM platform 104 may, for each data point,
divide a speed value by a corresponding speed limit value and may
multiply the quotient by 100.
[0026] In this way, DSM platform 104 determines relative speed
values that may be used for determining the univocal speed
indicator.
[0027] As shown in FIG. 1C, and by reference number 122, DSM
platform 104 may identify respective relative speed values, of the
set of relative speed values, that exceed a threshold. For example,
DSM platform 104 may compare each relative speed value, of the set
of relative speed values, with a threshold associated with the
speed limit. The threshold may be a configurable value (e.g., a
normalized number, a percentage, and/or the like) that corresponds
to a particular relative speed, a configurable value that
corresponds to a speed limit of a given geographic location, a
value that corresponds to a relative speed that is determined based
on a speed that is above or below the speed limit (e.g., as will be
described further herein), and/or the like.
[0028] In some implementations, DSM platform 104 may identify a
relative speed value that exceeds a threshold. For example, DSM
platform 104 may be configured with a threshold that corresponds to
a speed limit of a given geographic location. In this case, DSM
platform 104 may compare the relative speed value and the threshold
to determine that the relative speed value exceeds the threshold.
In the example shown, the dotted line of the graph may represent a
threshold that corresponds to a speed limit of a road on which
vehicle 102 is traveling, and data points above the dotted line may
correspond to relative speed values that exceed the threshold. In
some cases, the threshold may correspond to a specific relative
speed, such that the same threshold is used for identifying the
respective relative speed values, even if vehicle 102 travels on
roads with different speed limits.
[0029] In some implementations, DSM platform 104 may be configured
with a threshold that corresponds to a relative speed that is above
and/or below a relative speed that corresponds to driving at the
speed limit. For example, if an organization employs a group of
drivers that operate a fleet of vehicles, a fleet manager may want
a univocal speed indicator that effectively penalizes drivers who
drive significantly above the speed limit (and/or that effectively
rewards drivers who drive at or near the speed limit).
Consequently, DSM platform 104 may be configured with a threshold
that corresponds to a relative speed, where the relative speed was
determined based on a speed that is slightly above the speed limit,
such that relative speed values for speeds that are slightly above
the speed limit would not exceed the threshold.
[0030] Using the example shown in FIG. 1C, DSM platform 104 might
be configured with a threshold that corresponds to a relative speed
of 105 (5% above the speed limit). In this example, when DSM
platform 104 identifies the respective relative speed values that
exceed the threshold, the identified respective relative speed
values will exclude relative speed values that correspond to speeds
less than 5% above the speed limit. In this way, the threshold may
be customized in a manner that penalizes and/or rewards drivers
with specific driving behaviors, customized in a manner that fit
the needs of specific users and/or fleet managers, and/or the
like.
[0031] Some implementations described herein refer to relative
speeds and/or thresholds. It is to be understood that this is
provided by way of example, and that in practice, absolute speeds
and/or thresholds may be implemented. For example, rather than
implement the threshold that corresponds to the relative speed of
105 (5% above the speed limit), the threshold may be expressed in
absolute terms (e.g., by subtracting 5 mph from each data point
before determining relative speeds).
[0032] In some implementations, DSM platform 104 may use a data
model to predict and set the threshold. For example, DSM platform
104 may have access to a data model that has been trained using
machine learning and may use the data model to predict and set the
threshold to an appropriate value, as further described below.
[0033] In some implementations, DSM platform 104 may have trained
the data model to determine an overall univocal speed indicator for
a group of drivers that had previously operated vehicles at the set
of geographic locations. For example, DSM platform 104 (or the
other device) may have trained the data model by using one or more
machine learning techniques to process historical data, such as
historical speed data, historical speed limit data, historical
relative speed data, and/or the like. The one or more machine
learning techniques may include a regression-based technique, a
classification-based technique, a clustering-based technique, a
technique using a neural network, and/or the like.
[0034] Additionally, DSM platform 104 may use the one or more
machine learning techniques to process the historical data to
identify geographic areas that would benefit from setting more
stringent (and/or less stringent) thresholds. For example, a more
stringent threshold for a region might cause drivers who speed in
that region to receive lower univocal speed indicators, thereby
serving as a deterrent to prevent those drivers from continuing to
speed in that region. A region may benefit from a more stringent
threshold if the region is determined to have a large quantity of
drivers who drive above the speed limit (e.g., relative to an
average or baseline quantity of drivers), if the region is
determined to have a large quantity of drivers who often drive
significantly above the speed limit (relative to an average or
baseline quantity of drivers), and/or the like. A region may
benefit from setting a less stringent threshold for similar reasons
(e.g., a lower quantity of drivers who drive above the speed limit
relative to an average or baseline, a lower quantity of drivers who
driver significantly above the speed limit, and/or the like). This
may allow DSM platform 104 to train the data model to receive, as
an input, location data, speed data, speed limit data, and/or
relative speed data for particular geographic locations and to
output an overall univocal speed indicator for a group of drivers
that operated vehicles at the particular geographic locations.
Furthermore, DSM platform 104 may be configured to set an
appropriate threshold based on the overall univocal speed
indicator.
[0035] To use the trained data model, DSM platform 104 may provide,
as input to the data model, the location data, the speed data, the
speed limit data, and/or the relative speed data for vehicle 102,
to cause the data model to output an overall univocal speed
indicator for a group of drivers that had previously operated
vehicles at the set of geographic locations. Additionally, DSM
platform 104 may set the threshold based on the overall univocal
speed indicator. For example, if it is common for vehicles to speed
at a particular geographic location, of the set of geographic
locations, the overall univocal speed indicator may cause DSM
platform 104 to set the threshold to a value that is lower than a
default configured value (e.g., a value corresponding to driving at
the speed limit). In this way, DSM platform 104 automatically sets
the threshold to a value that encourages safe driving in high-risk
areas, deters drivers from speeding in high-risk areas, and/or the
like.
[0036] In some implementations, DSM platform 104 may determine
other respective relative speed values. For example, DSM platform
may determine other respective relative speed values for other
times (e.g., that are different from the set of corresponding
times) by using linear interpolation to interpolate the other
respective relative speed values. The other respective relative
speed values may be values that are between the identified
respective relative speed values. Linear interpolation may include
first-order linear interpolation, bi-linear interpolation,
polynomial interpolation, and/or the like.
[0037] As an example, the graph shown in FIG. 1C includes twelve
data points that may have been identified as exceeding the
threshold (e.g., and/or being equal to the threshold). In this
case, DSM platform 104 may use linear interpolation to interpolate
other respective relative speed values that correspond to other
data points on the graph that are located at positions between each
identified respective relative speed value. As an example, the
second graph in FIG. 1C shows interpolated data points 1 and 2 as
being located at positions between data points that had been
previously identified as exceeding the threshold.
[0038] In some cases, DSM platform 104 may interpolate other
relative speed values based on one relative speed value that
exceeds the threshold and one relative speed value that fails to
exceed the threshold. For example, two relative speed values may
correspond to neighboring data points on the graph and may include
a first relative speed value that fails to exceed the threshold and
a second relative speed value that exceeds the threshold. In this
case, DSM platform 104 may use linear interpolation to replace the
first relative speed value with a third relative speed value that
corresponds to a data point of the graph that is halfway between a
corresponding speed limit value and a midpoint between the first
and second relative speed value (e.g., a data point corresponding
to an average relative speed value between the first and second
relative speed value).
[0039] By using linear interpolation to determine the other data
points, DSM platform 104 may determine the univocal speed indicator
without needing data points to be evenly distributed over a given
time period.
[0040] As shown by reference number 124, DSM platform 104 may
determine a univocal speed indicator. For example, DSM platform 104
may determine the univocal speed indicator based on the respective
relative speed values and/or the other respective relative speed
values. The univocal speed indicator may represent an overall
degree and/or an average degree to which the respective relative
speed values exceed the threshold during a given time interval
(e.g., that includes the times that correspond to the set of
geographic locations).
[0041] In some implementations, DSM platform 104 may determine a
univocal speed indicator based on an area of one or more polygons
of the graph that includes data points corresponding to the
respective relative speed values (and/or to the other respective
relative speed values). Additionally, the threshold may be
represented on the graph as a horizontal line that corresponds to a
particular configured relative speed value (shown as a relative
speed value that is equal to the speed limit). Consequently, the
horizontal line and the data points that exceed the threshold may
form one or more polygons on the graph (shown as the gray area on
the graph). In this case, DSM platform 104 may determine the area
of the one or more polygons and may divide the area by a total time
during which vehicle 102 was driving, in order to determine the
univocal speed indicator.
[0042] In the example shown, DSM platform 104 may determine the
univocal speed indicator based on an area of two polygons (shown as
a first polygon with eight sides and a second polygon, a triangle,
with three sides). For example, DSM platform 104 may execute a
first function to determine an area of the first polygon and may
execute a second function to determine an area of the second
polygon. As a specific example, DSM platform 104 may determine the
area of the second polygon (e.g., the triangle) using the following
equation: A=1/2b*h, whereby b represent a base of the triangle and
h represents a height of the triangle.
[0043] Additionally, DSM platform 104 may determine the univocal
speed indicator for the driver of vehicle 102 based on the total
area of the first and second polygons. For example, DSM platform
104 may determine the univocal speed indicator by executing a
function that uses the following equation: Univocal Speed
Indicator=(area of trapezoid+area of triangle/total drive time for
vehicle 102).
[0044] In some implementations, DSM platform 104 may use another
data model, that has been trained using machine learning, to
determine a univocal safety indicator for the driver. For example,
DSM platform 104 may have access to another data model that has
been trained using machine learning to determine a univocal safety
indicator for the driver. The univocal safety indicator may
represent an overall degree to which the driver is a safe driver
(e.g., relative to other drivers, relative to an average, and/or
the like).
[0045] In some implementations, DSM platform 104 may have obtained
historical data that is to be used to train the other data model.
For example, DSM platform 104 may reference one or more data
structures to obtain historical univocal speed indicators for a
group of drivers, historical vehicle revolutions per minute (RPM)
data that identifies a total RPM of an engine of a particular
vehicle over the time interval, historical sensor data that
identifies a set of trailing distances between the particular
vehicle and another nearby vehicle, and/or the like. A trailing
distance may refer to a distance between two vehicles (e.g., such
as a distance that vehicle 102 is trailing behind another
vehicle).
[0046] To provide an example of how historical data is collected,
over time, as DSM platform 104 determines univocal speed indicators
for particular vehicles, the univocal speed indicators may be
stored using a data structure as historical univocal speed
indicators. As another example, RPM data and/or sensor data
associated with a group of vehicles may have been reported to data
storage device 106 and/or to another storage device. For example, a
sensor of a vehicle may have been configured to report the RPM
data, such that the RPM data was stored as historical RPM data. As
another example, a sensor of a vehicle, such as a sensor capable of
emitting light, a light detection and ranging (LIDAR) sensor,
and/or the like, may have been configured to generate and/or report
the sensor data, such that the sensor data was stored as historical
sensor data. In one or more of these examples, DSM platform 104 may
reference a corresponding data structure to obtain the historical
data that is to be used to train the other data model.
[0047] In some implementations, DSM platform 104 may have trained
the other data model. For example, DSM platform 104 may have
trained the other data model by using the one or more machine
learning techniques (defined elsewhere herein) to process the
historical data to identify features that impact a likelihood of a
driver being a safe (or unsafe) driver. To provide an example, the
features may include a feature indicating that a high univocal
speed indicator (relative to other indicators in the historical
data) decreases a likelihood of the driver being a safe driver, a
feature indicating that a low univocal speed indicator increases a
likelihood of the driver being a safe driver, a feature based on an
aggregate and/or an average associated with one or more other
features and/or historical univocal speed indicator values, and/or
the like.
[0048] Additionally, or alternatively, and provided as another
example, the set of features may include a feature indicating that
a high RPM value decreases a likelihood of the driver being a safe
driver, a feature indicating that a low RPM value increases a
likelihood of the driver being a safe driver, a feature based on an
aggregate and/or an average associated with one or more other
features and/or historical RPM values, and/or the like.
Additionally, or alternatively, and provided as another example,
the set of features may include a feature indicating that a low
trailing distance value decreases a likelihood of the driver being
a safe driver (e.g., by being indicative of the driver having a
high propensity to tailgate), a feature indicating that a high
trailing distance value increases a likelihood of the driver being
a safe driver (e.g., by being indicative of the driver having a low
propensity to tailgate), a feature based on an aggregate and/or an
average associated with one or more other features and/or
historical sensor data values, and/or the like.
[0049] To use the other data model (that has been trained), DSM
platform 104 may provide, as input to the other data model, the
univocal speed indicator that has been determined for the driver of
vehicle 102, RPM data for vehicle 102, and/or sensor data for
vehicle 102, to cause the other data model to output the univocal
safety indicator for the driver. The univocal safety indicator may
be determined in a manner similar to that described in connection
with determination of the univocal speed indicator. For example,
the univocal safety indicator may be a value that is based on an
average of safety scores that are computed based on the univocal
speed indicator, the RPM data, and/or the sensor data, a value that
is based on a weighted average of the safety scores (e.g., which
may allow users to customize which input dataset is more important
when considering driver safety), and/or the like.
[0050] In this way, DSM platform 104 determines a univocal speed
indicator (and/or a univocal safety indicator) for the driver.
Furthermore, because the univocal speed indicator is determined
using normalized time values, the univocal speed indicator of the
driver may be compared to any other univocal speed indicator of
another driver, regardless of whether the driver and the other
driver were driving over time periods of different durations,
driving at different time periods, and/or the like. This ensures a
fair comparison of univocal speed indicators between two or more
drivers, thereby conserving resources (e.g., processing resources,
memory resources, and/or the like) that an inferior platform would
waste by comparing two different metric values that could be skewed
by the context in which the two or more drivers were driving.
[0051] As shown in FIG. 1D, and by reference number 126, DSM
platform 104 may generate an interface to display a graphical image
associated with the univocal speed indicator. For example, DSM
platform 104 may generate a web interface, an application
interface, and/or the like, that includes a graphical image
associated with the univocal speed indicator.
[0052] In some implementations, the graphical image may include a
numerical and/or graphical representation of the univocal speed
indicator, of one or more univocal speed indicators of other
drivers, of the univocal safety indicator, of one or more other
univocal safety indicators of the other drivers, and/or the like.
Additionally, or alternatively, the graphical image may include
additional data that is based on the univocal speed indicator
and/or the univocal safety indicator, such as a color-coded display
of indicators (e.g., the univocal speed indicator and/or the
univocal safety indicator) based on whether particular indicators
satisfy one or more threshold indicator values (shown in FIG. 1D
using three colors that correspond to various ranges of univocal
speed indicators), a display of indicators for one or more drivers
over a configurable time interval, a recommendation and/or a
notification for the driver (e.g., as further described in
connection with FIG. 1E), and/or the like.
[0053] In some implementations, DSM platform 104 may generate the
interface in a manner that allows the interface to be integrated
into a safety management application and/or another type of
application. For example, if an organization employs a group of
drivers to operate a fleet of vehicles, the organization may use a
safety management application that tracks one or more safety
related metrics for the group of drivers. In this case, DSM
platform 104 may generate the interface such that the interface may
be integrated into an existing website framework and/or an existing
application framework.
[0054] Additionally, or alternatively, DSM platform 104 may
generate the interface in a manner that allows the interface to be
displayed via one or more other platforms and/or services. For
example, DSM platform 104 may generate the interface in a manner
that allows the interface to be displayed via a short message
service (SMS), an electronic mail (e-mail) service, and/or the
like.
[0055] In some implementations, another device may generate the
interface. For example, DSM platform 104 may provide the univocal
speed indicator (and/or the univocal safety indicator) to an
application server that supports the safety management application.
The univocal speed indicator (and/or the univocal safety indicator)
may be provided using a communication interface (e.g., an
application programming interface (API) and/or another type of
interface), thereby allowing the application server to generate the
interface. As another example, driver user device 110 may generate
the interface. For example, driver user device 110 may be
configured with the safety management application (e.g., which may
include a function for generating the interface), may have a web
browser plugin for generating and/or displaying the interface as
part of a web browser, and/or the like. In other cases, the
interface may be pre-configured and the univocal speed indicator
(and/or the univocal safety indicator) may be displayed via the
pre-configured interface.
[0056] As shown by reference number 128, DSM platform 104 may
provide the interface for display. For example, DSM platform 104
may provide the interface for display on fleet manager device 108,
on driver user device 110, and/or on one or more other devices. The
interface may be provided via a communication interface, such as an
API or another type of interface.
[0057] As shown by reference number 130, fleet manager device 108
may display the interface. For example, a fleet manager may log in
to the safety management application, and the safety management
application may display the interface. The safety management
application may be hosted and/or supported by DSM platform 104, the
application server, driver user device 110, and/or the like. The
safety management application may be a web application, a mobile
application, a desktop application, and/or the like.
[0058] Using the example shown, fleet manager device 108 may
display the univocal speed indicator in association with the one or
more other univocal speed indicators for the other drivers. This
may allow the fleet manager to compare univocal speed indicators of
each respective driver to identify which drivers are the least
safe, and/or to perform one or more actions based on the
comparison.
[0059] By determining the univocal speed indicator using normalized
time values, the univocal speed indicator of the driver may be
compared to any other univocal speed indicator of another driver,
regardless of whether the driver and the other driver were driving
over time periods of different durations, driving at different time
periods, and/or the like. This ensures a fair comparison of
univocal speed indicators between two or more drivers, thereby
conserving resources relative to an inferior platform that might
waste resources comparing two different metric values that could be
skewed by the context in which the two or more drivers were
driving.
[0060] In some cases, the univocal speed indicator displayed by the
interface may allow the fleet manager to view a metric that
differentiates between (and/or accounts for) a first driver that
went slightly above a speed limit for a long period of time and a
second driver that went significantly above the speed limit for a
short period of time. Without the univocal speed indicator, an
inferior platform would be unable to accurately differentiate
between the behavior of each respective driver. For example, the
inferior platform might determine multiple speed severity metrics,
and may partition users into groups based on a degree to which each
respective vehicle was traveling above the speed limit. However,
the inferior platform would be unable to distinguish between
drivers that exhibit two or more types of driving behaviors (e.g.,
such as when a first driver is driving slightly above a speed limit
for an extended time period and a second driver is driving
significantly above a speed limit for a brief time period).
[0061] In this way, DSM platform 104 causes the interface to
display the graphical image associated with the univocal speed
indicator (and/or the univocal safety indicator). Furthermore,
displaying the graphical image, in a manner described herein,
conserves space within the interface (e.g., relative to displaying
multiple different metrics for measuring safety of drivers),
ensures that the information for the driver is able to be compared
to other drivers (e.g., even if the driver and the one or more
other drivers exhibit different driving behaviors), and/or the
like.
[0062] As shown in FIG. 1E, and by reference number 132, DSM
platform 104 may perform one or more actions. For example, DSM
platform 104 may perform a first group of actions to generate
and/or provide safety recommendation data to driver user device
110, may perform a second group of actions to generate and provide
reward data to user account server 112, may perform a third group
of actions to generate and provide insurance data to insurance
server 114, and/or the like, as further described below.
[0063] As shown by reference number 132-1, DSM platform 104 may
generate and provide safety recommendation data to driver user
device 110. For example, DSM platform 104 may generate safety
recommendation data for a safety recommendation that has been
selected from a set of safety recommendations. The set of safety
recommendations may include a first recommendation to provide a
driver with a safety tip, a second recommendation to complete a
driver safety assignment, a third recommendation to complete a
driver safety course, and/or the like. In other aspects, the DSM
platform 104 may generate configuration changes for the vehicle
associated with the driver, enforcing particular safety
recommendations.
[0064] In some implementations, DSM platform 104 may map data that
identifies the set of safety recommendations with specific univocal
speed indicators, with specific ranges of univocal speed
indicators, with specific univocal safety indicators, with specific
ranges of univocal safety indicators, and/or the like. This may
allow DSM platform 104 to reference the mapping to identify a
particular safety recommendation associated with the univocal speed
indicator and/or the univocal safety indicator.
[0065] In some implementations, DSM platform 104 may provide the
recommendation data to driver user device 110 (and/or to another
device). For example, DSM platform 104 may use a communication
interface, such as an API or another type of interface to provide
driver user device 110 (and/or to the other device) with the
recommendation data.
[0066] Additionally, or alternatively, and as shown by reference
number 132-2, DSM platform 104 may generate and provide reward data
to user account server 112. For example, DSM platform 104 may
generate reward data for a reward that has been selected from a set
of rewards. The set of rewards may include a preference in vehicle
to drive, a raise, a bonus, a trip, a quantity of points that may
be saved and used for another reward, and/or the like.
[0067] In some implementations, DSM platform 104 may map data that
identifies the set of rewards with specific univocal speed
indicators, with specific ranges of univocal speed indicators, with
specific univocal safety indicators, with specific ranges of
univocal safety indicators, and/or the like. This may allow DSM
platform 104 to reference the mapping to identify a particular
reward associated with the univocal speed indicator and/or the
univocal safety indicator.
[0068] In some implementations, DSM platform 104 may provide the
reward data to user account server 112 (and/or to another device).
For example, DSM platform 104 may use a communication interface,
such as an API or another type of interface to provide user account
server 112 (and/or to the other device) with the reward data.
[0069] Additionally, or alternatively, and as shown by reference
number 132-3, DSM platform 104 may generate and provide insurance
data to insurance server 114. For example, DSM platform 104 may
generate insurance data for a recommendation to update an insurance
plan of the driver, where the recommendation is selected from a set
of insurance recommendations. The insurance data may include a
recommendation to update a premium, to update a monthly payment, to
update an insurance record with the univocal speed indicator and/or
the univocal safety indicator, and/or the like.
[0070] In some implementations, DSM platform 104 may map data that
identifies the set of insurance recommendations with specific
univocal speed indicators, with specific ranges of univocal speed
indicators, with specific univocal safety indicators, with specific
ranges of univocal safety indicators, and/or the like. This may
allow DSM platform 104 to reference the mapping to identify a
particular recommendation that is associated with the univocal
speed indicator and/or the univocal safety indicator.
[0071] In some implementations, DSM platform 104 may provide the
insurance data to insurance server 114 (and/or to another device).
For example, DSM platform 104 may use a communication interface,
such as an API or another type of interface to provide insurance
server 114 (and/or to the other device) with the insurance
data.
[0072] Additionally, or alternatively, DSM platform 104 may train
another data model to identify an action to perform based on a
particular univocal speed indicator and/or a univocal safety
indicator. The other data model may have been trained in a manner
similar to that described in connection with other data models
described herein. In this case, DSM platform 104 may provide, as
input to the other data model, the univocal speed indicator and/or
the univocal safety indicator to cause the other data model to
output a value that corresponds to a particular action that is to
be performed.
[0073] By determining the univocal speeding indicator in a manner
that reflects a total degree to which the vehicle is speeding and a
total time during which the vehicle is speeding, the DSM platform
determines a uniform metric that captures a multitude of different
behaviors exhibited by drivers. This conserves resources (e.g.,
processing resources, network resources, memory resources, and/or
the like) relative to an inferior platform that determines multiple
metrics that are unsuitable to be compared to each other, conserves
resources by performing correct actions and/or efficient actions
based on the univocal speeding indicator, and/or the like.
[0074] As indicated above, FIGS. 1A-1E are provided as an example.
Other examples can differ from what is described with regard to
FIGS. 1A-1E.
[0075] FIG. 2 is a diagram of an example environment 200 in which
systems and/or methods described herein may be implemented. As
shown in FIG. 2, environment 200 may include a reporting device
210, a display device 220, a driver safety management (DSM)
platform 230 hosted within a cloud computing environment 240, a
data storage device 250, and/or a network 260. Devices of
environment 200 may interconnect via wired connections, wireless
connections, or a combination of wired and wireless
connections.
[0076] Reporting device 210 includes one or more devices capable of
receiving, generating, storing, processing, and/or providing data,
such as data described herein. For example, reporting device 210
may include a user device 210-1, a vehicle 210-2, and/or another
type of reporting device. For example, user device 210-1 may
include a mobile phone (e.g., a smart phone, a radiotelephone,
and/or the like), a laptop computer, a tablet computer, a desktop
computer, a handheld computer, a gaming device, a wearable
communication device (e.g., a smart watch, a pair of smart glasses,
and/or the like), a mobile hotspot device, a fixed wireless access
device, and/or a similar type of device. Additionally, or
alternatively, and provided as another example, vehicle 210-2 may
include a ground vehicle (e.g., a truck, a car, a motorcycle,
and/or the like), an aerial vehicle (e.g., a plane, a helicopter,
and/or the like), a watercraft (e.g., a boat, a submarine, and/or
the like), an autonomous vehicle, and/or the like.
[0077] In some implementations, user device 210-1 may include a
location sensor, a speed sensor, a distance sensor, and/or the
like. The location sensor may include a device capable of detecting
a location of user device 210-1, such as a global positioning
system (GPS) sensor, a gyroscope, a proximity sensor, and/or the
like. The speed sensor may include a device capable of detecting a
speed of user device 210-1, such as a speedometer, an
accelerometer, and/or the like. In some implementations, user
device 210-1 may include one or more sensor elements, such as
applications capable of capturing location data, speed data, and/or
the like.
[0078] In some implementations, vehicle 210-2 may include one or
more sensors, such as a location sensor, a speed sensor, a distance
sensor, and/or the like. The location sensor may include a device
capable of detecting a location of vehicle 210-2, such as a GPS
device. The speed sensor may include a device capable of detecting
a speed of vehicle 210-2, such as a tachometer, an odometer, a
speedometer, and/or the like. The distance sensor may include a
device capable of detecting a distance between vehicle 210-2 and
another device or object, such as a light sensor, a laser-optic
sensor, a camera (e.g., a front-view camera, a rearview camera,
and/or the like), and/or the like. In some implementations, the one
or more sensors may be part of an in-vehicle navigation system, a
GPS navigation system, an infotainment system, and/or the like.
[0079] In some implementations, reporting device 210 may provide,
to DSM platform 230, reporting data that includes location data,
speed data, vehicle revolutions per minute (RPM) data, sensor data,
and/or the like. For example, reporting device 210 may provide DSM
platform 230 with the reporting data using one or more
communication interfaces, such as an application programming
interface (API) and/or another type of interface.
[0080] Display device 220 includes one or more devices capable of
receiving, storing, generating, and/or providing data, such as data
described herein. For example, display device 220 may include a
user device (e.g., as defined in connection with user device
210-1), a server device, and/or the like. In some implementations,
display device 220 may receive one or more univocal speed
indicators, one or more univocal safety indicators, safety
recommendation data, reward data, insurance data, and/or the like.
In some implementations, display device 220 may display and/or be
capable of displaying an interface that includes the graphical
image associated with the one or more univocal speed indicators,
the one or more univocal safety indicators, safety recommendation
data, reward data, insurance data, and/or the like.
[0081] DSM platform 230 includes one or more devices capable of
receiving, storing, generating, and/or providing data, such as data
described herein. For example, DSM platform 230 may include a
server device (e.g., a host server, a web server, an application
server, and/or the like), a data center device, and/or a similar
device. In some implementations, DSM platform 230 may host and/or
support an application used to assist in managing safety of a group
of drivers of vehicles 210-2. In some implementations, DSM platform
230 may host, support, and/or have access to one or more data
models described herein.
[0082] In some implementations, as shown, DSM platform 230 may be
hosted in a cloud computing environment 222. Notably, while
implementations described herein describe DSM platform 230 as being
hosted in cloud computing environment 222, in some implementations,
DSM platform 230 may be non-cloud-based (i.e., may be implemented
outside of a cloud computing environment) or may be partially
cloud-based.
[0083] Cloud computing environment 222 includes an environment that
may host DSM platform 230. Cloud computing environment 222 may
provide computation, software, data access, storage, etc. services
that do not require end-user knowledge of a physical location and
configuration of system(s) and/or device(s) that host DSM platform
230. As shown, cloud computing environment 222 may include a group
of computing resources 235 (referred to collectively as "computing
resources 235" and individually as "computing resource 235").
[0084] Computing resource 235 includes one or more personal
computers, workstation computers, server devices, or other types of
computation and/or communication devices. In some implementations,
computing resource 235 may host DSM platform 230. In some
implementations, computing resource 235 may communicate with other
computing resources 235 via wired connections, wireless
connections, or a combination of wired and wireless
connections.
[0085] As further shown in FIG. 2, computing resource 235 includes
a group of cloud resources, such as one or more applications
("APPs") 235-1, one or more virtual machines ("VMs") 235-2,
virtualized storage ("VSs") 235-3, one or more hypervisors ("HYPs")
235-4, and/or the like. The cloud resources may include compute
instances executing in computing resource 235, storage devices
provided in computing resource 235, data transfer devices provided
by computing resource 235, etc.
[0086] Application 235-1 includes one or more software applications
that may be provided to or accessed by reporting device 210,
display device 220, and/or data storage device 250. Application
235-1 may eliminate a need to install and execute the software
applications on reporting device 210, display device 220, and/or
data storage device 250. For example, application 235-1 may include
software associated with DSM platform 230 and/or any other software
capable of being provided via cloud computing environment 222. In
some implementations, application 235-1 may include an application
to assist in managing safety of a group of drivers of vehicles
210-2. In some implementations, one application 235-1 may
send/receive information to/from one or more other applications
235-1, via virtual machine 235-2.
[0087] Virtual machine 235-2 includes a software implementation of
a machine (e.g., a computer) that executes programs like a physical
machine. Virtual machine 235-2 may be either a system virtual
machine or a process virtual machine, depending upon use and degree
of correspondence to any real machine by virtual machine 235-2. A
system virtual machine may provide a complete system platform that
supports execution of a complete operating system. A process
virtual machine may execute a single program and may support a
single process. In some implementations, virtual machine 235-2 may
execute on behalf of a user (e.g., a user of reporting device 210,
display device 220, and/or data storage device 250, or an operator
of DSM platform 230), and may manage infrastructure of cloud
computing environment 222, such as data management,
synchronization, or long-duration data transfers.
[0088] Virtualized storage 235-3 includes one or more storage
systems and/or one or more devices that use virtualization
techniques within the storage systems or devices of computing
resource 235. In some implementations, within the context of a
storage system, types of virtualizations may include block
virtualization and file virtualization. Block virtualization may
refer to abstraction (or separation) of logical storage from
physical storage so that the storage system may be accessed without
regard to physical storage or heterogeneous structure. The
separation may provide administrators of the storage system with
flexibility in how the administrators manage storage for end users.
File virtualization may eliminate dependencies between data
accessed at a file level and a location where files are physically
stored. This may enable optimization of storage use, server
consolidation, and/or performance of non-disruptive file
migrations.
[0089] Hypervisor 235-4 may provide hardware virtualization
techniques that allow multiple operating systems (e.g., "guest
operating systems") to execute concurrently on a host computer,
such as computing resource 235. Hypervisor 235-4 may present a
virtual operating platform to the guest operating systems and may
manage the execution of the guest operating systems. Multiple
instances of a variety of operating systems may share virtualized
hardware resources.
[0090] Data storage device 250 includes one or more devices capable
of receiving, storing, generating, and/or providing data, such as
data described herein. For example, data storage device 250 may
include a server device or a group of server devices. In some
implementations, a first data storage device 250 may store speed
limit data and/or may provide the speed limit data to DSM platform
230. Additionally, or alternatively, one or more other data storage
devices 250 may store historical data (described elsewhere herein)
and may provide the historical data to DSM platform 230.
[0091] Network 260 includes one or more wired and/or wireless
networks. For example, network 260 may include a cellular network
(e.g., a fifth generation (5G) network, a long-term evolution (LTE)
network, a third generation (3G) network, a code division multiple
access (CDMA) network, etc.), a public land mobile network (PLMN),
a local area network (LAN), a wide area network (WAN), a
metropolitan area network (MAN), a telephone network (e.g., the
Public Switched Telephone Network (PSTN)), a private network, an ad
hoc network, an intranet, the Internet, a fiber optic-based
network, and/or the like, and/or a combination of these or other
types of networks.
[0092] The number and arrangement of devices and networks shown in
FIG. 2 are provided as one or more examples. In practice, there may
be additional devices and/or networks, fewer devices and/or
networks, different devices and/or networks, or differently
arranged devices and/or networks than those shown in FIG. 2.
Furthermore, two or more devices shown in FIG. 2 may be implemented
within a single device, or a single device shown in FIG. 2 may be
implemented as multiple, distributed devices. Additionally, or
alternatively, a set of devices (e.g., one or more devices) of
environment 200 may perform one or more functions described as
being performed by another set of devices of environment 200.
[0093] FIG. 3 is a diagram of example components of a device 300.
Device 300 may correspond to reporting device 210, display device
220, DSM platform 230, and/or data storage device 250. In some
implementations, reporting device 210, display device 220, DSM
platform 230, and/or data storage device 250 may include one or
more devices 300 and/or one or more components of device 300. As
shown in FIG. 3, device 300 may include a bus 310, a processor 320,
a memory 330, a storage component 340, an input component 350, an
output component 360, and a communication interface 370.
[0094] Bus 310 includes a component that permits communication
among multiple components of device 300. Processor 320 is
implemented in hardware, firmware, and/or a combination of hardware
and software. Processor 320 includes a central processing unit
(CPU), a graphics processing unit (GPU), an accelerated processing
unit (APU), a microprocessor, a microcontroller, a digital signal
processor (DSP), a field-programmable gate array (FPGA), an
application-specific integrated circuit (ASIC), and/or another type
of processing component. In some implementations, processor 320
includes one or more processors capable of being programmed to
perform a function. Memory 330 includes a random access memory
(RAM), a read only memory (ROM), and/or another type of dynamic or
static storage device (e.g., a flash memory, a magnetic memory,
and/or an optical memory) that stores information and/or
instructions for use by processor 320.
[0095] Storage component 340 stores information and/or software
related to the operation and use of device 300. For example,
storage component 340 may include a hard disk (e.g., a magnetic
disk, an optical disk, and/or a magneto-optic disk), a solid state
drive (SSD), a compact disc (CD), a digital versatile disc (DVD), a
floppy disk, a cartridge, a magnetic tape, and/or another type of
non-transitory computer-readable medium, along with a corresponding
drive.
[0096] Input component 350 includes a component that permits device
300 to receive information, such as via user input (e.g., a touch
screen display, a keyboard, a keypad, a mouse, a button, a switch,
and/or a microphone). Additionally, or alternatively, input
component 350 may include a component for determining location
(e.g., a global positioning system (GPS) component) and/or a sensor
(e.g., an accelerometer, a gyroscope, an actuator, another type of
positional or environmental sensor, and/or the like). Output
component 360 includes a component that provides output information
from device 300 (via, e.g., a display, a speaker, a haptic feedback
component, an audio or visual indicator, and/or the like).
[0097] Communication interface 370 includes a transceiver-like
component (e.g., a transceiver, a separate receiver, a separate
transmitter, and/or the like) that enables device 300 to
communicate with other devices, such as via a wired connection, a
wireless connection, or a combination of wired and wireless
connections. Communication interface 370 may permit device 300 to
receive information from another device and/or provide information
to another device. For example, communication interface 370 may
include an Ethernet interface, an optical interface, a coaxial
interface, an infrared interface, a radio frequency (RF) interface,
a universal serial bus (USB) interface, a wireless local area
network interface, a cellular network interface, and/or the
like.
[0098] Device 300 may perform one or more processes described
herein. Device 300 may perform these processes based on processor
320 executing software instructions stored by a non-transitory
computer-readable medium, such as memory 330 and/or storage
component 340. As used herein, the term "computer-readable medium"
refers to a non-transitory memory device. A memory device includes
memory space within a single physical storage device or memory
space spread across multiple physical storage devices.
[0099] Software instructions may be read into memory 330 and/or
storage component 340 from another computer-readable medium or from
another device via communication interface 370. When executed,
software instructions stored in memory 330 and/or storage component
340 may cause processor 320 to perform one or more processes
described herein. Additionally, or alternatively, hardware
circuitry may be used in place of or in combination with software
instructions to perform one or more processes described herein.
Thus, implementations described herein are not limited to any
specific combination of hardware circuitry and software.
[0100] The number and arrangement of components shown in FIG. 3 are
provided as an example. In practice, device 300 may include
additional components, fewer components, different components, or
differently arranged components than those shown in FIG. 3.
Additionally, or alternatively, a set of components (e.g., one or
more components) of device 300 may perform one or more functions
described as being performed by another set of components of device
300.
[0101] FIG. 4 is a flow chart of an example process 400 for systems
and methods for determining and displaying a univocal speed
indicator for a driver of a vehicle. In some implementations, one
or more process blocks of FIG. 4 may be performed by a driver
safety management platform (e.g., DSM platform 230). In some
implementations, one or more process blocks of FIG. 4 may be
performed by another device or a group of devices separate from or
including the DSM platform, such as a reporting device (e.g.,
reporting device 210, a display device (e.g., display device 220),
a data storage device (e.g., data storage device 250), and/or the
like.
[0102] As shown in FIG. 4, process 400 may include receiving
location data associated with a vehicle (block 410). For example,
the DSM platform (e.g., using computing resource 235, processor
320, memory 330, storage component 340, input component 350,
communication interface 370, and/or the like) may receive location
data associated with a vehicle. In some implementations, the DSM
platform may receive the location data from a location sensor that
identifies a set of geographic locations of the vehicle at a set of
corresponding times, as described above.
[0103] As further shown in FIG. 4, process 400 may include
receiving speed data associated with the vehicle (block 420). For
example, the DSM platform (e.g., using computing resource 235,
processor 320, memory 330, storage component 340, input component
350, communication interface 370, and/or the like) may receive
speed data associated with the vehicle. In some implementations,
the DSM platform may receive speed data from a speed sensor that
identifies respective speeds of the vehicle at the set of
corresponding times, as described above.
[0104] As further shown in FIG. 4, process 400 may include
identifying speed limit data based on the location data and the
speed data (block 430). For example, the DSM platform (e.g., using
computing resource 235, processor 320, memory 330, storage
component 340, input component 350, output component 360,
communication interface 370, and/or the like) may identify speed
limit data based on the location data and the speed data. In some
implementations, the DSM platform may, based on the location data,
identify speed limit data that identifies respective speed limits
at the set of geographic locations, as described above.
[0105] As further shown in FIG. 4, process 400 may include
determining a set of respective relative speed values associated
with the vehicle (block 440). For example, the DSM platform (e.g.,
using computing resource 235, processor 320, memory 330, storage
component 340, and/or the like) may determine a set of respective
relative speed values associated with the vehicle. In some
implementations, the DSM platform may determine, based on the
respective speeds and the respective speed limits, a set of
respective relative speed values associated with the vehicle, as
described above.
[0106] As further shown in FIG. 4, process 400 may include
identifying relative speed values that exceed a threshold (block
450). For example, the DSM platform (e.g., using computing resource
235, processor 320, memory 330, storage component 340, input
component 350, output component 360, communication interface 370,
and/or the like) may identify relative speed values that exceed a
threshold. In some implementations, the DSM platform may identify
respective relative speed values, of the set of respective relative
speed values, that exceed a threshold, as described above. In some
implementations, for each time in the set of corresponding times,
the threshold may be based on a respective speed limit.
[0107] In some implementations, the DSM platform may determine, by
using a data model that has been trained using machine learning
based on historical speed data, an overall univocal speed indicator
for a group of drivers that operated vehicles at the set of
geographic locations. In some implementations, the DSM platform may
set the threshold based on the overall univocal speed
indicator.
[0108] As further shown in FIG. 4, process 400 may include
determining, based on the relative speed values, a univocal speed
indicator for a driver of the vehicle (block 460). For example, the
DSM platform (e.g., using computing resource 235, processor 320,
memory 330, storage component 340, and/or the like) may determine,
based on the relative speed values, a univocal speed indicator for
a driver of the vehicle. In some implementations, the DSM platform
may determine, based on the respective relative speed values, a
univocal speed indicator, for a driver of the vehicle, that
represents an overall degree to which the respective relative speed
values exceed the threshold, during a time interval that includes
the set of corresponding times, as described above. The overall
degree may include an average degree, a weighted average degree,
and/or the like.
[0109] In some implementations, the DSM platform may determine, by
using linear interpolation between identified respective relative
speed values, other respective relative speed values for times that
are different from the set of corresponding times and that are
within a time interval that includes the set of corresponding
times. In some implementations, the DSM platform may determine,
based on the identified respective relative speed values and the
other respective relative speed values, a univocal speed indicator,
for the driver of the vehicle, that represents an average degree to
which the vehicle was speeding over the time interval.
[0110] As further shown in FIG. 4, process 400 may include
performing a set of actions based on the univocal speed indicator
(block 470). For example, the DSM platform (e.g., using computing
resource 235, processor 320, memory 330, storage component 340,
output component 360, communication interface 370, and/or the like)
may perform a set of actions based on the univocal speed indicator,
as described above.
[0111] In some implementations, the set of actions may include a
first action to generate an interface to display a graphical image
associated with the univocal speed indicator, and a second action
to provide the interface for display on another device.
Additionally, or alternatively, the set of actions may include one
or more other actions, such as a third action to provide a safety
tip to a user device associated with the driver of the vehicle, a
fourth action to assign to an account of the driver a reward, and a
fifth action to cause insurance data associated with the driver to
update.
[0112] In some implementations, the DSM platform may generate the
interface to display, as part of the graphical image, the univocal
speed indicator in association with one or more other univocal
speed indicators for one or more other drivers. In this case, the
univocal speed indicator and the one or more other univocal speed
indicators may provide a uniform metric that accounts for total
average degrees to which the vehicle and one or more other vehicles
are speeding at respective time intervals.
[0113] In some implementations, the overall degree to which the
driver of the vehicle caused the respective relative speed values
to exceed the threshold may be a first overall degree and the time
interval may be a first time interval. In some implementations, the
DSM platform may provide the graphical image for display on the
other device in a manner that displays the univocal speed indicator
in association with one or more other univocal speed indicators.
The one or more other univocal speed indicators may include a
particular univocal speed indicator that is based on a second
overall degree to which other respective relative speed values,
which correspond to a particular driver of another vehicle, exceed
the threshold during a second time interval. The first overall
degree may be greater than (or less than) the second overall
degree, and a length of the second time interval may be greater
than (or less than) a length of the first time interval.
[0114] In some implementations, the DSM platform may receive
vehicle revolutions per minute (RPM) data that identifies a total
RPM of an engine of the vehicle over the time interval.
Additionally, or alternatively, the DSM platform may receive sensor
data that identifies a set of trailing distances. In some
implementations, the DSM platform may provide, as input to a data
model that has been trained using machine learning, at least one
of: the univocal speed indicator, the RPM data, and the sensor
data, to cause the data model to output a univocal safety indicator
for the driver of the vehicle. In some implementations, the DSM
platform may generate the interface to display the graphical image
based on the univocal safety indicator.
[0115] The foregoing disclosure provides illustration and
description, but is not intended to be exhaustive or to limit the
implementations to the precise form disclosed. Modifications and
variations may be made in light of the above disclosure or may be
acquired from practice of the implementations.
[0116] As used herein, the term "component" is intended to be
broadly construed as hardware, firmware, or a combination of
hardware and software.
[0117] As used herein, satisfying a threshold may, depending on the
context, refer to a value being greater than the threshold, more
than the threshold, higher than the threshold, greater than or
equal to the threshold, less than the threshold, fewer than the
threshold, lower than the threshold, less than or equal to the
threshold, equal to the threshold, etc. Additionally, exceeding a
threshold may, depending on the context, refer to a value being
greater than the threshold, more than the threshold, higher than
the threshold, greater than or equal to the threshold, equal to the
threshold, etc.
[0118] Certain user interfaces have been described herein and/or
shown in the figures. A user interface may include a graphical user
interface, a non-graphical user interface, a text-based user
interface, and/or the like. A user interface may provide
information for display. In some implementations, a user may
interact with the information, such as by providing input via an
input component of a device that provides the user interface for
display. In some implementations, a user interface may be
configurable by a device and/or a user (e.g., a user may change the
size of the user interface, information provided via the user
interface, a position of information provided via the user
interface, etc.). Additionally, or alternatively, a user interface
may be pre-configured to a standard configuration, a specific
configuration based on a type of device on which the user interface
is displayed, and/or a set of configurations based on capabilities
and/or specifications associated with a device on which the user
interface is displayed.
[0119] To the extent the aforementioned implementations collect,
store, or employ personal information of individuals, it should be
understood that such information shall be used in accordance with
all applicable laws concerning protection of personal information.
Additionally, the collection, storage, and use of such information
can be subject to consent of the individual to such activity, for
example, through well known "opt-in" or "opt-out" processes as can
be appropriate for the situation and type of information. Storage
and use of personal information can be in an appropriately secure
manner reflective of the type of information, for example, through
various encryption and anonymization techniques for particularly
sensitive information.
[0120] It will be apparent that systems and/or methods described
herein may be implemented in different forms of hardware, firmware,
and/or a combination of hardware and software. The actual
specialized control hardware or software code used to implement
these systems and/or methods is not limiting of the
implementations. Thus, the operation and behavior of the systems
and/or methods are described herein without reference to specific
software code--it being understood that software and hardware can
be used to implement the systems and/or methods based on the
description herein.
[0121] Even though particular combinations of features are recited
in the claims and/or disclosed in the specification, these
combinations are not intended to limit the disclosure of various
implementations. In fact, many of these features may be combined in
ways not specifically recited in the claims and/or disclosed in the
specification. Although each dependent claim listed below may
directly depend on only one claim, the disclosure of various
implementations includes each dependent claim in combination with
every other claim in the claim set.
[0122] No element, act, or instruction used herein should be
construed as critical or essential unless explicitly described as
such. Also, as used herein, the articles "a" and "an" are intended
to include one or more items, and may be used interchangeably with
"one or more." Further, as used herein, the article "the" is
intended to include one or more items referenced in connection with
the article "the" and may be used interchangeably with "the one or
more." Furthermore, as used herein, the term "set" is intended to
include one or more items (e.g., related items, unrelated items, a
combination of related and unrelated items, etc.), and may be used
interchangeably with "one or more." Where only one item is
intended, the phrase "only one" or similar language is used. Also,
as used herein, the terms "has," "have," "having," or the like are
intended to be open-ended terms. Further, the phrase "based on" is
intended to mean "based, at least in part, on" unless explicitly
stated otherwise. Also, as used herein, the term "or" is intended
to be inclusive when used in a series and may be used
interchangeably with "and/or," unless explicitly stated otherwise
(e.g., if used in combination with "either" or "only one of").
* * * * *