Uncertainty-aware Short-term Motion Prediction of Traffic Actors for Autonomous Driving

Uncertainty-aware Short-term Motion Prediction of Traffic Actors for Autonomous Driving


We address one of the crucial aspects necessary for safe and efficient operations of autonomous vehicles, namely predicting future state of traffic actors in the autonomous vehicle’s surroundings. We introduce a deep learning-based approach that takes into account a current world state and produces raster images of each actor’s vicinity. The rasters are then used as inputs to deep convolutional models to infer future movement of actors while also accounting for and capturing inherent uncertainty of the prediction task. Extensive experiments on real-world data strongly suggest benefits of the proposed approach. Moreover, following completion of the offline tests the system was successfully tested onboard self-driving vehicles.


1 Introduction

Driving a motor vehicle is a complex undertaking, requiring drivers to understand involved multi-actor scenes in real time and act upon rapidly changing environment within a fraction of a second (actor is a term referring to any vehicle, pedestrian, bicycle, or other potentially moving object). Unfortunately, humans are infamously ill-fitted for the task, as sadly corroborated by grim road statistics that often worsen year after year. Traffic accidents were the number four cause of death in the US in 2015, accounting for more than of the total [31]. In addition, despite large investments by governments and progress made in traffic safety technologies, in the US the year 2017 was still one of the deadliest years for motorists in the past decade [33]. Moreover, human error is responsible for up to of crashes [41], suggesting that removing the unreliable human factor could potentially save hundreds of thousands of lives and tens of billions of dollars in accident-related damages and medical expenses [6].

Latest breakthroughs in AI and high-performance computing, delivering powerful hardware at lower costs, unlocked the potential to reverse the negative safety trend on our public roads. In particular, together they gave rise to a development of the self-driving technology, where driving decisions are entrusted to a computer aboard a self-driving vehicle (SDV), equipped with a number of external sensors and capable of processing large amounts of information at speeds and throughputs far surpassing human capabilities. Once mature the technology is expected to drastically improve road safety and redefine the very way we organize transportation and our lives [36]. To this end, the industry and governments are working closely to fulfill this potential and bring the SDVs to consumers, with companies such as Waymo, Uber, and Lyft investing significant resources into autonomous research, and states such as Texas, Pennsylvania, and California enacting necessary legal frameworks. Nevertheless, autonomous driving is still in initial development phases, with a number of challenges lying ahead of the researchers.

Figure 1: Complex intersection scene handled by our model; (a) scene in a 3D viewer, with lane boundaries, surrounding actors, and actor of interest (indicated in yellow); (b) rasterized surroundings of the actor of interest (colored red) in bird’s-eye view used as an input to CNN; (c) raster with overlaid ground-truth (dotted green line) and predicted (dotted blue line) 3s-trajectories

To safely deploy SDVs to public roads one must solve a sequence of tasks that include detection and tracking of actors in SDV’s surroundings, predicting their future trajectories, as well as navigating the SDV safely and effectively towards its intended destination while taking into account current and future states of the actors. We focus on a critical component of this pipeline, predicting future trajectories of tracked vehicles (in the following we use vehicle and actor interchangeably), where a working detection and tracking system is assumed. Our main contributions are as follows:

  • We propose to rasterize high-definition maps and surroundings of each vehicle in SDV’s vicinity, thus providing complete context and information necessary for accurate prediction of future trajectory;

  • We trained deep convolutional neural network (CNN) to predict short-term vehicle trajectories, while accounting for inherent uncertainty of motion in road traffic;

  • Large-scale evaluation on real-world data showed that the system provides accurate predictions and well-calibrated uncertainties, indicating its practical benefits;

  • Following extensive offline testing, the system was successfully tested onboard self-driving vehicles.

Example of a complex scene is shown in Figure 1, where Fig. 1a shows the scene in our internal 3D viewer, Fig. 1b shows the rasterized 2D image (or raster) used as a model input, while Fig. 1c shows 3-second ground-truth and predicted trajectories. Actor whose context corresponds to the raster is referred to as actor of interest. We can see that the method uses rasterization of surrounding map and actors to accurately predict actor movement in a dynamic environment.

2 Related work

In the past decade a number of methods were proposed to predict future motion of traffic actors. Comprehensive overview of the topic can be found in [30, 47]. Here, we review literature from the perspective of autonomous driving domain. We first cover engineered approaches commonly used in practice. Then, we discuss learned approaches using classical machine learning as well as deep learning methods.

2.1 Motion prediction in self-driving systems

Accurate prediction of actor motion is a critical component of deployed self-driving systems [10, 49]. In particular, prediction is tightly coupled with SDV’s egomotion planning, as it is essential to accurately estimate future world state to correctly and safely plan for SDV’s path through a highly dynamic environment. Inaccurate motion prediction may lead to severe accidents, as exemplified by a collision between MIT’s “Talos” and Cornell’s “Skyne” vehicles during the 2007 DARPA Urban Challenge [12].

Most of the deployed self-driving systems use well-established engineered approaches for motion prediction. The common approach consists of computing object’s future motion by propagating its state over time based on kinematic models and assumptions of an underlying physical system. State estimate usually comprises position, speed, acceleration, and object heading, and techniques such as Kalman filter (KF) [21] are used to estimate and propagate the state in the future. For example, in Honda’s deployed system [10], KF tracker is used to predict motion of vehicles around SDV. While this approach works well for short-term predictions, its performance degrades for longer horizons as the model ignores surrounding context (e.g., roads, other traffic actors, traffic rules), as we confirm in Section 4. On the other hand, Mercedes-Benz’s motion prediction component uses map information as a constraint to compute vehicle’s future position [49]. The system first associates each detected vehicle with one or more lanes from the map. Then, all possible paths are generated for each (vehicle, associated lane) pair based on map topology, lane connectivity, and vehicle’s current state. This heuristic provides reasonable predictions in most cases (as evaluated in Section 4), however it does not scale well nor is able to model unusual scenarios. As an alternative to existing deployed engineered approaches, by considering large amounts of data our proposed approach automatically learns that vehicles usually obey road and lane constraints, while also being capable of handling outliers.

2.2 Learned prediction models

Manually designed engineered models often impose unrealistic assumptions not supported by the data (e.g., that traffic always follows lanes), which motivated use of learned models as an alternative. A large class of learned models are maneuver-based models (e.g., using Hidden Markov Model [43]) which are object-centric approaches that predict discrete action of each object independently. The independence assumption does not often hold true, which is mitigated by the use of Bayesian networks [38] that are computationally more expensive and not feasible in real-time tasks. Additionally, in [3] authors learned scene-specific motion patterns and applied them to novel scenes with an image-based similarity function. However, these methods also require manually designed features to capture context information, resulting in suboptimal performance. Alternatively, Gaussian Process (GP) regression can be used to address the motion prediction problem [45]. GP regression is well-suited for the task with desirable properties such as ability to quantify uncertainty, yet it is limited when modeling complex actor-environment interactions. In recent work researchers focused on how to model environmental context using Inverse Reinforcement Learning (IRL) [32] approaches. Kitani et al. [24] used inverse optimal control to predict pedestrian paths by considering scene semantics, however the proposed IRL methods are inefficient for real-time applications.

The success of deep learning [16] motivated its use in the self-driving domain. In [7] an end-to-end system that directly maps input sensors to SDV controls was proposed. In [29] the authors described a Recurrent Neural Network (RNN)-based method for long-term predictions of interacting agents given scene context. In [2] authors proposed a social Long Short-Term Memory (LSTM) to model human movement together with social interactions. Authors of [13] used LSTM to predict ball motion in billiards directly from images. In [46] LSTM models were used to classify basketball plays, with overhead raster images taken as inputs. Similarly, the authors of [34, 35] used overhead rasters and RNNs to track multiple objects in a scene by predicting raster image in a next timestep, unlike our work where full per-object trajectories are directly inferred. Due to strict time constraints of an onboard real-time system and the requirement to more easily debug and understand model decisions made on public roads, in this work we used simpler feed-forward CNN architectures for the prediction task. In addition, recent work indicates temporal CNNs could be more powerful than RNNs [28], further justifying our choice.

A critical feature for the safety of SDVs is uncertainty estimation for predictions. We address this important issue in our current work, building on an existing body of literature. This includes [2], where the authors estimate uncertainty due to observation noise (i.e., aleatoric uncertainty) by learning to predict the parameters of assumed noise distribution. The authors of [14] showed that dropout training in deep networks approximates uncertainty of the prediction model itself (i.e., epistemic uncertainty). In a followup work, [22] presented a deep method that jointly estimates aleatoric and epistemic uncertainties. Some recent publications have addressed uncertainty estimation in motion prediction from a self-driving perspective. For example, [4] models both aleatoric and epistemic uncertainties of pedestrian and bicyclist motion over a 1-second horizon. Authors of [5] developed a novel optimization scheme for dropout-based Bayesian inference using synthetic likelihoods to accurately capture model uncertainty. Lastly, [19] generated conditional variational distribution of predicted trajectories together with confidence estimates for different horizons. However, in contrast to our work, the proposed approach does not utilize high-definition maps and assumes that observation sensors are present on the actor of interest.

3 Proposed approach

Let us assume that we have access to real-time data streams coming from sensors such as lidar, radar, or camera, installed aboard a self-driving vehicle. Furthermore, we assume to have an already functioning tracking system ingesting the sensor data, allowing detection and tracking of traffic actors in real-time. For example, we can make use of any of a number of Kalman filter-based methods that have found wide practical use [9], taking sensor data as input and outputting tracks of individual actors that represent their state estimates at fixed intervals. State estimates contain the following information describing an actor: bounding box, position, velocity, acceleration, heading, and heading change rate. Lastly, we assume access to mapping data of an operating area, comprising road and crosswalk locations, lane directions, and other relevant map information.

Let us denote high-definition map data by , and a set of discrete times at which tracker outputs state estimates as , where time gap between consecutive time steps is constant (e.g., gap is equal to for tracker running at the frequency of ). Then, we denote state output of a tracker for the -th actor at time as , where with being a number of unique actors tracked at time . Note that in general actor counts vary for different time steps as new actors appear within and existing ones disappear from the sensor range. Then, given data and all actors’ state estimates up to and including time step (denoted by ), the task is to predict sequence of future states , where denotes the number of future consecutive time steps for which we predict states (or prediction horizon). Without the loss of generality, we simplify the task to infer -th actor’s future positions instead of full state estimates, denoted as for - and similarly for -positions. Past and future positions at time are represented in actor-centric coordinate system derived from actor’s state at time , where forward direction represents -axis, left-hand direction represents -axis, and actor’s bounding box centroid represents the origin.

3.1 Model inputs

To model dynamic context at time we use state data , while to model static context we use map data , comprising road and crosswalk polygons, as well as lane directions and boundaries. Road polygons describe drivable surface, lanes describe driving path, and crosswalk polygons describe road surface used for pedestrian crossing. Lanes are encoded by boundaries and directed lines positioned at the center.

Instead of manually defining features that represent actor context, we propose to rasterize a scene for the -th actor at time step into an RGB image (see Figure 1 for an example). Then, using rasterized images as inputs we train CNN to predict actor trajectory, where the network automatically infers relevant features. Optionally, the model can also take as input a current state of the actor of interest represented as a vector (see Section 3.3 for details of the architecture).


To describe rasterization, let us first introduce a concept of a vector layer, formed by a collection of polygons and lines that belong to a common type. For example, in the case of map elements we have vector layer of roads, of crosswalks, and so on. To rasterize vector layer into an RGB space, each vector layer is manually assigned a color from a set of distinct RGB colors that make a difference among layers more prominent. The only layer that does not have its defined RGB color is a layer that encodes lane direction. Instead of assigning a specific RGB color, we use a direction of each straight line segment as a hue value in HSV color space [42], with saturation and value set to maximum. The hue component is angular measurement and corresponds to a position at a color wheel, with hue of indicating red, indicating green, and blue corresponding to . We then convert HSV to RGB color space, thus encoding driving direction of each lane in the resulting raster image. For example, in Figure 1 lanes going in opposite directions are represented by colors diametrically opposite to each other on the HSV color cylinder. Once the colors are defined, vector layers are rasterized one by one on top of each other, in the order from layers that represent larger areas such as road polygons towards layers that represent finer structures such as lanes or actor bounding boxes. Important parameter is pixel resolution, which we set to considering trade-off between image size and ability to represent fine details.

As discussed earlier, we are interested in representing context for each actor separately. To represent context around the -th actor tracked at time step we create a rasterized image of size such that the actor is positioned at pixel within , where represents width and height measured from the bottom-left corner of the image. The image is rotated such that actor’s heading points up, where lane directions are computed relative to the actor’s heading and then encoded in the HSV space. We set , actor of interest is positioned at and , so that in front of the actor and from the back is rasterized (for our experiments we only considered roads with maximum speed limit of where this setup performs well, for faster roads more context would be required). Lastly, we color the actor of interest differently so that it is distinguishable from other surrounding vehicles (as seen in Figure 1b the actor of interest is colored red, while all others are colored yellow).

To capture past motion of all traffic actors, their bounding boxes at consecutive time steps are rasterized on top of map vector layers. Each historical actor polygon is rasterized with the same color as the current polygon yet with reduced level of brightness, resulting in the fading effect. Brightness level at is equal to , , where we set and to either (no fading) or (with fading, example shown in Figure 1b).

Note that we consider map data and tracked states of all traffic actors to generate rasters, and do not use raw sensor data (i.e., camera, lidar, or radar) for rasterization. Moreover, although we did not observe a significant effect for different color selections, we recognize that the rasterization could be further optimized. For example, layer ordering can be modified, along with the raster size, resolution, and other parameters. However, due to limited space this is outside of the scope of the current work, and in the following we use the stated parameter values found to work well in practice.

Figure 2: Feed-forward network architecture combining raster image and actor state inputs
Figure 3: LSTM decoder

3.2 Optimization problem

To obtain analytical expressions for loss functions used to optimize deep networks, let us first introduce displacement error for the -th actor at time for horizon ,


defined as Euclidean distance between observed and predicted positions. Here, denotes parameters of a model, while and denote position outputs of the model that takes available states and map as inputs. Then, overall loss incurred by predicting trajectory for a complete prediction horizon is equal to average squared displacement error of trajectory points,


where we train the model to output -D vector, representing predicted - and -positions for each of trajectory points. Optimizing over all actors and time steps, we find optimal parameters by minimizing overall training loss,


Alternatively, as the prediction task is inherently noisy it is useful to capture aleatoric uncertainty present in the data [22, 27], in addition to optimizing for a point estimate as in (3). To that end, we assume that displacement errors are sampled from a half-normal distribution [20], denoted as


where standard deviation is computed by the model. Then, we can write overall loss for the -th actor at time as negative log-likelihood of the observed data, equal to


where we train the model to output -dimensional vector, representing predicted - and -positions, as well as standard deviation for trajectory points. Lastly, optimizing over entire training data we solve (3) with computed as in (5).

3.3 Network architecture

In this section we describe an architecture used to solve the optimization problems (2) and (5), also illustrated in Figures 3 and 3. To extract features from an input raster we can use any existing CNN (referred to as base CNN). In addition, to input actor state we encode it as a 3D vector comprising velocity, acceleration, and heading change rate (position and heading are not required as they were already used during raster generation), and concatenate the resulting vector with flattened output of the base CNN. Then, the combined features are passed through a fully-connected (FC) layer (we set its size to ) connected to an output layer of size if solving (2), or if solving (5).

Alternatively, we can decode the actor trajectory through a recurrent architecture, using an LSTM [18] after the first FC layer (shown in Figure 3). We set LSTM size to , cell state is 0-initialized, while initial input is obtained by converting output of the FC layer of size into a vector of size with another FC layer. For each time step LSTM output is converted by an output FC layer into a -D vector if solving (2) or a -D vector if solving (5) (representing - and -position, and standard deviation).

4 Experiments

In this section we present detailed results of empirical evaluation of the proposed deep convolutional approach.

Data We collected 240 hours of data by manually driving SDV in Pittsburgh, PA and Phoenix, AZ in various traffic conditions (e.g., varying times of day, days of the week), with data collection rate of . We ran a state-of-the-art detector and Unscented KF (UKF) tracker [44] with the kinematic state-transition model [25] on this data to produce a set of tracked vehicle detections. Each tracked actor at each discrete tracking time step amounts to one data point, with overall data comprising million examples after removing static actors. We considered prediction horizon of (i.e., we set ), and used 3:1:1 split to obtain train/validation/test data.

Baselines 1) We used UKF to predict future motion by forward propagating estimated states in time. 2) We used a linear baseline that directly converts input states (of size ) into future positions for each time step. 3) Vehicle-lane association [49] that considers map constraints was used. More specifically, an actor was assigned to nearby lanes within radius, and Pure Pursuit algorithm [11] with dynamic lookahead [8] was used to follow that lane. If there are multiple associated lanes, the one with the lowest error was reported (denoted as lane-assoc).

Models We compared the baselines to several variants of the proposed approach. We considered the following base CNNs: AlexNet [26], VGG-19 [40], ResNet-50 [17], and MobileNet-v2 (MNv2) [37]. Furthermore, to evaluate how varying input complexity affects the performance, we considered architectures that use: 1) raster without fading and state, solving (2); 2) raster with fading and without state, solving (2); 3) raster without fading and with state, solving (2); 4) raster with fading and state, solving (2); 5) raster with fading and state, and outputting uncertainty, solving (5).

Method Raster State Loss Displacement Along-track Cross-track
UKF yes 1.46 1.21 0.57
Linear model yes (2) 1.19 1.03 0.43
Lane-assoc yes 1.09 1.09 0.19
AlexNet w/o fading no (2) 3.14 3.11 0.35
AlexNet w/ fading no (2) 1.24 1.23 0.22
AlexNet w/o fading yes (2) 0.97 0.94 0.21
AlexNet w/ fading yes (2) 0.86 0.83 0.20
VGG-19 w/ fading yes (2) 0.77 0.75 0.19
ResNet-50 w/ fading yes (2) 0.76 0.74 0.18
MobileNet-v2 w/ fading yes (2) 0.73 0.70 0.18
MobileNet-v2 w/ fading yes (5) 0.71 0.68 0.18
MobileNet-v2 LSTM w/ fading yes (5) 0.62 0.60 0.14
Table 1: Comparison of average prediction errors for competing methods (in meters)

Training Models were implemented in TensorFlow [1] and trained on 16 Nvidia Titan X GPU cards. To coordinate the GPUs we used open-source framework Horovod [39], completing training in around 24 hours. We used per-GPU batch size of and trained with Adam optimizer [23], setting the initial learning rate to that was further decreased by a factor of every 20 thousand iterations. All models were trained end-to-end from scratch, except for a model with uncertainty outputs which was initialized with a corresponding model without uncertainty and then fine-tuned (training from scratch did not give satisfactory results).

Figure 4: Reliability diagrams at horizons of: (a) 1s; (b) 3s
Figure 5: Analysis of the MNv2 model on the three case studies, with results overlaid over the input raster images; the first column shows ground-truth (dotted green line) and predicted (dotted blue line) 3-second trajectories, the second column shows aleatoric uncertainty output by the model, the third column shows epistemic uncertainty estimated by dropout analysis, the fourth column shows relevant parts of raster estimated by occlusion sensitivity analysis; state inputs are provided above the rasters in the first column, indicating velocity (v) in , acceleration (a) in , heading change rate (hcr) in

4.1 Results

In Table 1 we report error metrics relevant for motion prediction: displacement errors, as well as along-track and cross-track errors [15], averaged over the prediction horizon. We emphasize that metrics improvements of even a couple of centimeters can make a large difference in practice, significantly affecting the safety and comfort of SDVs.

Considering the baselines, we see that the linear model easily outperformed the baseline UKF, which simply propagates an initial actor state. Moreover, using the map information through the lane-assoc model we gained significant improvements, especially in the cross-track which is already at the level of the best deep models. This is an expected result, as vehicles usually follow their lanes quite well.

We then conducted an ablation study using the feed-forward architecture from Figure 3 and AlexNet as a base CNN, running experiments with varying input complexity (upper half of Table 1). When we provide neither fading nor state inputs the model performs worse than UKF, as the network does not have enough information to estimate current state of an actor from the raster. Interestingly, when we include fading the model starts to outperform the baseline by a large margin, indicating that actor state can be inferred solely from providing past positions through fading. If instead of fading we directly provide state estimates we get even better performance, as the state info is already distilled and does not need to be estimated from raster. Furthermore, using raster with fading together with state inputs leads to additional performance boost, suggesting that fading carries additional info not available through the state itself, and that the raster and other external inputs can be seamlessly combined through the proposed architecture to improve accuracy.

Next, we compared popular CNN architectures as base CNNs. As seen in the bottom half of Table 1, we found that VGG and ResNet models provide improvements over the baseline AlexNet, as observed previously [40]. It is interesting to note that only starting with these models did we outperform the baseline lane-assoc model in terms of all the relevant metrics. However, both models are outperformed by the novel MNv2 architecture that combines a number of deep learning ideas under one roof (e.g., bottleneck layers, residual connections, depthwise convolutions). Taking the best performing MNv2 as a base and extending the output layer by adding uncertainty led to further improvements. Not only do additional outputs allow estimation of trajectory uncertainty in addition to trajectory point estimates, but they also mitigate adverse effects of noisy data during the training process. Lastly, using LSTM decoder at the output, as described in Section 3.3, led to the best results. In our task the future states depend on the past ones, which can be captured by the recurrent architecture. In the remainder we analyze results of the state-of-the-art MNv2 model in greater detail.

We used reliability diagrams to evaluate how closely predicted error distribution matches testing error distribution. The diagrams are generated by measuring how large is an observed displacement error compared to a predicted confidence, and computing what fraction of observed errors falls within the expected range given by the estimated standard deviation. For example, due to the Gaussianity assumption we expect of observed errors to be within the predicted one sigma, and diagram point at predicted value of should be as close as possible to observed value of . Thus, the closer the curve is to the diagonal line, the better calibrated is the model. Figure 4 shows diagrams for horizons of and . The prediction curve is well aligned with the reference line, especially at seconds whereas -predictions are slightly underconfident. Thus, given an estimated sigma, we can expect with high confidence that in of cases an actual error will not be larger than that value. Plots for other horizons are omitted as they resemble the ones shown.

4.2 Case studies

In Figure 5 we give example outputs for three scenes commonly encountered in traffic. As we will see, the model provided accurate short-term trajectories in all the cases, as well as reasonable and intuitive uncertainty estimates.

The first case (first row) involves actor cutting over opposite lanes when entering road from off-street parking, where the model correctly predicted that the actor will queue for vehicles in front (image in the first column). The uncertainty estimates reflect peculiarity of the situation (image in the second column), as the actor is not following common traffic rules and may choose to either queue for the leftmost vehicle or cut the road to queue for the vehicles in the other lanes. In the second row we see an actor making a right turn in an intersection, where the model correctly predicted that the actor is planning to enter its own lane. However, uncertainty increases compared to the first example, as the vehicle has higher speed as well as heading change rate, and there is a possibility it may enter any of the two vacant lanes. Lastly, in the third row we have a fast actor going straight, while changing lanes to avoid an obstacle. The lane change is correctly predicted, as well as lower cross-track uncertainty due to actor’s higher speed. Quite intuitively, probability that the actor hits the obstacle is estimated to be near-zero.

Next, we performed a dropout analysis to estimate uncertainty within the model itself (i.e., epistemic uncertainty) [22], done by dropping out of randomly selected nodes in the fully-connected layers from Figure 3, repeating the process times, and visualizing variance of the resulting trajectory points. The results are shown in the third column of Figure 5, where we can see that the epistemic uncertainty is very low in all cases, in fact several orders of magnitude lower than aleatoric (or process) uncertainty visualized in the second column. This indicates that the model converged, that more data would have limited effect on performance, and that the overall uncertainty can be approximated by considering only the learned uncertainty.

Figure 6: Detailed analysis of cross- and along-track errors across various horizons for the second example shown in Figure 5 (top: cross-track, bottom: along-track, left: MNv2 model, right: UKF model); -axis indicates time of an event, -axis indicates the prediction horizon, while color encodes an error in meters at each particular (time, horizon) pair

In addition, we performed sensitivity analysis [48] to understand which parts of the raster the model is focusing on. We swept a black box across the raster and visualized the amount of change in the output compared to a non-occluded raster (as measured by the average displacement error), with results shown in the fourth column of Figure 5. In the first case the model focused on the oncoming lane and vehicles in front of the actor, as those parts of the raster are most relevant for a vehicle cutting across oncoming traffic and queuing. Quite intuitively, in the second case the model focused on nearby vehicles and crosswalks in the turn lane, while in the third case it focused on the obstacle and the lane further ahead due to actor’s higher speed. Such analysis helps debug and understand what the model learned, and confirms it managed to extract knowledge from the training data that comes naturally to experienced human drivers.

In Figure 6 we provide an additional analysis of cross- and along-track errors, using the second scenario from Figure 5 as an example. At each timestamp of the event (-axis), we color-code errors at each prediction horizon up to seconds in the future (-axis). The actor starts to approach the intersection at around mark, and initiates the turn at around mark. Looking at the top two figures, we see that initially both MNv2 and UKF incorrectly predicted that the actor is going straight (note that allowed directions from the actor’s current lane are straight and right), as indicated by the cross-track errors that are increasing as the prediction and the ground-truth started to diverge several seconds into the prediction horizon. However, we see that the proposed approach gave accurate prediction nearly at soon as the vehicle actually initiated its turn, and following mark the cross-track errors dropped significantly. On the other hand, UKF took more time to catch up, and higher-error predictions lingered for nearly more. We see a similar situation when we compare along-track errors in the bottom two figures. The proposed approach consistently maintained lower error, which also dropped significantly when the actor started the turn. However, it is interesting to note that the error remained small even once the turn was complete (at around mark), while UKF again required some time to capture the full actor state. We believe that such detailed analysis of individual cases, going beyond aggregated numbers and using the error heatmaps presented in Figure 6, could be useful to other researchers within the industry in their own work.

Figure 7: Displacement error as a function of horizon

We are exploring several directions to improve the system. Most importantly, as the traffic domain is inherently multi-modal (e.g., actor approaching an intersection may turn left, right, or continue straight), we wanted to explore how far in the future does the proposed unimodal model provide useful predictions. To answer this question we retrained a model with and measured performance at various horizons, with results given in Figure 7. While both UKF and the proposed method give reasonable short-term predictions, for longer horizons multimodality causes exponential error increase. To correctly model longer-term trajectories beyond the considered short-term horizon we need to account for that aspect as well, which is a topic of our ongoing research.

5 Conclusion

We presented an effective solution to a critical part of the SDV problem, motion prediction of traffic actors. We introduced a deep learning-based method that provides both point estimates of future actor positions and their uncertainties. The method first rasterizes actor contexts, followed by training CNNs to use the resulting raster images to predict actor’s short-term trajectory and the corresponding uncertainty. Extensive evaluation of the method strongly suggests its practical benefits, and following offline testing the framework was successfully tested onboard self-driving vehicles.


  1. M. Abadi, A. Agarwal, P. Barham and E. Brevdo (2015) TensorFlow: large-scale machine learning on heterogeneous systems. External Links: Link Cited by: §4.
  2. A. Alahi and K. Goel (2016-06) Social lstm: human trajectory prediction in crowded spaces. In 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), External Links: Link, Document Cited by: §2.2, §2.2.
  3. L. Ballan, F. Castaldo, A. Alahi, F. Palmieri and S. Savarese (2016) Knowledge transfer for scene-specific motion prediction. In Computer Vision – ECCV 2016, pp. 697–713. External Links: Link, Document Cited by: §2.2.
  4. A. Bhattacharyya, M. Fritz and B. Schiele (2018-06) Long-term on-board prediction of people in traffic scenes under uncertainty. 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. External Links: ISBN 9781538664209, Link, Document Cited by: §2.2.
  5. A. Bhattacharyya, M. Fritz and B. Schiele (2019) Bayesian prediction of future street scenes using synthetic likelihoods. Cited by: §2.2.
  6. L. J. Blincoe, T. R. Miller, E. Zaloshnja and B. A. Lawrence (2015-05) The economic and societal impact of motor vehicle crashes, 2010 (revised). Technical report Technical Report DOT HS 812 013, National Highway Traffic Safety Administration. Cited by: §1.
  7. M. Bojarski, D. Del Testa, D. Dworakowski, B. Firner, B. Flepp, P. Goyal, L. D. Jackel, M. Monfort, U. Muller and J. Zhang (2016) End to end learning for self-driving cars. arXiv preprint arXiv:1604.07316. Cited by: §2.2.
  8. C. Chen and H. Tan (1999) Experimental study of dynamic look-ahead scheme for vehicle steering control. In Proceedings of the 1999 American Control Conference (Cat. No. 99CH36251), Vol. 5, pp. 3163–3167. Cited by: §4.
  9. S. Chen (2012) Kalman filter for robot vision: a survey. IEEE Transactions on Industrial Electronics 59 (11), pp. 4409–4420. Cited by: §3.
  10. A. Cosgun and L. Ma (2017) Towards full automated drive in urban environments: A demonstration in gomentum station, california. In IEEE Intelligent Vehicles Symposium, pp. 1811–1818. External Links: Link, Document Cited by: §2.1, §2.1.
  11. R. C. Coulter (1992) Implementation of the pure pursuit path tracking algorithm. Technical report Carnegie-Mellon UNIV Pittsburgh PA Robotics INST. Cited by: §4.
  12. L. Fletcher and S. Teller (2009) The mit – cornell collision and why it happened. In Springer Tracts in Advanced Robotics, pp. 509–548. External Links: Link, Document Cited by: §2.1.
  13. K. Fragkiadaki and P. Agrawal (2016) Learning visual predictive models of physics for playing billiards. In International Conference on Learning Representations (ICLR), Cited by: §2.2.
  14. Y. Gal (2016) Uncertainty in deep learning. Ph.D. Thesis, PhD thesis, University of Cambridge. Cited by: §2.2.
  15. C. Gong and D. McNally (2004) A methodology for automated trajectory prediction analysis. In AIAA Guidance, Navigation, and Control Conference and Exhibit, Cited by: §4.1.
  16. I. Goodfellow, Y. Bengio and A. Courville (2016) Deep learning. MIT Press. Cited by: §2.2.
  17. K. He, X. Zhang, S. Ren and J. Sun (2016) Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 770–778. Cited by: §4.
  18. S. Hochreiter and J. Schmidhuber (1997) Long short-term memory. Neural computation 9 (8), pp. 1735–1780. Cited by: §3.3.
  19. X. Huang, S. McGill, B. C. Williams, L. Fletcher and G. Rosman (2019) Uncertainty-aware driver trajectory prediction at urban intersections. External Links: 1901.05105 Cited by: §2.2.
  20. N. L. Johnson (1962) The folded normal distribution: accuracy of estimation by maximum likelihood. Technometrics 4 (2), pp. 249–256. Cited by: §3.2.
  21. R. E. Kalman (1960) A new approach to linear filtering and prediction problems. Transactions of the ASME–Journal of Basic Engineering 82 (Series D), pp. 35–45. Cited by: §2.1.
  22. A. Kendall and Y. Gal (2017) What uncertainties do we need in bayesian deep learning for computer vision?. In Advances in Neural Information Processing Systems, Cited by: §2.2, §3.2, §4.2.
  23. D. P. Kingma and J. Ba (2014) Adam: a method for stochastic optimization. arXiv preprint arXiv:1412.6980. Cited by: §4.
  24. K. M. Kitani, B. D. Ziebart, J. A. Bagnell and M. Hebert (2012) Activity forecasting. In Computer Vision – ECCV 2012, pp. 201–214. External Links: Link, Document Cited by: §2.2.
  25. J. Kong, M. Pfeiffer, G. Schildbach and F. Borrelli (2015) Kinematic and dynamic vehicle models for autonomous driving control design. In Intelligent Vehicles Symposium (IV), 2015 IEEE, pp. 1094–1099. Cited by: §4.
  26. A. Krizhevsky, I. Sutskever and G. E. Hinton (2012) ImageNet classification with deep convolutional neural networks. In Advances in neural information processing systems, pp. 1097–1105. Cited by: §4.
  27. B. Lakshminarayanan, A. Pritzel and C. Blundell (2017) Simple and scalable predictive uncertainty estimation using deep ensembles. In Advances in Neural Information Processing Systems, Cited by: §3.2.
  28. C. Lea, M. D. Flynn, R. Vidal, A. Reiter and G. D. Hager (2017) Temporal convolutional networks for action segmentation and detection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 156–165. Cited by: §2.2.
  29. N. Lee, W. Choi, P. Vernaza and C. B. Choy (2017-07) DESIRE: distant future prediction in dynamic scenes with interacting agents. In 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), External Links: Link, Document Cited by: §2.2.
  30. S. Lefèvre, D. Vasquez and C. Laugier (2014-07) A survey on motion prediction and risk assessment for intelligent vehicles. ROBOMECH Journal 1 (1). External Links: Link, Document Cited by: §2.
  31. NCHS (2017-05) Health, United States, 2016: With chartbook on long-term trends in health. Technical report Technical Report 1232, National Center for Health Statistics. Cited by: §1.
  32. A. Y. Ng and S. Russell (2000) Algorithms for inverse reinforcement learning. In International Conference on Machine Learning, Cited by: §2.2.
  33. NHTSA (2017-12) Early estimate of motor vehicle traffic fatalities for the first half (jan–jun) of 2017. Technical report Technical Report DOT HS 812 453, National Highway Traffic Safety Administration. Cited by: §1.
  34. P. Ondrúška, J. Dequaire, D. Z. Wang and I. Posner (2016) End-to-end tracking and semantic segmentation using recurrent neural networks. arXiv preprint arXiv:1604.05091. Cited by: §2.2.
  35. P. Ondrúška and I. Posner (2016) Deep tracking: seeing beyond seeing using recurrent neural networks. In Proceedings of the Thirtieth AAAI Conference on Artificial Intelligence, pp. 3361–3367. Cited by: §2.2.
  36. S. E. Polzin (2016) Implications to public transportation of emerging technologies. Cited by: §1.
  37. M. Sandler, A. Howard, M. Zhu, A. Zhmoginov and L. Chen (2018) Inverted residuals and linear bottlenecks: mobile networks for classification, detection and segmentation. arXiv preprint arXiv:1801.04381. Cited by: §4.
  38. M. Schreier, V. Willert and J. Adamy (2016-10) An integrated approach to maneuver-based trajectory prediction and criticality assessment in arbitrary road environments. IEEE Transactions on Intelligent Transportation Systems 17 (10), pp. 2751–2766. External Links: Link, Document Cited by: §2.2.
  39. A. Sergeev and M. D. Balso (2018) Horovod: fast and easy distributed deep learning in tensorflow. arXiv preprint arXiv:1802.05799. Cited by: §4.
  40. K. Simonyan and A. Zisserman (2014) Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556. Cited by: §4.1, §4.
  41. S. Singh (2015-02) Critical reasons for crashes investigated in the national motor vehicle crash causation survey. Technical report Technical Report DOT HS 812 115, National Highway Traffic Safety Administration. Cited by: §1.
  42. A. R. Smith (1978) Color gamut transform pairs. In Proceedings of the 5th Annual Conference on Computer Graphics and Interactive Techniques, SIGGRAPH ’78, New York, NY, USA, pp. 12–19. External Links: Link, Document Cited by: §3.1.1.
  43. T. Streubel and K. H. Hoffmann (2014-06) Prediction of driver intended path at intersections. In 2014 IEEE Intelligent Vehicles Symposium Proceedings, External Links: Link, Document Cited by: §2.2.
  44. E. A. Wan and R. Van Der Merwe (2000) The unscented kalman filter for nonlinear estimation. In Adaptive Systems for Signal Processing, Communications, and Control Symposium 2000. AS-SPCC. The IEEE 2000, pp. 153–158. Cited by: §4.
  45. J.M. Wang, D.J. Fleet and A. Hertzmann (2008-02) Gaussian process dynamical models for human motion. IEEE Transactions on Pattern Analysis and Machine Intelligence 30 (2), pp. 283–298. External Links: Link, Document Cited by: §2.2.
  46. K. Wang and R. Zemel (2016) Classifying nba offensive plays using neural networks. In Proceedings of MIT Sloan Sports Analytics Conference, pp. 1094–1099. Cited by: §2.2.
  47. J. Wiest (2017) Statistical long-term motion prediction. Universität Ulm, Universität Ulm. External Links: Document Cited by: §2.
  48. M. D. Zeiler and R. Fergus (2014) Visualizing and understanding convolutional networks. In European conference on computer vision, pp. 818–833. Cited by: §4.2.
  49. J. Ziegler, P. Bender and M. Schreiber (2015-10) Making bertha drive - an autonomous journey on a historic route. IEEE Intelligent Transportation Systems Magazine 6, pp. 8–20. Cited by: §2.1, §2.1, §4.
Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
Add comment
Loading ...
This is a comment super asjknd jkasnjk adsnkj
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test description