EP4241263A1 - Système et procédé de prédiction de vitesse de circulation routière - Google Patents
Système et procédé de prédiction de vitesse de circulation routièreInfo
- Publication number
- EP4241263A1 EP4241263A1 EP22776239.0A EP22776239A EP4241263A1 EP 4241263 A1 EP4241263 A1 EP 4241263A1 EP 22776239 A EP22776239 A EP 22776239A EP 4241263 A1 EP4241263 A1 EP 4241263A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- road
- features
- neural network
- node
- speed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000013528 artificial neural network Methods 0.000 claims abstract description 62
- 230000008569 process Effects 0.000 claims abstract description 16
- 230000003993 interaction Effects 0.000 claims abstract description 10
- 230000015654 memory Effects 0.000 claims description 25
- 239000011159 matrix material Substances 0.000 claims description 22
- 230000008859 change Effects 0.000 claims description 12
- 230000000873 masking effect Effects 0.000 claims description 10
- 230000002457 bidirectional effect Effects 0.000 claims description 7
- 230000004931 aggregating effect Effects 0.000 claims description 5
- 238000005303 weighing Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 230000000306 recurrent effect Effects 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 230000002123 temporal effect Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 241000288105 Grus Species 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004850 protein–protein interaction Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001373 regressive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/052—Detecting movement of traffic to be counted or controlled with provision for determining speed or overspeed
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0108—Measuring and analyzing of parameters relative to traffic conditions based on the source of data
- G08G1/0112—Measuring and analyzing of parameters relative to traffic conditions based on the source of data from the vehicle, e.g. floating car data [FCD]
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0125—Traffic data processing
- G08G1/0129—Traffic data processing for creating historical data or processing based on historical data
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/09—Arrangements for giving variable traffic instructions
- G08G1/0962—Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
- G08G1/0967—Systems involving transmission of highway information, e.g. weather, speed limits
- G08G1/096766—Systems involving transmission of highway information, e.g. weather, speed limits where the system is characterised by the origin of the information transmission
- G08G1/096775—Systems involving transmission of highway information, e.g. weather, speed limits where the system is characterised by the origin of the information transmission where the origin of the information is a central station
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
Definitions
- Various aspects of this disclosure relate to a system for predicting road traffic speed. Various aspects of this disclosure relate to a method for predicting road traffic speed. Various aspects of this disclosure relate to a non-transitory computer-readable medium storing computer executable code comprising instructions for predicting road traffic speed. Various aspects of this disclosure relate to a computer executable code comprising instructions for predicting road traffic speed.
- the first category includes methods such as historical average, Auto Regressive Integrated Moving Average (ARIMA), and support vector regression (SVR), and also deep learning networks. These methods may capture the temporal dependencies in data. Deep learning methods may also be able to capture the sequential characteristics of the data i.e. daily and periodic trends.
- road speeds are highly complex and are also dependent on spatial correlations in the network.
- the second category includes methods such as Spatiotemporal graph convolutional networks (STGCN) which utilises graph convolutions to account for the spatial dependencies, attention-based STGCN (ASTGCN) which incorporates the attention mechanism on top of the STGCN and ST-MGCN which uses of multiple graphs to capture non-Euclidean relationships in the road network such e.g. transport connectivity, POI attributes.
- STGCN Spatiotemporal graph convolutional networks
- ASVGCN attention-based STGCN
- ST-MGCN which uses of multiple graphs to capture non-Euclidean relationships in the road network such e.g. transport connectivity, POI attributes.
- An advantage of the present disclosure may include improve overall estimated times of arrival by using actual, concrete topological features of the road network.
- An advantage of the present disclosure may include lower run time complexity due to lower number of convolution steps which may overcome the need for multiple graph convolutions, saving time and reducing computational complexity.
- An advantage of the present disclosure may include effectively capturing the spatial dependencies in the data by directly extract these features that are known to affect road traffic speeds and classify them into two classes of topological features - node features and edge features.
- An advantage of the present disclosure may include more accurate speed predictions since node and edge embedding layers are done before graph convolutions and these layers attach learnable parameters to the underlying graph, allowing for the weighting factors to adapt specifically to each target node during the graph convolution operation, hence also allowing the weighting factor to adapt to larger k-hop neighbourhoods.
- the present disclosure generally relates to system for road traffic speed.
- the system may include one or more processors.
- the system may also include a memory having instructions stored there, in the instructions, when executed by the one or more processors, may cause the one or more processors to use at least one recurrent neural network to: receive and process raw trajectory data to determine processed trajectory data; obtain node features representing information about road segment characteristics; obtain edge features representing information about interactions between the node features; determine a learned graph representation of a road network based on a node embedding of the node features and an edge embedding of the edge features; determine at least one hidden states value based on a graph convolution of the learned graph representation through the at least one encoder neural network; and predict road traffic speed based on the at least one hidden states value through at least one decoder neural network.
- the raw trajectory data may include speed readings of a vehicle matched to respective road segments that the vehicle is travelling on.
- the processor may be configured to process the raw trajectory data by at least one of: removing negative speed readings; aggregating the speed readings over a predetermined time interval for individual road segments; and interpolating missing speed data by linear interpolation or replacing the missing speed data with a median speed value.
- the node features may be features regarding individual road segments.
- the edge features may be features regarding an intersection of the individual road segments.
- the node features may include at least one of road class, number of lanes and length of road segments.
- the edge features may include at least one of Haversine distances between road segments, change in number of lanes between road segments, and change in road width between road segments.
- the system may include an encoder and a decoder.
- the encoder may include the at least one encoder neural network.
- the decoder may include the at least one decoder neural network.
- the at least one encoder neural network may be a bidirectional neural network.
- the at least one decoder neural network may be a unidirectional neural network.
- the processor may be configured to perform the graph convolution of the learned graph representation by using the learned graph representation and a weighing matrix.
- the processor may be configured to use at least one binary adjacent matrix during the graph convolution for masking.
- the at least one hidden states value may include a last hidden state value.
- the processor may be configured to predict road traffic speed based on the last hidden state value.
- the present disclosure generally relates to a method for predicting road traffic speed.
- the method may include using one or more processors to: receive and process raw trajectory data to determine processed trajectory data; obtain node features representing information about road segment characteristics; obtain edge features representing information about interactions between the node features; determine a learned graph representation of a road network based on a node embedding of the node features and an edge embedding of the edge features; determine at least one hidden states value based on a graph convolution of the learned graph representation through the at least one encoder neural network; and predict road traffic speed based on the at least one hidden states value through at least one decoder neural network.
- the raw trajectory data may include speed readings of a vehicle matched to respective road segments that the vehicle is travelling on.
- the method may include using one or more processors to process the raw trajectory data by at least one of: removing negative speed readings; aggregating the speed readings over a predetermined time interval for individual road segments; and interpolating missing speed data by linear interpolation or replacing the missing speed data with a median speed value.
- the node features may be features regarding individual road segments.
- the edge features may be features regarding an intersection of the individual road segments.
- the node features may include at least one of road class, number of lanes and length of road segments.
- the edge features may include at least one of Haversine distances between road segments, change in number of lanes between road segments, and change in road width between road segments.
- the at least one encoder neural network may be in an encoder.
- the at least one decoder neural network may be in a decoder.
- the at least one encoder neural network may be a bidirectional neural network.
- the at least one decoder neural network may be a unidirectional neural network.
- the method may include using one or more processors to perform the graph convolution of the learned graph representation by using the learned graph representation and a weighing matrix.
- the method may include using one or more processors to use at least one binary adjacent matrix during the graph convolution for masking.
- the method may include using one or more processors to predict road traffic speed based on a last hidden state value, wherein the at least one hidden states value comprises the last hidden state value.
- the present disclosure generally relates to a non-transitory computer-readable medium storing computer executable code comprising instructions for predicting road traffic speed according to the present disclosure.
- the present disclosure generally relates to a computer executable code comprising instructions for predicting road traffic speed according to the present disclosure.
- the one or more embodiments include the features hereinafter fully described and particularly pointed out in the claims.
- the following description and the associated drawings set forth in detail certain illustrative features of the one or more aspects. These features are indicative, however, of but a few of the various ways in which the principles of various aspects may be employed, and this description is intended to include all such aspects and their equivalents.
- FIG. 1 illustrates a schematic diagram of a system according to an embodiment of the present disclosure.
- FIG. 2 shows a flowchart of a method according to various embodiments.
- FIG. 3 shows a flow diagram of a method according to various embodiments.
- FIG. 4 illustrates a schematic diagram of an exemplary edge embedding according to various embodiments.
- FIG. 5 shows a flow diagram of a system including an encoder-decoder according to various embodiments.
- FIG. 6 shows a flow diagram of a convolution layer according to various embodiments.
- Embodiments described in the context of one of the systems or server or methods or computer program are analogously valid for the other systems or server or methods or computer program and vice-versa.
- Features that are described in the context of an embodiment may correspondingly be applicable to the same or similar features in the other embodiments.
- Features that are described in the context of an embodiment may correspondingly be applicable to the other embodiments, even if not explicitly described in these other embodiments.
- additions and/or combinations and/or alternatives as described for a feature in the context of an embodiment may correspondingly be applicable to the same or similar feature in the other embodiments.
- the terms “at least one” and “one or more” may be understood to include a numerical quantity greater than or equal to one (e.g., one, two, three, four,tinct, etc.).
- the term “a plurality” may be understood to include a numerical quantity greater than or equal to two (e.g., two, three, four, five,tinct, etc.).
- any phrases explicitly invoking the aforementioned words expressly refers more than one of the said objects.
- the terms “proper subset”, “reduced subset”, and “lesser subset” refer to a subset of a set that is not equal to the set, i.e. a subset of a set that contains less elements than the set.
- data may be understood to include information in any suitable analog or digital form, e.g., provided as a file, a portion of a file, a set of files, a signal or stream, a portion of a signal or stream, a set of signals or streams, and the like. Further, the term “data” may also be used to mean a reference to information, e.g., in form of a pointer. The term data, however, is not limited to the aforementioned examples and may take various forms and represent any information as understood in the art.
- processor or “controller” as, for example, used herein may be understood as any kind of entity that allows handling data, signals, etc.
- the data, signals, etc. may be handled according to one or more specific functions executed by the processor or controller.
- a processor or a controller may thus be or include an analog circuit, digital circuit, mixed-signal circuit, logic circuit, processor, microprocessor, Central Processing Unit (CPU), Graphics Processing Unit (GPU), Digital Signal Processor (DSP), Field Programmable Gate Array (FPGA), integrated circuit, Application Specific Integrated Circuit (ASIC), etc., or any combination thereof. Any other kind of implementation of the respective functions, which will be described below in further detail, may also be understood as a processor, controller, or logic circuit.
- CPU Central Processing Unit
- GPU Graphics Processing Unit
- DSP Digital Signal Processor
- FPGA Field Programmable Gate Array
- ASIC Application Specific Integrated Circuit
- any two (or more) of the processors, controllers, or logic circuits detailed herein may be realized as a single entity with equivalent functionality or the like, and conversely that any single processor, controller, or logic circuit detailed herein may be realized as two (or more) separate entities with equivalent functionality or the like.
- system e.g., a drive system, a position detection system, etc.
- elements may be, by way of example and not of limitation, one or more mechanical components, one or more electrical components, one or more instructions (e.g., encoded in storage media), one or more controllers, etc.
- a “circuit” as user herein is understood as any kind of logic-implementing entity, which may include special-purpose hardware or a processor executing software.
- a circuit may thus be an analog circuit, digital circuit, mixed-signal circuit, logic circuit, processor, microprocessor, Central Processing Unit (“CPU”), Graphics Processing Unit (“GPU”), Digital Signal Processor (“DSP”), Field Programmable Gate Array (“FPGA”), integrated circuit, Application Specific Integrated Circuit (“ASIC”), etc., or any combination thereof.
- circuit Any other kind of implementation of the respective functions which will be described below in further detail may also be understood as a “circuit.” It is understood that any two (or more) of the circuits detailed herein may be realized as a single circuit with substantially equivalent functionality, and conversely that any single circuit detailed herein may be realized as two (or more) separate circuits with substantially equivalent functionality. Additionally, references to a “circuit” may refer to two or more circuits that collectively form a single circuit.
- memory may be understood as a non-transitory computer- readable medium in which data or information can be stored for retrieval. References to “memory” included herein may thus be understood as referring to volatile or non-volatile memory, including random access memory (“RAM”), read-only memory (“ROM”), flash memory, solid-state storage, magnetic tape, hard disk drive, optical drive, etc., or any combination thereof. Furthermore, it is appreciated that registers, shift registers, processor registers, data buffers, etc., are also embraced herein by the term memory.
- a single component referred to as “memory” or “a memory” may be composed of more than one different type of memory, and thus may refer to a collective component including one or more types of memory. It is readily understood that any single memory component may be separated into multiple collectively equivalent memory components, and vice versa. Furthermore, while memory may be depicted as separate from one or more other components (such as in the drawings), it is understood that memory may be integrated within another component, such as on a common integrated chip.
- Coupled may be understood as electrically coupled or as mechanically coupled, e.g., attached or fixed or attached, or just in contact without any fixation, and it will be understood that both direct coupling or indirect coupling (in other words: coupling without direct contact) may be provided.
- FIG. 1 illustrates a schematic diagram of a system according to an embodiment of the present disclosure.
- the system 100 may be used for predicting road traffic speed.
- the system 100 may include a server 110, and/or a user device 120.
- the server 110 and the user device 120 may be in communication with each other through communication network 130.
- FIG. 1 shows a line connecting the server 110 to the communication network 130
- a line connecting the user device 120 to the communication network 130, the server 110, and the user device 120 may not be physically connected to each other, for example through a cable.
- the server 110, and the user device 120 may be able to communicate wirelessly through communication network 130 by internet communication protocols or through a mobile cellular communication network.
- the server 110 may be a single server as illustrated schematically in FIG. 1, or have the functionality performed by the server 110 distributed across multiple server components.
- the server 110 may include one or more server processor(s) 112.
- the various functions performed by the server 110 may be carried out across the one or more server processor(s).
- each specific function of the various functions performed by the server 110 may be carried out by specific server processor(s) of the one or more server processor(s).
- the server 110 may include a memory 114.
- the server 110 may also include a database.
- the memory 114 and the database may be one component or may be separate components.
- the memory 114 of the server may include computer executable code defining the functionality that the server 110 carries out under control of the one or more server processor 112.
- the database and/or memory 114 may include historical data of past transportation services, e.g., road traffic speeds, road segments, and time.
- the historical data may include road traffic speeds on each road segment at each specific time.
- the road traffic speed may be obtain every 1 second.
- the memory 114 may include or may be a computer program product such as a non-transitory computer- readable medium.
- a computer program product may store the computer executable code including instructions for predicting road traffic speed according to the various embodiments.
- the computer executable code may be a computer program.
- the computer program product may be a non-transitory computer-readable medium.
- the computer program product may be in the system 100 and/or the server 110.
- the server 110 may also include an input and/or output module allowing the server 110 to communicate over the communication network 130.
- the server 110 may also include a user interface for user control of the server 110.
- the user interface may include, for example, computing peripheral devices such as display monitors, user input devices, for example, touchscreen devices and computer keyboards.
- the user device 120 may include a user device memory 122.
- the user device 120 may include a user device processor 124.
- the user device memory 122 may include computer executable code defining the functionality the user device 120 carries out under control of the user device processor 124.
- the user device memory 122 may include or may be a computer program product such as a non-transitory computer-readable medium.
- the user device 120 may also include an input and/or output module allowing the user device 120 to communicate over the communication network 130.
- the user device 120 may also include a user interface for the user to control the user device 120.
- the user interface may be a touch panel display.
- the user interface may include a display monitor, a keyboard or buttons.
- the system 100 may be used for predicting road traffic speed.
- the memory 114 may have instructions stored therein.
- the instructions when executed by the one or more processors may cause the processor 112 to use at least one neural network to predict road traffic speed.
- a single pass of the neural network may entail passing the data first through the encoder, followed by the decoder.
- the node and edge features may be first passed through the node embedding and edge embedding layers respectively.
- Each layer may learn a non-linear representation of the raw features, which may be fused together via an element wise multiplication.
- the fused representation may be regarded as a latent feature representation of the underlying road network, and may be used in the graph convolution layer to learn the spatial relationships in the data.
- a masking operation may also done following the graph convolution to restrict the receptive field of the graph convolution to only its immediate neighbours.
- the output of the graph convolution layer may then passed into a bi-directional GRU to learn the temporal relationships in the data.
- the outputs of the bi directional GRU may regarded as the final output of the encoder.
- the output of the encoder may passed into the decoder, which may include a uni-directional GRU to perform the simultaneous, multiple horizon forecasting in a single pass.
- the output of the decoder may be the predicted speeds.
- the processor 112 may obtain receive raw trajectory data.
- the raw trajectory data may include historical data of past transportation services, e.g., road traffic speeds, road segments, and time.
- the historical data may include road traffic speeds on each road segment at each specific time.
- the raw trajectory data may include speed readings of a vehicle matched to respective road segments that the vehicle is travelling on.
- the processor 112 may process the raw trajectory data. In an embodiment, the processor may be configured to process the raw trajectory data by removing negative speed readings. In an embodiment, the processor 112 may be configured to process the raw trajectory data by aggregating the speed readings over a predetermined time interval for individual road segments. In an embodiment, the predetermined time interval may be between 3-7 minutes, e.g, 5 minutes.
- the processor 112 may be configured to process the raw trajectory data by interpolating missing speed data by linear interpolation. In an embodiment, the processor 112 may be configured to process the raw trajectory data by replacing the missing speed data with a median speed value. In an embodiment, the median speed value may be different for each individual road. The median speed value may also be different during different times of the day. [0073] In an embodiment, the processor 112 may be configured to process the raw trajectory data to determine a processed trajectory data.
- the processor 112 may obtain node features.
- the node features may represent information about road segment characteristics.
- the node features may be features regarding individual road segments.
- the node features may include at least one of road class, number of lanes and length of road segments.
- the road class may include information such as the speed limit of the road.
- the processor 112 may perform a node embedding on the node features.
- the processor 112 may obtain edge features.
- the edge features may represent information about interactions between the node features.
- the edge features may be features regarding an intersection of the individual road segments.
- the edge features may include at least one of Haversine distances between road segments, change in number of lanes between road segments, and change in road width between road segments.
- the at least one of Haversine distances between road segments may be the great-circle distance between two points on a sphere given their longitudes and latitudes
- the processor 112 may perform an edge embedding on the edge features.
- the processor 112 may determine a learned graph representation of a road network based on the node embedding of the node features and the edge embedding of the edge features.
- the at least one encoder neural network may be a recurrent neural network (RNN), such as a Long short-term memory (LSTM) or a Gated Recurrent Unit (GRU).
- RNN recurrent neural network
- the processor 112 may perform a graph convolution on the learned graph representation.
- the processor 112 may be configured to perform the graph convolution by using the learned graph representation and a weighing matrix.
- the processor 112 may be configured to perform the graph convolution by also using the processed trajectory data.
- the processor 112 may be configured to use at least one binary adjacent matrix during the graph convolution for masking.
- the masking may filter or may handle unwanted, missing, or invalid data during the graph convolution.
- the processor 112 may determine at least one hidden states value based on the graph convolution of the learned graph representation through the at least one encoder neural network. In an enbodiment, a result of the graph convolution may be passed throught the at least one encoder neural network to obtain the at least one hidden states value.
- the processor 112 may perform a 2 layer graph convolution.
- a first result of a first graph convolution may be passed through the at least one encoder neural network to obtain a second result.
- the second result may be passed through a second graph convolution to obtain a third result.
- the third result may be through the at least one encoder neural network to obtain at least one hidden states value.
- the processor 112 may predict road traffic speed based on the at least one hidden states value through at least one decoder neural network.
- the at least one decoder neural network may be a recurrent neural network (RNN), such as a Long short-term memory (LSTM) or a Gated Recurrent Unit (GRU).
- RNN recurrent neural network
- LSTM Long short-term memory
- GRU Gated Recurrent Unit
- the at least one hidden states value may inlcude a last hidden state value.
- the processor 112 may be configured to predict road traffic speed based on the last hidden state value.
- the system 100 may include an encoder.
- the processor 112 may be a part of or may be controlled by the encoder.
- the encoder may include the at least one encoder neural network.
- the encoder may be a bidirectional neural network.
- the system 100 may include an decoder.
- the processor 112 may be a part of or may be controlled by the decoder.
- the decoder may include the at least one decoder neural network.
- the decoder may be a unidirectional neural network.
- FIG. 2 shows a flowchart of a method according to various embodiments.
- the method 200 for predicting road traffic speed may be provided.
- the method 200 may include a step 202 of using one or more processors to obtain receive and process raw trajectory data to determine processed trajectory data.
- the method 200 may include a step 204 of using one or more processors to obtain node features representing information about road segment characteristics.
- the method 200 may include a step 206 of using one or more processors to obtain edge features representing information about interactions between the node features.
- the method 200 may include a step 208 of using one or more processors to determine a learned graph representation of a road network based on a node embedding of the node features and to determine an edge embedding of the edge features through at least one encoder neural network.
- the method 200 may include a step 210 of using one or more processors to determine at least one hidden states value based on a graph convolution of the learned graph representation through the at least one encoder neural network.
- the method 200 may include a step 212 of using one or more processors to predict road traffic speed based on the at least one hidden states value through at least one decoder neural network.
- steps 202 to 212 are shown in a specific order, however other arrangements are possible. Steps may also be combined in some cases. Any suitable order of steps 202 to 212 may be used.
- FIG. 3 shows a flow diagram of a method according to various embodiments.
- the flow diagram 300 for predicting road traffic speed may be provided.
- the flow diagram 300 may include a step 302 of collecting raw trajectory data.
- the raw trajectory data may be collected from completed trips.
- the raw trajectory data may include speed readings at the given time on a predetermined time interval, e.g., a 1 -second interval, for the entire trip.
- the data may be map-matched to the respective road segments that the vehicle is travelling on.
- the flow diagram 300 may include a step 304 of processing the raw trajectory data.
- the negative speed readings may be removed.
- the speed readings may be aggregated over a predetermined time interval, e.g., 5 minutes intervals, for individual road segments.
- the speed reading may be aggregated based on time periods for each road.
- associated trajectory IDs associated with the speed readings may not need to be used for future calculations.
- there may be periods with “block” missing data e.g., 30 minutes missing, which may be due to no drivers travelling over the road segment.
- the missing value imputation may be interpolated by applying linear interpolation.
- the missing value imputation may replaced with road class speed median values.
- the median speed value may be different for each individual road. The median speed value may also be different during different times of the day.
- the flow diagram 300 may include a step 306 of obtaining a road network structure from internal map data.
- the internal map data may be based on OpenS treetMaps (OSM).
- OSM OpenS treetMaps
- each road segment may be identified using a unique OSM way ID and/or a pair of OSM start and end node IDs.
- the flow diagram 300 may include a step 308 of obtaining at least one adjacency matrix.
- the at least one adjacency matrix may be binary adjacency matrix.
- the incoming and outgoing adjacency matrices may be constructed to represent the graph structure.
- individual road segments may be regarded as nodes.
- junctions and/or intersections may be regarded as edges.
- the flow diagram 300 may include a step 310 of determining node level features.
- the node level features may be extracted from the road network.
- the node level features may describe a particular road segment i.e. road segment characteristics and/or attributes.
- the node level features may refer to road class, and/or number of lanes, and/or length of individual road segments.
- the flow diagram 300 may include a step 312 of determining edge level features.
- the edge level features may be engineered directly from the road network and/or from the node level features.
- the edge level features may describe interactions between node pairings i.e. relationships between to road segments.
- the edge level features may include Haversine distances, and/or change in the number of lanes, and/or change in road width.
- the flow diagram 300 may include a step 314 of performing node embedding on the node features. This step may be referred to as the node embedding layer.
- the purpose of the node embedding layer may be to obtain non linear mappings of the road segment attributes for use in the network.
- the node embedding layer may aim at learning non-linear mappings, for example through the use of a 2-layered fully connected network.
- the 2-layered fully connected network may have a rectified linear (ReLU) activation function in between.
- the node features may be trained together with the speed readings in a graph convolution layer.
- the node features may be trained separate from the speed readings in the graph convolution layer to focus on capturing the spatial aspect of the node features.
- the flow diagram 300 may include a step 316 of performing edge embedding on the edge features.
- the purpose of the edge embedding layer may be to obtain non-linear mappings of the interactions between node pairings. Further details on edge embedding may be made with reference to FIG. 4.
- FIG. 4 illustrates a schematic diagram of an exemplary edge embedding 400 according to various embodiments.
- the edge features 402 may be convoluted using an edge embedding operation 404 * e dge ⁇
- the edge features may be learned through a 3-layered lxl embedding (i.e., convolutional) network.
- the embedding network may have a LeakyReLU activation function with a decay rate of 0.1.
- lxl embedding network may be used as a means for dimensionality reduction and reducing computational complexity.
- lxl embedding network may be used to replicate the effects of a fully connected layer on but with 3D inputs.
- the diagonal elements of the matrix may be replaced with 1.
- the diagonal elements may indicate interactions between the same node i.e. node i and node /, by replacing the diagonal elements of the matrix with 1 may ensure that the target node’s features are not ignored during the graph convolution layer.
- the learned mappings of the node embedding and the edge embedding may be fused using element-wise multiplication of learned node vectors along the rows of the learned edge matrix, for example a Hadamard product.
- the final result of the multiplication may be the learned graph representation of the underlying road network for use in graph convolution.
- the flow diagram 300 may include a step 318 of performing graph convolution.
- a 2 layer graph convolution may be performed. Further details on graph convolution may be made with reference to FIG. 5.
- FIG. 5 shows a flow diagram of a system including an encoder-decoder according to various embodiments.
- the encoder-decoder structure of the network may decrease computational time as it allows for forecasting of multiple time horizon in a single pass. Without this structure, forecasting on multiple time steps may have to be done iteratively, one after another.
- N historical time steps to predict K future time steps i.e. (T + 1), (T + 2) , ... , (T + K) .
- a typical network may first use the ( T — N ) to T time steps to forecast ( T + 1). The next step may then use (T — N + 1) to T and the predicted (T + 1) time steps to forecast (T + 2). This may be done iteratively until all K time steps have been forecasted.
- all K time steps may be forecasted in a single pass without the need for the iterative process, hence reducing the overall computational time taken and improving the efficiency of the network.
- an encoder-decoder structure may be used.
- the encoder-decoder structure may include neural networks such as a RNN, LSTM and GRU.
- GRU is used, but any other suitable neural network may be used.
- GRU may be used to perform r time series long term forecasting.
- the GRU may be an improvement to LSTM and may be capable of capturing long-term dependencies in the data but with improved computational efficiency through the maintenance of a hidden state vector as compared to an LSTM. This may be because the GRU calculates one less gate, only using two gates, a reset gate and an update gate.
- h t (1 — z t ) O h t + z t Q h ⁇ t _ 1 ⁇
- r may represent the reset gates
- z may represent the update gates
- h may represent hidden state update values
- h t may represents the hidden state at time t
- x t may represent the inputs at time t
- O may represent the Hadamard product
- W t , b t may represent weights and biases associated with inputs
- W h , b h may represent weights and biases associated with hidden states.
- the encoder-decoder structure may combine two GRUs - an encoder GRU and a decoder GRU.
- the bridge combining the two may be the last hidden state of the encoder GRU.
- a bidirectional GRU is used for the encoder.
- a unidirectional GRU is used for the decoder.
- a trajectory data 502 may include a first trajectory data 502A and/or a second trajectory data 502B.
- the trajectory data 502 may pass through a first node embedding, a first edge embedding and a first graph convolution which may be shorten to a first NE-graph convolution 504 to obtain a first result.
- the first result may be passed through at least one encoder neural network 506 to obtain a second result.
- the second result may pass through a second NE-graph convolution 508 to obtain a third result.
- the third result may be passed through at least one encoder neural network 510 to obtain at least one hidden state 512.
- the at least one encoder neural network 506 may be the at least one encoder neural network 510.
- FIG. 6 shows a flow diagram 600 of a convolution layer according to various embodiments.
- a convolution layer i.e., node-edge graph convolution layer may be made up of the node embedding, edge embedding and graph convolution layers.
- D ⁇ AD may be also known as the symmetric normalised graph Laplacian.
- — c may represent the normalisation factor of nodes V and V j derived from the graph ii Laplacian, and N t may represent the neighbours of the target node i.
- the top of the summation sign is meant to be empty as the condition on the bottom disallows for a single upper limit value of the summation to be defined i.e. the upper limit varies with different values of j.
- the normalisation factor may be regarded as a weight i.e. weighting factor to the graph convolution operation which may be explicitly defined by the graph Laplacian.
- the weighting factor may be defined implicitly i.e. learned together with the entire network through the use of node and edge embedding layers.
- topographically enhanced (TOP-EN) graph convolution may be performed using the input speeds, learned graph representation, and a weight matrix.
- at least one adjacency matrix e.g., a binary 0-1 adjacency matrix, may be used for masking. The masking may be to restrict the receptive field to immediate neighbours. More layers may be stacked to expand the receptive field.
- both incoming and outgoing matrices may be used for separate graph convolutions to account for the direction of travel and fused using an element-wise multiplication.
- 2 layers of encoder GRU and node-edge graph convolution are used, where they alternate between one another.
- the edge features 604 may undergo edge embedding 606.
- the node features 608 may undergo node embedding 610.
- the processed trajectory data 602, the edge embedding 606 and the node embedding 610 may be used to obtain learned graph representation of the underlying road network.
- the learned graph representation may be used in graph convolution 612.
- Masking may also be used during graph convolution 612.
- road traffic speeds 614 may be predicted based on the graph convolution 612.
- step 320 of passing the hidden states to a decoder may be performed.
- the at least one hidden state 512 may be passed to a decoder.
- the at least one hidden state 512 may include a first hidden state 512A, a second hidden state 512B, a third hidden state 512C, and/or a last hidden state hi .
- the last hidden state hi may be passed to a neural network 514 of the decoder.
- the neural network 514 cells may maintain information of all the previous time steps i.e. long term dependencies.
- the last hidden state hi may be used as the initial hidden state for the decoder to preserve the temporal correlations as multi-step predictions may be performed.
- the decoder may use the last hidden state hi to predict road traffic speeds 516.
- the decoder may use a speed at time T to predict future road traffic speeds 516.
- the road traffic speeds may include a first predication 516A at time T+l, and/or a second predication 516B at time T+2, and/or a third predication 516C at time T+3, and/or a N predication 516D at time T+N.
- the result i.e., the predicted speeds, are shown to be of state-of-the-art standards, achieving metrics comparable to that of state-of-the-art methods in the domain.
- the speeds may be incorporated into online mapping platforms to provide accurate readings of the speeds on any road, possibly more accurate than the existing method in use. If necessary, they may also be used for downstream tasks such as providing travel time estimations, subjected to further processing.
- the system disclosed herein may be extended for other use cases such as travel time estimation and route planning.
- the node edge graph convolution component may also be used in various domains that involve graphs. Examples may include social networks and knowledge graphs, or even biological fields such as the study of protein-protein interactions.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Analytical Chemistry (AREA)
- Life Sciences & Earth Sciences (AREA)
- Chemical & Material Sciences (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Atmospheric Sciences (AREA)
- Traffic Control Systems (AREA)
Abstract
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SG10202102973V | 2021-03-23 | ||
PCT/SG2022/050029 WO2022203593A1 (fr) | 2021-03-23 | 2022-01-23 | Système et procédé de prédiction de vitesse de circulation routière |
Publications (2)
Publication Number | Publication Date |
---|---|
EP4241263A1 true EP4241263A1 (fr) | 2023-09-13 |
EP4241263A4 EP4241263A4 (fr) | 2024-04-17 |
Family
ID=83398093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP22776239.0A Pending EP4241263A4 (fr) | 2021-03-23 | 2022-01-23 | Système et procédé de prédiction de vitesse de circulation routière |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240046785A1 (fr) |
EP (1) | EP4241263A4 (fr) |
TW (1) | TW202238453A (fr) |
WO (1) | WO2022203593A1 (fr) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115755219B (zh) * | 2022-10-18 | 2024-04-02 | 长江水利委员会水文局 | 基于stgcn的洪水预报误差实时校正方法及系统 |
CN116245183B (zh) * | 2023-02-28 | 2023-11-07 | 清华大学 | 基于图神经网络的交通场景泛化理解方法及装置 |
CN117831287B (zh) * | 2023-12-29 | 2024-05-31 | 北京大唐高鸿数据网络技术有限公司 | 高速公路拥堵指数的确定方法、装置、设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109754605B (zh) * | 2019-02-27 | 2021-12-07 | 中南大学 | 一种基于注意力时态图卷积网络的交通预测方法 |
CN109887282B (zh) * | 2019-03-05 | 2022-01-21 | 中南大学 | 一种基于层级时序图卷积网络的路网交通流预测方法 |
CN110599766B (zh) * | 2019-08-22 | 2020-08-18 | 浙江工业大学 | 一种基于sae-lstm-sad的道路交通拥堵传播预测方法 |
-
2022
- 2022-01-23 US US18/257,672 patent/US20240046785A1/en active Pending
- 2022-01-23 WO PCT/SG2022/050029 patent/WO2022203593A1/fr active Application Filing
- 2022-01-23 EP EP22776239.0A patent/EP4241263A4/fr active Pending
- 2022-02-18 TW TW111105974A patent/TW202238453A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
US20240046785A1 (en) | 2024-02-08 |
EP4241263A4 (fr) | 2024-04-17 |
WO2022203593A1 (fr) | 2022-09-29 |
TW202238453A (zh) | 2022-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chu et al. | Deep multi-scale convolutional LSTM network for travel demand and origin-destination predictions | |
Tekouabou et al. | Improving parking availability prediction in smart cities with IoT and ensemble-based model | |
US20240046785A1 (en) | System and method for predicting road traffic speed | |
Yang et al. | MF-CNN: traffic flow prediction using convolutional neural network and multi-features fusion | |
Veres et al. | Deep learning for intelligent transportation systems: A survey of emerging trends | |
Li et al. | Multistep traffic forecasting by dynamic graph convolution: Interpretations of real-time spatial correlations | |
Duan et al. | Improved deep hybrid networks for urban traffic flow prediction using trajectory data | |
Yang et al. | ST-LBAGAN: Spatio-temporal learnable bidirectional attention generative adversarial networks for missing traffic data imputation | |
CN110766942B (zh) | 一种基于卷积长短期记忆网络的交通路网拥堵预测方法 | |
CN112015847B (zh) | 一种障碍物的轨迹预测方法、装置、存储介质及电子设备 | |
US20140253732A1 (en) | Topology determination for non-overlapping camera network | |
CN113762595B (zh) | 通行时间预测模型训练方法、通行时间预测方法及设备 | |
Kim et al. | Structural recurrent neural network for traffic speed prediction | |
Modi et al. | Multistep traffic speed prediction: A deep learning based approach using latent space mapping considering spatio-temporal dependencies | |
Bai et al. | Deep spatial–temporal sequence modeling for multi-step passenger demand prediction | |
CN114742280B (zh) | 路况预测方法及相应的模型训练方法、装置、设备及介质 | |
Teng et al. | A multi-step forecasting model of online car-hailing demand | |
Rahman et al. | Attention based deep hybrid networks for traffic flow prediction using google maps data | |
CN114822019A (zh) | 交通信息处理方法和装置 | |
Zhao et al. | Developing a multiview spatiotemporal model based on deep graph neural networks to predict the travel demand by bus | |
CN117252307B (zh) | 流量预测方法、装置、计算机设备和存储介质 | |
Chakraborty et al. | Assessment of traffic congestion with high-resolution remote sensing data and deep convolution neural network | |
WO2024030077A1 (fr) | Procédé, dispositif et système de prédiction de paramètres de circulation d'un réseau routier | |
Tan et al. | A noise-immune and attention-based multi-modal framework for short-term traffic flow forecasting | |
CN117882109A (zh) | 目标跟踪方法、目标跟踪系统和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20230607 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
A4 | Supplementary search report drawn up and despatched |
Effective date: 20240315 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06N 3/04 20060101ALI20240311BHEP Ipc: G08G 1/052 20060101AFI20240311BHEP |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) |