Estimation of traffic jam dynamics at lane level, using vehicle GPS data
By analyzing driving data from connected vehicles to identify lane-level traffic dynamics through cluster analysis, the method addresses the inaccuracy of GPS data in determining lane-level traffic conditions, improving traffic flow and safety for both human and autonomous vehicles.
Patent Information
- Application Number
- JP2025061213
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-05
- Filing Date
- 2025-04-02
- Publication Date
- 2025-10-17
AI Technical Summary
Existing GPS data from vehicles is not accurate enough to determine the lane-level traffic conditions, leading to inefficiencies and potential dangers due to varying speeds in different lanes, which autonomous and human drivers need to address.
A cloud server estimates lane-level traffic dynamics by analyzing driving data from connected vehicles, including speed, position, and lane change behavior, identifying rear and front matrix samples, performing cluster analysis, and determining traffic congestion using K-means clustering and Gaussian mixture models without lane identification information.
Enables accurate estimation and transmission of lane-level traffic congestion dynamics to vehicles, allowing them to adjust their navigation routes and driving behaviors to avoid or navigate through congested lanes, enhancing safety and efficiency.
Smart Images

Figure 2025158944000001_ABST
Abstract
Description
[Technical Field]
[0001] This specification relates to traffic monitoring, and more particularly to estimating lane-level traffic congestion dynamics using vehicular GPS data. [Background technology]
[0002] Lane-level traffic, in which the average speeds of vehicles in different lanes of a road vary significantly, can lead to traffic congestion and increase traffic accidents. Therefore, it may be desirable to determine lane-level traffic dynamics so that drivers and / or autonomous vehicles can steer accordingly. However, GPS data from vehicles may not be accurate enough to determine in which lane a vehicle is operating, and lane-level data from vehicles may not be readily available. Therefore, a need exists for a method for estimating lane-level traffic congestion dynamics using vehicle GPS data. Summary of the Invention
[0003] In an embodiment, a method may include receiving driving data from a plurality of vehicles within a sampling area. The driving data may include speeds, positions, and lane change behaviors of the plurality of vehicles. The method may further include identifying a first location for one or more rear matrix samples based on the driving data. The method may further include identifying a second location for one or more front matrix samples based on the driving data. The method may further include performing a cluster analysis on the first location and the second location. The method may further include identifying one or more rear matrix clusters and one or more front matrix clusters based on the cluster analysis. The method may further include determining a number of lane-level traffic congestion within the sampling area based on the number of rear matrix clusters and the number of front matrix clusters.
[0004] In another embodiment, the computing device may include one or more processors. The processor may receive driving data from a plurality of vehicles within a sampling area. The driving data may include speeds, positions, and lane change behaviors of the plurality of vehicles. The processor may identify a first location for one or more rear matrix samples based on the driving data. The processor may identify a second location for one or more front matrix samples based on the driving data. The processor may perform cluster analysis on the first location and the second location. The processor may identify one or more rear matrix clusters and one or more front matrix clusters based on the cluster analysis. The processor may determine a number of lane-level traffic congestions within the sampling area based on the number of rear matrix clusters and the number of front matrix clusters.
[0005] In another embodiment, a system may include a computing device and a plurality of vehicles. The plurality of vehicles may transmit driving data to the computing device. The driving data may include speeds, positions, and lane change behaviors of the plurality of vehicles. The computing device may include one or more processors. The processor may identify a first location for one or more rear matrix samples based on the driving data. The processor may identify a second location for one or more front matrix samples based on the driving data. The processor may perform cluster analysis on the first and second locations. The processor may identify one or more rear matrix clusters and one or more front matrix clusters based on the cluster analysis. The processor may determine a number of lane-level traffic congestions within the sampling area based on the number of rear matrix clusters and the number of front matrix clusters. [Brief explanation of the drawings]
[0006] The embodiments set forth in the drawings are illustrative and exemplary in nature and are not intended to limit the present disclosure. The following detailed description of illustrative embodiments can be understood when read in conjunction with the following drawings, in which like structure is designated with like reference numerals and in which:
[0007] [Figure 1] FIG. 1 schematically depicts a system for detecting lane-level traffic using connected vehicle data without lane identification information, according to one or more embodiments shown and described herein. [Figure 2] FIG. 2 is a schematic depiction of the cloud server of FIG. 1 according to one or more embodiments shown and described herein. [Figure 3] FIG. 3 depicts an exemplary vehicle approaching a traffic jam according to one or more embodiments shown and described herein. [Figure 4] FIG. 4 depicts an exemplary vehicle approaching a traffic jam according to one or more embodiments shown and described herein. [Figure 5] FIG. 5 depicts an exemplary posterior matrix sample according to one or more embodiments shown and described herein. [Figure 6] FIG. 6 depicts an exemplary front-end matrix sample according to one or more embodiments shown and described herein. [Figure 7] FIG. 7 depicts an exemplary posterior matrix cluster according to one or more embodiments shown and described herein. [Figure 8] FIG. 8 depicts an exemplary front row and column cluster according to one or more embodiments shown and described herein. [Figure 9] FIG. 9 depicts an exemplary rear matrix cluster and an exemplary front matrix cluster according to one or more embodiments shown and described herein. [Figure 10] FIG. 10 depicts an exemplary traffic jam according to one or more embodiments shown and described herein. [Figure 11] FIG. 11 depicts an exemplary rear matrix cluster and an exemplary front matrix cluster according to one or more embodiments shown and described herein. [Figure 12] FIG. 12 depicts an exemplary traffic jam according to one or more embodiments shown and described herein. [Figure 13]FIG. 13 depicts an exemplary rear matrix cluster and an exemplary front matrix cluster according to one or more embodiments shown and described herein. [Figure 14] FIG. 14 depicts an exemplary traffic jam in adjacent lanes according to one or more embodiments shown and described herein. [Figure 15] FIG. 15 depicts a vehicle changing lanes between exemplary traffic jams in adjacent lanes according to one or more embodiments shown and described herein. [Figure 16] FIG. 16 depicts the average positions of an exemplary rear matrix cluster and an exemplary front matrix cluster according to one or more embodiments shown and described herein. [Figure 17] FIG. 17 depicts a flowchart of a method that may be performed by the cloud server of FIGS. 1 and 2 according to one or more embodiments shown and described herein. [Figure 18] FIG. 18 depicts a flowchart of another method that may be performed by the cloud server of FIGS. 1 and 2 according to one or more embodiments shown and described herein. DETAILED DESCRIPTION OF THE INVENTION
[0008] Embodiments disclosed herein include methods and systems for estimating lane-level traffic congestion dynamics using vehicle GPS data. When a vehicle drives along a multi-lane road, traffic congestion may occur in different lanes of the road. In some cases, traffic congestion may occur in one lane but not in another lane, which is referred to herein as lane-level traffic. In particular, as used herein, lane-level traffic refers to a situation in which the average speed of vehicles in one lane of a road substantially differs from the average speed of vehicles in another lane of the road. More specifically, lane-level traffic may refer to a situation in which the average speed of vehicles in one lane of a road within a particular region differs from the average speed of vehicles in another lane of the road within the particular region by more than a threshold amount.
[0009] When lane-level traffic occurs, the lane-level traffic can lead to inefficient or dangerous driving conditions. Therefore, it may be desirable to detect lane-level traffic. In particular, it may be desirable to estimate lane-level traffic dynamics, such as how many traffic lanes include traffic jams and the location and average speed of each traffic jam. If lane-level traffic dynamics can be estimated, drivers and autonomous vehicles can be alerted to lane-level traffic. Therefore, the driver or autonomous vehicle can plan a navigation route taking lane-level traffic dynamics into account. For example, a driver may avoid areas with lane-level traffic or change lanes before reaching lane-level traffic.
[0010] Many modern vehicles are connected vehicles, meaning that they can send and / or receive data to or from external computing devices (e.g., other vehicles, traffic infrastructure, edge servers, or cloud servers). Thus, when a cloud server or other computing device receives driving data from many connected vehicles, the cloud server may use the received driving data to determine traffic information based on the aggregated driving data. However, while many vehicles may receive GPS data indicating the location of the vehicle, the GPS data is often noisy and not accurate enough to determine which lane the vehicle is located in on the road. Thus, it may not be possible to determine lane-level traffic directly from the GPS data.
[0011] In embodiments disclosed herein, a cloud server may estimate lane-level traffic dynamics using connected vehicle data that does not include lane identification information. In embodiments, the cloud server may receive driving data from connected vehicles within a sampling area. The driving data may include the location, speed, and lane-changing behavior of the connected vehicles. However, the driving data does not include an indication of which lane the connected vehicle is in.
[0012] After receiving driving data from multiple connected vehicles within the sampling area, the cloud server may determine where the vehicle reached a rear or front position in the vehicle queue based on changes in vehicle speed, as disclosed herein. For example, when the vehicle reaches the rear of the vehicle queue, the vehicle may suddenly decelerate. Similarly, when the vehicle reaches the front of the vehicle queue, the vehicle may suddenly accelerate.
[0013] After identifying the plurality of rear and front matrix samples, the cloud server may perform a cluster analysis to identify rear matrix clusters and front matrix clusters. The cloud server may then identify one or more vehicle matrixes based on the cluster analysis. The cloud server may then identify lane-level vehicle matrix positions and average speeds.
[0014] Referring now to the figures, Figure 1 schematically depicts a system for estimating lane-level traffic congestion dynamics as disclosed herein. In the example of Figure 1, system 100 includes a plurality of vehicles traveling along a road 102 and a cloud server 104.
[0015] In the example of Figure 1, road 102 includes three lanes 106, 108, and 110 on which multiple vehicles, including some connected and some non-connected vehicles, are operating. In the example of Figure 1, connected vehicles C1 and C4 and non-connected vehicles H5, H6, H7, and H8 are operating in lane 106, connected vehicle C2 and non-connected vehicles H3 and H4 are operating in lane 108, and connected vehicle C3 and non-connected vehicles H1 and H2 are operating in lane 110.
[0016] 1, lane-level traffic exists in lane 106. That is, vehicles C1, H5, H6, H7, and H8 form a vehicle queue in lane 106, while no vehicle queue exists in lanes 108 or 110. Therefore, system 100 can estimate the dynamics of that lane-level traffic using the techniques described herein.
[0017] 1, connected vehicles C1-C4 may transmit driving data to cloud server 104. That is, connected vehicles C1-C4 may use one or more sensors to collect data regarding the driving behavior of connected vehicles C1-C4 (e.g., location, speed, driving direction, and lane change behavior) and may transmit this data periodically (e.g., every second) to cloud server 104. In some examples, connected vehicles C1-C4 may transmit other vehicle data (e.g., wheel angle data) to cloud server 104.
[0018] In the example shown, each connected vehicle only sends data about its own driving behavior to cloud server 104. However, in other examples, one or more of connected vehicles C1-C4 may use external sensors to collect driving data about other vehicles (e.g., one or more of non-connected vehicles H1-H8). For example, connected vehicle C3 may use a LiDAR sensor to collect driving data about nearby non-connected vehicles H2 and H4. In these examples, connected vehicles that collect driving data about other vehicles may also send this data to cloud server 104. This may provide more data for cloud server 104 to use when detecting lane-level traffic.
[0019] The connected vehicles C1-C4 may also receive data from the cloud server 104. For example, the connected vehicles C1-C4 may receive traffic data from the cloud server 104, including information about lane-level traffic congestion dynamics determined by the cloud server 104. Accordingly, human drivers of the connected vehicles may use the received information to adjust their driving behavior.
[0020] Additionally, one or more of the connected vehicles C1-C4 may be autonomous or semi-autonomous. That is, one or more of the connected vehicles C1-C4 may autonomously perform some or all driving tasks without intervention by a human driver. Thus, a connected vehicle that is autonomous may receive information about lane-level traffic congestion dynamics from the cloud server 104, and the vehicle systems may control the vehicle to autonomously adjust the vehicle's driving behavior, as disclosed in further detail below.
[0021] 1, cloud server 104 may receive data from connected vehicles C1-C4, as described above. Connected vehicles C1-C4 may be communicatively coupled to cloud server 104, such that connected vehicles C1-C4 and cloud server 104 may transmit data to each other. In some examples, cloud server 104 may be replaced by an edge server or another computing device.
[0022] 2, the cloud server 104 comprises one or more processors 202, one or more memory modules 204, network interface hardware 206, and communication paths 208. The one or more processors 202 may be a controller, an integrated circuit, a microchip, a computer, or any other computing device. The one or more memory modules 204 may comprise RAM, ROM, flash memory, a hard drive, or any device capable of storing machine-readable, executable instructions such that the machine-readable, executable instructions can be accessed by the one or more processors 202.
[0023] Network interface hardware 206 may be any device that can be communicatively coupled to communication path 208 and capable of transmitting and / or receiving data over a network. Thus, network interface hardware 206 may include any communication transceiver that transmits and / or receives wired or wireless communications. For example, network interface hardware 206 may include an antenna, a modem, a LAN port, a Wi-Fi card, a WiMax card, mobile communication hardware, short-range communication hardware, satellite communication hardware, and / or any wired or wireless hardware that communicates with other networks and / or devices. Network interface hardware 206 of cloud server 104 may transmit and receive data to and from the connected vehicle of FIG. 1 .
[0024] The one or more memory modules 204 include a driving data receiving module 212, a matrix sample determination module 214, a cluster analysis module 216, a vehicle matrix identification module 218, a matrix dynamics determination module 220, and a data transmission module 222. Each of the driving data receiving module 212, the matrix sample determination module 214, the cluster analysis module 216, the vehicle matrix identification module 218, the matrix dynamics determination module 220, and the data transmission module 222 may be a program module in the form of an operating system, application program modules, and other program modules stored in the one or more memory modules 204. Such program modules may include, but are not limited to, routines, subroutines, programs, objects, components, data structures, and the like that perform particular tasks or implement particular data types, as described below.
[0025] The driving data reception module 212 may receive driving data from multiple vehicles within a sampling area. The sampling area may be a portion of a road. In some examples, the sampling area may comprise a fixed distance (e.g., 1000 feet). In other examples, the sampling area may vary based on the location of the connected vehicles along the road. In the example of FIG. 1 , the driving data reception module 212 may receive driving data from connected vehicles C1, C2, C3, and C4. In an embodiment, the driving data reception module 212 may receive driving data from the connected vehicles continuously (e.g., every 10 seconds).
[0026] The driving data received by the driving data reception module 212 may include the speed, location, driving direction, and lane change behavior of multiple vehicles. For example, each connected vehicle within the sampling area may send data about itself to the cloud server 104, which may be received by the driving data reception module 212. The speed of the connected vehicle received by the driving data reception module 212 may include the current speed of the connected vehicle (e.g., as measured by a vehicle speedometer). In some examples, the driving data reception module 212 may receive speed data directly from the connected vehicle. In other examples, the driving data reception module 212 may receive other vehicle data (e.g., GPS data) and determine the vehicle speed based on the received data.
[0027] The connected vehicle's location received by the driving data reception module 212 may include the connected vehicle's current location (e.g., as measured by a GPS receiver on the vehicle). The connected vehicle's lane change activity received by the driving data reception module 212 may include an indication of the time and / or location at which the vehicle made a lane change. In some examples, the driving data reception module 212 may receive wheel angle data from the connected vehicle, and the cloud server 104 may determine whether the connected vehicle is making a lane change (e.g., whether the wheel angle exceeds a predetermined threshold) based on the wheel angle data.
[0028] When the driving data reception module 212 receives vehicle data from connected vehicles, the driving data reception module 212 may store identification information associated with each vehicle transmitting data. For example, each connected vehicle may transmit a vehicle ID to the cloud server 104. Thus, the cloud server 104 may store the vehicle data and the vehicle ID associated with the received vehicle data.
[0029] 2 , the matrix sample determination module 214 may determine rear matrix samples and front matrix samples based on driving data received by the driving data receiving module 212, as disclosed herein. As described above, the driving data receiving module 212 may continuously receive driving data regarding vehicles within a sampling area. The driving data may include vehicle position, vehicle speed, and lane change behavior. The matrix sample determination module 214 may then determine samples or data points indicating when the vehicle reaches the rear vehicle matrix and when the vehicle reaches the front vehicle matrix, as disclosed herein.
[0030] FIG. 3 illustrates an example in which vehicle C1 approaches a traffic jam 300 located in lane 106 of road 102. While FIG. 3 depicts traffic jam 300 as being in lane 106, vehicle C1 may not have lane-level information, such as information that traffic jam 300 is in lane 106 or information that vehicle C1 is operating in lane 106. As used herein, traffic jam and vehicle matrix may be used interchangeably. Vehicles in traffic jam 300 move slower than other vehicles on the road that are not in the traffic jam. Thus, as vehicle C1 approaches the traffic jam, vehicle C1 is moving at a higher percentage of the speed of the vehicles in the traffic jam. Therefore, when vehicle C1 reaches the traffic jam behind it, vehicle C1 needs to reduce its speed to match the speed of the vehicles in the traffic jam. Therefore, the location where vehicle C1's speed is so reduced may be identified as a rear matrix sample. As used herein, a rear matrix sample is a data point that indicates the location of the rear or rear portion of a vehicle matrix. In the example of Figure 3, rear matrix sample 302 is shown.
[0031] In embodiments, the matrix sample determination module 214 may identify rear matrix samples as locations where the vehicle speed decreases below a threshold. In some examples, the threshold may be a fixed value (e.g., 30 MPH). In some examples, the threshold may be a value relative to the speed limit of the road on which the vehicle is traveling (e.g., 70% of the speed limit). In some examples, the threshold may be a value relative to the average speed of the vehicle traveling along the road (e.g., 60% of the average vehicle speed) based on driving data received by the driving data receiving module 212.
[0032] In some examples, the matrix sample determination module 214 may identify a rear matrix sample as one where the vehicle speed decreases from above a first threshold (e.g., 60 MPH) to below a second threshold (e.g., 40 MPH) within a threshold amount of time (e.g., 10 seconds). This may indicate a significant decrease in vehicle speed in a short period of time, which may indicate that the vehicle has reached traffic congestion behind it and needs to slow down accordingly. In some examples, the matrix sample determination module 214 may identify a rear matrix sample as one where the vehicle speed decreases by more than a threshold amount (e.g., 15 MPH) or by more than a threshold percentage (e.g., 20%) within the threshold amount of time.
[0033] In addition to the rear matrix samples, the matrix sample determination module 214 may also identify front matrix samples. In the example of Figure 3, the front matrix sample 304 may indicate when vehicle C1 reaches the front of the traffic jam 300. Thus, vehicle C1 may reach the front of the traffic jam and begin to increase its speed.
[0034] In embodiments, the matrix sample determination module 214 may identify the leading matrix sample as a location where the vehicle speed increases above a threshold. In some examples, the threshold may be a fixed value (e.g., 50 MPH). In some examples, the threshold may be a value relative to the speed limit of the road on which the vehicle is traveling (e.g., 90% of the speed limit). In some examples, the threshold may be a value relative to the average speed of the vehicle traveling along the road (e.g., 80% of the average vehicle speed) based on the driving data received by the driving data receiving module 212.
[0035] In some examples, the matrix sample determination module 214 may identify a leading matrix sample as one where the vehicle speed increases from below a first threshold (e.g., 40 MPH) to above a second threshold (e.g., 60 MPH) within a threshold amount of time (e.g., 10 seconds). This may indicate a significant increase in vehicle speed over a short period of time, which may indicate that the vehicle has reached the front of a traffic jam and may now be free to accelerate. In some examples, the matrix sample determination module 214 may identify a leading matrix sample as one where the vehicle speed increases by more than a threshold amount (e.g., 15 MPH) or by more than a threshold percentage (e.g., 20%) within the threshold amount of time.
[0036] 4 shows another example in which vehicle C2 approaches a traffic jam 400 in lane 108 of road 102. While FIG. 4 depicts traffic jam 400 being in lane 108, vehicle C2 may not have lane-level information, such as information that traffic jam 400 is in lane 108 or information that vehicle C2 is driving in lane 108. The matrix sample determination module 214 may identify a rear matrix sample 402 when vehicle C2 reaches the rear of traffic jam 400 and a front matrix sample 404 when vehicle C2 reaches the front of traffic jam 400. Based on the rear matrix sample 302 and the front matrix sample 304, it may be estimated that a traffic jam exists between the locations of samples 302 and 304. Similarly, based on the rear matrix sample 402 and the front matrix sample 404, it may be estimated that a traffic jam exists between the locations of samples 402 and 404. However, because cloud server 104 does not know which lanes vehicles C1 and C2 are driving in, it is unclear whether the traffic jam encountered by vehicle C1 is the same as the traffic jam encountered by vehicle C2. Therefore, further analysis is required, as described in more detail below.
[0037] 2 , cluster analysis module 216 may perform cluster analysis, as disclosed herein, on the rear and front matrix samples identified by matrix sample determination module 214. As disclosed herein, driving data receiving module 212 may continuously receive driving data from vehicles within a sampling area, and matrix sample determination module 214 may identify rear and front matrix samples. In an embodiment, cluster analysis module 216 may perform cluster analysis on all of the rear and front matrix samples recorded within a particular period of time (e.g., 10 minutes).
[0038] Figure 5 illustrates a plurality of rear matrix samples 500, 502, 504, 506, 508, 510, 512, 514, and 516 that may be identified by the matrix sample determination module 214. Figure 6 illustrates a plurality of front matrix samples 600, 602, 604, 606, 608, 610, 612, 614, and 616 that may be identified by the matrix sample determination module 214. The cluster analysis module 216 may identify one or more clusters of rear matrix samples and one or more clusters of front matrix samples as disclosed herein.
[0039] One challenge in performing cluster analysis is determining how many clusters should be identified. In one example, the cluster analysis module 216 may perform K-means clustering with various numbers of clusters. For each possible number of clusters, the cluster analysis module 216 may determine a silhouette score. The cluster analysis module 216 may then determine the number of clusters with the highest silhouette score.
[0040] In another example, the cluster analysis module 216 may fit Gaussian mixture models with various numbers of clusters. For each possible Gaussian mixture model, the cluster analysis module 216 may calculate the Akaike Information Criterion. The cluster analysis module 216 may then determine the number of clusters for the Gaussian mixture model with the highest Akaike Information Criterion.
[0041] After determining the number of rear matrix clusters and the number of front matrix clusters, the cluster analysis module 216 may identify one or more rear matrix clusters including the rear matrix samples identified by the matrix sample determination module 214 and one or more front matrix clusters including the front matrix samples identified by the matrix sample determination module 214. Figure 7 shows an example in which the cluster analysis module 216 identifies a rear matrix cluster 700 including rear matrix samples 500, 502, 504, 506, and 508, and identifies a rear matrix cluster 702 including rear matrix samples 510, 512, 514, and 516. Figure 8 shows an example in which the cluster analysis module 216 identifies a front matrix cluster 800 including front matrix samples 600, 602, 604, 606, and 608, and identifies a front matrix cluster 802 including front matrix samples 610, 612, 614, and 616.
[0042] 2, vehicle matrix identification module 218 may identify one or more traffic congestions based on the cluster analysis performed by cluster analysis module 216, as disclosed herein, where the number of traffic congestions is greater than or equal to the maximum of the number of identified rear matrix clusters and the number of identified front matrix clusters, as disclosed herein.
[0043] 9 shows an example in which the cluster analysis module 216 identifies two rear matrix clusters 900 and 902 and one front matrix cluster 904. This indicates that there appear to be two traffic jams in two different lanes that start at different locations and end at the same location. In particular, FIG. 10 shows an example in which one traffic jam 1000 extends from the rear matrix cluster 900 to the front matrix cluster 904, and another traffic jam 1002 extends from the rear matrix cluster 902 to the front matrix cluster 904.
[0044] 11 shows an example in which the cluster analysis module 216 identifies one rear matrix cluster 1100 and two front matrix clusters 1102 and 1104. This indicates that there appear to be two traffic jams in two different lanes that start at the same location but end at different locations. In particular, FIG. 12 shows an example in which one traffic jam 1200 extends from the rear matrix cluster 1100 to the front matrix cluster 1102, and another traffic jam 1202 extends from the rear matrix cluster 1100 to the front matrix cluster 1104.
[0045] Thus, in an embodiment, the vehicle matrix identification module 218 may identify a number of traffic congestions in the number of lanes equal to the maximum of the number of identified rear matrix clusters and the number of identified front matrix clusters. However, it is also possible for traffic congestions in two adjacent lanes of a road to occur that both begin and end at the same location. For example, FIG. 13 illustrates a situation in which the cluster analysis module 216 has identified one rear matrix cluster 1300 and one front matrix cluster 1302. This may indicate the existence of one lane-level traffic congestion. However, this may also indicate two lane-level traffic congestions in adjacent lanes. For example, in FIG. 14, there are two traffic congestions 1400 and 1402 in adjacent lanes that both begin and end at the same location. Thus, the vehicle matrix identification module 218 may consider lane change information when determining the number of lane-level traffic congestions.
[0046] 15 illustrates an example in which a vehicle C1 in traffic jam 1500 changes lanes into traffic jam 1502. Thus, in an embodiment, the driving data receiving module 212 may receive lane change operations as described above. The lane change operations received by the driving data receiving module 212 may indicate where in the sampling area the connected vehicle makes a lane change. Additionally, the driving data received by the driving data receiving module 212 may indicate the speed of the vehicle before the lane change and the speed of the vehicle after the lane change.
[0047] When a vehicle changes lanes out of a traffic jam, the vehicle's speed is expected to increase after the lane change when the vehicle is no longer in traffic jam in an adjacent lane. Alternatively, when a vehicle changes lanes into a traffic jam, the vehicle's speed is expected to decrease after the lane change when the vehicle is in traffic jam. However, if a vehicle traveling at a speed below a threshold (e.g., at a low speed indicating the vehicle is in traffic jam) changes lanes and continues to travel at a speed below the threshold, this may indicate that the vehicle has gone from traffic jam in one lane into traffic jam in an adjacent lane.
[0048] Thus, in an embodiment, the vehicle matrix identification module 218 may determine whether a vehicle traveling below a threshold speed changes lanes and continues traveling below the threshold speed. In particular, the vehicle matrix identification module 218 may determine whether the vehicle, while traveling below the threshold speed, changes lanes from a position between a rear matrix cluster and a front matrix cluster, and continues traveling below the threshold speed for at least a threshold amount of time (e.g., 2 seconds) after making the lane change. When this occurs, the vehicle matrix identification module 218 may determine that two traffic congestions exist in two adjacent lanes at the location where the vehicle made the lane change. More specifically, the vehicle matrix identification module 218 may determine that each of the traffic congestions in the two adjacent lanes spans from the same rear matrix cluster to the same front matrix cluster.
[0049] 2, the matrix dynamics determination module 220 may determine the dynamics of each vehicle matrix identified by the vehicle matrix identification module 218. In particular, the matrix dynamics determination module 220 may estimate the rear position, front position, and average speed of each identified vehicle matrix, as disclosed herein.
[0050] In an embodiment, after the vehicle matrix identification module 218 identifies one or more lane-level vehicle matrices, the matrix dynamics determination module 220 may determine which vehicles are in each identified vehicle matrix. For each rear matrix cluster and each front matrix cluster identified by the vehicle matrices identified by the vehicle matrix identification module 218, the matrix dynamics determination module 220 may determine the mean value of the locations of the data samples associated with each cluster. For example, FIG. 16 shows a rear matrix cluster 1600 and two front matrix clusters 1602 and 1604 that may be identified by the cluster analysis module 216. Each cluster may include multiple data samples. The matrix dynamics determination module 220 may determine mean values 1606, 1608, and 1610 associated with clusters 1600, 1602, and 1604, respectively. The matrix dynamics determination module 220 may then sort the clusters by the determined mean values (eg, in order from the back of the sampling region to the front of the sampling region).
[0051] After sorting the clusters, the matrix dynamics determination module 220 may find the location of the first rear matrix cluster (e.g., in the example of FIG. 16 , rear matrix cluster 1600) starting from the rear position of the sampling region. Then, the matrix dynamics determination module 220 may find the next closest front matrix cluster (e.g., in the example of FIG. 16 , front matrix cluster 1602). The matrix dynamics determination module 220 may then determine whether the vehicle IDs associated with the data samples from the selected rear matrix cluster match the vehicle IDs associated with the data samples from the selected front matrix cluster. In some examples, the matrix dynamics determination module 220 may determine whether all of the vehicle IDs from the selected rear matrix cluster match all of the vehicle IDs from the selected front matrix cluster. In other examples, the matrix dynamics determination module 220 may determine whether more than a threshold percentage (50%) of vehicle IDs from the selected rear matrix cluster match more than a threshold percentage of vehicle IDs from the selected front matrix cluster.
[0052] If the vehicle ID from the selected rear matrix cluster matches the vehicle ID from the selected front matrix cluster, the matrix dynamics determination module 220 may then assign the vehicle associated with the selected rear matrix cluster and the vehicle ID from the selected front matrix cluster to the traffic jam spanning from the selected rear matrix cluster to the selected front matrix cluster. If the vehicle IDs do not match, the matrix dynamics determination module 220 may then find the next closest front matrix cluster (e.g., in the example of FIG. 16 , front matrix cluster 1604). The matrix dynamics determination module 220 may then determine whether the vehicle ID of this front matrix cluster matches the vehicle ID of the rear matrix cluster. This process may continue until each rear matrix cluster matches the corresponding front matrix cluster and a vehicle is assigned to each identified traffic jam.
[0053] After assigning a vehicle to each identified traffic jam, the matrix dynamics determination module 220 may estimate the position of each rear matrix cluster based on the data samples associated with the cluster. In some examples, the estimated position may be a moving average. The matrix dynamics determination module 220 may similarly estimate the position of each front matrix cluster. Thus, the matrix dynamics determination module 220 may determine the rear and front positions of each identified traffic jam.
[0054] Additionally, the queue dynamics determination module 220 may estimate the speed of each identified traffic jam. In particular, the queue dynamics determination module 220 may estimate the speed of each traffic jam based on the average speed of the vehicles assigned to each traffic jam. Thus, the queue dynamics determination module 220 may estimate the dynamics of each traffic jam, including the rear position, front position, and speed of each traffic jam.
[0055] Referring again to FIG. 2 , the data transmission module 222 may transmit information indicating the estimated dynamics of the identified traffic congestion to one or more connected vehicles. In some examples, the data transmission module 222 may transmit this information to all connected vehicles within a tailored sampling area. In some examples, the data transmission module 222 may transmit this information to all vehicles approaching the sampling area. In some examples, the data transmission module 222 may transmit this information to all vehicles within a predetermined threshold distance (e.g., within one mile) of the sampling area. The information transmitted by the data transmission module 222 may indicate the location and speed of the identified lane-level traffic congestion.
[0056] In some examples, the data transmission module 222 may transmit dynamics information to the autonomous vehicle, thereby causing the vehicle systems of the autonomous vehicle to control the autonomous vehicle to autonomously maneuver around lane-level traffic. The vehicle systems of the autonomous vehicle may then control the vehicle to follow a navigation route. This may enable the autonomous vehicle to autonomously avoid lane-level traffic, which may increase driving efficiency.
[0057] 17 depicts a flowchart of an example method that may be performed by the cloud server 104. At step 1700, the driving data receiving module 212 receives driving data from one or more connected vehicles within a sampling area. As described above, the driving data may include the position, speed, and lane change behavior of the vehicles within the sampling area.
[0058] In step 1702, the matrix sample determination module 214 identifies rear matrix samples based on the received driving data. In particular, as described above, the matrix sample determination module 214 may identify rear matrix samples when the vehicle speed drops below a threshold.
[0059] In step 1704, the matrix sample determination module 214 identifies front matrix samples based on the received driving data. In particular, as described above, the matrix sample determination module 214 may identify front matrix samples when the vehicle speed increases above a threshold.
[0060] At step 1706, the cluster analysis module 216 performs cluster analysis on the identified rear matrix clusters and front matrix clusters. At step 1708, the cluster analysis module 216 identifies one or more rear matrix clusters and one or more front matrix clusters based on the cluster analysis. At step 1710, the vehicle matrix identification module 218 determines the number of vehicle matrices in the sampling region based on the identified rear matrix clusters and front matrix clusters, as described above.
[0061] 18 depicts a flowchart of another exemplary method that may be performed by cloud server 104. In particular, the method of FIG. 18 may be performed by queue dynamics determination module 220 to determine the dynamics of a vehicle queue identified by vehicle queue identification module 218.
[0062] At step 1800, the matrix dynamics determination module 220 determines the mean values of vehicle positions in the rear matrix clusters and the front matrix clusters identified by the cluster analysis module 216. At step 1802, the matrix dynamics determination module 220 sorts the rear matrix clusters and the front matrix clusters based on their positions within the sampling region.
[0063] At step 1804, the matrix dynamics determination module 220 identifies the first rear matrix cluster in the sampling region. At step 1806, the matrix dynamics determination module 220 identifies the nearest front matrix cluster in the sampling region. At step 1808, the matrix dynamics determination module 220 determines whether the vehicle IDs associated with the identified rear matrix cluster match the vehicle IDs associated with the identified front matrix cluster (e.g., whether more than a threshold percentage of the vehicle IDs match). If the vehicle IDs do not match (step 1808: No), control then returns to step 1806, where the matrix dynamics determination module 220 identifies the next nearest front matrix cluster. If the vehicle IDs match (step 1808: Yes), control then proceeds to step 1810.
[0064] At step 1810, the matrix dynamics determination module 220 assigns vehicles to the identified traffic jam. In particular, the matrix dynamics determination module 220 may assign vehicles from the identified rear matrix cluster and the identified front matrix cluster to a traffic jam ranging from the average position of the rear matrix cluster to the average position of the front matrix cluster. At step 1812, the matrix dynamics determination module 220 determines the dynamics of the identified traffic jam. In particular, the matrix dynamics determination module 220 may determine the rear and front positions of the traffic jam based on the average values of the rear matrix cluster and the front matrix cluster. The matrix dynamics determination module 220 may also determine the speed of the traffic jam based on the average speed of the vehicles assigned to the traffic jam.
[0065] It should be understood that the embodiments described herein are directed to estimating lane-level traffic congestion dynamics using vehicle GPS data. By utilizing the techniques disclosed herein, lane-level traffic dynamics can be estimated by receiving vehicle data from connected vehicles that does not include lane identification information. Thus, lane-level traffic dynamics can be estimated even when lane identification information is unavailable. The location and speed of lane-level traffic congestion can be transmitted to connected vehicles, which can then operate autonomously or by a human driver using lane-level traffic knowledge. This can improve overall traffic flow.
[0066] It should be noted that the terms "substantially" and "about" may be used herein to express the degree of inherent uncertainty that may result from any quantitative comparison, value, measurement, or other representation. These terms are also used herein to express the degree to which a quantitative representation may vary from the stated basis without resulting in a change in the basic functionality of the subject matter at issue.
[0067] While particular embodiments have been shown and described herein, it should be understood that various other changes and modifications can be made without departing from the spirit and scope of the claimed subject matter. Moreover, although various aspects of the claimed subject matter are described herein, such aspects need not be utilized in combination. It is therefore intended that the appended claims cover all such changes and modifications that are within the scope of the claimed subject matter.
Claims
1. receiving driving data from a plurality of vehicles within a sampling region, the driving data including speeds, positions, and lane change behavior of the plurality of vehicles; identifying a first location for one or more rear matrix samples based on the driving data; identifying a second location for one or more front row and column samples based on the driving data; performing a cluster analysis on the first location and the second location; identifying one or more rear matrix clusters and one or more front matrix clusters based on the cluster analysis; determining a number of lane-level traffic congestions within the sampling area based on a number of rear row and column clusters and a number of front row and column clusters; A method comprising:
2. The method of claim 1 , further comprising determining a number of posterior matrix clusters and a number of front matrix clusters using K-means clustering.
3. The method of claim 2 , further comprising performing a silhouette analysis to determine the number of rear matrix clusters and the number of front matrix clusters.
4. fitting a plurality of Gaussian mixture models to the first location and the second location; Calculating an Akaike Information Criterion for each of the Gaussian mixture models; determining the Gaussian mixture model with the lowest Akaike information criterion; determining a number of posterior matrix clusters and a number of anterior matrix clusters based on the determined Gaussian mixture model; The method of claim 1 further comprising:
5. identifying the one or more rear matrix samples in which a speed for one or more of the plurality of vehicles falls below a first threshold; identifying the one or more front matrix samples where a velocity for one or more of the plurality of vehicles increases above a second threshold; The method of claim 1 further comprising:
6. The method of claim 1 , wherein the number of lane-level traffic congestions within the sampling area is equal to the maximum of the number of rear matrix clusters and the number of front matrix clusters.
7. determining whether one or more of the plurality of vehicles will make a lane change at a location between one or more of the rear row and column clusters and one or more of the front row and column clusters based on the driving data; when one or more of the plurality of vehicles decides to make the lane change, determining whether a speed of the vehicle making the lane change remains below a threshold within a threshold time period after making the lane change; determining that two traffic congestions will occur in two adjacent lanes at a location where the vehicle made the lane change upon determining that the speed of the vehicle making the lane change remains below the threshold within the threshold time period; The method of claim 1 further comprising:
8. determining a rear position for each of the determined lane-level traffic congestions based on an average position for each of the identified rear matrix clusters; determining a forward position for each of the determined lane-level traffic congestions based on an average position for each of the identified forward matrix clusters; The method of claim 1 further comprising:
9. determining which vehicles among the plurality of vehicles are in each determined traffic jam; determining an average speed for each determined traffic jam based on the driving data associated with the vehicles in each determined traffic jam; The method of claim 1 further comprising:
10. determining an average position for each of the rear matrix clusters and each of the front matrix clusters; reordering the rear row and column clusters and the front row and column clusters based on the determined average positions; identifying a first posterior row and column cluster in the sampling region based on the average position; identifying a first front row and column cluster in the sampling region that is closest to the first rear row and column cluster based on the average position; determining whether more than a first threshold percentage of vehicles in the first rear row and column cluster match more than a second threshold percentage of vehicles in the first front row and column cluster; upon determining that more than the first threshold percentage of vehicles in the first rear matrix cluster match more than the second threshold percentage of vehicles in the first front matrix cluster, assigning the vehicles in the first rear matrix cluster and the vehicles in the first front matrix cluster to a traffic jam spanning from the average position with respect to the first rear matrix cluster to the average position with respect to the first front matrix cluster; The method of claim 1 further comprising:
11. The method of claim 10 , further comprising determining a speed of the traffic jam based on an average speed of the vehicles in the first rear matrix cluster and the first front matrix cluster.
12. determining that more than the first threshold percentage of vehicles in the first rear row and column cluster do not match more than the second threshold percentage of vehicles in the first front row and column cluster; identifying a second front row and column cluster in the sampling region that is next closest to the first rear row and column cluster based on the average position; determining whether more than a first threshold percentage of vehicles in the first rear row and column cluster match more than a second threshold percentage of vehicles in the second front row and column cluster; upon determining that more than the first threshold percentage of vehicles in the first rear matrix cluster match more than the second threshold percentage of vehicles in the second front matrix cluster, assigning the vehicles in the first rear matrix cluster and the vehicles in the second front matrix cluster to a traffic jam spanning from the average position with respect to the first rear matrix cluster to the average position with respect to the second front matrix cluster; The method of claim 10 further comprising:
13. 1. A computing device comprising one or more processors, the one or more processors comprising: receiving driving data from a plurality of vehicles within a sampling region, the driving data including speeds, positions, and lane change behavior of the plurality of vehicles; identifying a first location for one or more rear matrix samples based on the driving data; identifying a second location for one or more front row and column samples based on the driving data; performing a cluster analysis on the first location and the second location; identifying one or more rear matrix clusters and one or more front matrix clusters based on the cluster analysis; determining a number of lane-level traffic congestions within the sampling area based on a number of rear row and column clusters and a number of front row and column clusters; 1. A computing device configured to:
14. The one or more processors further include: identifying the one or more rear matrix samples in which a speed for one or more of the plurality of vehicles falls below a first threshold; 14. The computing device of claim 13, configured to identify the one or more front matrix samples in which a speed for one or more of the plurality of vehicles increases above a second threshold.
15. The one or more processors further include: determining whether one or more of the plurality of vehicles will make a lane change at a location between one or more of the rear row and column clusters and one or more of the front row and column clusters based on the driving data; when one or more of the plurality of vehicles decides to make the lane change, determining whether a speed of the vehicle making the lane change remains below a threshold within a threshold time period after making the lane change; 14. The computing device of claim 13, configured to determine that, upon determining that the speed of the vehicle making the lane change remains below the threshold within the threshold time period, two traffic congestions occur in two adjacent lanes at a location where the vehicle made the lane change.
16. The one or more processors further include: determining an average position for each of the rear matrix clusters and each of the front matrix clusters; reordering the rear matrix clusters and the front matrix clusters based on the determined average positions; Identifying a first posterior matrix cluster in the sampling region based on the average position; identifying a first front row and column cluster in the sampling region that is closest to the first rear row and column cluster based on the average position; determining whether more than a first threshold percentage of vehicles in the first rear row and column cluster match more than a second threshold percentage of vehicles in the first front row and column cluster; 14. The computing device of claim 13, configured, upon determining that more than the first threshold percentage of vehicles in the first rear matrix cluster match more than the second threshold percentage of vehicles in the first front matrix cluster, to assign the vehicles in the first rear matrix cluster and the vehicles in the first front matrix cluster to a traffic jam spanning from the average position with respect to the first rear matrix cluster to the average position with respect to the first front matrix cluster.
17. 17. The computing device of claim 16, wherein the one or more processors are further configured to determine a speed of the traffic congestion based on an average speed of the vehicles in the first rear matrix cluster and the first front matrix cluster.
18. The one or more processors further determine that more than the first threshold percentage of vehicles in the first rear row and column cluster do not match more than the second threshold percentage of vehicles in the first front row and column cluster. identifying a second front cluster of rows and columns in the sampling region that is next closest to the first rear cluster of rows and columns based on the average position; determining whether more than the first threshold percentage of vehicles in the first rear row and column cluster match more than the second threshold percentage of vehicles in the second front row and column cluster; 17. The computing device of claim 16, configured, upon determining that more than the first threshold percentage of vehicles in the first rear matrix cluster match more than the second threshold percentage of vehicles in the second front matrix cluster, to assign the vehicles in the first rear matrix cluster and the vehicles in the second front matrix cluster to a traffic jam spanning from the average position with respect to the first rear matrix cluster to the average position with respect to the second front matrix cluster.
19. 1. A system comprising: a computing device; and a plurality of vehicles, the plurality of vehicles are configured to transmit driving data to the computing device, the driving data including speeds, positions, and lane change behavior of the plurality of vehicles; The computing device comprises one or more processors, the one or more processors: receiving the driving data from the plurality of vehicles within a sampling region; identifying a first location for one or more rear row and column samples based on the driving data; identifying a second location for one or more front row and column samples based on the driving data; performing a cluster analysis on the first location and the second location; identifying one or more rear matrix clusters and one or more front matrix clusters based on the cluster analysis; The system is configured to determine a number of lane-level traffic congestions within the sampling area based on a number of rear row and column clusters and a number of front row and column clusters.
20. The one or more processors further include: identifying the one or more rear matrix samples in which a speed for one or more of the plurality of vehicles falls below a first threshold; identifying the one or more front matrix samples in which the speed for one or more of the plurality of vehicles has increased beyond a second threshold; determining whether one or more of the plurality of vehicles will make a lane change at a location between one or more of the rear row and column clusters and one or more of the front row and column clusters based on the driving data; when one or more of the plurality of vehicles decides to make the lane change, determining whether a speed of the vehicle making the lane change remains below a threshold within a threshold time period after making the lane change; 20. The system of claim 19, wherein upon determining that the speed of the vehicle making the lane change remains below the threshold within the threshold time period, the system is configured to determine that two traffic congestions occur in two adjacent lanes at a location where the vehicle made the lane change.