Keywords

1 Introduction

Autonomous vehicles show promise on bringing many benefits to society, such as low accident rates, safety, fuel saving, better life quality, reduce stress, among others. In order to assure the safety aspect, the algorithms implemented need to deal with a large number of possible scenarios, with a varying degree of complexity, and be able to predict the movement of other vehicles present in the scene considering their mutual interactions [1].

The behavior of traffic participants is full of uncertainties in the real world. In order to improve the driving quality, autonomous vehicles should evaluate threats, taking seriously the ones with high probability to happen and not overreacting to the ones with low probability. Probabilistic intention and motion prediction are crucial to accomplish safe and high-quality decision-making and motion planning for autonomous vehicles [2].

In this paper, an approach to compute the motion prediction of the surrounding vehicles in all their possible routes in a short-term horizon is proposed. Since the focus is on the lateral interaction, three models for the lateral intention are compared. In comparison with a previous work for motion prediction in highways of the same authors sketched in [1], this publication presents modifications in the methods for motion prediction and is evaluated using publicly available datasets.

This paper is divided as follows: Sect. 2 presents a short review of some works similar to the one presented in this article. Section 3 describes the proposed approach with the lateral models evaluated being presented in Sect. 4. Section 5 shows some experimental results and Sect. 6 concludes.

2 Related Work

2.1 Interaction Awareness

Considering that the intention of the other drivers cannot be measured directly, it is necessary to estimate it.

The authors in [3] present a framework for assessing traffic scenes with interaction between traffic participants. The possible behavior patterns of the vehicles involved are transformed into hypotheses and compute the joint probability of each hypothesis by reconstructing the individual probability of each behavior. As a result, the fully interaction-aware joint probability distribution is obtained over all the hypotheses. The approach grows exponentially as the situation complexity and the number of vehicles involved increase.

In [4], the authors implement a Dynamic Bayesian Network to reason about the situations and the risks at intersections on a semantic level. The risk is assessed based on the comparison of the intentions with what is expected from the drivers in a given scenario. The expected vehicle’s motions are modeled based on the road network (stop signs, give away lines), distance to the intersections and previous pose and velocity. The intention to stop is computed based on the previous intention and current expectation. With the intention and the maneuver, the future pose and velocity can be estimated. An evolution of this approach considering also lateral expectations has been recently presented [5].

Although these methods take into account the interdependence between vehicles to find the most probable route combination or if the situation offers risk, they do not include the motion prediction of the traffic participants, as all areas they can reach, which is crucial when planning the ego vehicle trajectory.

2.2 Motion Prediction

The authors in [6] propose the use of set-based predictions with reachability analysis to find all possible reachable sets based on a given map and the positions and velocities of the traffic participants. Although this approach ensures safe planning for the ego vehicle, given that all vehicles follow the traffic rules, it is too conservative and, given a complex scenario with many vehicles, the ego vehicle might have to come to a full stop since all paths are occupied.

In another work, [7] abstracted the motion model into Markov chains using reachability analysis. It considers the vehicle’s dynamics, their mutual interactions (only based on the road geometry and traffic rules) and also the limitation of driving maneuvers due to road geometry, resulting in crash probabilities for the possible paths of the ego vehicle.

In [8], the authors present an approach to compute the motion predictions of the vehicles, without prior knowledge of the scene, considering separately the lateral and longitudinal movement. The longitudinal over-approximation is based on intervals obtained from real data. The lateral over-approximation is computed with the use of acceptance distributions where it evaluates all considered lateral accelerations for one specific driver influence, such a static or dynamic obstacle. The approach is compared with occupancy predictions computed using SPOT [9] and the comparison showed that the occupancy area size could be reduced up to 70% for a prediction horizon up to 1.3 s without errors.

Although these methods can predict the motion of the surrounding vehicles, they can have low accuracy in complex situations involving many vehicles, such as an intersection, due to their interdependent intentions and resulting actions.

2.3 Motion Prediction with Interaction Awareness

As already mentioned, in order to have a better estimation of the future positions of the vehicles involved in the scene, the motion prediction and the interaction awareness should be jointly considered.

The authors in [10] use a Dynamic Bayesian Network with a particle filter to evaluate the interaction between vehicles and estimate their route and maneuver intentions. From these intentions, an action, represented by an acceleration and yaw rate values, is obtained and the motion prediction is computed. This method considers only the most probable action for the whole time horizon of the prediction, which, in complex scenarios, may negatively influence the motion planning search space.

In [11], the authors expand their work from [6] to include the interaction between drivers in their set-based predictions. They do it by comparing vehicles driving on the same lane and removing the unreachable areas of the following vehicles. As a result, the drivable area of the ego vehicle increases, since some previously occupied areas are removed. This approach, however, considers neither intentions nor traffic rules in the predictions.

Fig. 1.
figure 1

Architecture overview [12].

3 Architecture

The framework here proposed belongs to the block Motion prediction from Fig. 1 and can be mainly divided into 4 blocks: Find/Reuse corridors, Find interactions, Compute intentions and Motion prediction, as shown in Fig. 2 where the flowchart and the data entering and leaving each block is presented. The entrance data can be obtained from simulations, exteroceptive sensors, V2X communication or from publicly available datasets. The output of the block goes to the maneuver planner of the ego vehicle.

Below, each of the building blocks appearing in Fig. 2 will be briefly described.

Fig. 2.
figure 2

Intention inference and motion prediction flowchart.

3.1 Map

The maps are loaded at the beginning of the simulation. They are formed by lanelets [13], that are interconnected drivable road segments geometrically represented by a right and left bound. The relation between each pair of lanelets is used to create an adjacency graph.

3.2 Find/Reuse Corridors

Given a map formed by lanelets [13], their relational and physical layers are used in order to obtain all the navigable corridors for the vehicles in the scene. The length of these corridors has, at minimum, the distance that the car can reach in a time interval with its current speed, assuming a constant maximum acceleration.

First, the current lanelet(s) where the vehicle is located is obtained, comparing the position and the orientation in the physical layer. Next, a graph search is performed for surrounding lanelets starting from the vehicle lanelet(s) to create a lanelet-sequence for each corridor.

In the next iterations, the corridors found can be either expanded or removed, if necessary. The expansion occurs if its predicted occupancy probabilities fall in cells that are farther then a percentage of the grid length (85% in our case). The removal occurs if the current measured orientation of the vehicle has a difference bigger than a threshold when compared with the center line of the corridor.

At each iteration, the lanelet in which the center of the vehicle is located is found. Based on this information, each corridor is defined as being left, center, right or not reachable with respect to the position of the vehicle. To reach the corridors at right/left, a Bézier curve is created that concatenates the two road segments (the one in the current lane with the one in the adjacent lane) with a length of \(max(4 v, 10)\,\textrm{m}\), being v the current vehicle’s velocity and 4 is the considered duration of a lane change (in seconds). These values were defined after analyzing the patterns of a lane change.

The detection of a lane change is based on the position of the vehicle and occurs in one iteration: at instant t the vehicle is in lanelet x and at instant \(t + 1\) the vehicle is in lanelet y.

With the exception of the ego vehicle, for each corridor of the other vehicles, a grid is created based on the shape of the road. For the ego vehicle, a route is assumed. An example of the corridors of a vehicle is shown in the Fig. 3, where for one of the corridors the grid is drawn.

Fig. 3.
figure 3

Example of corridors and grid.

3.3 Find Interactions

A search of surrounding vehicles is performed for all the vehicles in the scene, generating a table that contains their distances and velocities.

In order to restrict the motion probabilities in corridors that have another vehicle or that can collide with the corridors of other vehicles, the collision point between these corridors is obtained as can be seen in Fig. 4. They result from the intersection between the corridors’ center lines, where the chosen point is the first one where the distance is less than a given threshold.

Fig. 4.
figure 4

Example of collision between corridors.

3.4 Compute Intentions

In order to compute the intention of the traffic participants, the Dynamic Bayesian Network (DBN) proposed in [4] and used in [5] is applied. For each of the vehicles present in the scene, with the exception of the ego vehicle, the network represented in Fig. 5 is instantiated, where bold arrows represent the influences of the other vehicles on vehicle n through some key variables (\(E_{t}^{n}\), \(I_{t}^{n}\), \(\varPhi _{t}^{n}\), \(Z_{t}^{n}\)) described below.

Fig. 5.
figure 5

Bayesian network [1].

$$\begin{aligned} \begin{gathered} P(\boldsymbol{E_{0:T}}, \boldsymbol{I_{0:T}}, \boldsymbol{\varPhi _{0:T}}, \boldsymbol{Z_{0:T}}) = P(\boldsymbol{E_{0}}, \boldsymbol{I_{0}}, \boldsymbol{\varPhi _{0}}, \boldsymbol{Z_{0}}) \times \\ \prod _{t=1}^{T} \times \prod _{n=1}^{N} [P(E_{t}^{n}|\boldsymbol{I_{t-1}\varPhi _{t-1}}) \times P(I_{t}^{n}|\varPhi _{t-1}^{n}I_{t-1}^{n}E_{t}^{n}) \times \\ P(\varPhi _{t}^{n}|\varPhi _{t-1}^{n}I_{t-1}^{n}I_{t}^{n}) \times P(Z_{t}^{n}|\varPhi _{t}^{n})] \end{gathered} \end{aligned}$$
(1)
  • Expected maneuver \(E_{t}^{n}\): represents the expected lateral behavior of the vehicle n at instant t according to traffic rules. It models the probability that the vehicle can make a lane change without hindering traffic. It can assume two values: stay and change.

  • Intended maneuver \(I_{t}^{n}\): represents the intention of the vehicle and includes the route the vehicle intends to follow.

  • Physical vehicle state \(\varPhi _{t}^{n}\): represents the pose and speed of the vehicle. They are calculated at each instant based on the intentions.

  • Measurements \(Z_{t}^{n}\): represents the real measurements of the physical state of the vehicle, extracted directly from exteroceptive sensors of the ego-vehicle or via V2X communications [14].

Lateral Expectation. The decision to change lanes should be based on the desire to quit the current lane, the selection of the target lane and the feasibility of the change.

Lane changes are usually classified as mandatory or discretionary, depending on the drivers motivation. A Mandatory Lane Change (MLC) is performed when the driver is trying to move his/her vehicle from its current lane into the target lane in anticipation to a left or right exit or a lane closure immediately downstream. A Discretionary Lane Change (DLC) is conducted to improve driving conditions when the driver desires a faster speed, greater following distance, etc. in the target lane [15, 16].

When implementing the aforementioned particle filter, for every vehicle in every particle the vehicle’s followers and leaders in all possible lanes are determined. Then, its distances bumper-to-bumper and the velocity differences are found. This information is used to compute the expected lateral motion of the vehicles present at the scene, for which three models were selected, implemented and compared (see Sect. 4 for more details). Two of these models use only DLC and the third one uses a hybrid approach between MLC and DLC.

Lateral Intention. The lateral intention is computed based on the previous intentions (\(I_{t - 1}\)) and the current expectation (\(E_{t}\)). The intention will be considered equal to 1 (change lane) if a random value is smaller than the probability generated by Table 1.

Table 1. Lateral intention [1].

This step also defines the new corridor of each vehicle in each particle. If the intention is to change, one of the corridors in the target lane chosen in the previous step is selected.

3.5 Motion Prediction

To compute the probabilistic predictions of the vehicles present at the scenarios, the library CORA [17] has been used following the strategy proposed in [7]. The predictions are computed by abstracting the system dynamics into Markov chains, where the state space X and input space U are discretized into intervals. The state space consists of longitudinal position s and velocity v, using intervals with size 0.5 m \(\times \) 1 m/s, and the input space represents the potential acceleration a ranging from \(-3\,\mathrm{m/s}^{2}\) to \(2\,\mathrm{m/s}^{2}\) normalized into 5 intervals between \(-1\) and 1.

The vehicle’s longitudinal dynamics are expressed using the following differential equation:

$$\begin{aligned}&\dot{s} = v \nonumber \\&\dot{v} = {\left\{ \begin{array}{ll} a^{max}u , &{} 0< v < v^{max} \cup u \le 0 \\ 0, &{} v \le 0 \cup v \ge v^{max} \end{array}\right. } \end{aligned}$$
(2)

where \(a^{max}\) and \(v^{max}\) are the maximum allowed acceleration and velocity, and u is the input ranging from \(-1\) to 1.

For the lateral dynamics, it is assumed that the vehicle can occupy the entire lane with a deviation centered in the lateral position of the vehicle.

The transition probability matrices of the Markov chains for a time step \(\varPhi (\tau )\), and for a time interval \(\varPhi ([0, \tau ])\), where \(\tau \) is the time increment, are computed offline with reachability analysis that aims to compute an over-approximation of the potential set of states a system can reach from its initial states. For each state and input, the motion model is applied for a time interval \(\tau \) resulting in a set covering one or more cells from the state space. The probability of reaching the cell j, starting from cell i under the influence of input \(\beta \) is computed as follows:

$$\begin{aligned} \varPhi _{ji}^{\beta }(\tau ) = \frac{V(R_{i}^{\beta }(\tau ) \cap X_{j})}{V(R_{i}^{\beta }(\tau ))} \end{aligned}$$
(3)

where the operator V returns the volume of the set and \(R_{i}^{\beta }(\tau )\) is the reachable set starting from cell i applying input \(\beta \). The transition probabilities between the input states are represented by the input transition matrix \(\Gamma (t_{k})\). This matrix is composed by two parts: a transition matrix \(\varPsi \), which models the intrinsic behavior of the vehicle when there are no priorities for certain input values, and a priority vector \(\lambda \), representing the restrictions caused by the road layout and the interaction with other vehicles. This vector also contains two acceleration distributions, initialInput and freeDriving: the former representing the initial acceleration of the vehicle and the latter representing the accelerations the vehicle might use in the case of no constrains (caused by the road or other vehicles). A detailed explanation of these variables and how they are joined into the priority vector can be found in [7]. Instead of using the same distributions for every vehicle, the distributions are found for each vehicle following the Algorithm 1. It takes into account the acceleration time series of a given vehicle and the previous initial distribution to generate the distributions applied in the current time step. This way, the future velocities of the vehicle can be better estimated when compared with unique distributions applied to all vehicles.

The input transition matrix and the priority vector are joined as follows

$$\begin{aligned}&\Gamma ^{\beta \delta }_{i} = norm(\hat{\Gamma }^{\beta \delta }_{i}) \nonumber \\&\hat{\Gamma }^{\beta \delta }_{i} = \lambda ^{\beta }_{i}\varPsi ^{\beta \delta }, \forall i: \sum _{\beta } \lambda _{i}^{\beta } = 1, 0 \le \lambda _{i}^{\beta } \le 1 \end{aligned}$$
(4)

to form the transition matrix where i is the index of the state space and \(\beta \) and \(\delta \) are indices of two possible input states. The reason this matrix is not joined into the transition matrix \(\varPhi (\tau )\), is that the priority vector \(\lambda \) can change at each step.

The probability distributions for future time steps \(p(t_{k + 1})\) and time intervals \(p(t_{k}, t_{k + 1})\) are computed as follows:

$$\begin{aligned} \begin{gathered} p(t_{k+1}) = \Gamma (t_{k})\varPhi (\tau )p(t_{k}) \\ p(t_{k}, t_{k+1}) = \varPhi ([0,\tau ])p(t_{k}) \end{gathered} \end{aligned}$$
(5)

For each corridor from each vehicle a Markov chain is instantiated and its predictions computed for a time interval. To take into account the size of the vehicle a convolution operation is applied between a kernel with the size of the vehicle and the predictions. These predictions are then multiplied with the sum of the weights of the particles that contain the corridors. They are later joined into a single grid based on the ego-vehicle position, whose size is based on the ego-vehicle’s velocity and the situation context.

figure a

4 Lateral Models

The models implemented and compared are presented below. These models were selected based on their simplicity and low computational cost.

4.1 Model 1

The first model implemented is based on [18]. The desire to change lane is computed by the deceleration a provoked by leading vehicles traveling in the current and adjacent lanes:

$$\begin{aligned} a = \frac{\rho v^{m}\varDelta v}{\varDelta x^{l}} \end{aligned}$$
(6)

where v is the velocity of the vehicle, \(\varDelta v\) is the velocity difference between the leading vehicle and the vehicle, \(\varDelta x\) is the distance between vehicles and \(\rho \), m and l are parameter models. With the acceleration values \(a_{i}\) in each of possible lanes, the utility \(U_{i}\) of each lane i is defined as:

$$\begin{aligned} U_{i} = \frac{e^{a_{i}}}{\sum _{j = 1}^{N} e^{a_{j}}} \end{aligned}$$
(7)

where \(a_{i}\) is the acceleration with respect to the leading vehicle of lane i and N is number of possible target lanes.

If the leading vehicle in the current lane is making the target vehicle brake, the lane with the highest utility is selected, otherwise, a random lane, among the possible lanes, is selected.

Once the lane is selected, it is necessary to verify that the deceleration imposed on the new follower, computed with (6), is below a given threshold b, such that \(a > -b\).

If the safety criteria is met, the probability to accept the gap is computed as:

$$\begin{aligned} P(lead)&= 1 - e^{-\lambda (t_{lead} - \tau )} \nonumber \\ P(lag)&= 1 - e^{-\lambda (t_{lag} - \tau )} \end{aligned}$$
(8)

where \(t_{lead}\) and \(t_{lag}\) are the time gaps with respect to the leading and following vehicle in the target lane.

The probability to change lane is the result of the multiplication of P(lead) and P(lag) and the expected lateral movement will be to change lanes if this probability is bigger than a random value.

4.2 Model 2

The second model implemented is the Minimizing Overall Braking Induced by Lane Changes (MOBIL) [19], used in combination with the Intelligent Driver Model (IDM) [20].

As in the previous model, this one also includes a safety criteria: the deceleration of the new follower \(a_{nf}\) in the target lane, after the lane change, cannot exceed a given safety limit \(b_{safe}\)

$$\begin{aligned} a_{nf} > -b_{safe} \end{aligned}$$
(9)

The authors of MOBIL propose two types of incentive criterion for lane changing: one considering symmetric passing rules and an asymmetric one. The one adopted in this work is the asymmetric model, where the right most lane is the default lane and the lanes on the left should only be used for overtaking purposes.

The incentive criterion for a lane change to a left (L) lane and to a right (R) lane are:

$$\begin{aligned} \begin{gathered} L = \tilde{a}_{c} - a_{c} + p(\tilde{a}_n - a_{n})> \varDelta a_{th} + \varDelta a_{bias} \\ R = \tilde{a}_{c} - a_{c} + p(\tilde{a}_o - a_{o}) > \varDelta a_{th} - \varDelta a_{bias} \end{gathered} \end{aligned}$$
(10)

where \(\tilde{a}_{c}\), \(a_{c}\), \(\tilde{a}_{o}\), \(a_{o}\), \(\tilde{a}_{n}\) and \(a_{n}\) are the accelerations of the target vehicle, old follower and new follower after and before the lane change, p is the politeness factor, \(\varDelta a_{th}\) and \(\varDelta a_{bias}\) are the acceleration threshold and bias, respectively. It can be noticed that the lane change to a right lane considers only the advantages to the old follower. A lane change to a left lane, on the other hand, takes into account the effects caused to the new follower. The politeness factor p determines how much the other vehicles influence the lane-changing decision of the target vehicle.

The IDM acceleration of each vehicle \(\alpha \) depends on the distance \(s_{\alpha }\) and on the velocity difference \(\varDelta v_{\alpha }\) to the leading vehicle. It is composed of two parts: the acceleration \(a[1 - (v_{\alpha }/v_{o})^4]\) on a free road and the braking \(-a(s^{*}/s_{\alpha })^{2}\) caused by a leading vehicle.

$$\begin{aligned} \dot{v}_{\alpha }&= a \left[ 1 - \left( \frac{v_{\alpha }}{v_{o}}\right) ^{4} - \frac{s^{*}(v_{\alpha }, \varDelta v_{\alpha })}{s_{\alpha }}^{2} \right] \nonumber \\ s^{*}(v, \varDelta v)&= s_{o} + vT + \frac{v\varDelta v}{2\sqrt{ab}} \end{aligned}$$
(11)

where a is the maximum acceleration, b is the desired comfortable deceleration, \(s_{o}\) is the minimum distance, \(v_{o}\) is the desired velocity and T is the safe time gap.

4.3 Model 3

The third model implemented is based on [21]. The authors argue that the classification of the lane changes into MLC or DLC does not allow to capture trade-offs between the two types. For this reason, they created a method that includes both types in a single model.

This model penalizes the most right lane, since it considers this lane as being of low speed, caused by the entrances and exits.

At the highest level of the model, the driver chooses a target lane. It is the lane, among all the possible lanes, that the driver recognizes as the best lane to be in after considering a wide range of factors and goals. The utilities of the various lanes are given by:

$$\begin{aligned} \begin{gathered} U_{int}^{TL} = \beta _{i} - 0.011D_{int} + 0.119S_{int} + 0.022\varDelta X_{int}^{front}\delta _{int}^{adj} \\ +\ 0.115\varDelta S_{int}^{front}\delta _{int} - 2.783\delta _{nt}^{taigate}\delta _{int}^{CL} \\ +\ \delta _{int}^{CL} - 2.633\varDelta CL_{int} + \beta _{i}^{path}[d_{nt}^{exit}]^{-0.371} \\ -\ 0.980\delta _{nt}^{next\;exit} \varDelta Exit_{i} - \alpha _{i}\nu _{n} \end{gathered} \end{aligned}$$
(12)

where \(U_{int}^{TL}\) is the utility of lane i as a target lane to the driver n at time t, \(\beta {i}\) is the lane i constant, \(D_{int}\) and \(S_{int}\) are the lane-specific densities and speeds, \(\varDelta X^{front}_{int}\) and \(\varDelta S^{front}_{int}\) are the spacing and relative speed of the front vehicle in lane i. \(\delta ^{adj}_{int}\), \(\delta ^{CL}_{int}\) and \(\delta ^{tailgate}_{nt}\) are indicators with value 1 if i is the current or an adjacent lane, if i is the current lane, if vehicle n is being tailgated at time t, respectively, lane, 0 otherwise. \(\varDelta CL_{int}\) is the number of lane changes required to get to lane i from the current lane. \(\beta _{i}^{path}\) is the path plan impact coefficient for lane i, \(\delta _{nt}^{next\;exit}\) is the distance to the exit driver n intends to use. \(\delta _{nt}^{next\;exit}\) indicates with 1 if the driver intends to take the next exit, \(\varDelta Exit_{i}\) are the number of lane changes required to get to the exit lane from lane i. \(\alpha _{i}\) is the parameter of the driver specific random term \(\nu _{n}\).

The target lane is chosen as the lane with the highest utility. The probabilities are given by a multinomial logit model:

$$\begin{aligned} P(TL_{nt} = i | \nu _{n}) = \frac{exp(V_{int}^{TL}) | \nu _{n})}{\sum _{j=TL}exp(V_{jnt}^{TL} | \nu _{n})} \end{aligned}$$
(13)

Once the utilities are computed one has to evaluate the lead and lag gaps, which are defined by the bumper-to-bumper distance between the lead and subject vehicles and the bumper-to-bumper distance between the lag distance and the subject vehicles.

The gap is acceptable if it is bigger than the critical gap:

$$\begin{aligned} \begin{gathered} P(G_{nt}^{gd} > G_{nt}^{gd,cr} | d_{nt}, \nu _{n}) = \varPhi \left[ \frac{ln(G_{nt}^{gd}) - G_{nt}^{gd,cr}}{\sigma _{g}}\right] \end{gathered} \end{aligned}$$
(14)

where \(\varPhi []\) denotes the cumulative standard normal distribution, \(G_{nt}^{gd}\) and \(G_{nt}^{gd,cr}\) are the gap and the critical gap for vehicle n at time t. Superscript d refers to the direction of change (current, left or right) and g to the type of gap (lead or lag).

The critical lead and lag gaps are given by:

$$\begin{aligned} \begin{gathered} G_{nt}^{lead\;d,cr} = exp(1.553 - 6.389 max(0, \varDelta S_{nt}^{lead\;d}) \\ -\ 0.14\,min(0, \varDelta S_{nt}^{lead\;d} - 0.008\nu _{n}) \\ G_{nt}^{lag\;d,cr} = exp(1.429 + 0.471 max(0, \varDelta S_{nt}^{lag\;d}) \\ -\ 0.234\nu _{n}) \end{gathered} \end{aligned}$$
(15)

\(\varDelta S_{nt}^{lead\;d}\) and \(\varDelta S_{nt}^{lead\;d}\) are the relative speeds of the lead and lag vehicles in the direction of change d.

The probability to accept the gap is computed by multiplying the lead and lag gap acceptance probability and the expected lateral movement will be to change if this probability is bigger than a random value.

Fig. 6.
figure 6

Paths evolution of each vehicle in the simulated scenario. (Color figure online)

5 Experimental Results

5.1 Scenario 1

The framework proposed in the previous section is evaluated first in a scenario simulated with SCANeR Studio simulator [22]. It is a two-lane highway with the ego vehicle (black) and 4 other vehicles (red, green, yellow and blue), where 4 lane changes are executed. The information about the surrounding vehicles is received by the ego vehicle as a vector of high-level objects containing their estimated pose, velocity, and size. Figure 6 shows the initial position and the path followed by each vehicle and Fig. 7 shows the velocities of each vehicle throughout the simulation.

Fig. 7.
figure 7

Velocities throughout the execution of the scenario 1. (Color figure online)

Execution of the Lateral Models. The simulation is executed three times, one for each lateral model. Figure 8 shows the graphs of expectation and intention for each vehicle with the three models in the simulated scenario, where the specificities of each model can be noticed. In the expectation of the green vehicle (Fig. 8b) once it overtakes the blue vehicle, the expectation to change lanes from Model 1 stays around 0.5, since no deceleration is caused, meaning both lanes are possible and feasible. For Model 2, the right most lane has always the priority, which can be seen as the expectation stays around 1 when the vehicle is on the left lane and the right lane is available. For Model 3, in the same situation, the expectation is to stay on the current (left) lane, since it penalizes the right most lane and also penalizes lane changes. The penalization to the right most can be seen in the expectation of the blue vehicle (Fig. 8c) that stays the whole simulation on the right lane and the expectation changes to 1 once the left lane becomes available. Since this vehicle is already on the right lane, the expectation for Model 2 stays around 0 and for Model 1 stays around 0.5 when both lanes are feasible.

Fig. 8.
figure 8

Expectation and intention for each vehicle. (Color figure online)

Figure 9 shows the evolution of the probabilities for each vehicle and each model. These probabilities are computed as \(1 - p_{right}\), where \(p_{right}\) is the probability of being on the right most corridor. As mentioned before, the probability of each corridor is the sum of the weights of the particles that contain this corridor. Each line, marked with the color of the vehicle on the top right corner, represents the evolution of this vehicle. The x axis is the time and the y axis is the probability of being on each lane, being 0 the right (bottom) lane and 1 the left (top) lane. The line in black is the ground truth, the lane in which the vehicle is at, at each instant. The three models are represented by the lines in red, green and blue, respectively. The magenta dashed line is the orientation of the vehicle with respect to the orientation of the lane and the numbers mark the lane changes whose leading times for each model are presented in Table 2. The dashed line in blue is the threshold for the detection of a lane change.

Fig. 9.
figure 9

Evolution of each vehicle in the simulation: the line in black is the ground truth; the lines in red, green and blue represent the evolution of the Model 1, 2, and 3, respectively; the blue line is the threshold to identify the lane change; the line in magenta is the orientation of the vehicle with respect to the center line of the lane. (Color figure online)

Table 2. Leading times for scenario 1.

Predictions and Evaluation. Figure 10 shows an example of the predictions computed with the model from Sect. 3.5 in the last time interval (2.9–3.0 s) for all three models. The time when these predictions were made was chosen at 21.1 s, to show an instant where the red vehicle starts to make a lane change.

The differences of the models in these figures are more visible in the lane change of the red vehicle. In this particular frame, the probability of the right most corridor is 0.49, 0.56 and 0.40 for Models 1, 2 and 3, respectively, which confirms the differences in the leading time for this lane change (3) in Table 2.

Figure 11 shows the correlation of the prediction and the actual vehicle pose at the time interval (1.4–1.5 s) for all three models. It also includes a numerical evaluation of the prediction at the considered time. The metric used consists in getting the sum of the likelihoods of the cells in which the box of the vehicle is located divided by the total sum of the prediction made 1.5 s before. It is one of the criteria used to assess the lateral models behaviour that are compared. Table 3 presents the sum of the evaluations for each vehicle and for each model for the whole simulation.

Table 3. Evaluation of the predictions per model.

The vehicles with the more accurate predictions are the ones that do not change lanes, namely the green and the blue vehicles (the green vehicle leaves the simulation 10.5 s before its end). Besides the early detection of the lane change, another factor that influences the accuracy of the predictions is the fact that the lane changing corridors do not perfectly match the movement executed by the vehicles.

Fig. 10.
figure 10

Predictions at the interval 2.9–3.0 s for each of the models.

5.2 Scenario 2

The second scenario is obtained from the publicly available dataset exiD [23] recorded from a bird-eye-view perspective. These data contains public traffic data from the participants present at the scene. For each participant, they include their pose, velocity, acceleration, size, and also the frames where they appear.

In order to use this data for the purpose of the work, it has been downsampled and filtered to remove undesired participants, such as static vehicles, vehicles with velocities larger than the maximum velocity from the motion prediction setup and large trucks. After binary tagging each frame as containing or not these participants, the intervals are grouped and the vehicle that stays the longest in each interval is defined as the ego vehicle. The frames in which this vehicle is not present are discarded.

It is a three-lane merging scenario containing 13 vehicles, where 10 lane changes are executed. The evolution of the path followed by each vehicle is shown in Fig. 12 and Fig. 13 shows the velocities of each vehicle throughout the simulation.

Fig. 11.
figure 11

Evaluation of the predictions.

Fig. 12.
figure 12

Paths evolution of each vehicle in the simulated scenario 2. (Color figure online)

Table 4. Leading times for scenario 2.
Fig. 13.
figure 13

Velocities throughout the execution of the scenario 2. (Color figure online)

Table 5. Evaluation of the predictions per model.

Execution of the Lateral Models. The simulation is executed three times, one for each lateral model. Figure 14 shows the evolution of the probabilities for each vehicle and each model. These probabilities are computed as \((1 - 2p_{left} + p_{center})/2\), where \(p_{left}\) and \(p_{center}\) are the probabilities of being on the left and center corridors, respectively. As mentioned before, the probability of each corridor is the sum of the weights of the particles that contain this corridor. Each line, marked with the color and the number of the vehicle on the top right corner, represents the evolution of this vehicle. The x axis is the time and the y axis is the probability of being on each lane, being 0 the right (bottom) lane, 0.5 the center lane and 1 the left (top) lane. The line in black is the ground truth, the lane in which the vehicle is at, at each instant. The three models are represented by the lines in red, green and blue, respectively. The magenta dashed line is the orientation of the vehicle with respect to the orientation of the lane and the numbers mark the lane changes whose leading times for each model are presented in Table 4. The dashed line in blue is the threshold for the detection of a lane change.

Fig. 14.
figure 14

Evolution of each vehicle in the simulation: the line in black is the ground truth; the lines in red, green and blue represent the evolution of the Model 1, 2, and 3, respectively; the blue line is the threshold to identify the lane change; the line in magenta is the orientation of the vehicle with respect to the center line of the lane. (Color figure online)

Predictions and Evaluation. Figure 15 shows the correlation of the prediction and the actual vehicle pose at the time interval (1.4–1.5 s) for all three models. It also includes a numerical evaluation of the prediction at the considered time. The metric used consists in getting the sum of the likelihoods of the cells in which the box of the vehicle is located divided by the total sum of the prediction made 1.5 s before. The predictions are evaluated at the time 14.5 s when 4 lane changes are occurring for vehicles 7, 8, 9 and 13. Table 5 presents the sum of the evaluations for each vehicle and for each model for the whole simulation.

Fig. 15.
figure 15

Evaluation of the predictions. \(V_{X}\) is the evaluated prediction of vehicle X.

Table 6. Metrics of each model for scenario 1.

5.3 Evaluation Metrics

To evaluate the quality of the results, three metrics were defined: lead time of the detection l, probability p of the current pose based on the predictions from a previous time step, and false lane change detection f.

  • Lead time of the detection l is defined as the time where the corridor that is changing lanes has the biggest priority and maintains the dominance until the lane change is detected.

  • Probability p of the current pose is a sum of the evaluation’s probabilities for the whole simulation.

  • False lane change detection f is the sum of intervals where the probability is bigger on a corridor that is not the correct one or a noise in the lane change. The intervals between the lead time and the detection of a lane change are not included. One example of a false detection is marked in Fig. 14.

Each metric is computed as follows:

$$\begin{aligned} l_{k} = \sum _{v = 1}^{N}\sum _{c = 1}^{Nc_{v}}l_{v}^{c^k}, \;\;\;\; p_{k} = \sum _{i = 1}^{M}\sum _{v = 1}^{N} p_{v}^{i^k}, \;\;\;\; f_{k} = \sum _{i = 1}^{M}\sum _{v = 1}^{N} f_{v}^{i^k} \end{aligned}$$

where \(l_{v}^{c^k}\) is the leading time of the lane change c of the vehicle v for the model k, \(p_{v}^{i^k}\) is the accuracy of a previous prediction at time interval i for the vehicle v for the model k, \(f_{v}^{i^k}\) is the false detection for the vehicle v at the time interval i for the model k, N is the number of vehicles, \(Nc_{v}\) is the number of lane changes for the vehicle v and M is the number of simulated intervals.

Table 7. Metrics of each model for scenario 2.
Table 8. Normalized sum of the results.

Table 6 presents the values of each metric for the three models for the scenario 1. For this scenario, model 1 yield better leading times, although the predictions from model 2 and 3 are slightly more accurate. The reason for this is mostly due to the fact that the lane changing corridors do not perfectly match the movement executed by the vehicles. The number of false detection are the same for the three models.

The results from the scenario 2 are presented in Table 7. In this case, model 1 and 2 yield better leading time and the lowest number of false detections. The predictions from model 2 are better when compared with the other two models.

To combine both experiments, the values of l are normalized by the number of lane changes, and the values of p and f are normalized by the number of simulated intervals each vehicle is present at the simulation and the total number of vehicles. Table 8 presents the sum of the normalized results of both simulations for each model.

Based on the results from Table 8, for the scenarios evaluated, model 1 and model 2 produced, in general, better results, being model 1 slightly better since its normalized leading time and normalized false detection are the best among all models.

6 Conclusion and Future Work

In this work, the current framework that is being used by the AUTOPIA Group for the computation and evaluation of the predictions of vehicles considering their mutual interaction at highways is presented. It is a generic approach that can handle almost any layout and number of vehicles. Three models for the lane change were implemented and compared. With the metrics used in this work and in the scenarios evaluated, the model from [18] yields slightly better results.

As future work, the framework presented and the models compared will be applied in more complex scenarios, such as highways with a larger number of lanes and vehicles.