Method, electronic device and system for predicting future overspeeds
By using server and electronic device systems to analyze speed distribution using historical trajectory data and training a classifier to predict future speeding, the system solves the problems of resource intensity and manual map data input in existing technologies, and realizes automated detection and prediction of speeding in convoys.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- GRABTAXI HOLDINGS PTE LTD
- Filing Date
- 2021-08-18
- Publication Date
- 2026-08-04
AI Technical Summary
Existing technologies are resource-intensive and require manual input of map data when determining whether vehicles in a convoy are speeding, lacking effective automated methods, especially in areas where speed limits are unclear.
By using server and electronic device systems, historical trajectory data is analyzed to determine speed distribution, a trained classifier is trained to predict the probability of future speeding, and speeding is detected in real time on vehicles.
It enables automated, real-time detection and prediction of speeding in different geographical areas, reducing resource consumption and reliance on network connections, and improving the efficiency and accuracy of speeding detection.
Smart Images

Figure CN116348935B_ABST
Abstract
Description
Technical Field
[0001] One aspect of this disclosure relates to a method for detecting speeding in a convoy of vehicles. Another aspect of this disclosure relates to electronic devices for detecting speeding in a convoy of vehicles. Yet another aspect of this disclosure relates to a system for detecting speeding in a convoy of vehicles. Background Technology
[0002] In some countries, road systems do not adequately provide legal speed limits for determining whether drivers in a convoy are speeding. This can vary between countries; for example, some countries may have well-defined legal speed limits, while others may lack them, even for highways. Existing solutions are suitable for countries or geographic areas where map data is rich in speed limits for highways, local roads, and even alleyways. However, existing technologies for enriching map data are resource-intensive and require manual input. Therefore, avoiding speeding requires more efficient methods. Summary of the Invention
[0003] One aspect of this disclosure relates to a method for detecting speeding in a fleet of vehicles. The method may include obtaining historical trajectory data of the fleet for each geographic region from an electronic database. The method may include determining a speed distribution of the historical trajectory data for each geographic region using a microprocessor on a server. The method may include, based on this speed distribution, determining, via a microprocessor of vehicle-associated electronics, that the vehicle's current speed is higher than a threshold speed corresponding to a predetermined percentile of the speed distribution in a current geographic region where the current speed can be recorded, wherein the current geographic region corresponds to at least one of the geographic regions. The server and the electronic database may be communicatively coupled to each other via a communication interface. Obtaining the historical trajectory data may include transmitting an electronic request from the server to the electronic database via the server, and may further include transmitting the historical trajectory data from the electronic database to the server via the communication interface.
[0004] One aspect of this disclosure relates to a system comprising a fleet, a server, and multiple electronic devices, wherein each of the multiple electronic devices may be associated with vehicles in the fleet and may include:
[0005] The trajectory data acquisition circuit is configured to acquire the current trajectory data;
[0006] The processor is configured to determine, based on a speed distribution, whether the vehicle's current speed is higher than a threshold speed corresponding to a predetermined percentile of the speed distribution in a current geographic region where the current speed can be recorded, the current geographic region corresponding to at least one of the geographic regions.
[0007] The server can be configured to obtain historical trajectory data of convoys in each of multiple geographic regions from an electronic database; and to determine the speed distribution of the historical trajectory data for each geographic region using a microprocessor.
[0008] One aspect of this disclosure relates to a method for detecting speeding in a fleet of vehicles. The method may include obtaining historical trajectory data of the fleet for each geographic region from an electronic database. The method may include determining the speed distribution of the historical trajectory data for each geographic region using a microprocessor on a server. The method may include training an electronic classifier based on the speed distribution, such as one or more percentiles of the speed distribution. The server and the electronic database may be communicatively coupled to each other via a communication interface. Obtaining the historical trajectory data may include transmitting an electronic request from the server to the electronic database via the server and transmitting the historical trajectory data from the electronic database to the server via the communication interface. The method may include calculating a determined probability of future speeding on vehicle-associated electronics and may further include determining that the determined probability of future speeding is higher than a predetermined threshold.
[0009] One aspect of this disclosure relates to an electronic device. The electronic device may include trajectory data acquisition circuitry configured to acquire current trajectory data. The electronic device may include communication circuitry configured to receive, for example, pre-trained weights for a trained classifier from a server. The electronic device may include a processor configured to calculate a future speeding probability based on the trajectory data using the trained classifier configured with the pre-trained weights. The electronic device may further determine whether the future speeding probability is higher than a predetermined threshold.
[0010] One aspect of this disclosure relates to a system comprising a server and a plurality of electronic devices. Each of the plurality of electronic devices may be associated with vehicles in a fleet and may be configured according to various embodiments. The server may be configured to obtain historical trajectory data of the fleet for each geographic region from a plurality of geographic regions from an electronic database. The server may be configured to generate pre-trained weights as a result of training the classifier, and may be further configured to upload the pre-trained weights to the electronic devices, thereby providing the trained classifier on the electronic devices.
[0011] This disclosure relates to computer program products for use with the various methods disclosed herein according to various embodiments, the computer program product including computer executable code including instructions that, when the program is executable by a computer, cause the computer to perform the method.
[0012] One aspect of this disclosure relates to a non-transitory computer-readable medium storing computer-executable code, including instructions, to obtain current trajectory data from trajectory data acquisition circuitry. The executable code may include instructions for receiving pre-trained weights for a trained classifier via configured communication circuitry, such as from a server. The executable code may include instructions for configuring a classifier with the pre-trained weights as a trained classifier. The executable code may include instructions for using the trained classifier and calculating a future speeding probability based on the trajectory data. Attached Figure Description
[0013] The invention can be better understood when considered in conjunction with the non-limiting examples and the accompanying drawings, and with reference to the detailed description, wherein:
[0014] Figure 1 A schematic diagram of a system 100 including an electronic device 100B and a server 100A according to various embodiments is shown;
[0015] Figure 2 Map region 210 of the city is shown, which is divided into multiple geographical regions;
[0016] Figure 3 A flowchart 350 of a method 350 for detecting speeding in a vehicle fleet according to some embodiments is shown;
[0017] Figure 4 A flowchart 400 illustrating a method according to various embodiments is shown;
[0018] Figure 5 A flowchart 500 is shown, illustrating a method for training a classifier according to various embodiments;
[0019] Figure 6 A flowchart illustrating various embodiments, including training the classifier and uploading the pre-trained weights, is shown.
[0020] Figure 7 Geographic region 717 is shown on map 710, which is defined by four corners (pin points 714);
[0021] Figure 8 The speed distribution calculated from historical data of a geographic region according to various embodiments is shown;
[0022] Figure 9 Schematic diagrams of methods executable by electronic devices according to various embodiments are shown; and
[0023] Figure 10 A schematic diagram of a system based on an example is shown. Detailed Implementation
[0024] The following detailed description refers to the accompanying drawings, which illustrate specific details and embodiments that may enable the practice of this disclosure. These embodiments are described in great detail to enable those skilled in the art to practice this disclosure. Other embodiments may be utilized and structural and logical changes may be made without departing from the scope of this disclosure. The various embodiments are not necessarily mutually exclusive, as some embodiments may be combined with one or more other embodiments to form new embodiments.
[0025] The embodiments described in the context of one of the methods, apparatus, and systems are similarly effective for other methods, apparatus, or systems. Similarly, the embodiments described in the context of a method are similarly effective for an apparatus or system, and vice versa.
[0026] Features described in the context of one embodiment may be adapted accordingly to the same or similar features in other embodiments. Features described in the context of one embodiment may be adapted accordingly to other embodiments, even if not explicitly stated in those other embodiments. Furthermore, additions and / or combinations and / or substitutions described with respect to features in the context of one embodiment may be adapted accordingly to the same or similar features in other embodiments.
[0027] In the context of various embodiments, the articles “a”, “an”, and “the” used with respect to a feature or element include reference to one or more features or elements.
[0028] When used in this document, the term “and / or” includes any and all combinations of one or more of the associated listed items.
[0029] According to various embodiments, methods for detecting speeding in a fleet of vehicles may include obtaining historical trajectory data of the fleet in each of multiple geographic regions from an electronic database. As used herein and according to various embodiments, the term "trajectory data" or "historical trajectory data" may include geographic data, such as geospatial coordinates, and may further include time, for example, provided by a Global Positioning System (GPS). Alternatively to time, or in addition to time, trajectory data or historical trajectory data may also include speeds associated with trajectory data points, which may be calculated from averaging, fitting, etc., based on one or more neighboring points. Trajectory data may be obtained from records of the locations 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, wherein each data point may include latitude, longitude, and speed, and may further include orientation. Trajectory lines (e.g., GPS tracks) may be defined as a sequence of records associated with timestamps. Each record (also referred to as a trajectory data point) includes a location and a timestamp. Historical trajectory data can include a collection of multiple trajectory lines from one or more vehicles in a convoy, stored over time. The trajectory data can be real-world data, such as real-world GPS data.
[0030] According to various embodiments, a geographic region represents a region 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 the map into geographic regions (also called grid cells) of a predetermined size (such as 250 meters × 250 meters). As used herein and according to various embodiments, the terms "geographic" and "geospatial" are used interchangeably.
[0031] According to various embodiments, the method for detecting speeding in a convoy may further include determining the speed distribution of historical trajectory data for each geographical region via a microprocessor on a server. According to various embodiments, the 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 distribution velocity; alternatively, trajectory data can be preprocessed before being added to historical data. Such preprocessing can reduce the amount of noise (e.g., 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 the trajectory data in a database. Trajectory data, such as GPS data, from the vehicles and drivers' electronic devices within a fleet can be collected and stored in the database. Because the electronic devices (e.g., smartphones or tablets) are associated with the drivers, data from the drivers can be used to infer speed limits in different cities and countries.
[0035] According to various embodiments, driver profile data associated with the electronic device may include driver characteristic data, such as indicating past speeding incidents. The driver profile may further include corresponding vehicle characteristic data associated with the driver's vehicle, such as whether the vehicle is a four-wheeled or two-wheeled vehicle, motorized, etc.
[0036] According to some embodiments, historical trajectory data can be deskewed before determining the speed distribution; alternatively, historical data can be deskewed before adding trajectory data to historical data. Such deskewing can be used, for example, when GPS data is captured at a fixed rate (e.g., 1 trajectory data point / second), which will generate a higher amount of data per unit distance when the vehicle is traveling at a lower speed compared to a higher speed.
[0037] According to some embodiments, the method for detecting speeding in a vehicle fleet may further include deskewing the speed distribution based on an inverse relationship with speed. This is because the trajectory data point acquisition rate is based on an inverse relationship with speed. For example, the deskewing can be linear and implemented across the speed distribution. Deskewing the distribution can consume fewer computational resources than deskewing the trajectory data.
[0038] Methods for detecting speeding in a vehicle fleet may include determining, based on a speed distribution, that a vehicle's current speed may exceed a threshold speed. According to some embodiments, this determination is based on a statistical model rather than being statistical. According to some embodiments, the determination is based on a machine learning model and can be performed via machine learning, such as through a trained classifier.
[0039] According to some embodiments, a method for detecting speeding in a convoy of vehicles may include determining, based on a speed distribution, that the vehicle's current speed may be higher than a threshold speed, which corresponds to a predetermined percentile of the speed distribution in a current geographic area where the current speed can be recorded. Alternatively or additionally, a method for detecting speeding in a convoy of vehicles may include determining the probability of future speeding based on the speed distribution.
[0040] According to various embodiments, the current geographic area may correspond to at least one of the geographic areas where historical trajectory data is available on the server. The determination can be performed by a microprocessor of the vehicle-associated electronics. The server and the electronic database may be communicatively coupled to each other via a communication interface.
[0041] According to various embodiments, speeding or the risk (or probability) of future speeding can be indicated to the driver via an alarm (e.g., using an audible alarm, voice alert, information on a display, or push notification sent to an electronic device). Alternatively or additionally, metadata can be used to transmit speeding or the probability of future speeding from the electronic device to a server, which can be aggregated over time (e.g., on a daily basis) and reported as a speeding report. For example, if driver distraction is a problem, alarms can be turned off during driving.
[0042] Future speeding, or speeding prediction, can potentially prevent accidents because drivers are notified in advance and thus aware that they are being monitored. According to various embodiments, a prediction of future speeding (also referred to herein as impending speeding) can be provided for the future, for example, the next minute, or even 20 to 30 seconds in advance.
[0043] In a method for detecting speeding in a fleet of vehicles, obtaining historical trajectory data of the fleet may include sending an electronic request for the historical trajectory data to an electronic database via a server, and may further include transmitting the historical trajectory data from the electronic database to the server via a communication interface.
[0044] According to some embodiments, a method for detecting speeding in a fleet of vehicles may include calculating threshold speeds on a server based on speed distributions for each geographic region; and uploading the threshold speeds for each geographic region to an electronic device. Alternatively or additionally, the method may include uploading to the electronic device the corresponding percentile or corresponding threshold speeds for all the multiple geographic regions. Uploading may be performed automatically via a corresponding communication interface between the server and the device, for example, as needed or regularly, such as weekly. Regular updates, such as for an entire city or country, reduce the risk of any time lag or lack of information available when needed due to poor communication connectivity. Regular uploading of thresholds, percentiles, or distributions does not consume much storage space or communication bandwidth on the device compared to uploading complete historical data. Furthermore, enhanced data protection is provided because the server does not expose historical data to the device. According to various embodiments, the predetermined threshold is a threshold speed or determined based on that threshold speed.
[0045] According to some embodiments, the method may further include calculating, based on the speed distribution, a future probability of speeding exceeding a predetermined threshold. This calculation can be performed on vehicle-associated electronics. If the determination is performed on the device, reliance on network connectivity and query backends is reduced.
[0046] According to various embodiments, the determined probability can be calculated using a trained classifier. The method may further include training an electronic classifier into a trained classifier based on a velocity distribution. The electronic device may store the trained classifier. The electronic device may include TensorFlow, and the classifier may be based on TensorFlow.
[0047] According to various embodiments, training may be further based on training context data including contextual information. Calculating the determined future speeding probability may be further based on current context data including current contextual information. According to various embodiments, training context data may include training weather data, and current context data may include current weather data. Alternatively or additionally, training context data may include a training driver profile, and current context data may include a driver profile associated with an electronic device, wherein each of the training driver profile and driver profiles may include driver characteristic data, such as indicating past speeding incidents. Each of the training driver profile and driver profiles may further include corresponding vehicle characteristic data of the vehicle associated with the driver, such as whether the vehicle is a four-wheeled or two-wheeled vehicle, motorized, etc. Alternatively or additionally, training context data and current context data may include one or more of the following corresponding to: time of day, day of week, public holiday data.
[0048] According to various embodiments, contextual data and current contextual data may include one or more of the following: traffic condition data, road characteristic data, current traffic pattern, and neighborhood type.
[0049] According to various embodiments, contextual data (such as training contextual data and 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, 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 the vehicle associated with the corresponding driver.
[0050] According to various embodiments, contextual data (such as training contextual data and current contextual data) may include several overspeed incidents that have occurred in a given grid cell.
[0051] According to various embodiments, the contextual data, as well as the corresponding training contextual data and current contextual data, may include an overspeed risk score for a given geographic area.
[0052] Speed patterns on road sections that could lead to accidents or collisions are considered unsafe. They may be unsafe due to rain, storms, or other severe weather conditions. A particular speed may be safe during the day but less safe at night. There may be specific traffic patterns that would otherwise render a safe speed unsafe. Road conditions themselves can pose hazards to traffic, such as potholes, curves, and obstacles. A speed safe for automobiles may be unsafe for two-wheeled vehicles. Due to this reasoning, the definition of speeding, as used according to various embodiments, is extended to exceed the legal speed limit and is based on a safety context. In the context of this disclosure, speeding can also mean an unsafe speed.
[0053] The type of road segment can be contextual information useful in determining safe or unsafe speeds. Maps (e.g., city maps) are divided into grids of geographic regions, and the current location is aligned (mapped) to a grid cell containing the current location, i.e., the current geographic region. However, grid cells can have many different road types; some can be highways, while others can be narrow local roads. Interestingly, traffic speed data analysis has shown that vehicle speed distributions exhibit characteristics of Gaussian mixture models. Each grid cell can have multiple road types within its boundaries. For example, each grid cell can contain highway segments and local roads. The Gaussian component can be determined before being input into the classifier, for example, through automated Gaussian deconvolution of the distribution. According to various embodiments, the system may include an automated Gaussian component determiner configured to determine Gaussian components from the speed distribution of historical trajectory data for each geographic region. According to various embodiments, the classifier may be configured to determine the road type of one or more of the Gaussian components based on the Gaussian components.
[0054] Additional characteristics of vehicle movement patterns can be used to identify the specific vehicle type / category to which a vehicle may belong. This evaluation is fast and requires minimal storage space. Once the road segment type is known, a relevant trained model can be evaluated for "unsafe highways." According to various embodiments, the system may include a pre-trained vehicle identifier, which may be a trained classifier configured to output the vehicle type based on the vehicle movement pattern. The vehicle type may include one or more of the following: four-wheeled vehicles, two-wheeled vehicles, motorized vehicles, human-powered vehicles, and vehicle models.
[0055] It should be understood that there is no need to identify specific road segments within a geographic area, as the road segment types are sufficient. Therefore, electronic devices do not need to use maps indicating the driver's current road segment, resulting in less memory and computational resources required to determine the background from the current location compared to systems using comprehensive maps. Given the limitations of operating on mobile devices, this method of aligning location to background also works well.
[0056] According to various embodiments, an electronic classifier can be trained on a server. The pre-trained weights of the trained classifier can be uploaded from the server to an electronic device, thereby providing the trained classifier on the electronic device. Uploading the pre-trained weights consumes a small amount of bandwidth and can be performed at regular intervals, such as weekly or monthly.
[0057] According to various embodiments, the electronic device may include trajectory data acquisition circuitry configured to acquire current trajectory data. On the device, appropriate background identification includes reading trajectory data (e.g., GPS sensor data), such as latitude, longitude, and speed. Speed can be determined from timestamps, for example, via a GPS module. The electronic device may include communication circuitry configured to receive pre-trained weights for a trained classifier from a server. The electronic device may include a processor. The processor may be configured to use a classifier configured with pre-trained weights (i.e., a trained classifier) to calculate a future speeding probability exceeding a predetermined threshold based on the trajectory data. In this context, the trained classifier may include a set of trained instructions and weights that can be processed (used) by the processor. The electronic device may include a classifier. The electronic device may include a trained classifier.
[0058] According to various embodiments, the system may include a fleet of vehicles, a server, and multiple electronic devices. Each electronic device is associated with a vehicle on the server. The system may include trajectory data acquisition circuitry configured to acquire current trajectory data. The system may include communication circuitry configured to receive pre-trained weights for a trained classifier from the server. The system may include a processor configured to use a trained classifier configured with pre-trained weights (i.e., a trained classifier) to calculate a future speeding probability exceeding a predetermined threshold based on the current trajectory data. In this context, a trained classifier may mean a set of trained instructions and weights that can be processed (used) by the processor. The system may include this classifier. The system may include a trained classifier.
[0059] According to various embodiments, a non-transitory computer-readable medium may store computer-executable code. According to various embodiments, the code may include instructions for causing a computer (e.g., a processor of an electronic device) to execute a method for detecting speeding in a vehicle fleet. The code may include instructions for causing a computer (e.g., a processor of an electronic device) to obtain current trajectory data from trajectory data acquisition circuitry. The code may include instructions for receiving pre-trained weights for a trained classifier from a server via communication circuitry. The code may include instructions for configuring a classifier with pre-trained weights as a trained classifier. The code may include instructions for calculating the probability of future speeding exceeding a predetermined threshold. The calculation may use a trained classifier and may be based on the current speed and / or on trajectory data. The trajectory data includes at least two trajectory data points, optionally at least three trajectory data points. Three or more trajectory data points may allow speed averaging, thereby reducing or avoiding speed calculation errors due to GPS acquisition errors.
[0060] Figure 1 A system 100 is shown, comprising an electronic device 100B (e.g., a smartphone) and a server 100A. The server 100A and the electronic device 100B are communicatively coupled to each other for data transmission.
[0061] Server 100A has at least one processor 110 and memory 109 for storing an electronic database 111. Memory 109 and processor 110 can be implemented in a single unit or placed in different locations, such as the cloud. It should be understood that although server 100A is described as a single server, its functionality in practical applications will typically be provided through an arrangement of multiple server computers (e.g., implementing cloud services). Therefore, the functionality provided by the server as described herein can be understood as being provided through a server or a server computer arrangement. In one instance, the database can be implemented using DynamoDB or another NoSQL database, as NoSQL databases do not impose a strict architecture, providing flexibility in data structure that allows future data changes as implementation improvements are made. DynamoDB is reliable and can operate at scale, and since most operations can be performed in the cloud, it allows for easy automatic scaling.
[0062] Electronic device 100B may include trajectory data acquisition circuitry configured to acquire current trajectory data, such as trajectory data calculated from satellite signals (e.g., GPS). Electronic device 100B has a screen displaying a graphical user interface (GUI) of an electronic ride-hailing application, which has been pre-installed on the electronic device by the driver (e.g., a taxi driver) and activated (e.g., launched) to execute a transportation order. Electronic device 100B has a processor (not shown).
[0063] GUI 101 includes a map 102 showing the vicinity of the driver's location. The application can determine the location based on location services, such as GPS-based location services. Map 102 can also show the route to be taken, thereby assisting the driver. The GUI may include other features; for example, GUI 101 may include boxes for a departure point 103 and a destination 104 that can be received from an order. A menu (not shown) may also be present, allowing the driver to select various options, such as information about passengers, automatic payment, or cash payment.
[0064] The GUI may include an alert box, which may display or change its appearance (e.g., flashing lights) to indicate when a driver is speeding or when there is an imminent risk of speeding. According to various embodiments, the electronic device 100B is configured to issue an alert when speeding is detected, and / or to issue an alert when speeding is predicted to occur. Imminent speeding can be defined as a future probability of speeding exceeding a predetermined threshold.
[0065] Figure 2 A map region 210 of the city, divided into multiple geographical areas, is shown as a square (such as 215 and 217) separated by lines 214. The map includes data representing roads 212. Figure 2 The current location 216 of the (driver's) vehicle, located in geographic region 217, is shown. A method for detecting speeding on a vehicle determines whether the vehicle's current speed exceeds a threshold speed. This method may include determining whether the probability of future speeding exceeds a predetermined threshold. For example, the method may determine the probability of speeding on different trajectories (e.g., from the current location to the shown locations A, B, or C). The method may calculate the speeding probability based on the selected trajectory; for example, the probability for location could be A = 10%, B = 8%, and C = 82%. Given a predetermined threshold, such as 75%, when the driver selects trajectory 218 and travels towards C, an alarm may be triggered (e.g., an alarm displayed on an electronic device) because 82% > 75%.
[0066] Figure 3A flowchart 350 of a method 350 for detecting speeding in a vehicle fleet according to some embodiments is shown. Method 350 includes obtaining historical trajectory data 352 of the vehicle fleet for each of multiple geographic regions from an electronic database 111. Obtaining this data may include transmitting an electronic request for the historical trajectory data 352 to the electronic database 111 via a server 100A (e.g., via the server's processor), and transmitting the historical trajectory data from the electronic database 111 to the server 100A via a communication interface.
[0067] The method may include using the microprocessor of server 100A to determine the velocity distribution of 354 historical trajectory data for each geographic region.
[0068] The method may include, based on a speed distribution, determining, via a microprocessor of an electronic device 100B associated with the vehicle, that the vehicle's current speed may be higher than a threshold speed corresponding to a predetermined percentile of a speed distribution 354 in a current geographic region where the current speed can be recorded, the current geographic region corresponding to at least one of various geographic regions. For example, as Figure 3 As shown, one or more percentiles of the velocity distribution can be determined in 356. Optionally, if desired, the method may include, for example, deskewing the distribution before determining the percentiles. Figure 3 In an example, the method may include providing contextual data 359. In step 358, percentiles of various regions and their contextual data, along with the current speed, are used to determine whether the driver is speeding or about to speed. Alternatively or additionally, the method may determine whether the driver is speeding or about to speed based on percentiles or distribution-based data, such as... Figure 4 As shown. Figure 4 A flowchart 400 of a method is shown, which includes uploading percentiles of the speed distribution to the driver's device 452 and determining on the driver's device whether the driver is speeding or about to speeding using percentiles of various regions and the current speed 454.
[0069] According to various embodiments, determining whether a driver is speeding or about to speed can be based on Gaussian components of the speed distribution, which can be determined in advance by an automated Gaussian component determiner. The use of Gaussian components allows a classifier to identify road types.
[0070] Figure 5A flowchart 500 of a method for training a classifier according to various embodiments is shown, and according to some embodiments, a method for detecting speeding is shown. Method 500 includes obtaining historical trajectory data 502 of convoys for each geographic region from an electronic database 111. Obtaining this data 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 server's processor), and transmitting the historical trajectory data from the electronic database 111 to the server 100A via a communication interface.
[0071] The training method may include determining the velocity distribution of 504 historical trajectory data for each geographic region using the microprocessor of server 100A for the training dataset, comparing the classification results with the actual ground conditions, and repeating this process until the classifier's classification results and the actual ground conditions have sufficiently converged. 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 with respect to the percentiles of the velocity distribution. Accuracy may be statistically determined using a test dataset that includes the corresponding actual ground conditions.
[0072] According to various embodiments, training can be further based on Gaussian components of the velocity distribution, which can be determined in advance by an automated Gaussian component determiner. The use of Gaussian components allows the classifier to identify road types.
[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 the vehicle associated with the corresponding driver.
[0074] According to various embodiments, an electronic classifier can be trained on server 100A, such as... Figure 6 The flowchart 600 is shown in step 602. 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 shows how to determine the velocity distribution for an exemplary dataset. Figure 7 Geographic region 717 is shown on map 710. For illustrative purposes, geographic region 717 is defined by the four corners (pin points 714) of a 250m × 250m grid cell 713. The geographic region includes road segment 712.
[0076] exist Figure 7 and Figure 8 In the example, data from Batam, Indonesia, is used for illustration. Trajectory data is filtered as follows: i) speed greater than 0; ii) the driver is marked as 'IN_TRANSIT', meaning the driver has accepted the 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 reported over a whole month in geographic region 717. When driver movement is part of non-trip-related activities, the use of transport markers and / or reservation codes avoids running this method. Therefore, computational resources are saved.
[0077] Figure 8 Histogram (a) of 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 value for determining the virtual speed limit. In each histogram (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 performed using an automated Gaussian component determiner.
[0078] The graph (c) in the lower left corner shows the cumulative distribution function for velocity before (cdf) and after (de-skewed cdf). From the de-skewed cdf, the percentiles of the velocity distribution can be determined, for example, the 85th, 95th, and 99th percentiles of the velocity distribution.
[0079] According to various embodiments, a file (e.g., a JavaScript object notation (JSON) file) containing the coordinates of an entire city grid and its corresponding percentiles can be pushed down (e.g., uploaded) to an 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 percentiles, such as the 85th, 95th, and 99th percentile data. For example, an initial method similar to the 85th percentile + 8 km / h rule can be set as a threshold. Because the electronic device can operate with the grid coordinates, it is not necessary to upload the entire map to the electronic device.
[0080] According to various embodiments, determining speeding can be performed by comparing the vehicle's current speed with a threshold speed. The threshold speed may correspond to a predetermined percentile of the speed distribution in the current geographic area, such as the 85th percentile, the 85th percentile + 8 km / h, the 95th percentile, or the 99th percentile.
[0081] According to various embodiments, to determine whether a driver is speeding, the method may consider sustained speeding on two or more speed determinations. Therefore, in some embodiments, at least two pings (i.e., trajectory data points) including the speed need to cross a set threshold, and these at least two pings cannot be identical. In some embodiments, a single GPS ping that violates the threshold rule will not be considered speeding. This allows for smaller errors in detecting instantaneous speed from GPS speed, because there is some time lag, and under optimal conditions, the data rate of the mobile phone's GPS sensor is 1Hz. This also compensates for potentially low accuracy due to poor reception or multipathing, which can sometimes affect Doppler-based speed measurements. According to some embodiments, if trajectory data points are to be considered for speeding detection, the accuracy of the trajectory data points must be better than 30 meters.
[0082] Violations can be displayed to the driver via push notifications or audible alarms during or at the end of the trip. Alternatively, violations can be accompanied by metadata sent back to the backend, which can be aggregated daily and reported as a speeding report. For example, if driver distraction is a problem, alarms can be turned off during driving.
[0083] Figure 9A schematic diagram of a method executable by an electronic device according to various embodiments is shown. An electronic device including a trained classifier may be provided. The electronic device may include stored data obtained from a server, such as map data 902, contextual data related to the driver (e.g., driver profile data) and / or vehicle 904, and other contextual data 906 (weather, time of day). Map data 902 may include coordinates of a geographic area (e.g., grid coordinates) and may further include one or more of the following: speed distribution, percentiles, predetermined speed thresholds. The electronic device may further utilize current trajectory data obtainable via a location receiver module 912, such as a GPS receiver. The stored data may be preprocessed by a feature generator 914, which may include an automated Gaussian component determiner and / or other data preprocessing. For example, given the speed distribution and the current geographic area (or from which the current location of the current geographic area can be determined), feature generator 914 may determine the Gaussian component of the speed distribution and may further identify the most probable road segment corresponding to the current location. Feature generator 914 can output feature arrays, such as speed percentiles (e.g., the 50th, 95th, and 99th percentiles) and the probability of an accident due to speeding. An exemplary array may look like [20, 25, 27, 0.00002]. The stored data may have been pre-stored in the memory of the electronic device, for example, after being received from a server, and may be used as input features for a trained classifier. Map feature 922 may be obtained from map data 902, driver feature 924 may be obtained from driver profile data 904, and context feature 926 may be obtained from other context data 906. The trained classifier may be configured to embed the input features into the neurons of its neural network; for example, map feature 922, driver feature 924, and context feature 926 may be concatenated and used as input in a concatenated form in concatenation vector 930.
[0084] According to various embodiments, a trained classifier can be configured to calculate the probability of future speeding based on trajectory data. Electronic devices can be configured to determine whether the probability of speeding is higher than a predetermined threshold. For example, if the calculated probability is 0.739 and the threshold is 0.75, future speeding is not determined, and, for example, the electronic device may not issue a future speeding warning. In another instance, if the calculated probability is 0.85 and the threshold is 0.75, future speeding is determined, and, for example, the electronic device may issue a future speeding warning. Alternatively or additionally, the classifier can be trained to determine that the current speed is unsafe, for example, by having an output category representing the probability of a current unsafe speed. The electronic device can compare the current unsafe speed probability to a threshold and thereby determine whether the vehicle's current speed is safe or unsafe.
[0085] According to various embodiments, the calculation of the probability of future speeding and the determination of whether the probability of speeding exceeds a predetermined threshold can be performed instantly. Therefore, the driver can receive an alert instantly while driving to warn them about future speeding. Alternatively or additionally, the determination of whether the current speed is unsafe can be performed instantly, so the driver can receive an alert instantly while driving to warn them about current unsafe speeding. According to various embodiments, when training the electronic classifier, the trajectory data of alerted drivers can be excluded from the training data. For example, the trajectory data of alerted drivers can be excluded from historical trajectory data, or the historical trajectory data can be filtered out before training.
[0086] Figure 10 The diagram illustrates a system according to an example, including a server 100A and an electronic device 100B (e.g., a smartphone associated with the driver). Electronic device 100B can send data 191, such as trajectory data and current speed, to a safety backend. Electronic device 100B can also query the safety backend for features 191. The safety backend can query a database DB for features 193, and the database DB can send the features 194 to the safety backend, which in turn can send the features to electronic device 100B. The database DB can aggregate features taken from a historical trajectory database S3, driver profile data, and other contextual data. Historical trajectory data can be updated at the DB via a periodic DB update data procedure. Therefore, the mobile portion of this procedure does not expose any API. The backend API provides a way to retrieve city- and driver-related feature sets. These features change slowly, thus requiring a relatively low refresh rate, such as once every 2 or 3 weeks.
[0087] In one instance, the API used to obtain map data, speed distribution, and other contextual data includes exposed endpoints, internal endpoints, and the GET method. This API can be called from an electronic device and will return map data, speed distribution (e.g., speed distribution data and / or percentiles of the speed distribution), and other contextual data, which can then be used to perform speed detection on the electronic device. In one instance, the GET method may include latitude and longitude fields, as shown in Table 1, for example.
[0088] Field Name type definition Example Required items latitude floating point latitude 1.2312 yes longitude floating point longitude 2.3212 yes
[0089] Table 1
[0090] In one instance, the response from the API may include features (e.g., map data, speed distribution, and other contextual content) and may further include indicators, such as those shown in Table 2.
[0091]
[0092] Table 2
[0093] In one instance, the API used to obtain driver profile data includes an exposed endpoint, an internal endpoint, and the GET method. This API can be called from an electronic device and will return driver characteristics such as age and mileage, which can then be used for speed detection on the electronic device. In one instance, the GET method does not include any parameters. In one instance, the response from the API may include driver profile (also known as driver characteristics) and may further include indicators, as shown in Table 3 below.
[0094] Field Name type definition Example Required items pass Brin Was the call successful? True | False yes feature json Age, history, etc. yes
[0095] Table 3
[0096] In one instance, an API used to obtain contextual data that requires frequent updates (e.g., real-time data) includes an exposed endpoint, an internal endpoint, and the GET method. This API can be called from an electronic device and will return contextual data that needs to be up-to-date, such as weather data or real-time traffic data. This contextual data can then be used for speed detection on the electronic device. In one instance, the GET method may include latitude and longitude fields and may further include a timestamp, as shown in Table 4, for example.
[0097] Field Name type definition Example Required items latitude floating point latitude 1.2312 yes longitude floating point longitude 2.3212 yes Timestamp Integer time 15728873783 no
[0098] Table 4
[0099] In one instance, the response from the API may include additional contextual data and may further include indicators, such as those shown in Table 5.
[0100]
[0101]
[0102] Table 5
[0103] Features obtained from the server, such as map data, speed distribution, and other contextual content, driver profile data, and contextual data that needs to be updated frequently, can be deserialized and then inserted into a trained classifier in the electronic device, such as a tensor flow-based infrastructure.
[0104] In one example, the architecture of map data can be shown in Table 6.
[0105]
[0106] Table 6
[0107] Although this disclosure has been specifically shown and described with reference to particular embodiments, those skilled in the art will understand that various changes in form and detail may be made therein without departing from the spirit and scope of the invention as defined in the appended claims. Therefore, the scope of the invention is indicated by the appended claims and is thus intended to encompass all changes falling within the meaning and scope of the equivalent statements in the claims.
Claims
1. A method for detecting speeding in a fleet of vehicles, the method comprising: Historical trajectory data of the convoy in each geographic region (217, 717) of multiple geographic regions were obtained from the electronic database (111); The speed distribution of the historical trajectory data is determined by the microprocessor of the server (100A) for each geographic region (217, 717); The velocity distribution is deskewed based on the inverse proportional relationship with the velocity of the data points in the distribution; Based on the speed distribution, the probability of future speeding is calculated on the electronic device (100B) associated with the vehicle. The server (100A) and the electronic database (111) are coupled to each other via a communication interface. The process includes 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 according to claim 1, further comprising determining that the determined probability of future speeding is higher than a predetermined threshold.
3. The method (550) of claim 2, wherein, The predetermined threshold is a threshold speed or determined based on the threshold speed, and Specifically, for each geographical region (217, 717), the threshold velocity is calculated based on the velocity distribution.
4. The method (550) according to claim 3, further comprising uploading the threshold speed of each geographic region (217, 717) of the plurality of geographic regions from the server (100A) to the electronic device (100B), and wherein, The threshold speed is calculated on the server (100A).
5. The method according to claim 3 or 4, further comprising uploading the corresponding threshold speed to the electronic device (100B) for all multiple geographic regions.
6. The method of claim 3 or 4, wherein, The determined future overspeed probability is calculated by a trained classifier, and the method (550) further includes training an electronic classifier into the trained classifier based on the speed distribution.
7. The method of claim 6, wherein, The training is further based on contextual data including contextual information; and the calculation of the determined future speeding probability is further based on current contextual data including current contextual information.
8. The method of claim 7, wherein, Contextual data includes training weather data, and current contextual data includes current weather data.
9. The method of claim 7 or claim 8, wherein, The contextual data includes training driver profile data, and the current contextual data includes driver profile data of the 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.
10. The method of claim 7 or 8, 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.
11. The method of claim 7 or 8, wherein, The contextual data and the current contextual data include one or more of the following: traffic condition data, road characteristic data, current traffic pattern, and neighborhood type.
12. The method of claim 7 or 8, 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), thereby providing the trained classifier on the electronic device (100B).
13. An electronic device (100B), comprising: A trajectory data acquisition circuit is configured to acquire current trajectory data, which includes trajectory data of multiple geographical regions in the current geographical region. The communication circuit is configured to receive pre-trained weights for the trained classifier; as well as The processor is configured to calculate the probability of future speeding based on the trajectory data using the trained classifier configured with the pre-trained weights. Among these, the calculation of the probability of future speeding is further based on the speed distribution of geographical regions.
14. The electronic device (100B) according to claim 13, wherein The communication circuit is further configured to receive percentile or threshold speeds of each geographic region (217, 717) of the plurality of geographic regions to the electronic device (100B).
15. The electronic device (100B) according to claim 14, wherein The communication circuit is further configured to receive corresponding percentile or corresponding threshold speeds for all of the plurality of geographic regions.
16. The electronic device (100B) according to claim 14 or 15, wherein The predetermined threshold is the threshold speed, or it is determined based on the threshold speed and / or percentile of the current geographic region. The electronic device (100B) is further configured to determine whether the future speeding probability is higher than the predetermined threshold.
17. The electronic device (100B) according to claim 14 or 15, wherein The calculation of the future speeding probability is further based on current context data, which includes current context information.
18. The electronic device (100B) according to claim 17, wherein The current context data includes current weather data.
19. The electronic device (100B) according to claim 14 or 15, wherein The contextual data includes current contextual data, which includes driver profile data of the 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 electronic device (100B) according to claim 17, wherein The current context data includes one or more of the following: the time of day, the day of the week, and public holiday data.
21. The electronic device (100B) according to claim 17, wherein The current context data includes one or more of the following: traffic data, road characteristic data, current traffic pattern, and neighborhood type.
22. A system comprising a server (100A) and multiple electronic devices (100B), wherein Each of the plurality of electronic devices is associated with a vehicle in the fleet and is configured according to any one of claims 13 to 21; The server (100B) is configured to obtain historical trajectory data (552) of the convoy for each geographic region (217, 717) of a plurality of geographic regions from an electronic database (111); and The server (100A) is configured to generate pre-trained weights as a result of training the classifier, and is further configured to upload the pre-trained weights to the electronic device (100B) to provide the trained classifier on the electronic device (100B).
23. A computer-readable storage medium storing computer-executable code including instructions that, when executed by a computer, cause the computer to perform the method according to any one of claims 1 to 12.
24. A non-transitory computer-readable medium storing computer-executable code including instructions for performing the following steps: Obtain the current trajectory data from the trajectory data acquisition circuit; The pre-trained weights for the trained classifier are received from the server via the configured communication circuit. configuring the classifier with the pre-trained weights as a trained classifier; and computing a future speeding probability using the trained classifier and based on the trajectory data, wherein computing the future speeding probability is further based on a speed distribution of a geographic region.