Method, electronic device and system for detecting overspeed

By acquiring historical trajectory data of the fleet, training a classifier, and detecting speeding in real time on vehicle electronic devices, the efficiency and accuracy issues of vehicle speeding detection in the fleet were solved, achieving automation and early warning functions.

CN116368544BActive Publication Date: 2025-11-04GRABTAXI HOLDINGS PTE LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202180068780.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-10-16
Filing Date
2021-09-15
Publication Date
2025-11-04
Estimated Expiration
2041-09-15

AI Technical Summary

Technical Problem

Existing technologies cannot effectively and efficiently determine whether vehicles in a convoy are speeding, especially in areas where legal speed limits are not adequately defined, and existing methods are resource-intensive and require manual input of map data.

Method used

By acquiring historical trajectory data of the fleet from an electronic database, using microprocessors of servers and electronic devices to determine speed distribution, training classifiers to predict the probability of future speeding, and calculating in real time whether a vehicle is speeding or about to speed.

Benefits of technology

It enables automatic, real-time detection of vehicle speeding in different geographical areas, reducing resource consumption and manual intervention, improving the efficiency and accuracy of speeding detection, and providing early warnings of future speeding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116368544B_ABST
    Figure CN116368544B_ABST
Patent Text Reader

Abstract

A method of detecting overspeeding by a vehicle includes obtaining historical trajectory data for a fleet of vehicles for geographical regions from an electronic database; determining, by a microprocessor of a server, a speed distribution of the historical trajectory data for each geographical region; determining, by a microprocessor of an electronic device associated with the vehicle, that a current speed of the vehicle is above a threshold speed corresponding to a predetermined percentile of the distribution based on the speed distribution. A system and a computer-readable medium storing computer executable code for the method.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] One aspect of the disclosure relates to a method for detecting overspeeding for a vehicle of a fleet. Another aspect of the disclosure relates to an electronic device for detecting overspeeding for a vehicle of a fleet. Another aspect of the disclosure relates to a system for detecting overspeeding for a vehicle of a fleet. BACKGROUND

[0002] For some countries, the road system does not adequately provide legal speed limits that can be used to determine whether a driver of a fleet is overspeeding. There can be differences between countries, for example, some countries can have well-defined legal speed limits, while other countries can lack speed limits, even for highways. Existing solutions are applicable to countries or geographical areas where map data is rich in speed limits for highways, local roads, and even small lanes. However, existing techniques for enriching map data are resource-intensive and require manual input. Therefore, avoiding overspeeding requires providing a more efficient method. SUMMARY

[0003] One aspect of the disclosure relates to a method for detecting overspeeding for a vehicle of a fleet. The method can include retrieving, from an electronic database, historical trajectory data of each geographical region of a plurality of geographical regions of the fleet. The method can include determining, by a microprocessor of a server, a speed distribution for each geographical region of the historical trajectory data. The method can include determining, by a microprocessor of an electronic device associated with the vehicle, based on the speed distribution, that a current speed of the vehicle is higher than a threshold speed corresponding to a predetermined percentile of the speed distribution recordable in a current geographical region in which the current speed is recordable, the current geographical region corresponding to at least one of the each geographical region. The server and the electronic database can be communicatively coupled to each other via a communication interface. Retrieving can include transmitting, by the server, an electronic request for the historical trajectory data to the electronic database, and can further include transmitting the historical trajectory data from the electronic database to the server via the communication interface.

[0004] One aspect of the disclosure relates to a system including a fleet, a server, and a plurality of electronic devices, where each device of the plurality of electronic devices can be associated with a vehicle of a fleet, and can include:

[0005] a trajectory data acquisition circuit configured to acquire current trajectory data;

[0006] a processor configured to determine, based on a speed distribution, whether a current speed of the vehicle can be higher than a threshold speed corresponding to a predetermined percentile of the speed distribution recordable in a current geographical region in which the current speed is recordable, the current geographical region corresponding to at least one of the each geographical region,

[0007] wherein the server can be configured to retrieve historical trajectory data of the fleet for each geographical region of a plurality of geographical regions from an electronic database; and determine, by a microprocessor, a speed distribution of the historical trajectory data for each geographical region.

[0008] One aspect of the disclosure relates to a method for detecting overspeeding for a vehicle of a fleet. The method can include retrieving historical trajectory data of the fleet for each geographical region of a plurality of geographical regions from an electronic database. The method can include determining, by a microprocessor of a server, a speed distribution of the historical trajectory data for each geographical region. The method can include training an electronic classifier into a trained classifier based on the speed distribution, e.g., based on one or more percentiles of the speed distribution. The server and the electronic database can be communicatively coupled to each other via a communication interface. The retrieving can include transmitting, by the server, an electronic request for the historical trajectory data to the electronic database, and transmitting the historical trajectory data from the electronic database to the server via the communication interface. The method can include calculating a determined future overspeeding probability on an electronic device associated with the vehicle, and can further include determining that the determined future overspeeding probability is higher than a predetermined threshold.

[0009] One aspect of the disclosure relates to an electronic device. The electronic device can include a trajectory data acquisition circuit configured to acquire current trajectory data. The electronic device can include a communication circuit configured to receive pre-trained weights for a trained classifier, e.g., from a server. The electronic device can include a processor configured to calculate a future overspeeding probability using the trained classifier configured with the pre-trained weights based on the trajectory data. The electronic device can further determine whether the future overspeeding probability is higher than a predetermined threshold.

[0010] One aspect of the disclosure relates to a system including a server and a plurality of electronic devices. Each device of the plurality of electronic devices can be associated with a vehicle of a fleet, and can be configured according to various embodiments. The server can be configured to retrieve historical trajectory data of the fleet for each geographical region of a plurality of geographical regions from an electronic database. The server can be configured to generate pre-trained weights as a result of training the classifier, and can be further configured to upload the pre-trained weights to the electronic devices, thereby providing the trained classifier on the electronic devices.

[0011] Aspects of the disclosure relate to a computer program product for use in the methods disclosed herein according to various embodiments, the computer program product comprising computer executable code comprising instructions to cause a computer to perform the method when the program is executed by the computer.

[0012] One aspect of the disclosure relates to a non-transitory computer-readable medium storing computer-executable code comprising instructions to obtain current trajectory data from a trajectory data acquisition circuit. The executable code can include instructions to receive pre-trained weights for a trained classifier from a server, for example, via a configured communication circuit. The executable code can include instructions to configure a classifier with the pre-trained weights into a trained classifier. The executable code can include instructions to use the trained classifier and compute a future speeding probability based on the trajectory data. BRIEF DESCRIPTION OF DRAWINGS

[0013] The present description will be understood more fully in conjunction with the detailed description and accompanying drawings, in which:

[0014] Figure 1 According to various embodiments, a schematic diagram of a system 100 is shown, including an electronic device 100B and a server 100A;

[0015] Figure 2 A map region 210 of a city divided into a plurality of geographic regions is shown;

[0016] Figure 3 According to some embodiments, a flowchart 350 of a method 350 of detecting speeding for a vehicle of a fleet is shown;

[0017] Figure 4 According to various embodiments, a flowchart 400 of a method is shown;

[0018] Figure 5 According to various embodiments, a flowchart 500 of a method for training a classifier is shown;

[0019] Figure 6 According to various embodiments, a flowchart is shown, including training the classifier and uploading pre-trained weights;

[0020] Figure 7 A geographic region 717 of a map 710 is shown, defined by four corners (needles 714);

[0021] Figure 8 According to various embodiments, a speed distribution computed from historical data of a geographic region is shown;

[0022] Figure 9 According to various embodiments, a schematic diagram of a method executable by an electronic device is shown; and

[0023] Figure 10 According to an example, a schematic diagram of a system is shown. DETAILED DESCRIPTION

[0024] The following detailed description is presented in order to demonstrate certain details of particular embodiments of the present disclosure. These details are intended to provide a thorough understanding of the present disclosure. Other embodiments can be utilized and structural, and logical changes can be made without departing from the scope of the present disclosure. The various embodiments are not necessarily mutually exclusive, as some embodiments can be combined with one or more other embodiments to form new embodiments.

[0025] Embodiments described in the context of one method, apparatus or system are similarly applicable in the context of other methods, apparatus or systems. Similarly, embodiments described in the context of a method are similarly applicable in the context of an apparatus or a system, and vice versa.

[0026] Features described in the context of one embodiment are similarly applicable in the context of other embodiments. Features described in the context of one embodiment are similarly applicable in other embodiments, even if not explicitly stated in these other embodiments. Furthermore, additions and / or combinations and / or alternatives of features described for a feature in the context of one embodiment are similarly applicable in the same or similar features in other embodiments.

[0027] In the context of the various embodiments, the articles "a", "an", and "the" as used in the specification are to be construed to mean "one or more" or "at least one".

[0028] The term "and / or" as used herein refers to and encompasses any and all combinations of one or more of the associated listed items.

[0029] According to various embodiments, a method for detecting speeding in one vehicle of a convoy may include obtaining historical trajectory data of the convoy for each of multiple geographic regions from an electronic database. When used herein, the terms "trajectory data" or "historical trajectory data" may include, according to various embodiments, geographic data such as geospatial coordinates, and may further include, for example, time provided by a Global Positioning System (GPS). Alternatively to time, or in addition to time, trajectory data or historical trajectory data may also include speed associated with a trajectory data point, which may be calculated from an average, a fit, etc., based on one or more neighboring points. Trajectory data may be taken from location records of one or more moving vehicles. For example, latitude, longitude, and time; trajectory data may further include altitude. GPS coordinates may be based on the Global Geodetic Coordinate System (WGS) 84, such as version G1762, but are not limited thereto. According to various embodiments, trajectory data may include multiple trajectory data points, each data point may include latitude, longitude, and speed, and may further include orientation. A trajectory line, such as a GPS track, may be defined as a sequence of records associated with a timestamp. Each record (also known as a trajectory data point) includes a location and a timestamp. Historical trajectory data may include a set of multiple trajectory lines from one or more vehicles in a convoy, stored over time. Trajectory data can be real-world data, such as real-world GPS data.

[0030] According to various embodiments, a geographic region represents an area on the Earth's surface. For example, a city can be represented by multiple geographic regions, which can be defined by applying a grid to a map of the city. In one instance, a grid divides a map into geographic regions (also called grid cells) of a predetermined size, such as 250 meters x 250 meters. The terms "geographic" and "geospatial" are used interchangeably hereafter and according to various embodiments.

[0031] According to various embodiments, the method for detecting speeding in one vehicle of a convoy may further include determining a speed distribution of historical trajectory data for each geographical region using a microprocessor on a server. According to various embodiments, a speed distribution may be a cumulative distribution function and may be further normalized.

[0032] According to some embodiments, historical trajectory data can be preprocessed before determining the speed distribution; alternatively, trajectory data can be preprocessed before being added to historical data. Such preprocessing can reduce noise, such as noise caused by GPS positioning errors.

[0033] According to various embodiments, the current trajectory data can be preprocessed, for example, to avoid inaccuracies in position and / or velocity calculations. Therefore, trajectory data added to historical trajectory data can be preprocessed current trajectory data.

[0034] According to various embodiments, historical trajectory data can be obtained by storing trajectory data in a database. Trajectory data, such as GPS data, from vehicles and electronic devices of drivers of a fleet can be collected and stored in a database. Since an electronic device (e.g., a smartphone or a tablet computer) is associated with a driver, data from the driver can be used to infer speed limits in different cities and countries.

[0035] According to various embodiments, driver profile data of a driver associated with an electronic device can include driver characteristic data, for example, indicating past speeding incidents. The driver profile can further include corresponding vehicle characteristic data of a vehicle associated with the driver, for example, whether the vehicle is a four-wheeled vehicle or a two-wheeled vehicle, motorized, etc.

[0036] According to some embodiments, instead of de-biasing the historical trajectory data before determining the speed distribution, the trajectory data can be de-biased before being added to the historical data. Such de-biasing can be used, for example, when GPS data is captured at a fixed rate (e.g., 1 trajectory data point per second), which results in a higher amount of data per distance when the vehicle is traveling at a lower speed compared to a higher speed.

[0037] According to some embodiments, the method of detecting speeding for a vehicle of a fleet can further include de-biasing the speed distribution based on an inverse relationship with speed. Since a trajectory data point acquisition rate is based on an inverse relationship with speed. For example, the de-biasing can be linear and implemented on the speed distribution. De-biasing of the distribution can consume less computational resources than de-biasing of the trajectory data.

[0038] The method of detecting speeding for a vehicle of a fleet can include determining that a current speed of the vehicle can be above a threshold speed based on the speed distribution. According to some embodiments, this determination is statistical based on a statistical model. According to some embodiments, this determination is based on a machine learning model and can be performed by machine learning, for example, by a trained classifier.

[0039] According to some embodiments, the method of detecting speeding for a vehicle of a fleet can include determining that a current speed of the vehicle can be above a threshold speed based on the speed distribution, the threshold speed corresponding to a predetermined percentile of the speed distribution in a current geographic region in which the current speed can be recorded. Alternatively or additionally, the method of detecting speeding for a vehicle of a fleet can include determining a future speeding probability based on the speed distribution.

[0040] According to embodiments, the current geographical region can correspond to at least one of the geographical regions for which historical trajectory data is available in the server. The determination can be performed by a microprocessor of an electronic device associated with the vehicle. The server and the electronic database can be communicatively coupled to each other via a communication interface.

[0041] According to embodiments, an overspeed or a future overspeed risk (or probability) can be indicated to the driver by or via an alert, for example using an audible alert, a voice alert, a message on a display, a push notification to the electronic device. Alternatively or additionally, an overspeed or a future overspeed probability can be communicated from the electronic device to the server with metadata which can be aggregated over time (e.g. on a daily basis) and reported as an overspeed report. For example, if the driver is distracted by an issue of concern, the alert can be turned off during driving.

[0042] A future overspeed is an overspeed anticipation, which can potentially prevent an accident from occurring, as the driver receives a notification in advance and thus is aware that he is in a monitored state. According to embodiments, a prediction of a future overspeed (also referred to herein as an imminent overspeed) can be provided for the future, for example for the next minute, e.g. 20 to 30 seconds in advance.

[0043] In a method of detecting an overspeed for a vehicle of a vehicle fleet, obtaining historical trajectory data of the vehicle fleet can comprise communicating an electronic request for the historical trajectory data from the server to the electronic database, and can further comprise communicating the historical trajectory data from the electronic database to the server via the communication interface.

[0044] According to some embodiments, a method of detecting an overspeed for a vehicle of a vehicle fleet can comprise calculating the threshold speed on the server for each geographical region based on the speed distribution; uploading the threshold speed for each geographical region of the plurality of geographical regions to the electronic device. Alternatively or additionally, the method can comprise uploading respective percentiles or respective threshold speeds to the electronic device for all of the plurality of geographical regions. The uploading can be performed automatically, for example on demand or regularly, such as once a week, via a respective communication interface between the server and the device. For example, a regular update for an entire city or an entire country reduces the risk of any time lag or lack of information available when needed due to poor communication link. A regular upload of a threshold, a percentile, or a distribution also does not take up much memory or communication bandwidth in the device compared to uploading complete historical data. Furthermore, an enhanced data protection is provided as the server does not expose historical data to the device. According to embodiments, the predetermined threshold is a threshold speed or determined based on the threshold speed.

[0045] According to some embodiments, the method can further include calculating that the determined future speeding probability can be above a predetermined threshold based on the speed distribution. The calculation can be performed on an electronic device associated with the vehicle. If the determination is run on the device, then the dependence on network connectivity and querying a backend is reduced.

[0046] According to various embodiments, the determined probability can be calculated by a trained classifier. The method can further include training an electronic classifier into a trained classifier based on the speed distribution. The electronic device can store the trained classifier. The electronic device can include TensorFlow, and the classifier can be based on TensorFlow.

[0047] According to various embodiments, the training can be further based on training contextual data including contextual information. Calculating the determined future speeding probability can be further based on current contextual data including current contextual information. According to various embodiments, the training contextual data can include training weather data, and the current contextual data can include current weather data. Alternatively or additionally, each of the training driver profile and the driver profile can include driver characteristic data, for example, indicating past speeding incidents. Each of the training driver profile and the driver profile can further include respective vehicle characteristic data of a vehicle associated with the driver, for example, whether the vehicle is a four-wheeled vehicle or a two-wheeled vehicle, motorized, etc. Alternatively or additionally, the training contextual data and the current contextual data can include one or more of the following respective: time of day, day of week, public holiday data.

[0048] According to various embodiments, the contextual data and the current contextual data can include one or more of the following respective: road condition data, road characteristic data, current traffic pattern, neighborhood type.

[0049] According to various embodiments, the contextual data, such as the training contextual data and the current contextual data, can be selected from one or more of the following: weather data, driver profile data, time of day, day of week, public holiday data, day or night, road condition data, road segment condition, road segment type, road characteristic data, current traffic pattern, neighborhood type. Each driver profile can include vehicle characteristic data of a vehicle associated with a corresponding driver.

[0050] According to various embodiments, the contextual data, such as the training contextual data and the current contextual data, can include a number of speeding incidents that have occurred in a given grid cell.

[0051] According to various embodiments, the contextual data, and the corresponding training contextual data and current contextual data, can include a speeding risk score of a given geographical area.

[0052] A speed pattern on a stretch of road that can lead to an accident or collision is considered unsafe. It can be unsafe due to rain, storm or other adverse weather conditions. A certain speed can be safe during the day but less safe at night. There can be specific traffic patterns that change safe speeds to unsafe under other circumstances. The road conditions themselves can pose some danger to traffic, such as potholes, turns, obstacles. A speed that is safe for a car can not be safe for a two-wheeler. For this reason, the speed limit exceeded as used according to embodiments is extended beyond the legal speed limit and is based on safety context. In the context of the present disclosure, speeding can also mean unsafe speed.

[0053] A type of a stretch of road can be situational information useful in determining safe or unsafe speeds. A map, for example a map of a city, is divided into geographical regions with a grid and a current location is aligned (mapped) to a grid cell containing the current location, i.e. the current geographical region. However, a grid cell can have many different road types, some can be highways while others can be narrow local roads. Interestingly, it has been found that traffic speed data analysis shows that the vehicle speed distribution has a characteristic of a Gaussian mixture model. Each grid cell can have multiple road types within its boundaries. For example, each grid cell can contain a highway segment, and local roads. The Gaussians can be determined first and input into the classifier. For example, by an automated Gaussian deconvolution of the distribution. According to embodiments, the system can comprise an automated Gaussian component determiner configured to determine Gaussian components for each geographical region from speed distributions of historical trajectory data. According to embodiments, the classifier can be configured to determine a road type of one or more of the Gaussian components based on the Gaussian components.

[0054] Additional characteristics of the vehicle movement pattern can be used to identify a specific vehicle model / category that the vehicle can belong to. This assessment is fast and requires small memory usage space. Once the road stretch type is known, a relevant trained model can be assessed for "unsafe speed". According to embodiments, the system can comprise a pre-trained vehicle identifier, which can be a trained classifier, configured to output a vehicle type based on the vehicle movement pattern. The vehicle type can comprise one or more of: a four-wheeled vehicle, a two-wheeled vehicle, a motorized vehicle, a human-powered vehicle, a vehicle model.

[0055] It should be appreciated that there is no need to determine a specific road stretch in the geographical region, as the road stretch type is sufficient. Therefore, the electronic device does not need to use a map that points to the road stretch where the driver is, and thus there are less memory and computational resources used for determining the context from the current location compared to a system that uses a comprehensive map. This way of aligning from location to context also works well in view of the limitations on a mobile device.

[0056] According to various embodiments, an electronic classifier can be trained on a server. Pre-trained weights of the trained classifier can be uploaded from the server to the electronic device, thereby providing the trained classifier on the electronic device. The uploading of the pre-trained weights consumes a small amount of bandwidth and can be performed at regular intervals, such as once a week or once a month.

[0057] According to various embodiments, an electronic device can include a trajectory data acquisition circuit configured to acquire current trajectory data. On the device, the identification of the appropriate context includes reading trajectory data (e.g., GPS sensor data), such as latitude, longitude, and speed. The speed can be determined from a timestamp, for example, by a GSP module. The electronic device can include a communication circuit configured to receive pre-trained weights for a trained classifier from a server. The electronic device can include a processor. The processor can be configured to use a classifier configured with the pre-trained weights (i.e., the trained classifier) to calculate a future speeding probability above a predetermined threshold based on the trajectory data. A trained classifier in this context can include a trained instruction set and weights that can be processed (used) by the processor. The electronic device can include the classifier. The electronic device can include the trained classifier.

[0058] According to various embodiments, a system can include a fleet, a server, and a plurality of electronic devices. Each electronic device is associated with a vehicle of the server. The system can include a trajectory data acquisition circuit configured to acquire current trajectory data. The system can include a communication circuit configured to receive the pre-trained weights for the trained classifier from a server. The system can include a processor configured to use a trained classifier (i.e., the trained classifier) configured with the pre-trained weights to calculate a future speeding probability above a predetermined threshold based on the current trajectory data. A trained classifier in this context can mean a trained instruction set and weights that can be processed (used) by the processor. The system can include the classifier. The system can include the trained classifier.

[0059] According to embodiments, a non-transitory computer-readable medium can store computer executable code. According to embodiments, the code can include instructions to cause a computer (e.g., a processor of the electronic device) to perform a method of detecting overspeed for a vehicle of a fleet. The code can include instructions to cause a computer (e.g., a processor of the electronic device) to obtain current trajectory data from a trajectory data acquisition circuit. The code can include instructions to receive pre-trained weights for a trained classifier from a server via a communication circuit. The code can include instructions to configure a classifier with the pre-trained weights to a trained classifier. The code can include instructions to calculate a future overspeed probability above a predetermined threshold. The calculation can use the trained classifier and can be based on a current speed and / or based on trajectory data. The trajectory data includes at least two trajectory data points, optionally at least 3 trajectory data points. 3 or more trajectory data points can allow for averaging of speed, thereby reducing or avoiding errors in speed calculation due to GPS acquisition errors.

[0060] Figure 1 A system 100 is shown including an electronic device 100B (e.g., a smartphone) and a server 100A. The server 100A and the electronic device 100B can be communicatively coupled to each other for data transmission.

[0061] The server 100A has at least one processor 110 and a memory 109 for storing an electronic database 111. The memory 109 and the processor 110 can be implemented in a single unit, or can be placed in different locations, such as a cloud. It is understood that although the server 106 is described as a single server, its functions will typically be provided through an arrangement of multiple server computers in actual applications (e.g., implementing a cloud service). Thus, the functions provided by the server described herein can be understood as being provided by a server or an arrangement of server computers. In an example, the database can be implemented with DynamoDB, or another NoSQL database, as NoSQL databases do not impose strict architecture, which provides flexibility in data structure, thereby allowing future data to change as implementation improves. DynamoDB has reliability and can operate at a large scale, with most operations being performed on a cloud, thus allowing automatic scaling.

[0062] Electronic device 100B can include a trajectory data acquisition circuit configured to acquire current trajectory data, e.g., trajectory data computed from satellite signals such as GPS. Electronic device 100B has a screen that displays a graphical user interface (GUI) of an electronic ride-hailing application that has been installed on the electronic device of a driver (e.g., a taxi driver) and has been opened (e.g., launched) to perform a transportation order. Electronic device 100B has a processor (not shown).

[0063] GUI 101 includes a map 102 of the vicinity of the location of the driver. The application can determine the location based on a location service, e.g., a GPS-based location service. Map 102 can also show the trajectory to be traveled, to assist the driver in driving. The GUI can include other features, for example, GUI 101 can include a pickup block 103 and a destination block 104 that can be received from the order. There can also be a menu (not shown) that allows the driver to select various options, e.g., information about the passenger, automatic payment or cash payment, etc.

[0064] The GUI can include a warning block that can change appearance (e.g., flash) to indicate when the driver is speeding or when there is a risk of imminent speeding. According to embodiments, electronic device 100B is configured to issue a warning when speeding is detected, and / or configured to issue a warning when imminent speeding is predicted. Imminent speeding can be defined as a future speeding probability that is higher than a predetermined threshold.

[0065] Figure 2 A map region 210 of a city divided into a plurality of geographical regions is shown, for example as squares (such as 215 and 217) separated by lines 214. The map includes data representing roads 212. Figure 2 A current position 216 of a vehicle (of a driver) in geographical region 217 is shown. A method of detecting speeding for a vehicle can determine whether a current speed of the vehicle is higher than a threshold speed. A method of detecting speeding for a vehicle can include determining whether a future speeding probability is higher than a predetermined threshold. For example, the method can determine speeding probabilities for different trajectories, e.g., from the current position to the shown locations A, B or C. The method can compute the speeding probabilities according to a selected trajectory, e.g., the probabilities for the locations can be A = 10%, B = 8%, C = 82%. Given a predetermined threshold, e.g., 75%, when the driver selects trajectory 218 and drives towards C, a warning can be triggered, e.g., a warning is displayed on the electronic device, because 82% > 75%.

[0066] Figure 3According to some embodiments, a flowchart 350 of a method 350 of detecting overspeeding for a vehicle of a fleet of vehicles is shown. The method 350 comprises retrieving 352 historical trajectory data of the fleet for each geographical region of a plurality of geographical regions from an electronic database 111. The retrieving can comprise communicating an electronic request for historical trajectory data 352 to the electronic database 111 by a server 100A (e.g. by the processor of the server) and communicating the historical trajectory data from the electronic database 111 to the server 100A via the communication interface.

[0067] The method can comprise determining 354 a speed distribution of the historical trajectory data for each geographical region by a microprocessor of a server 100A.

[0068] The method can comprise determining, based on the speed distribution, by a microprocessor of an electronic device 100B associated with the vehicle, that a current speed of the vehicle can be higher than a threshold speed corresponding to a predetermined percentile of the speed distribution 354 in a current geographical region in which the current speed can be recorded, the current geographical region corresponding to at least one of the each geographical region. For example, as shown in Figure 3 One or more percentiles of the speed distribution can be determined 356. Optionally, if desired, the method can comprise de-skewing the distribution, e.g. before determining the percentiles. In Figure 3 Examples, the method can comprise providing 359 contextual data. In step 358, the percentiles for the various regions and their contextual data, and a current speed are used to determine whether a driver is overspeeding or is about to overspeed. Alternatively or additionally, the method can determine whether a driver is overspeeding or is about to overspeed based on the percentiles or based on distribution data of the distribution, as shown in Figure 4 Figure 4 A flowchart 400 of a method is shown, the method comprising uploading 452 percentiles of speed distributions to a driver's device and a step 454 of determining whether a driver is overspeeding or is about to overspeed on the driver's device using the percentiles for the various regions and a current speed.

[0069] According to embodiments, determining whether a driver is overspeeding or is about to overspeed can be based on Gaussian components of the speed distribution that can be determined first by an automated Gaussian component determiner. The use of Gaussian components can allow a classifier to identify a road type.

[0070] Figure 5 ​According to various embodiments, a flowchart 500 is shown for one method of training a classifier, and according to some embodiments, a method for detecting speeding is illustrated. Method 500 includes obtaining historical trajectory data 502 of the vehicle fleet for each of a plurality of geographic regions from an electronic database 111. Obtaining may include transmitting an electronic request for the historical trajectory data 502 to the electronic database 111 via a server 100A (e.g., via the processor of the server), and transferring the historical trajectory data from the electronic database 111 to the server 100A via the communication interface.

[0071] The training method may include determining a velocity distribution of 504 historical trajectory data for each geographic region using a microprocessor of a server 100A for a training dataset, comparing the classification result with a surface condition, and repeating this process until the classifier's classification result and the surface condition have reached sufficient convergence. Alternatively or additionally, the dataset may include percentiles of the velocity distribution, which may be determined in step 506 and are part of the training dataset, so that training can be performed taking into account the percentiles of the velocity distribution. Accuracy may be statistically determined using a test dataset that includes the corresponding surface condition.

[0072] According to various embodiments, training can be further based on Gaussian components of the velocity distribution, which can be determined first by an automated Gaussian component determiner. The use of Gaussian components allows a classifier to identify a road type.

[0073] According to various embodiments, the training dataset may include contextual data. Correspondingly, the test dataset may include test contextual data. Contextual data may include training (or testing) contextual data and current contextual data, and may be selected from one or more of the following: weather data, driver profiles, time of day, day of week, public holiday data, daytime or nighttime, road condition data, road segment conditions, road segment type, road characteristic data, current traffic pattern, and neighborhood type. Each driver profile may include vehicle characteristic data of a vehicle associated with a corresponding driver.

[0074] According to various embodiments, an electronic classifier can be trained on server 100A, such as... Figure 6 As shown in step 602 of flowchart 600, the pre-trained weights of the trained classifier can be uploaded from server 100A to electronic device 100B, thereby providing the trained classifier on electronic device 100B. Compared to uploading the entire instruction set of the trained classifier, uploading only the pre-trained weights allows for regular updates on electronic device 100B with reduced bandwidth consumption. Providing training on server 100A substantially reduces resource usage on electronic device 100B and allows for improved data security because historical data does not need to be sent to electronic device 100B.

[0075] The following section will demonstrate how to determine the velocity distribution for a typical dataset. Figure 7 A map 710 shows a geographical area 717. For illustrative purposes, geographical area 717 is defined by the four corners (pin points 714) of a 250-meter × 250-meter grid area 713. The geographical area includes road segment 712.

[0076] exist Figure 7 and Figure 8 In the example, data from Batam, Indonesia, is used for illustration. The trajectory data is filtered as follows: i) speed greater than 0; ii) the driver is marked as "IN_TRANSIT," meaning the driver has accepted a trip and is currently moving the passenger to the destination; iii) the booking code is not NULL, meaning the driver's activity has been identified (and not rejected) as a valid paid trip, and a verifiable verification code exists; iv) the accuracy of trajectory data acquisition (e.g., GPS) is less than or equal to 20m; v) ping status is confirmed (e.g., "2"), which confirms the uploaded data is valid and can be used for further calculations. For each grid cell within the city, trajectory data points meeting the above criteria are aggregated for a predetermined time frame, such as a whole month. Figure 8 The four plots, with the top left plot showing the normalized speed distribution across geographic region 717 for a full month, are presented. This method is avoided when drivers move non-trip-related activities, as the use of transit markers and / or reservation codes prevents this from being executed. Therefore, computational resources are saved.

[0077] Figure 8 A histogram (a) illustrating the speed distribution for geographic region 717 is shown as an example. The histogram (a) in the upper left corner is skewed because vehicles traveling at slower speeds will register more trajectory data points (e.g., GPS ping) compared to vehicles moving faster. Histogram (b) is a deskewed histogram of the speed distribution, constructed by linearly reweighting the distribution shown in histogram (a). Trajectory data points associated with higher speeds are given greater weight than those associated with slower GPS locations. Static ping is excluded from the analysis because it does not provide any values ​​for determining the virtual speed limit. In both histograms (a) and (b), the probability density function (pdf) is fitted to the distribution, and the Gaussian deconvolution is shown with three components, comp_1, comp_2, and comp_3. The Gaussian deconvolution can be implemented using an automated Gaussian component determiner.

[0078] The lower right graph (d) shows the cumulative distribution function for speed before (cdf) and after (debiased cdf) debiasing. From the debiased cdf, percentiles of the speed distribution can be determined, for example, the 85th, 95th, 99th percentiles of the speed distribution can be determined.

[0079] According to embodiments, a profile (e.g., a JavaScript Object Notation (JSON) profile) with the entire city grid coordinates and their corresponding percentiles can be pushed (e.g., uploaded) onto the electronic device. During a trip, the grid location of an incoming GPS ping can be determined, and the current speed can be compared to a threshold. The threshold can be determined based on the percentiles, for example, based on the 85th, 95th, 99th percentile data. For example, an initial method similar to the 85th percentile + 8 km / h rule can be set as a threshold. Since the electronic device can operate with grid coordinates, there is no need to upload the entire map to the electronic device.

[0080] According to embodiments, determining speeding can be performed by comparing a current speed of a vehicle to a threshold speed. The threshold speed can correspond to a predetermined percentile of a speed distribution in a current geographic area, for example, the 85th percentile, the 85th percentile + 8 km / h, the 95th percentile, or the 99th percentile.

[0081] According to embodiments, to determine whether a driver is speeding, for two or more speed determinations, the method can take into account persistent speeding. Thus, in some embodiments, at least two pings (i.e., trajectory data points) including a speed need to cross a set threshold, and the at least two pings cannot be identical. In some embodiments, a single GPS ping violating the threshold rule will not be considered speeding. This allows for less error in detecting instantaneous speed from GPS speed, since there is some time lag, and in the best case, the data rate of a cell phone GPS sensor is 1 Hz. This also compensates for possible low accuracy due to poor reception or multipath, which sometimes affects Doppler-based speed measurements. According to some embodiments, if trajectory data points are to be taken into account for speeding detection, the accuracy of the trajectory data points must be better than 30 meters.

[0082] The violation can be shown to the driver during the trip or at the end of the trip via a push notification or an audible alert. Alternatively or additionally, the violation can be sent back to the backend with metadata, which can be aggregated and reported as a speeding report on a daily basis. For example, if the driver is distracted by an issue of concern, the alert can be turned off during driving.

[0083] Figure 9According to embodiments, a schematic diagram of a method that can be implemented by an electronic device is shown. An electronic device can be provided that includes a trained classifier. The electronic device can include stored data from a server, such as map data 902, context data related to a driver (e.g., driver profile data) and / or a vehicle 904, and other context data 906 (weather, time of day). The map data 902 can include coordinates (e.g., grid coordinates) of geographic regions, and can further include one or more of the following: speed distribution, percentile, predetermined speed threshold. The electronic device can further utilize current trajectory data that can be obtained by a location receiver module 912, such as a GPS receiver. The stored data can be pre-processed by a feature generator 914, which can include an automated Gaussian component determiner and / or other data pre-processing. For example, given a speed distribution and a current geographic region (or current location from which a current geographic region can be determined), the feature generator 914 can determine Gaussian components of the speed distribution, and can further identify the most likely road segment corresponding to the current location. The feature generator 914 can output an array of features, such as speed percentiles (e.g., 50th, 95th, 99th percentiles), and probability of accident due to speeding. An exemplary array can look like [20, 25, 27, 0.00002]. The stored data can have been previously stored in a memory storage of the electronic device, for example, after being received from the server, and can be used as input features for the trained classifier. Map features 922 can be taken from the map data 902, driver features 924 can be taken from the driver profile data 904, and context features 926 can be taken from the other context data 906. The trained classifier can be configured to embed the input features into neurons of its neural network, for example, the map features 922, driver features 924, and context features 926 can be concatenated, and used as input in concatenated form in a concatenated vector 930.

[0084] According to embodiments, the trained classifier can be configured to calculate a future speeding probability based on the trajectory data. The electronic device can be configured to determine whether the speeding probability is higher than a predetermined threshold. For example, if the calculated probability is 0.739, and the threshold is 0.75, no future speeding is determined, and, for example, the electronic device can not issue a future speeding warning. In another example, if the calculated probability is 0.85, and the threshold is 0.75, future speeding is determined, and, for example, the electronic device can issue a future speeding warning. Alternatively or additionally, the classifier can be trained to determine a current speed is unsafe, for example, by having an output class that represents a current unsafe speed probability. The electronic device can compare the current unsafe speed probability to a threshold, and thereby determine whether the current speed of the vehicle is safe or unsafe.

[0085] According to embodiments, the calculation of the future speeding probability and the determination of whether the future speeding probability is above a predetermined threshold can be performed in real-time, so that the driver can receive a warning in real-time while driving about future speeding. Alternatively or additionally, a determination of whether the current speed is unsafe can be performed in real-time, so that the driver can receive a warning in real-time while driving about current unsafe speeding. According to embodiments, when training an electronic classifier, the trajectory data of the warning driver can be excluded from the training data, for example, the trajectory data of the warning driver can be excluded from the historical trajectory data, or filtered out from the historical trajectory data before training.

[0086] Figure 10 According to an example, a schematic diagram of a system is shown, which includes a server 100A and an electronic device 100B, such as a smartphone, associated with a driver. The electronic device 100B can send 191 data, such as trajectory data and current speed, to a safety backend. The electronic device 100B can also query 191 features from the safety backend. The safety backend can query 193 features from a database DB, and the database DB can send 194 the features to the safety backend, which in turn can send the features to the electronic device 100B. The database DB can collect features from a historical trajectory database S3, driver profile data, and other contextual data. The historical trajectory data can be updated at the DB by a periodic DB update data procedure. Therefore, the action part of the procedure does not expose any API. The backend API provides a way to retrieve the city, the set of driver-related features. This feature changes slowly, so a relatively low refresh rate is needed, for example, once every 2 or 3 weeks.

[0087] In an example, an API to get map data, speed profiles, and other contextual data includes an exposed endpoint, an internal endpoint, and a method GET. The API can be called from the electronic device, and will return map data, speed profiles (e.g., speed profile data and / or percentiles of speed profiles), and can return other contextual data, which can then be used for speed detection on the electronic device. In an example, the method GET can include latitude and longitude fields, as shown in Table 1.

[0088] Column Name Type Definition Example Required Latitude Float Latitude 1.2312 Yes Longitude Float Longitude 2.3212 Yes

[0089] Table 1

[0090] In an example, a response from the API can include the features (e.g., map data, speed profiles, and other contextual content), and can further include a by indicator, as shown in Table 2.

[0091]

[0092] Table 2

[0093] In one example, an API to retrieve driver profile data includes an exposed endpoint, an internal endpoint, and a method GET. This API can be called from the electronic device and will return driver characteristics such as age, history, etc. that can then be used for speed detection on the electronic device. In one example, the method GET does not include any parameters. In one example, the response from the API can include driver profile (also referred to as driver characteristics) and can further include a pass indicator as shown in Table 3 below.

[0094]

[0095]

[0096] Table 3

[0097] In one example, an API to retrieve another contextual data that requires frequent updates (e.g., can be real-time data) includes an exposed endpoint, an internal endpoint, and a method GET. This API can be called from the electronic device and will return contextual data that needs to be up-to-date such as weather data, real-time traffic data, etc. that can then be used for speed detection on the electronic device. In one example, the method GET can include latitude and longitude fields and can further include a timestamp as shown in Table 4.

[0098] Column Name Type Definition Example Required Latitude Float Latitude 1.2312 Yes Longitude Float Longitude 2.3212 Yes Timestamp Integer Time 15728873783 No

[0099] Table 4

[0100] In one example, a response from the API can include another contextual data and can further include a pass indicator as shown in Table 5.

[0101]

[0102] Table 5

[0103] Features taken from the server such as map data, speed profiles, and other contextual content, driver profile data, contextual data that requires frequent updates can be unserialized and then inserted into the trained classifier of the electronic device such as a Tensorflow-based infrastructure.

[0104] In one example, an architecture of map data can be as shown in Table 6.

[0105]

[0106] Table 6

[0107] While the disclosure has been particularly shown and described with reference to particular embodiments thereof, it will be understood by those skilled in the art that various changes in form and details can be made therein without departing from the spirit and scope of the application as defined by the appended claims. The scope of the application thus is indicated by the appended claims, and all changes which come within the meaning and range of equivalents of the claims are intended to be embraced therein.

Claims

1. A method for detecting speeding in a single vehicle of a convoy, the method comprising: Historical trajectory data of the convoy in various geographic regions (217, 717) of multiple geographic regions were obtained from an electronic database (111); A speed distribution of the historical trajectory data is determined by a microprocessor on a server (100A) for each geographic region (217, 717); Based on the inverse relationship between the data point acquisition rate and the velocity of the data points in this distribution, the velocity distribution is deskewed. Based on the speed distribution, the microprocessor of an electronic device (100B) associated with the vehicle determines that the vehicle’s current speed is higher than a threshold speed, which corresponds to a predetermined percentile of the speed distribution in the current geographic region where the current speed is recorded, and the current geographic region corresponds to at least one of the geographic regions (217, 717). in, The server (100A) and the electronic database (111) are coupled to each other via a communication interface. The process involves transmitting an electronic request for the historical trajectory data to the electronic database (111) via the server (100A) and transmitting the historical trajectory data from the electronic database (111) to the server (100A) via the communication interface.

2. The method of claim 1, further comprising calculating the threshold speed on the server (100A) based on the speed distribution of each geographic region (217, 717); and uploading the threshold speed of each geographic region (217, 717) among the plurality of geographic regions to the electronic device (100B).

3. The method of claim 1 or claim 2, comprising uploading the corresponding percentile or corresponding threshold speed to the electronic device (100B) for all of the plurality of geographic regions.

4. The method of claim 1, further comprising: calculating a determined future speeding probability on the electronic device (100B) associated with the vehicle based on the speed distribution and determining whether the determined future speeding probability is higher than a predetermined threshold, and determining that the determined future speeding probability is higher than the predetermined threshold.

5. The method of claim 4, wherein, The determined probability is calculated using a trained classifier, and the method further includes training an electronic classifier to the trained classifier based on the velocity distribution.

6. The method of claim 5, wherein, The training is further based on contextual data that includes contextual information; and the calculation of the determined future overspeed probability is further based on current contextual data that includes current contextual information.

7. The method of claim 6, wherein, The context data includes training weather data, and the current context data includes current weather data.

8. The method of claim 6 or claim 7, wherein, The contextual data includes training driver profile data, and the current contextual data includes driver profile data of a driver associated with the vehicle, wherein each of the training driver profile data and the driver profile data includes corresponding vehicle characteristic data and / or driver characteristics.

9. The method of claim 7, wherein, The contextual data and the current contextual data include one or more of the following: the time of day, the day of the week, and public holiday data.

10. The method of claim 7, wherein, The contextual data and the current contextual data include one or more of the following: traffic data, road characteristic data, current traffic pattern, and neighborhood type.

11. The method of claim 5, wherein, The electronic classifier is trained on the server (100A), and the pre-training weights of the trained classifier are uploaded from the server (100A) to the electronic device (100B) so that the trained classifier is provided on the electronic device (100B).

12. A system comprising a server (100A) and a plurality of electronic devices (100B), wherein, Each of the plurality of electronic devices (100B) is associated with a vehicle in a fleet of vehicles in various geographic areas (217,717) and includes: A trajectory data acquisition circuit is configured to acquire current trajectory data; A processor is configured to determine, based on a speed distribution, whether the current speed of a vehicle is higher than a threshold speed, the threshold speed corresponding to a predetermined percentile of the speed distribution in a current geographic region where the current speed is recorded, the current geographic region corresponding to at least one of the geographic regions (217, 717). The server (100A) is configured as follows: Historical trajectory data of the convoy were obtained from each geographic region (217, 717) in multiple geographic regions from the electronic database (111); The velocity distribution of historical trajectory data for each geographic region (217, 717) was determined using a microprocessor; and Based on the inverse relationship between the data point acquisition rate and the velocity of the data points in this distribution, the velocity distribution is deskewed.

13. The system of claim 12, wherein, The server (100A) is further configured to calculate the threshold speed on the server (100A) based on the speed distribution of each geographic region (217, 717); and to upload the threshold speed of each geographic region (217, 717) among the multiple geographic regions to the electronic device (100B).

14. The system of claim 12 or claim 13, wherein, Each of the electronic devices (100B) has a communication interface configured to communicate with the server (100A) and to receive from the server (100A) the corresponding percentage bits or corresponding threshold speeds for all of the plurality of geographic regions.

15. The system of claim 12, wherein, Each of these electronic devices (100B) is further configured as follows: Calculate a predetermined future speeding probability associated with the vehicle and determine whether this predetermined future speeding probability exceeds a predetermined threshold. This calculation is based on a speed distribution. It is determined that the established probability of future speeding is higher than the predetermined threshold.

16. The system of claim 15, wherein, The determined probability is calculated by a trained classifier, and the server (100A) is further configured to train an electronic classifier into the trained classifier based on the velocity distribution.

17. The system of claim 16, wherein, The training is further based on contextual data that includes contextual information; and the calculation of the determined future overspeed probability is further based on current contextual data that includes current contextual information.

18. The system of claim 17, wherein, The context data includes training weather data, and the current context data includes current weather data.

19. The system of claim 17, wherein, The contextual data includes training driver profile data, and the current contextual data includes driver profile data of a driver associated with the vehicle, wherein each of the training driver profile data and the driver profile data includes corresponding vehicle characteristic data and / or driver characteristics.

20. The system of claim 18, wherein, The contextual data and the current contextual data include one or more of the following: the time of day, the day of the week, and public holiday data.

21. The system of claim 18, wherein, The contextual data and the current contextual data include one or more of the following: traffic data, road characteristic data, current traffic pattern, and neighborhood type.

22. The system of claim 16, wherein, The server (100A) is configured to generate pre-trained weights as the training result of the classifier, and is further configured to upload the pre-trained weights to the electronic device (100B) so that the trained classifier is provided on the electronic device (100B).

23. A computer program product comprising computer executable code, the computer executable code containing instructions that, when executed by a computer, cause the computer to perform the method as described in any one of claims 1 to 11.

Citation Information

Patent Citations

  • Determining customized safe speeds for vehicles

    CN110268454A

  • System and Method for Vehicle Speed Monitoring Using Historical Speed Data

    US20130274956A1