PrognoseNet: A Generative Probabilistic Framework for Multimodal Position Prediction given Context Information
Abstract
The ability to predict multiple possible future positions of the ego-vehicle given the surrounding context while also estimating their probabilities is key to safe autonomous driving. Most of the current state-of-the-art Deep Learning approaches are trained on trajectory data to achieve this task. However trajectory data captured by sensor systems is highly imbalanced, since by far most of the trajectories follow straight lines with an approximately constant velocity. This poses a huge challenge for the task of predicting future positions, which is inherently a regression problem. Current state-of-the-art approaches alleviate this problem only by major preprocessing of the training data, e.g. resampling, clustering into anchors etc.
In this paper we propose an approach which reformulates the prediction problem as a classification task, allowing for powerful tools, e.g. focal loss, to combat the imbalance. To this end we design a generative probabilistic model consisting of a deep neural network with a Mixture of Gaussian head. A smart choice of the latent variable allows for the reformulation of the log-likelihood function as a combination of a classification problem and a much simplified regression problem. The output of our model is an estimate of the probability density function of future positions, hence allowing for prediction of multiple possible positions while also estimating their probabilities. The proposed approach can easily incorporate context information and does not require any preprocessing of the data.
Index Terms:
deep neural networks, generative probabilistic model, trajectory prediction, static context1 Introduction
Human drivers possess the fundamental skill of predicting a multitude of different possible future positions and movements of other traffic participants. Their predictions highly depend on the surroundings and interactions between traffic participants. This human ability ensures safe and efficient driving. Reproducing this ability by machines is key to safe autonomous driving. Due to the highly dynamic and complex driving environment a large amount of training data is needed in order to develop a system capable of operating at a level comparable to human drivers.
Trajectory data
Most of the current state-of-the-art Deep Learning approaches are trained using trajectory data: spatio-temporal data capturing the movement of vehicles, pedestrians etc. over a certain temporal interval. Trajectory data is usually organized into sequences with three or more dimensions, e.g. batch, time, features. The features can consist of ego x- and y-coordinates, heading angles, velocities etc. To reflect the interaction with other agents, trajectory data may contain multiple objects. Furthermore to reflect the interaction of the objects with the environment, a static map may be included. Trajectory data can be synthetic or based on a real data set.
An eligible approach has to cope with the following two challenges posed by trajectory data captured by sensor systems.
Imbalanced dataset
Trajectory data captured by sensor systems is highly imbalanced, since by far most of the trajectories follow straight lines with an approximately constant velocity. However it is the abnormal behaviors: “unexpected stops”, “accelerations”, “turnings”, “deviation from standard routes” which interest us and pose a challenge. Fig. 1 depicts the probabilities of future ego-positions evaluated on the Argoverse dataset [5]. The evaluation was performed in the vehicle coordinate system (VCS).


The ego-vehicle at current time step is at the origin of the VCS
Fig. 1 clearly shows how straight line trajectories dominate the dataset. Please note that the colorbar is scaled logarithmically in order to make future ego-positions (not lying on the straight line) visible in the first place. Their probability is several orders of magnitude lower than that of the straight line trajectories.
Multimodality
The second challenge consists in predicting not only the most probable future position, but a multitude of different possible future positions and assigning a probability to each one of them. The multimodality of future positions occurs due to many factors, e.g. multiple possible paths, different acceleration patterns, interactions with other traffic participants, just to name a few.
2 Related Work
In the past, many sophisticated methods have been developed in the field of trajectory prediction. Due to the ongoing research, new approaches are presented almost on a weekly basis. In this section we will therefore only mention the most important ones and illustrate how good or bad they deal with the problems described in the previous section.
One means to cope with imbalanced data is to resample the data, e.g. remove some observations of the majority class (undersampling) or add more copies of the minority class (oversampling) [6]. However, the definition of the minority class and the majority class is based on criteria, which oftentimes are hand-engineered. A drawback of this approach is that we might remove information that is be valuable. This could lead to underfitting and poor generalization to the test set. Think of the example where we want to balance out the dataset by removing trajectories which follow straight lines. We could classify the trajectories according to their curvature, this way neglecting the acceleration behavior and hence dropping important samples. This simple example illustrates how difficult the definition of a proper criterion can get. Another fact to emphasize is that even trajectories which are characterized as curves partially consists of segments which follow straight lines.

Number of latent noises is 9.
Similar arguments apply to approaches which partition the trajectories into several clusters/anchors and treat the prediction problem as a classification of the correct cluster/anchor [3, 15]. Here again, the clustering itself is oftentimes based on hand-engineered criteria. Furthermore, the large number of situations encountered on roads and the high uncertainty of traffic behavior requires a large number of clusters. The drawback of cluster based approaches is that their prediction of multimodality is limited due to limited number of clusters.
The basic min-of- approach is formulated as a regression problem, where multimodality is achieved by introducing an additional latent noise as input [7, 1]. Each choice of the latent noise produces a different prediction. During training, optimization is performed only on the latent noise corresponding to the prediction with the minimal error to the ground truth position. This approach has the drawback that the predictions tend to lie on a uniform grid as depicted in Fig. 2 especially if the number of latent noises is high. This way the neural network ensures, that there is at least one prediction which lies close to the ground truth position. The major drawback of this approach are the missing probabilities assigned to the predictions. Besides, this approach suffers from the imbalance of data and hence requires preprocessing of the data. The training is computationally very expensive due to the computation of different latent noises.
Another approach is based on Conditional Variational Autoencoders (CVAE), which models multimodality by sampling from a conditional Gaussian Distribution [10, 13]. Since CVAEs do not provide any means to inherently emphasize underrated samples, this approach too suffers from imbalance of data. Here, the conditional probability realized by the encoder network is dominated by the majority class. Furthermore assigning probabilities to the predictions at the output of the decoder is difficult, even though the conditional probability of the latent variable is known. However, the probability density of a transformed random variable is not easily obtained [9].
3 Our Approach
In this section we introduce a novel approach which solves the imbalanced data problem by formulating the prediction problem as a classification problem and utilizing focal loss, thus not requiring any preprocessing of the data. The multimodality is achieved by introducing a generative probabilistic model which outputs an estimate of the probability density function of future positions. This way we create a fully generalizable system, which is not confined by any hand-engineered preprocessing of the data.


of the static map in red
(b) Static map in vehicle coordinate system of time step
3.1 Input Output
The input trajectory (up to time step ) is defined as the sequence:
(1) |
with and . For brevity in the following we will write: . Both and in the definition of the deltas are expressed in the vehicle coordinate system of time step (please note that in VCS of time step ). The terms , are the velocity and the heading angle respectively. Please note that is an integer index denoting measurements, which were obtained using a sampling rate of 10Hz.
The static map for time step is denoted as . It is also expressed in the vehicle coordinate system of time step , see Fig. 3. The static maps used in this paper contain road boundaries and center lines.


The benefit of using the vehicle coordinate system is that it reduces complexity of the input data. In the vehicle coordinate system, the two trajectories depicted above are identical, whereas in global coordinates they are not.
The ground truth for time step is , i.e. the position of the ego vehicle time steps ahead. The ground truth position is expressed in the vehicle coordinate system of the current time step . Since we are in the unsupervised learning setting, these points do not come with any labels. For each time step we can hence define the following input output pair: .
In this paper the ground truth is defined only as the future position of the ego vehicle. It can, however, be extended to encompass further information, i.e. predicting the future heading angle.
3.2 Loss Function
In the following, we will denote random variables by an uppercase letter, while their realizations will be denoted by a lowercase letter.
We wish to model the data in a generative manner111A generative model includes the distribution of the data itself, and tells you how likely a given example is. by approximating the following conditional density function:
(2) |
which gives the probabilities of all possible positions at time step , given the input trajectory up to time step t and the static map at time step . Please note that , are expressed in the vehicle coordinate system of time step .
We model the data by specifying a Gaussian mixture model for each time step :
(3) |
where is a discrete latent random variable, which can take on different values. The denote the parameters of the different parts of the Gaussian mixture model. The probability distribution:
in the upper equation is characterized by probability values satisfying and . Furthermore for a Gaussian mixture model we assume:
In the subsequent formulas, for the sake of brevity, we won’t denote explicitly the dependency on , when there is no risk of ambiguity.
Assuming that the training examples were generated independently, we can write down the log-likelihood of the parameters and for a single time step as:
(4) |
where the superscripts in round brackets denote the sample number. We will design the latent random variable in such a way that its true values are known beforehand and can easily be deduced from the ground truth . We can then write the log-likelihood as:
(5) |
or using the ground truth of we can rewrite the above expression as:
(6) |
where is the indicator function indicating from which Gaussian each sample had come. Plugging in the definition of a multivariate Gaussian distribution and assuming and to be independent we get:
(7) | |||
with constant . The final cost function is summed over all time steps :
where is the number of time steps.
3.3 Choice of Latent Variable
We have to choose the latent variable in a way, such that its ground truth value can be obtained beforehand. To this end we subdivide the static map into subregions and assign an index to each of the subregions, as depicted in Fig. 5.

where
We can now easily determine in which of the different subregions the ground truth future position is located. Choosing the subregion as our latent variable hence fulfills the required criteria.
3.4 Interpretation
Using the above definition of the latent variable let us dissect equation (7) to gain more insight. We will start with the first term:
(8) |
which is recognized as the cross-entropy loss in a multiclass setting with classes. Hence our choice of the latent variable leads to a cost function which contains a classification problem.
The cross-entropy loss is used in neural networks which have softmax activations in the output layer. Hence we will realize by a neural network with inputs and and a softmax activation at the output layer. Please remember that this part of the neural network outputs the probability distribution of the discrete latent variable , which is characterized by probability values satisfying and . In the following we will hence denote the output of this network as .
Each value which the latent variable can assume, corresponds to a different spatial region. As has been shown in section. 1, the future positions of the ego vehicle are unequally distributed, see Fig. 1, which makes (8) a highly imbalanced classification problem. However, since we are in the classification domain, we have powerful tools to combat this issue, e.g. focal loss [14].
Let us come back to the first part of the cost function:
(9) |
First of all please note that by design the ground truth value is contained in the subregion indicated by , see Fig. 5. Because of the indicator function in (9), for each sample only one Gaussian component , is active, with the same index as the selected subregion . During training, the Gaussian components will therefore learn to correspond to different subregions of the static map.
In order to minimize the above expression, the means of the Gaussian components must come as close as possible to , hence (9) can be interpreted as a (weighted) regression problem with regressors covering different spatial positions. The sigma terms are capturing how much noise there is in the outputs [12]. Since each regressor is covering different spatial positions, this helps to combat the imbalanced data problem even further.

where
In the next step, we will simplify the regression problem, thus emphasizing the classification task even further. Please note, that the classification part (8) is already predicting the future position of the ego vehicle, however quantized to the resolution of the subdivision. We can hence design the regression part (9) only to refine that prediction by providing an offset to the actual position. To this end, we define a grid consisting of the center positions of each subregion: , with . Now we can substitute in (9):
(10) |
This further reduces the complexity of the regression problem, since it has to predict only offsets, see Fig. 6.
3.5 Inference Time
At each time step the neural network outputs the parameters of a Gaussian mixture model:
This model estimates the probability of the vehicle of being at position in time steps:
(11) |
given the input trajectory and the static map . We can visualize (11) by plugging values for located on a dense uniform grid, see Fig. 7. The position of the vehicle at the current step is in the middle bottom position (green point). The ground truth position and orientation of the ego-vehicle in 2000 ms is shown as the blue arrow.


showing multimodality (a) and impact of static map (b)
In many applications, however, instead of a heatmap we want to have a list containing the most probable future positions. The list should contain only distinct positions, thus reflecting the multimodality of the future.
As can be seen in Fig. 7 (a), the predictions made by our approach tend to form distinct clusters. Out of each cluster we want to keep only the most probable prediction and get rid of all nearly identical ones. Non-maximum suppression (NMS) is a way to make sure that each position is detected only once [2]. To easily apply the standard NMS, we will interpret the as the centers of bounding boxes and choose the bounding box sizes to be proportional to . The confidence required by NMS is obtained by using the fact that by design the Gaussian components are mostly bound to their corresponding subregions, yielding:
which gives the probability that the ego vehicle will be in subregion in time steps. Please note that the number of predictions returned by NMS is changing, however at least one prediction is returned. We denote the distinct predictions as , , where is the most probable prediction, is the second most probable prediction and so on.
3.6 Network Architecture
In this section we describe a basic architecture needed for realizing the model described in the previous sections. As described in section 3.1, the input of the network consists both of the sequence describing the dynamics of the vehicle and the sequence of static maps .

In order to generate sensible predictions, we need to aggregate the past values of . Hence a natural choice for processing of the input data (describing the dynamics of the vehicle) is a recurrent neural network (RNN), as depicted in Fig. 8. In the actual implementation, a member of the broad family of RNN architectures e.g. Long Short Term Memory (LSTM) and Gated Recurrent Unit (GRU), as well as their variants, can be used. The low dimensional input vector can optionally be embedded into a higher dimensional space.
The static map is represented as spatial data and is condensed to a feature vector (representing semantical information of the static map) using a convolutional neural network (CNN). The static maps only act as constraints for possible predictions and hence do not require an aggregation of past values, see Fig. 8. To account for shifts and rotations of the static map arising from the use of VCS, a spatial transformer network can be utilized [11].
Both the output of the RNN and CNN are fed into the predictor, whose output are five spatial maps consisting of x cells. Each spatial map represents a different component of the Gaussian mixture model: , , , and . In a subsequent postprocessing step we add a constant grid to the coordinate offsets (delta terms), as described in (10).
Actual Implementation
As mentioned before the context information we use, encompasses only static context consisting of centerlines and the driveable area. For this reason, only a simple architecture is required to achieve reasonable results. More complex tasks e.g. with agents interaction, will require more complicated architectures (feature pyramid networks, transposed convolution etc.).
The input to the CNN network consists of a spatial map of size 128x128x2. The centerlines and the driveable area are in separate feature maps. The CNN network depicted in Fig. 8 consists of 5 layers. Each convolution layer is followed by a maximum pooling layer to half the size of the feature map. We use “tanh” as activation function in all layers. The output of the CNN is flattened to generate a feature vector of size 256.
layer | size | nodes |
---|---|---|
0 | 128x128 | 2 |
1 | 64x64 | 4 |
2 | 32x32 | 8 |
3 | 16x16 | 8 |
4 | 8x8 | 16 |
5 | 4x4 | 16 |
layer | nodes |
---|---|
0 | 4 |
1 | 8 |
2 | 16 |
layer | nodes |
---|---|
0 | 16 |
1 | 256 |
2 | 150 |
layer | nodes |
---|---|
0 | 256+150 |
1 | 256 |
2 | 128 |
3 | 500 |
The input to the recurrent part of the architecture consists of 4 values: the deltas between the current position and the last position, velocity and the heading angle, as described in section. 3.1. Prior to feeding the input into the RNN, we use an embedding network consisting of two layers. Again we use the “tanh” activation function. The resulting embedding has a dimension of 16, see Tab. I (b). The concrete implementation of the RNN network consists of a LSTM with two layers, see Tab. I (c).
Finally, the output of the LSTM and CNN is concatenated to a vector of size 256+150 which is fed to the Upsampling Network to obtain the output maps. The upsamling layer is implemented as a stack of three dense layers. The concrete implementation of the Upsampling Network depicted in Fig. 8 consists of 3 layers, where the last layer is a linear layer. The output is reshaped to form spatial maps of size 10x10x5.
4 Evaluation on the Argoverse dataset
In this section we will describe the evaluation of the presented approach using the Argoverse dataset [5]. Argoverse contains a dataset for motion forecasting with 324,557 sequences and rich context maps. Each sequence consists of exactly 50 samples varying in length from 4 to 25 seconds. The motion forecasting dataset of Argoverse was mined, in order to contain diverse scenarios e.g. managing an intersection, slowing for a merging vehicle, accelerating after a turn, stopping for a pedestrian on the road, etc. The number of tracks in which a vehicle is traveling at nearly constant velocity (such tracks are hardly a representation of real forecasting challenges) is hence drastically diminished. Argoverse provides furthermore a rich mutlimodality, as can be seen in Fig. 9.


Our goal is to predict future positions of the ego-vehicle 2000ms ahead given the static context. Since we operate on a sampling interval of 100ms and we want to predict 2000ms into future, we choose the ground truth position to lie time steps ahead, see section 3.1. Our overall input trajectory hence consists of time steps. However not all motion forecasting sequences of Argoverse use a sampling rate of 10Hz (sampling interval of 100ms). Out of the 324,557 sequences we therefore filter 150,000 sequences with a length of approximately 5s, corresponding to a sampling rate of 10Hz. We split the data into a training set consisting of 140,000 samples and a test set consisting of 10,000 samples. We would like to stress that no balancing of the data is performed whatsoever regarding the arrangement of the trajectories, i.e. turns, straight lines etc.
We will evaluate our approach using the three most common metrics used in motion forecasting: Average Displacement Error (ADE), Final Displacement Error (FDE) and Minimum Average Displacement Error (minADE) [16].
The ADE metric is simply defined as the average euclidean distance over all time steps and samples, calculated for the most probable prediction , which is obtained via non-maximum suppression (NMS) as described in section 3.5:
(12) |
where the length of trajectories is . Since we are using an LSTM, we will ignore the first 5 time steps to account for the warm-up phase.
As can be seen in Fig. 7, in multimodal scenarios the most likely prediction does not necessary need to be the correct one. For this reason, the minADE metric was defined, which accounts for multimodality:
(13) | |||
Here we choose the best prediction, w.r.t. to the euclidean distance, out of a predefined number of predictions. Since our approach only predicts single future positions and not whole trajectories, we will limit the selection to . Due to the NMS, the 3 predicted positions should be quite distinct, i.e. not lying close to each other. This way we prevent the scenario of achieving a good minADE just by choosing the best prediction from a multitude of almost identical predictions.
Finally, the last metric is the FDE:
(14) | |||
Resampling of the original data
Please note that all the metrics are evaluated at discrete time steps . However, real measurements are subject to jitter, the deviation from the precise sample timing intervals of 100ms. Jitter, when unaccounted for, may lead to a much higher prediction error than in reality. Imagine the vehicle traveling at a constant velocity of 20 m/s (72 km/h). A jitter of just 10ms leads to a covered distance of 0.2 meters. However, our architecture will learn to make predictions for the average sampling rate of 100ms. We solve this issue by resampling the original data to lie on a precise sampling grid of 100ms. However we have to be cautious with the way in which we perform the resampling, e.g. fitting a lower order polynome would smooth the trajectories, thus making the prediction problem much easier. For this reason we only use linear interpolation between two adjacent samples. This way we do not suppress the measurement noise and do not introduce an advantage. We utilize the resampled data both for training and evaluation.
Measurement Noise of the Argoverse Dataset
So far we have neglected the fact that the ground truth values contain statistical noise and other inaccuracies. At time , a measurement (or observation) of the true vehicle position is made according to: , where is the measurement noise which is assumed to be zero mean Gaussian white noise (time steps are basically uncorrelated).
In order to correctly assess the prediction performance of our approach, we have to determine the measurement noise of the Argoverse dataset. To approximate the true vehicle position , we fit a curve to the 50 times steps of the trajectories, where and are sixth order polynomials. To take the jittering of the sampling rate into account, we use the exact exact time steps (in ms) provided by the Argoverse dataset and not just multiples of 100ms. In order to cope with possible outliers we utilize the RANSAC (Random Sampling Consensus) [8]. Next we calculate the ADE metric between the fitted trajectory and the original data and obtain an estimate of the measurement noise of meters. Please note, that this value can be interpreted as the lower bound of ADE for the Argoverse dataset.
Let us denote the true (unknown) prediction error as:
where is the unknown true vehicle position. Since is calculated using only time steps , we can safely assume and to be statistically independent222The measurement noise of values lying 2000ms apart shall be independent., hence . In the following we will use this formula to estimate the metrics, obtained if the true vehicle position was accessible.
ADE | minADE (K=3) | FDE |
---|---|---|
0.93m | 0.78m | 0.96m |
containing measurement noise
ADE | minADE (K=3) | FDE |
---|---|---|
0.81m | 0.63m | 0.84m |
ground truth without measurement
noise using
5 Conclusions and Future Work
In this paper, we have introduced a novel way to predict future positions of a vehicle taking static context information into account. Our main focus lay on the capability to make multimodal predictions with probabilities assigned to them. The second goal was to cope with the imbalance of data. We achieved both goals by introducing a generative probabilistic model based on a Gaussian mixture model. A smart choice of the latent variable allowed for the reformulation of the problem into a combination of a classification problem and a simplified regression problem.
The first benefit of this formulation arose from the fact that we obtained a classification problem, which allowed to combat the imbalanced data problem by utilizing focal loss. The second benefit arose from the fact that the regression part was spatially distributed, allowing each regressor to specialize on a different subregion.
Our current focus of research lies in the extension of the proposed approach to predict whole trajectories instead of single points in time. In parallel we are examining methods to extend the context information to not only contain the static context like driveable area, centerlines and traffic signs, but also to contain dynamic context, i.e. other agents.
References
- [1] Apratim Bhattacharyya, Bernt Schiele, and Mario Fritz. Accurate and diverse sampling of sequences based on a "best of many" sample objective. 2018 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018.
- [2] Navaneeth Bodla, Bharat Singh, Rama Chellappa, and Larry S. Davis. Soft-nms – improving object detection with one line of code. 2017, IEEE International Conference on Computer Vision, 2017.
- [3] Yuning Chai, Benjamin Sapp, Mayank Bansal, and Dragomir Anguelov. Multipath: Multiple probabilistic anchor trajectoryhypotheses for behavior prediction. 3rd Conferenceon Robot Learning (CoRL), 2019.
- [4] Rohan Chandra, Tianrui Guan, Srujan Panuganti, Trisha Mittal, Uttaran Bhattacharya, Aniket Bera, and Dinesh Manocha. Forecasting trajectory and behavior of road-agents using spectral clusteringin graph-lstms. arXiv, 2019.
- [5] Ming-Fang Chang, John Lambert, Patsorn Sangkloy, Jagjeet Singh, Slawomir Bak, Andrew Hartnett, De Wang, Peter Carr, Simon Lucey, Deva Ramanan, and James Hays. Argoverse: 3d tracking and forecasting with rich maps. 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 8740–8749, 2019.
- [6] Nitesh V. Chawla. Data mining for imbalanced datasets: An overview. Maimon, Oded; Rokach, Lior (Eds) Data Mining and Knowledge Discovery Handbook, Springer, pages 875–886, 2010.
- [7] Haoqiang Fan, Hao Su, and Leonidas Guibas. A point set generation network for 3d object reconstruction from a single image. 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 2463–2471, 2016.
- [8] Martin A. Fischler and Robert C. Bolles. Random sample consensus: A paradigm for model fitting with applications to image analysis and automated cartography. CACM, pages 381–395, 1981.
- [9] David Gamarnick and John Tsitsiklis. Introduction to Probability. MIT OCW, 2008.
- [10] Agrim Gupta, Justin Johnson, Li Fei-Fei, Silvio Savarese, and Alexandre Alahi. Social gan: Socially acceptable trajectories with generative adversarial networks. Proceedings of the IEEE International Conference on Computer Vision and Pattern Recognition, 2018.
- [11] Max Jaderberg, Karen Simonyan, Andrew Zisserman, and Koray Kavukcuoglu. Spatial transformer networks. arXiv, 2015.
- [12] Alex Kendall, Yarin Gal, and Roberto Cipolla. Multi-task learning using uncertainty to weigh losses for scene geometry and semantics. 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2018.
- [13] Namhoon Lee, Wongun Choi, Paul Vernaza, Christopher B. Choy, Philip H. S. Torr, and Manmohan Chandraker. Desire: Distant future prediction in dynamic scenes with interacting agents. 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 2165–2174, 2017.
- [14] Tsung-Yi Lin, Priya Goyal, Ross Girshick, Kaiming He, and Piotr Dollar. Focal loss for dense object detection. IEEE Transactions on Pattern Analysis and Machine Intelligence, pages 318–327, 2018.
- [15] Tung Phan-Minh, Elena Corina Grigore, Freddy A. Boulton, Oscar Beijbom, and Eric M. Wolff. Covernet: Multimodal behavior prediction using trajectory sets. 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pages 14074–14083, 2020.
- [16] Nicholas Rhinehart, Kris M Kitani, and Paul Vernaza. A reparameterized pushforward policy for diverse, precise generative path forecasting. Proceedings of the EuropeanConference on Computer Vision (ECCV), pages 772.–788, 2018.