A method for predicting a future path of a vehicle and a device thereof

By integrating standard-definition maps with deep learning models and planned route data, the method enhances path prediction accuracy and robustness in autonomous vehicles, addressing the limitations of high-definition maps.

WO2026065000A1PCT designated stage Publication Date: 2026-04-02ZENSEACT AB +1
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-25
Publication Date
2026-04-02

AI Technical Summary

Technical Problem

Existing path prediction techniques for autonomous vehicles rely heavily on high-definition maps, which are expensive, computationally heavy, and have limited availability, making them impractical for widespread use.

Method used

Utilize standard-definition maps combined with deep learning-based path prediction models that incorporate planned route data, tokenizing it into motion tokens and integrating it with image data to enhance prediction accuracy and robustness.

Benefits of technology

Improves path prediction accuracy and robustness against occlusions and environmental conditions, reducing computational demands and operational costs while maintaining safety and comfort.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024121211_02042026_PF_FP_ABST
    Figure CN2024121211_02042026_PF_FP_ABST
Patent Text Reader

Abstract

The herein disclosed technology relates to a method (100) for predicting a future path of a vehicle, ahead of a current location of said vehicle. The method (100) comprising: obtaining (S102) route data associated with a planned route of the vehicle for a defined distance in the future; tokenizing (S104) the route data into a sequence of motion tokens, wherein each motion token defines a direction of motion in relation to a frame of reference of the vehicle; generating (S106) a feature representation of the sequence of motion tokens; obtaining (S108) image data depicting at least a portion of a surrounding environment ahead of the vehicle at the current location; generating (S110) a feature representation of the image data by processing the image data through an image data encoding network; applying (S116) a scene decoding network to the feature representation of the route data and the feature representation of the image data, wherein the scene decoding network is trained to process feature representations and to output a predicted future path; and providing (S118) a predicted future path of the vehicle ahead of the current location, based on the application of the scene decoding network. The disclosed technology further relates to a device and vehicle thereof.
Need to check novelty before this filing date? Find Prior Art

Description

A METHOD FOR PREDICTING A FUTURE PATH OF A VEHICLE AND A DEVICE THEREOFTECHNICAL FIELD

[0001] The present disclosed technology relates to the field of automated driving systems. In particular, it is related to methods and devices for path prediction ahead of a current location of a vehicle.BACKGROUND

[0002] Path prediction of an ego-vehicle refers to the process by which an autonomous vehicle predicts its own future path or trajectory over a defined distance in the future, based on its current state, environmental conditions, and intended maneuvers. Accurate ego-path prediction is important for safe navigation, collision avoidance, and adherence to traffic rules, especially in dynamic environments such as urban traffic, highways, and intersections. It enables the vehicle to plan optimal driving strategies, adjust speed or lane positioning, and safely interact with other road users and obstacles.

[0003] Traditional ego-path prediction techniques typically rely on sensing the environment in an online fashion. For example, using deep-learning techniques, the future path of the ego-vehicle can be predicted based on a single forward-looking camera image processed through a neural network trained for this purpose. However, relying on more than just sensors can, in certain situations, enhance the system’s capability, e.g. by making it more robust against occlusion, weather and / or lighting conditions.

[0004] Having prior knowledge about the surroundings, e.g. by means of map information, can both improve overall performance and robustness of self-driving functionalities, leading to improved safety and comfort. To this end, so-called high-definition (HD) maps have been employed, as they provide high level of detail, and contain centimeter-level accuracy information, including lane boundaries, road curvature, traffic signs and other types of data useful for controlling the vehicle within its lane. However, these maps are expensive to maintain, computationally heavy to process, and have limited availability in most of the operational domain which autonomous vehicles operates in. There is therefore a need for new and improved ways of performing path prediction in an ego-vehicle.SUMMARY

[0005] The herein disclosed technology seeks to mitigate, alleviate or eliminate one or more of the above-identified deficiencies and disadvantages in the prior art to address various problems relating to future path prediction of an ego-vehicle. More specifically, it is proposed a way of using cheaper and more scalable map data, such as Standard-Definition (SD) maps, to enhance the performance of deep learning-based path prediction tasks. Furthermore, the inventors have realized that with information, in the form of such map data, about a planned route of the vehicle, the path prediction model is able to predict a more accurate future given a certain scenario. Therefore, it is proposed to encode also the planned route of the vehicle to aid or guide the deep-learning based path prediction.

[0006] Various aspects and embodiments of the disclosed technology are defined below and in the accompanying independent and dependent claims.

[0007] According to a first aspect, there is provided a computer-implemented method for predicting a future path of a vehicle, ahead of a current location of said vehicle. The method comprises obtaining route data associated  with a planned route of the vehicle for a defined distance in the future. The method further comprises tokenizing the route data into a sequence of motion tokens. Each motion token defines a direction of motion in relation to a frame of reference of the vehicle. The method further comprises generating a feature representation of the sequence of motion tokens. The method further comprises obtaining image data depicting at least a portion of a surrounding environment ahead of the vehicle at the current location. The method further comprises generating a feature representation of the image data by processing the image data through an image data encoding network. The method further comprises applying a scene decoding network to the feature representation of the route data and the feature representation of the image data. The scene decoding network is trained to process feature representations and to output a predicted future path. The method further comprises providing a predicted future path of the vehicle ahead of the current location, based on the application of the scene decoding network. With this aspect of the disclosed technology, similar advantages and preferred features are present as in the other aspects.

[0008] According to a second aspect, there is provided a computer program product comprising instructions which when the program is executed by a computing device, causes the computing device to carry out the method according to any embodiment of the first aspect. According to an alternative embodiment of the second aspect, there is provided a (non-transitory) computer-readable storage medium. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a processing system, the one or more programs comprising instructions for performing the method according to any embodiment of the first aspect. With this aspect of the disclosed technology, similar advantages and preferred features are present as in the other aspects.

[0009] The term “non-transitory, ” as used herein, is intended to describe a computer-readable storage medium (or “memory” ) excluding propagating electromagnetic signals, but are not intended to otherwise limit the type of physical computer-readable storage device that is encompassed by the phrase computer-readable medium or memory. For instance, the terms “non- transitory computer readable medium” or “tangible memory” are intended to encompass types of storage devices that do not necessarily store information permanently, including for example, random access memory (RAM) . Program instructions and data stored on a tangible computer-accessible storage medium in non-transitory form may further be transmitted by transmission media or signals such as electrical, electromagnetic, or digital signals, which may be conveyed via a communication medium such as a network and / or a wireless link. Thus, the term “non-transitory” , as used herein, is a limitation of the medium itself (i.e., tangible, not a signal) as opposed to a limitation on data storage persistency (e.g., RAM vs. ROM) .

[0010] According to a third aspect, there is provided a computing device for predicting a future path of a vehicle, ahead of a current location of said vehicle. The computing device comprising control circuitry. The control circuitry is configured to obtain route data associated with a planned route of the vehicle for a defined distance in the future. The control circuitry is further configured to tokenize the route data into a sequence of motion tokens. Each motion token defines a direction of motion in relation to a frame of reference of the vehicle. The control circuitry is further configured to generate a feature representation of the sequence of motion tokens. The control circuitry is further configured to obtain image data depicting at least a portion of a surrounding environment ahead of the vehicle at the current location. The control circuitry is further configured to generate a feature representation of the image data by processing the image data through an image data encoding network. The control circuitry is further configured to apply a scene decoding network to the feature representation of the route data and the feature representation of the image data. The scene decoding network is trained to process feature representations and to output a predicted future path. The control circuitry is further configured to provide a predicted future path of the vehicle ahead of the current location, based on the application of the scene decoding network. With this aspect of the disclosed technology, similar advantages and preferred features are present as in the other aspects.

[0011] According to a fourth aspect, there is provided a vehicle. The vehicle comprises an image sensor. The vehicle further comprises the computing device according to any embodiment of the third aspect. With this aspect of the disclosed technology, similar advantages and preferred features are present as in the other aspects.

[0012] The disclosed aspects and preferred embodiments may be suitably combined with each other in any manner apparent to anyone of ordinary skill in the art, such that one or more features or embodiments disclosed in relation to one aspect may also be considered to be disclosed in relation to another aspect or embodiment of another aspect.

[0013] As mentioned above, adding route data to the image data processing can improve the overall performance of the path prediction. Moreover, an advantage of some embodiments is that the path prediction can be made more robust against occlusions, lighting conditions and weather, and with more accurate predictions, which leads to improved comfort and reduces a risk of incidents.

[0014] An advantage of some embodiments is that it provides an efficient tokenization of the route data. Additionally, with this very simple representation of route data, improvements of the prediction accuracy can still be achieved. The disclosed technology thus provides a very efficient and cheap way of improving the path prediction task.

[0015] An advantage of some embodiments is that it provides a tokenization of the route data that is human-interpretable. This can provide for user-specified (i.e. user-input) route data. In other words, the route data can be given by natural language. Tokenization of the route data in a human-interpretable way may thus allow for it to be given by nature language, as an alternative or addition to geometrically defined route data from a map.

[0016] An advantage of some embodiments is that it can leverage lower resolution map data for representing the route data, which are less expensive, more scalable, and easier to maintain than HD map data. Additionally, this can lead to a larger operational design domain of the automated driving system.

[0017] An advantage of some embodiments is that data of different types can easily be encoded and combined with each other, such as combining the route data with sensor data of different sensor modalities.

[0018] An advantage of some embodiments is that the path prediction can be implemented in an easy way with limited compute requirements at inference time, when deployed in the vehicle.

[0019] An advantage of some embodiments is that it can predict both the ego-vehicle’s long-term path and short-term trajectory in one network, using the same input information. Thereby lowering computational demands and providing simplicity.

[0020] Further embodiments are defined in the dependent claims. It should be emphasized that the term “comprises / comprising” when used in this specification is taken to specify the presence of stated features, integers, steps, or components. It does not preclude the presence or addition of one or more other features, integers, steps, components, or groups thereof.

[0021] These and other features and advantages of the disclosed technology will in the following be further clarified with reference to the embodiments described hereinafter.BRIEF DESCRIPTION OF THE DRAWINGS

[0022] The above aspects, features and advantages of the disclosed technology, will be more fully appreciated by reference to the following illustrative and non-limiting detailed description of example embodiments of the present disclosure, when taken in conjunction with the accompanying drawings, in which:

[0023] Figure 1 is a schematic flowchart representation of a method, in accordance with some embodiments;

[0024] Figure 2 is a schematic illustration of a computing device, in accordance with some embodiments;

[0025] Figure 3 is a schematic illustration of a vehicle, in accordance with some embodiments;

[0026] Figure 4 illustrates, by way of example, a processing pipeline in accordance with some embodiments.DETAILED DESCRIPTION

[0027] The present disclosure will now be described in detail with reference to the accompanying drawings, in which some example embodiments of the disclosed technology are shown. The disclosed technology may, however, be embodied in other forms and should not be construed as limited to the disclosed example embodiments. The disclosed example embodiments are provided to fully convey the scope of the disclosed technology to the skilled person. Those skilled in the art will appreciate that the steps, services and functions explained herein may be implemented using individual hardware circuitry, using software functioning in conjunction with a programmed microprocessor or general-purpose computer, using one or more Application Specific Integrated Circuits (ASICs) , using one or more Field Programmable Gate Arrays (FPGA) and / or using one or more Digital Signal Processors (DSPs) .

[0028] It will also be appreciated that when the present disclosure is described in terms of a method, it may also be embodied in apparatus comprising one or more processors, one or more memories coupled to the one or more processors, where computer code is loaded to implement the method. For example, the one or more memories may store one or more computer programs that causes the apparatus to perform the steps, services and functions disclosed herein when executed by the one or more processors in some embodiments.

[0029] It is also to be understood that the terminology used herein is for purpose of describing particular embodiments only, and is not intended to be limiting. It should be noted that, as used in the specification and the  appended claim, the articles "a" , "an" , "the" , and "said" are intended to mean that there are one or more of the elements unless the context clearly dictates otherwise. Thus, for example, reference to "a unit" or "the unit" may refer to more than one unit in some contexts, and the like. Furthermore, the words "comprising" , "including" , "containing" do not exclude other elements or steps. It should be emphasized that the term “comprises / comprising” when used in this specification is taken to specify the presence of stated features, integers, steps, or components. It does not preclude the presence or addition of one or more other features, integers, steps, components, or groups thereof. The term “and / or” is to be interpreted as meaning “both” as well and each as an alternative.

[0030] It will also be understood that, although the term first, second, etc. may be used herein to describe various elements or features, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of the embodiments. The first signal and the second element are both elements, but they are not the same element.

[0031] As used herein, the wording “one or more of” a set of elements (as in “one or more of A, B and C” or “at least one of A, B and C” ) is to be interpreted as either a conjunctive or disjunctive logic. Put differently, it may refer either to all elements, one element or combination of two or more elements of a set of elements. For example, the wording “one or more of A, B and C” may be interpreted as A or B or C, A and B and C, A and B, B and C, or A and C.

[0032] Throughout the present disclosure, reference is made to networks (may also be referred to as models) , such as image data encoding network, scene decoding network, and motion data encoding network. By this, it is herein meant any form of machine learning algorithm, such as deep learning models, neural networks, or the like, which is able to learn and adapt from input data and subsequently make predictions, decisions, or classifications based on new data.

[0033] Deployment of a machine learning model typically involves a training phase where the model learns from labeled or unlabeled training data to achieve accurate predictions during the subsequent inference phase. In general, the training data (and input data during inference) can e.g. be an image, or sequence of images, LIDAR data (i.e. a point cloud) , radar data, or any other form of data. Furthermore, the training / input data may comprise a combination or fusion of one or more different data types. Additionally, or in combination, it may comprise a combination or fusion of two or more instances of the same data types, such as two or more images from different cameras.

[0034] The machine learning model may be implemented in some embodiments using publicly available suitable software development machine learning code elements, for example, such as those which are available in Pytorch, TensorFlow, and Keras, or in any other suitable software development platform, in any manner known to be suitable to someone of ordinary skill in the art.

[0035] As explained in the foregoing, the disclosed technology relates to methods and devices for ego-path prediction of a vehicle. Accurate, long-term path planning and trajectory prediction are important for the successful deployment of automated driving systems in vehicles. For this task, autonomous vehicles can rely on a combination of information from on-board sensors and map information. The disclosed technology leverages deep learning-based approaches, together with encoded information of a planned route of the vehicle, which can be obtained from a relatively low-resolution map or natural language (e.g. from a user input) . The low-resolution map, or navigation map, can be seen as a map on a road network level. For example, the map may identify all major roads in an area, but not necessarily distinguish between different lanes.

[0036] Maps used in autonomous vehicle localization vary significantly in detail, accuracy, and purpose. The most commonly used maps are High Definition (HD) maps and Standard Definition (SD) maps. High Definition Maps have relatively high detailed level and contain centimeter-level accuracy information, including precise lane boundaries, road curvature, traffic  signs, and other essential data for controlling the vehicle within its lane. These maps are highly accurate because it is mainly used for controlling the vehicle in real-time.

[0037] In contrast, Standard Definition Maps offer a lower level of detail, typically focusing on broader road features, such as road geometry, number of lanes, speed limit, traffic direction, and other road-level data. Because of the global level of information stored in the SD maps, they have large coverage which can be used for route planning or other navigational purposes. Thus, HD and SD maps serve complementary roles in autonomous vehicle systems, with HD maps providing the precise, real-time control needed for accurate in-lane positioning, while SD maps offer essential road-level data that aids in broader planning and decision-making tasks.

[0038] The navigation (or navigational) map as used herein, refers to a lower level of detail map, such as SD maps. In other words, the navigation map may be an SD map. It is however to be understood that other maps of similar level of detail are applicable as well. In general, the navigation map may be understood as a map describing the road network. The road network can e.g. be represented by vectors, or a set of lines and / or points. The navigation map may also be referred to as road network map, or vector map.

[0039] Navigation maps for this purpose have several advantages over higher-detail maps, such as HD maps. For example, they change less frequent than HD maps and are thus easier to keep up-to-date, and are less computationally heavy to process, which is important since the vehicle localization has to be done in real-time, and preferably at the edge (i.e. by the ego-vehicle itself) . Even with global coverage, road topology changed frequently, e.g. due to roadwork, resulting in significant remapping costs for keeping an HD map up-to-date. Consequently, the poor scalability of HD maps limits the operational domain of these methods. The disclosed technology therefore has the objective of achieving accurate path prediction leveraging the global-level information provided by navigation maps, such as SD maps. Moreover, it is used to provide route data of a planned route of the vehicle, to further aid in making accurate predictions. The solution is an easy to deploy,  end-to-end approach to joint trajectory prediction and path planning of the ego-vehicle. The planned route is provided as semantic means of information by providing the target roads for the vehicle to travel, given at SD-map level accuracy. It has been found that the planned route is a strong semantic prior for the future path of a vehicle, in improving the prediction performance.

[0040] Figure 1 is a schematic flowchart representation of a computer-implemented method 100 for predicting a future path of a vehicle. The future path being a path ahead of a current location of said vehicle. The future path may be determined over a defined distance or time horizon in the future. It is to be noted that the future path relates to the ego-path of the vehicle, or path of the ego-vehicle. In other words, it is the vehicle’s own future path that is predicted. In the present context, the wording “ego” is used to refer to refer to the vehicle itself, whose behavior, position, and path are being predicted and controlled in relation to its environment. This is thus not to be confused with path prediction of other road users, such as other vehicles, cyclists, pedestrians, animals etc., which serves the purpose of predicting to how these other road users might behave in the future.

[0041] Below, the different steps of the method 100 are described in more detail. Even though illustrated in a specific order, the steps of the method 100 may be performed in any suitable order as well as multiple times. Thus, although Fig. 1 may show a specific order of method steps, the order of the steps may differ from what is depicted. In addition, two or more steps may be performed concurrently or with partial concurrence. For example, the steps denoted S102 and S104 can be performed independently, and thus in any order, from the steps denoted S106 and S108. Such variation will depend on the software and hardware systems chosen and on designer choice. All such variations are within the scope of the invention. Likewise, software implementations could be accomplished with standard programming techniques with rule-based logic and other logic to accomplish the various steps. Further variants of the method 100 will become apparent from the present disclosure. The herein mentioned and described embodiments are only given as examples and should not be limiting to the present invention. Other solutions, uses,  objectives, and functions within the scope of the invention as claimed below described patent claims should be apparent for the person skilled in the art.

[0042] It should be appreciated that the method 100 of Fig. 1 comprises some steps which are illustrated as boxes in solid lines and some steps which are illustrated in dashed lines. The steps which are shown in solid lines are steps which are comprised in the broadest example embodiment of the method 100. The steps which are comprised in dashed lines are examples of a number of optional steps which may form part of a number of alternative embodiments. It should be appreciated that the optional steps need not be performed in order. Furthermore, it should be appreciated that not all of the steps need to be performed. The example steps may be performed in any order and in any combination.

[0043] The method 100 comprises obtaining S102 route data associated with a planned route of the vehicle for a defined distance in the future. Put differently the route data may be indicative of the planned route of the vehicle.

[0044] The term “obtaining” is herein to be interpreted broadly and encompasses receiving, retrieving, collecting, acquiring, and so forth directly and / or indirectly between two entities configured to be in communication with each other or further with other external entities. However, in some embodiments, the term “obtaining” is to be construed as determining, deriving, forming, computing, etc.

[0045] The term "planned route" herein refers to a pre-determined path or sequence of roads road segments, intersections, and waypoints that the vehicle intends to follow to reach a desired destination. The planned route may be based on a user-specified destination. In such case, the planned route can be generated by the vehicle’s navigation system, based on factors such as the starting point (or current location of the vehicle) , destination, map data, traffic conditions, and driving preferences (e.g., shortest time, shortest distance, avoidance of tolls, etc. ) .

[0046] The route data may comprise navigation map data, such as standard-definition map data. The planned route may then be estimated based  on said map data and a current location of the vehicle. Put differently, the route data indicating the planned route may be derived from the map data. More specifically, the planned route (or at least a partial planned route) over the defined distance in the future may be derived from knowledge of the current location of the vehicle and information about the road network ahead. As an illustrative example, if the vehicle is currently travelling along a highway with no exits for the next x kilometers, it can be expected to continue along the same route for at least the next x kilometers.

[0047] In some embodiments, the route data comprises natural language describing the planned path. The route data may thus be obtained from a user (e.g. by the driver) input. As an example, the driver may indicate “turn right at the next intersection” , or “take the next exit” . The text can then be converted to a sequence of motion tokens (as described below) .

[0048] The defined distance for which the planned path is given may vary depending on a specific realization. The defined distance may for instance be set based on how far into the future path of the vehicle should be predicted (i.e. what information horizon is of interest) . As an example, the defined distance may range from a few meters or a few hundred meters, up to an entire distance to a desired destination.

[0049] The method 100 further comprises tokenizing S104 the route data into a sequence of motion tokens. More specifically, the planned route of the vehicle may be tokenized S104 into the sequence of motion tokens. Each motion token defines a direction of motion in relation to a frame of reference of the vehicle. The motion tokens may thus be seen as individual driving instructions, or possible actions, of the vehicle. As an example, the direction of motion may e.g. be “driving straight” , “turning right” , or “turning left” . The direction of motion may further be defined by a degree of turning. In other words, the direction of motion may be defined by an amount of “turning right” or “turning left” . For example, “turning right by 20 degrees” , “turning left by 10 degrees” . In other words, the motion token can be seen as a relative movement of the ego-vehicle between a current position of the ego-vehicle and the  previous position of the ego-vehicle, when the ego-vehicle follows a given route. The motion token can thus be seen as a local relative term.

[0050] The sequence of motion tokens can be seen as a set of consecutive motion tokens. Together, the sequence of motion tokens describes the motion that the vehicle has to do in order to follow the planned route.

[0051] The step of tokenizing S104 the route data may comprise discretizing S104a the planned route of the vehicle into a sequence of motion vectors, and determining S104b a motion token for each motion vector based on an angle of said motion vector in relation to a previous motion vector of the sequence of motion vectors. Put differently, the planned route of the vehicle can be represented by a sequence of vectors. The vectors can have a certain fixed length, depending on a specific realization. The planned route may for instance be represented by a polyline vector representation. A polyline can be defined as a series of connected line segments formed by a sequence of ordered points (nodes) in a two-dimensional or three-dimensional space. Each node is defined by its spatial coordinates, and the polyline represents the continuous path connecting these points in a specified order. The polyline vector representation can thus be represented by a set of geographic coordinates (x, y) , where each coordinate (x, y) corresponds to a point in the polyline. In another example, the polyline can be represented by a sequence of vectors. Each vector connects a pair of neighboring points in the polyline. Moreover, each vector may be defined by a starting point and an ending point.

[0052] Each vector can then be represented by its angle in respect to the previous vector of the sequence of vectors. Each vector can thus be assigned a respective motion token describing the direction of motion of said vector. The motion token can be determined based on a defined threshold of the angle of a vector, in respect to the previous vector. The number of possible motion tokens, and the defined threshold of the angle, can be tuned depending on a specific application.

[0053] The method 100 further comprises generating S106 a feature representation of the sequence of motion tokens. The feature representation (may also be referred to as vector representation, or embedding)  may herein be construed as a representation of data (in this case of the sequence of motion tokens) in the form of a dense, fixed-dimensional vector. Such feature representations are commonly used to convert high-dimensional or complex data into a more meaningful and structured form, that is easier for machine learning models to process and analyze. These representations can capture important features of the data in a way that allows similar data points to be close to each other in the vector space.

[0054] In some embodiments, the feature representation of the sequence of motion tokens is a one-hot encoded vector representation of the sequence of motion tokens. For example, for each motion vector, a “1” is assigned to the assigned motion token, and “0” are assigned for the rest of the possible motion tokens.

[0055] As a non-limiting example, given 3 different motion tokens (e.g. straight, left, right) , and a planned route consisting of a sequence of motion vectors. Each motion vector can then be assigned one one-hot encoded vector (i.e. either [1, 0, 0] , [0, 1, 0] or [0, 0, 1] depending on which motion token is to be assigned) . These vectors can then be aggregated over the sequence of motion vectors and flattened into one vector representation for the entire sequence of motion vectors.

[0056] The method 100 further comprises obtaining S108 image data depicting at least a portion of a surrounding environment ahead of the vehicle at the current location. The image data may be captured by onboard sensors of the vehicle. The image data may be a single camera image captured by an onboard image sensor of the vehicle.

[0057] The surrounding environment of the vehicle can be understood as a general area around the ego-vehicle in which objects (such as other vehicles, landmarks, obstacles, etc. ) can be detected and identified by vehicle sensors (radar, LIDAR, cameras, etc. ) , i.e. within a sensor range of the ego-vehicle.

[0058] In the present context, a “sensor” or "sensor device" refers to a specialized component or system that is designed to capture and gather information from the vehicle's surroundings. These sensors play a crucial role in  enabling the ADS to perceive and understand their environment, make informed decisions, and navigate safely. Sensor devices are typically integrated into the autonomous vehicle's hardware and software systems to provide real-time data for various tasks such as obstacle detection, localization, road model estimation, and object recognition. Common types of sensor devices used in autonomous driving include LiDAR (Light Detection and Ranging) , Radar, Cameras, and Ultrasonic sensors. LiDAR sensors use laser beams to measure distances and create high-resolution 3D maps of the vehicle's surroundings. Radar sensors use radio waves to determine the distance and relative speed of objects around the vehicle. Camera sensors capture visual data, allowing the vehicle's computer system to recognize traffic signs, lane markings, pedestrians, and other vehicles. Ultrasonic sensors use sound waves to measure proximity to objects. Various machine learning algorithms (such as e.g., artificial neural networks) may be employed to process the output from the sensors to make sense of the environment.

[0059] The method 100 further comprises generating S110 a feature representation of the image data by processing the image data through an image data encoding network. The image data encoding network may thus be trained to encode image data into feature representations. The image data can be fed to the image data encoding network, which outputs a corresponding feature representation. More details about the networks referred to herein, will be presented below in connection with Fig. 4.

[0060] The method further comprises applying S116 a scene decoding network to the feature representation of the route data and the feature representation of the image data. The scene decoding network is trained to process feature representations and to output a predicted future path. Put differently, the feature representations of the route data and of the image data are processed through the scene decoding network, to generate an output.

[0061] The step of applying S116 the scene decoding network may comprises generating S116a a fused representation by fusing the feature representation of the route data with the feature representation of the image data, and feeding S116b the fused representation to the scene decoding  network. The fused representation may be generated by concatenating the feature representations of the route data and of the image data. Alternatively, or in combination, the fused representation may be generated though a learned process of fusing feature representations of different modalities. For example, the fused representation may weigh the feature representations of the different modalities differently, depending on modality type and their importance for the results. In another example, the learned process may be an attention based fusion process, e.g. leveraging cross attention between the different modalities.

[0062] The method 100 further comprises providing S118 a predicted future path of the vehicle ahead of the current location, based on the application of the scene decoding network. The predicted future path may be provided S118 as output from the scene decoding network. The future path may be predicted over the same defined distance in the future as the planned route describes. It is however to be noted that the future path may be predicted over a different distance as well.

[0063] In some embodiments, the method 100 further comprises obtaining S112 motion data of the vehicle. The motion data may be indicative of one or more dynamic states of the vehicle at the current location. The dynamic states of the vehicle may e.g. encompass one or more of position, orientation, velocity, acceleration, jerk, steering angle, yaw rate, and time. The motion data may for example be obtained from an inertial measurement unit (IMU) of the vehicle. The method 100 may further comprise generating S114 a feature representation of the motion data by processing the motion data through a motion data encoding network. The motion data encoding network may thus be trained to process motion data, and to output corresponding feature representations.

[0064] The scene decoding network may be further applied S116 to the feature representation of the motion data. In other words, the step of applying S116 the scene decoding network may further comprise applying the scene decoding network to the feature representation of the motion data (i.e. in addition to the feature representation of the route data and of the image data) .

[0065] The above-mentioned step of generating S116a the fused representation may further comprise fusing the feature representation of the motion data. In other words, the fused representation may be formed by the feature representations of the route data, of the image data, and of the motion data.

[0066] The predicted future path of the vehicle, provided based on the application S116 of the scene decoding network, may then comprise a predicted trajectory of the vehicle. Put differently, the predicted future path may comprise information about a time-dependence, as further explained below. Thereby making it indicative of a predicted trajectory. In other words, the scene decoding network may provide information from which a predicted future path and / or a future trajectory of the vehicle can be derived. By the wording “trajectory” of the vehicle, it is herein meant a time-dependent (or temporal) path of the vehicle. More specifically, the “path” refers to a geometric or spatial course or line that the vehicle travels along. It can be represented by a sequence of positions (e.g., in two-or three-dimensional space) of the vehicle over a certain distance. The trajectory, on the other hand, includes not only the spatial positions (similar to the path) but also the vehicle’s dynamics, such as velocity, acceleration, and orientation at each point along the path, and over time. It defines when and how the vehicle should move along the path, taking into account time, speed profiles, and smooth transitions between points. The trajectory can thus be seen as a spatiotemporal path. The predicted future path provided S118 by the method 100 may thus be a spatial path, a spatiotemporal path (i.e. a trajectory) , or both a spatial path and a spatiotemporal path. The step denoted S118 may thus be formulated as “providing a predicted future path of the vehicle ahead of the current location, based on the application of the scene decoding network” , “providing a predicted trajectory of the vehicle ahead of the current location, based on the application of the scene decoding network” , or “providing a predicted future path, and a predicted trajectory of the vehicle ahead of the current location, based on the application of the scene decoding network” .

[0067] The path and trajectory of the vehicle may be predicted over different distances ahead of the vehicle, i.e. over different time-horizons. Typically, the predicted future path of the vehicle is predicted for a longer distance ahead of the vehicle, than the predicted trajectory.

[0068] The predicted future path and / or the predicted trajectory of the vehicle may be provided to a subsequent self-driving task or transmitted to a subsystem of the automated driving system.

[0069] Executable instructions for performing these functions are, optionally, included in a non-transitory computer-readable storage medium or other computer program product configured for execution by one or more processors.

[0070] Generally speaking, a computer-accessible medium may include any tangible or non-transitory storage media or memory media such as electronic, magnetic, or optical media-e.g., disk or CD / DVD-ROM coupled to computer system via bus. The terms “tangible” and “non-transitory, ” as used herein, are intended to describe a computer-readable storage medium (or “memory” ) excluding propagating electromagnetic signals, but are not intended to otherwise limit the type of physical computer-readable storage device that is encompassed by the phrase computer-readable medium or memory. For instance, the terms “non-transitory computer-readable medium” or “tangible memory” are intended to encompass types of storage devices that do not necessarily store information permanently, including for example, random access memory (RAM) . Program instructions and data stored on a tangible computer-accessible storage medium in non-transitory form may further be transmitted by transmission media or signals such as electrical, electromagnetic, or digital signals, which may be conveyed via a communication medium such as a network and / or a wireless link.

[0071] Figure 2 is a schematic illustration of a computing device 200, in accordance with some embodiments of the disclosed technology. The computing device 200 may be configured to perform the method 100 as described in connection with Fig. 1. Thus, the computing device 200 may be a  computing device 200 for predicting a future path of a vehicle, ahead of a current location of said vehicle.

[0072] The computing device 200 as described herein, refers to a computer system, or any device or general computing system configured to perform various functions. Even though the computing device 200 is herein illustrated as one device, the computing device 200 may be a distributed computing system, formed by a number of different devices.

[0073] The computing device 200 comprises control circuitry 202. The control circuitry 202 may physically comprise one single circuitry device. Alternatively, the control circuitry 202 may be distributed over several circuitry devices.

[0074] As shown in the example of Fig. 2, the computing device 200 may further comprise a transceiver 206 and a memory 208. The control circuitry 202 being communicatively connected to the transceiver 206 and the memory 208. The control circuitry 202 may comprise a data bus, and the control circuitry 202 may communicate with the transceiver 206 and / or the memory 208 via the data bus.

[0075] The control circuitry 202 may be configured to carry out overall control of functions and operations of the computing device 200. The control circuitry 202 may include a processor 204, such as a central processing unit (CPU) , microcontroller, or microprocessor. The processor 204 may be configured to execute program code stored in the memory 208, in order to carry out functions and operations of the computing device 200. The control circuitry 202 is configured to perform the steps of the method 100 as described above in connection with Fig. 1. The steps may be implemented in one or more functions stored in the memory 208.

[0076] The transceiver 206 is configured to enable the computing device 200 to communicate with other entities, such as vehicles or other devices. The transceiver 206 may both transmit data from and receive data to the computing device 200.

[0077] The memory 208 may be a non-transitory computer-readable storage medium. The memory 208 may be one or more of a buffer, a  flash memory, a hard drive, a removable media, a volatile memory, a non-volatile memory, a random access memory (RAM) , or another suitable device.

[0078] In a typical arrangement, the memory 208 may include a non-volatile memory for long-term data storage and a volatile memory that functions as system memory for the computing device 200. The memory 208 may exchange data with the circuitry 202 over the data bus. Accompanying control lines and an address bus between the memory 208 and the circuitry 202 also may be present.

[0079] Functions and operations of the computing device 200 may be implemented in the form of executable logic routines (e.g., lines of code, software programs, etc. ) that are stored on a non-transitory computer readable recording medium (e.g., the memory 208) of the computing device 200 and are executed by the circuitry 202 (e.g., using the processor 204) . Put differently, when it is stated that the circuitry 202 is configured to execute a specific function, the processor 204 of the circuitry 202 may be configured execute program code portions stored on the memory 208, wherein the stored program code portions correspond to the specific function. Furthermore, the functions and operations of the circuitry 202 may be a stand-alone software application or form a part of a software application that carries out additional tasks related to the circuitry 202. The described functions and operations may be considered a method that the corresponding device is configured to carry out, such as the method 100 discussed above in connection with Fig. 1. In addition, while the described functions and operations may be implemented in software, such functionality may as well be carried out via dedicated hardware or firmware, or some combination of one or more of hardware, firmware, and software. In the following, the function and operations of the computing device 200 is described.

[0080] The control circuitry 202 is configured to obtain route data associated with a planned route of the vehicle for a defined distance in the future. This may be performed e.g. by execution of a first obtaining function 210.

[0081] The control circuitry 202 is further configured to tokenize the route data into a sequence of motion tokens. Each motion token defines a  direction of motion in relation to a frame of reference of the vehicle. This may be performed e.g. by execution of a tokenization function 212.

[0082] The control circuitry 202 is further configured to generate a feature representation of the sequence of motion tokens. This may be performed e.g. by execution of a first generating function 214.

[0083] The control circuitry 202 is further configured to obtain image data depicting at least a portion of a surrounding environment ahead of the vehicle at the current location. This may be performed e.g. by execution of a second obtaining function 216. It is to be noted that the first and second obtaining function can be implemented as two separate functions, or as one common obtaining function.

[0084] The control circuitry 202 is further configured to generate a feature representation of the image data by processing the image data through an image data encoding network. This may be performed e.g. by execution of a second generating function 218. It is to be noted that the first and second generating function can be implemented as two separate functions, or as one common generating function.

[0085] The control circuitry 202 is further configured to apply a scene decoding network to the feature representation of the route data and the feature representation of the image data. The scene decoding network is trained to process feature representations and to output a predicted future path. This may be performed e.g. by execution of an applying function 220.

[0086] The control circuitry 202 is further configured to provide a predicted future path of the vehicle ahead of the current location, based on the application of the scene decoding network. This may be performed e.g. by execution of a providing function 222.

[0087] It should be noted that the principles, features, aspects, and advantages of the method 100 as described above in connection with Fig. 1, are applicable also to the computing device 200 as described herein. In order to avoid undue repetition, reference is made to the above. Hence, the control circuitry may be configured to perform any of the steps as described as part of the method 100.

[0088] Figure 3 is a schematic illustration of a vehicle 300 in accordance with some embodiments. The vehicle 300 may be equipped with an Automated Driving System (ADS) 310. As used herein, a “vehicle” is any form of motorized transport. For example, the vehicle 300 may be any road vehicle such as a car (as illustrated herein) , a motorcycle, a (cargo) truck, a bus, a smart bicycle, etc. The vehicle 300 is configured to perform the steps of the method 100 as described above. Put differently, the computing device 200 may be provided as part of the vehicle 300.

[0089] In the present context, an Automated Driving System (ADS) refers to a complex combination of hardware and software components designed to control and operate a vehicle without direct human intervention. ADS technology aims to automate various aspects of driving, such as steering, acceleration, deceleration, and monitoring of the surrounding environment. The primary goal of an ADS is to enhance safety, efficiency, and convenience in transportation. An ADS can range from basic driver assistance systems to highly advanced autonomous driving systems, depending on its level of automation, as classified by standards like the SAE J3016. These systems use a variety of sensors, cameras, radar, lidar, and powerful computer algorithms to perceive the environment and make driving decisions. The specific capabilities and features / functions of an ADS can vary widely, from systems that provide limited assistance to those that can handle complex driving tasks independently in specific conditions.

[0090] Advanced Driver Assistance Systems (ADAS) are technologies that assist drivers in the driving process, though they do not necessarily offer full autonomy. ADAS features often serve as building blocks for ADS. Examples include adaptive cruise control, lane-keeping assist, automatic emergency braking, and parking assistance. They enhance safety and convenience but typically require some level of human supervision and intervention. On the other hand, Autonomous Driving (AD) are technologies that are designed to control and navigate a vehicle without human supervision. Accordingly, it can be said that distinction between ADAS and AD lies in the level of autonomy and control. ADAS systems are designed to aid and support  drivers, while an ADS aims to take full control of the vehicle without requiring constant human oversight. AD accordingly aims for higher levels of autonomy (such as Levels 4 and 5, according to the SAE International standard) , where the vehicle can operate independently in most or all driving scenarios without human intervention. As mentioned in the foregoing, the term “ADS” in used herein as an umbrella term encompassing both ADAS and AD. An ADS function or ADS feature may in the present context be understood as a specific function or feature of the entire ADS stack, such as e.g., a Highway Pilot feature, a Traffic-Jam pilot feature, a path planning feature, and so forth.

[0091] The vehicle 300 comprises a number of elements which can be commonly found in autonomous or semi-autonomous vehicles. It will be understood that the vehicle 300 can have any combination of the various elements shown in Fig. 3. Moreover, the vehicle 300 may comprise further elements than those shown in Fig. 3. While the various elements are herein shown as located inside the vehicle 300, one or more of the elements can be located externally to the vehicle 300. Further, even though the various elements are herein depicted in a certain arrangement, the various elements may also be implemented in different arrangements, as readily understood by the skilled person. It should be further noted that the various elements may be communicatively connected to each other in any suitable way. The vehicle 300 of Fig. 3 should be seen merely as an illustrative example, as the elements of the vehicle 300 can be realized in several different ways.

[0092] The vehicle 300 comprises a control system 302. The control system 302 is configured to carry out overall control of functions and operations of the vehicle 300. The control system 302 comprises control circuitry 304 and a memory 306. The control circuitry 302 may physically comprise one single circuitry device. Alternatively, the control circuitry 302 may be distributed over several circuitry devices. As an example, the control system 302 may share its control circuitry 304 with other parts of the vehicle. The control circuitry 302 may comprise one or more processors, such as a central processing unit (CPU) , microcontroller, or microprocessor. The one or more processors may be configured to execute program code stored in the memory  306, in order to carry out functions and operations of the vehicle 300. The processor (s) may be or include any number of hardware components for conducting data or signal processing or for executing computer code stored in the memory 306. In some embodiments, the control circuitry 304, or some functions thereof, may be implemented on one or more so-called system-on-a-chips (SoC) . As an example, the ADS 310 may be implemented on a SoC. The memory 306 optionally includes high-speed random-access memory, such as DRAM, SRAM, DDR RAM, or other random-access solid-state memory devices; and optionally includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. The memory 306 may include database components, object code components, script components, or any other type of information structure for supporting the various activities of the present description.

[0093] In the illustrated example, the memory 306 further stores map data 308. The map data 308 may for instance be used by the ADS 310 of the vehicle 300 in order to perform autonomous functions of the vehicle 300. The map data 308 may comprise high-definition (HD) map data and / or standard-definition (SD) map data. It is contemplated that the memory 308, even though illustrated as a separate element from the ADS 310, may be provided as an integral element of the ADS 310. In other words, according to some embodiments, any distributed or local memory device may be utilized in the realization of the present inventive concept. Similarly, the control circuitry 304 may be distributed e.g. such that one or more processors of the control circuitry 304 is provided as integral elements of the ADS 310 or any other system of the vehicle 300. In other words, according to an exemplary embodiment, any distributed or local control circuitry device may be utilized in the realization of the disclosed technology.

[0094] The vehicle 300 further comprises a sensor system 320. The sensor system 320 is configured to acquire sensory data about the vehicle itself, or of its surroundings. The sensor system 320 may for example comprise a Global Navigation Satellite System (GNSS) module 322 (such as a GPS)  configured to collect geographical position data of the vehicle 300. The sensor system 320 may further comprise one or more sensors 324. The one or more sensor (s) 324 may be any type of on-board sensors, such as one or more image sensors (i.e. cameras) , LIDARs and RADARs, ultrasonic sensors, gyroscopes, accelerometers, odometers etc. It should be appreciated that the sensor system 320 may also provide the possibility to acquire sensory data directly or via dedicated sensor control circuitry in the vehicle 300.

[0095] The vehicle 300 further comprises a communication system 326. The communication system 326 is configured to communicate with external units, such as other vehicles (i.e. via vehicle-to-vehicle (V2V) communication protocols) , remote servers (e.g. cloud servers as the devices described above in connection with Fig. 3 and 4) , databases or other external devices, i.e. vehicle-to-infrastructure (V2I) or vehicle-to-everything (V2X) communication protocols. The communication system 326 may communicate using one or more communication technologies. The communication system 326 may comprise one or more antennas. Cellular communication technologies may be used for long-range communication such as to remote servers or cloud computing systems. In addition, if the cellular communication technology used have low latency, it may also be used for V2V, V2I or V2X communication. Examples of cellular radio technologies are GSM, GPRS, EDGE, LTE, 5G, 5G NR, and so on, also including future cellular solutions. However, in some solutions mid to short-range communication technologies may be used such as Wireless Local Area (LAN) , e.g. IEEE 802.11 based solutions, for communicating with other vehicles in the vicinity of the vehicle 300 or with local infrastructure elements. ETSI is working on cellular standards for vehicle communication and for instance 5G is considered as a suitable solution due to the low latency and efficient handling of high bandwidths and communication channels.

[0096] The communication system 326 may further provide the possibility to send output to a remote location (e.g. remote server, operator or control center) by means of the one or more antennas. Moreover, the communication system 326 may be further configured to allow the various elements of the vehicle 300 to communicate with each other. As an example,  the communication system may provide a local network setup, such as CAN bus, I2C, Ethernet, optical fibers, and so on. Local communication within the vehicle may also be of a wireless type with protocols such as WiFi, LoRa, Zigbee, Bluetooth, or similar mid / short range technologies.

[0097] The vehicle 300 further comprises a maneuvering system 320. The maneuvering system 328 is configured to control the maneuvering of the vehicle 300. The maneuvering system 328 comprises a steering module 330 configured to control the heading of the vehicle 300. The maneuvering system 328 further comprises a throttle module 332 configured to control actuation of the throttle of the vehicle 300. The maneuvering system 328 further comprises a braking module 334 configured to control actuation of the brakes of the vehicle 300. The various modules of the steering system 328 may receive manual input from a driver of the vehicle 300 (i.e. from a steering wheel, a gas pedal and a brake pedal respectively) . However, the maneuvering system 328 may be communicatively connected to the ADS 310 of the vehicle, to receive instructions on how the various modules should act. Thus, the ADS 310 can control the maneuvering of the vehicle 300.

[0098] As mentioned above, the vehicle 300 comprises an ADS 310. The ADS 310 may be part of the control system 302 of the vehicle. The ADS 310 is configured to carry out the functions and operations of the autonomous functions of the vehicle 300. The ADS 310 can comprise a number of modules, where each module is tasked with different functions of the ADS 310.

[0099] The ADS 310 may comprise a localization module 312 or localization block / system. The localization module 312 is configured to determine and / or monitor a geographical position and heading of the vehicle 300, and may utilize data from the sensor system 320, such as data from the GNSS module 322. Alternatively, or in combination, the localization module 312 may utilize data from the one or more sensors 324. The localization system may alternatively be realized as a Real Time Kinematics (RTK) GPS.

[0100] The ADS 310 may further comprise a perception module 314 or perception block / system. The perception module 314 may refer to any  commonly known module and / or functionality, e.g. comprised in one or more electronic control modules and / or nodes of the vehicle 300, adapted and / or configured to interpret sensory data -relevant for driving of the vehicle 300 -to identify e.g. obstacles, vehicle lanes, relevant signage, appropriate navigation paths etc. The perception module 314 may thus be adapted to rely on and obtain inputs from multiple data sources, such as automotive imaging, image processing, computer vision, and / or in-car networking, etc., in combination with sensory data e.g. from the sensor system 320. The production model, as referred to above, may be provided as part of the ADS 310, or more specifically as part of the perception module 314.

[0101] The localization module 312 and / or the perception module 314 may be communicatively connected to the sensor system 320 in order to receive sensor data from the sensor system 320. The localization module 312 and / or the perception module 314 may further transmit control instructions to the sensor system 320.

[0102] The ADS may further comprise a path planning module 316. The path planning module 316 is configured to determine a planned path of the vehicle 300. This may be done through the steps described above, in connection with Fig. 1. The computing device 200 described in connection with Fig. 2 may be provided as part of the path planning module 316. It is however to be noted, that the computing device 200 may be provided as part of another system as well, or distributed over several systems. The control circuitry 202 of the computing device 200 may for instance be shared by the control circuitry 304 of the vehicle’s 300 control system 302. A planned path determined by the path planning module 316 may be sent to the maneuvering system 328 for execution.

[0103] The ADS may further comprise a decision and control module 318. The decision and control module 318 is configured to perform the control and make decisions of the ADS 310. For example, the decision and control module 318 may decide on whether the planned path determined by the path-planning module 316 should be executed or not. The decision and control module 318 may be further configured to detect any deviating behavior of the  vehicle, such as deviations from the planned path, or expected trajectory of the path planning module 316. This includes both evasive maneuvers performed by the ADS 310 and by a driver of the vehicle.

[0104] It should be understood that parts of the described solution may be implemented either in the vehicle 300, in a system located external to the vehicle, or in a combination of internal and external to the vehicle; for instance, in a server in communication with the vehicle, a so-called cloud solution. The different features and principles of the embodiments may be combined in other combinations than those described. Further, the elements of the vehicle 300 (i.e. the systems and modules) may be implemented in different combinations than those described herein. As an example, the process of training the image data encoding network, the motion data encoding network, and the scene decoding network may be performed in the server. Once trained, the networks may be deployed in the vehicle.

[0105] Figure 4 illustrates, by way of example, a processing pipeline (or overall model architecture) in accordance with some embodiments.

[0106] As explained in the foregoing, image data 402a and route data 402b are obtained as input to the model. Optionally, also motion data 402c can be obtained as input. In the present illustration, dashed or broken lines are used to represent optional parts of the processing pipeline.

[0107] Each of the inputs are processed to generate respective feature representations 406a-c.

[0108] For the image data 402a, this can be done by processing the image data 402a through an image data encoding network 404a. The image data network then outputs a feature representation 406a for the image data. The image encoding network may for instance be a convolutional neural network (CNN) , or a Vision Transformer (ViT) model. It should however be appreciated that any network architecture commonly used for image encoding can be used in the present technology.

[0109] For the route data 402b, this can e.g. be done by converting the sequence of motion tokens 404b into a one-hot encoded vector representation. The resulting one-hot encoded vector representation then forms  the feature representation 406b of the route data. As another example, different numerical numbers can be used to represent the different motion tokens. For example, 0 for “left” , 1 for “straight” and 2 for “right” .

[0110] For the motion data 402c, this can be done by processing the motion data 402c through a motion data encoding network 404c. The motion data encoding network 404c then outputs a feature representation 406c of the motion data. The motion data encoding network 404c may be a recurrent neural network (RNN) , such as the so called Gated Recurrent Unit (GRU) . However, other RNNs are possible as well. As another example, the motion data encoding network 404c may be a LSTM-based network, or a transformed-based network.

[0111] As shown in Fig. 4, two different processing options for generating a prediction is shown, the first indicated by solid lines, and the second by broken lines. Fig. 4 further shows an alternative second option, illustrated by dash-dot lines.

[0112] In the first option, the feature representation 406a of the image data and the feature representation 406b of the route data are processed together through a scene decoding network 410. The scene decoding network then outputs a predicted future path 412 of the vehicle. As an intermediate step, a fused representation 408 of the image data and the route data can be formed, and then fed as input to the scene decoding network 410. Herein, the fusion is illustrated as a concatenation of the two feature representations, although other fusion options are possible as well. Optionally, the feature representation 406c of the motion data may also be processed through the scene decoding network 410 for the purpose of predicting the future path 412 of the vehicle. This may aid in producing more accurate path predictions.

[0113] In the second option, the feature representation 406a of the image data, the feature representation 406b of the route data and the feature representation 406c of the motion data are processed together through a scene decoding network 410. The scene decoding network can then also output a predicted trajectory 412’ of the vehicle. As an intermediate step, a fused representation 408’ of the image data, the route data, and the motion data can be formed, and then fed as input to the scene decoding network 410.

[0114] An alternative second option for generating a predicted trajectory 412’ is shown by dash-dot lines. In this option, the predicted future path 412 as outputted by the scene decoding network, according to the first option above, may be combined with the feature representation of the image data and the feature representation of the motion data (as shown by a fused feature representation 408” ) , and processed through the scene decoding network 410 to generate the predicted trajectory 412’ of the vehicle. In other words, the predicted future path 412 may be fed back to the scene decoding network 410 together with the feature representations of the image data and the motion data to generate the predicted trajectory 412’ of the vehicle. Thus, the predicted trajectory 412’ can be determined through a two-step process of first predicting the future path 412, and then predicting the trajectory 412’ , based at least partly on the predicted future path 412.

[0115] In the illustrated example, the image data, the route data and the motion data are all encoded by separate processes. The different encoding networks may however be trained together, so as to relate to a common vector space.

[0116] It is further be noted that even though the image data, route data and motion data are herein shown as being encoded by separate networks, a single encoding network may be used as an alternative, to directly form a fused feature representation of the different data modalities. In other words, a single encoding network may directly receive the image data, the route data, and / or the motion data as input, and output a fused feature representation.

[0117] The scene decoding network 410 may thus be trained to predict the future path of the vehicle, and optionally also a future trajectory of the vehicle. It is however to be noted that the scene decoding network 410 may comprise two separate sub-networks, one for predicting the future path and the other one for predicting the future trajectory. The scene decoding network 410 may be any suitable neural network that can take feature representations as input, and generate a predicted future path and / or trajectory of a vehicle. For example, the scene decoding network 410 can comprise a number of fully connected layers, such as a so-called Multilayer Perceptron (MLP) .

[0118] The image data encoding network 404a, the motion data encoding network 404c and the scene decoding network 410 may be trained together, in an end-to-end manner. A loss during training can be based on a difference between the predicted future path and a ground truth.

[0119] The disclosed technology has been presented above with reference to specific embodiments. However, other embodiments than the above described are possible and within the scope of the invention. Different method steps than those described above, performing the methods by hardware or software, may be provided within the scope of the invention. Thus, according to an exemplary embodiment, there is provided a non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a vehicle control system, the one or more programs comprising instructions for performing the methods according to any one of the above-discussed embodiments. Alternatively, according to another exemplary embodiment a cloud computing system can be configured to perform any of the methods presented herein. The cloud computing system may comprise distributed cloud computing resources that jointly perform the methods presented herein under control of one or more computer program products.

[0120] It should be noted that any reference signs do not limit the scope of the claims, that the invention may be at least in part implemented by means of both hardware and software, and that the same item of hardware may represent several “means”or “units”.

Claims

1.A computer-implemented method (100) for predicting a future path of a vehicle, ahead of a current location of said vehicle, the method (100) comprising:obtaining (S102) route data associated with a planned route of the vehicle for a defined distance in the future;tokenizing (S104) the route data into a sequence of motion tokens, wherein each motion token defines a direction of motion in relation to a frame of reference of the vehicle;generating (S106) a feature representation of the sequence of motion tokens;obtaining (S108) image data depicting at least a portion of a surrounding environment ahead of the vehicle at the current location;generating (S110) a feature representation of the image data by processing the image data through an image data encoding network;applying (S116) a scene decoding network to the feature representation of the route data and the feature representation of the image data, wherein the scene decoding network is trained to process feature representations and to output a predicted future path; andproviding (S118) a predicted future path of the vehicle ahead of the current location, based on the application of the scene decoding network.2.The method (100) according to claim 1, wherein the feature representation of the sequence of motion tokens is a one-hot encoded vector representation of the sequence of motion tokens.3.The method (100) according to claim 1 or 2, wherein tokenizing (S104) the route data comprises:discretizing (S104a) the planned route of the vehicle into a sequence of motion vectors; anddetermining (S104b) a motion token for each motion vector based on an angle of said motion vector in relation to a previous motion vector of the sequence of motion vectors.4.The method (100) according to any one of the claims 1 to 3, wherein applying (S116) the scene decoding network comprises:generating (S116a) a fused representation by fusing the feature representation of the route data with the feature representation of the image data; andfeeding (S116b) the fused representation to the scene decoding network.5.The method (100) according to any one of the claims 1 to 4, wherein the method (100) further comprises:obtaining (S112) motion data of the vehicle, wherein the motion data is indicative of one or more dynamic states of the vehicle at the current location;generating (S114) a feature representation of the motion data by processing the motion data through a motion data encoding network;wherein the scene decoding network is further applied (S116) to the feature representation of the motion data; andwherein the predicted future path of the vehicle comprises a predicted trajectory of the vehicle.6.The method (100) according to claim 5, when dependent on claim 4, wherein generating (S116a) the fused representation further comprising fusing the feature representation of the motion data.7.The method (100) according to any one of the claims 1 to 6, wherein the direction of motion is selected from a group comprising driving straight, turning right, and turning left.8.The method (100) according to claim 7, wherein the direction of motion is further defined by a degree of turning.9.The method (100) according to any one of the claims 1 to 8, wherein the image data is a single camera image captured by an onboard image sensor of the vehicle.10.The method (100) according to any one of the claims 1 to 9, wherein the planned route is based on a user-specified destination.11.The method (100) according to any one of the claims 1 to 10, wherein the route data comprises standard-definition map data.12.The method (100) according to claim 11, wherein the planned route is estimated based on the standard-definition map data and the current location of the vehicle.13.A computer program product comprising instructions, which when the program is executed by a computing device, causes the computing device to carry out the method (100) according to any one of the claims 1 to 12.14.A computing device (200) for predicting a future path of a vehicle, ahead of a current location of said vehicle, the computing device (200) comprising control circuitry (202) configured to:obtain route data associated with a planned route of the vehicle for a defined distance in the future;tokenize the route data into a sequence of motion tokens, wherein each motion token defines a direction of motion in relation to a frame of reference of the vehicle;generate a feature representation of the sequence of motion tokens;obtain image data depicting at least a portion of a surrounding environment ahead of the vehicle at the current location;generate a feature representation of the image data by processing the image data through an image data encoding network;apply a scene decoding network to the feature representation of the route data and the feature representation of the image data, wherein the scene decoding network is trained to process feature representations and to output a predicted future path; andprovide a predicted future path of the vehicle ahead of the current location, based on the application of the scene decoding network.15.A vehicle (300) comprising an image sensor, and the computing device (200) according to claim 14.

Citation Information

Patent Citations

  • Agent trajectory planning using neural networks

    US20230040006A1