Patent Publication Number: US-11648935-B2

Title: Driving assistance method and system

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     This application is a National Stage of International Application No. PCT/IB2016/001737 filed Oct. 31, 2016. 
     TECHNICAL FIELD 
     The disclosure relates to a driving assistance model and system for road vehicles, as well as to a road vehicle comprising such a driving assistance system. In this context, “driving assistance” should be understood broadly and not be limited to the support of an active human driver, but extend even to fully autonomous driving. 
     BACKGROUND 
     Recent years have seen a significant increase in research on Advanced Driver Assistance Systems (ADAS). Especially, autonomous driving has become a critical concern around the world, whether it is to increase safety and security of drivers, passengers or pedestrians, enhance mobility for people and freight, or protect the environment. However, techniques to accurately predict the trajectories and intents of road users are time and memory demanding, which sets an obstacle to the development of safe and secure autonomous driving systems. 
     C. Tay, in the PhD thesis “Analysis of dynamic scenes: application to driving assistance”, Institut National Polytechnique de Grenoble, France, and C. Laugier, I. Paromtchik, M. Perrollaz, M. Yong, J. D. Yoder, C. Tay, K. Mekhnacha and A. Nègre, in “Probabilistic analysis of dynamic scenes and collision risks assessment to improve driving safety”, IEEE Intelligent Transportation Systems Magazine, 3(4):4-19, have disclosed a traffic scene prediction method in which a set of available maneuvers is considered for each road user in a traffic scene, the maneuver that a road user is performing or about to perform is identified using a layered Hidden Markov Model and, once identified, the trajectory that the road user will subsequently follow is predicted using Gaussian processes based on previously recorded data of drivers performing the same maneuver. However, the prediction time horizon of this method is limited to the duration of the maneuver, and no interaction between road users is considered. 
     A. Lawitzky, D. Althoff, C. F. Passenberg, G. Tanzmeister, D. Wollherr and M. Buss, in “Interactive scene prediction for automotive applications”, 2013 IEEE Intelligent Vehicles Symposium (IV), Gold Coast City, Australia, Jun. 23-26, 2013, pp. 1028-1033, disclosed a scene prediction method that relied on exhaustively estimating the intent of all road users. Such a method, however, has a computational complexity which increases exponentially with the number of vehicles in the traffic scene, and can thus be excessive for the limited computational resources available on an onboard vehicle. 
     Instead, planning-based approaches have been proposed which assume that pedestrians, in their motion, seek to minimize a cost function which depends on their preferences and the context. Thus, given the cost function and the context, their future actions can be predicted. Such methods have been disclosed, for instance, by B. D. Ziebart, N. Ratliff, G. Gallagher, C. Mertz, K. Peterson, J. A. Bagnell, M. Hebert, A. K. Dey and S. Srinivasa, in “Planning-based prediction for pedestrians”, Proceedings of the 2009 IEEE/RSJ International Conference on Intelligent Robots and Systems, ser. IROS&#39;09, Piscataway, N. J., USA, 2009, pp. 3931-3936, by K. M. Kitani, B. D. Ziebart, J. A. Bagnell and M. Hebert, in “Activity Forecasting”, Springer Berlin Heidelberg, 2012, pp. 201-214, and by D. Vasquez, in “Novel planning-based Algorithms for Human Motion Prediction”, Proceedings of the IEEE Conference on Robotics and Automation, Stockholm, Sweden, May 2016. 
     These disclosures, however, focus on the problem of pedestrian motion prediction and their proposed approaches appear unsuitable for the wider ranges of behavior which a road vehicle may encounter in a traffic scene on a road. Moreover, a road is a dynamic environment in which the actions of each road user are strongly conditioned by the states of other, surrounding road users. The computational complexity of traffic scene predictions can be therefore much higher, as these predictions will involve predicting the actions of all road users while taking into account the interactions between them. 
     In this respect, W. Schwarting and P. Pascheka, in “Recursive conflict resolution for cooperative motion planning in dynamic highway traffic”, 2014 IEEE 17 th  International Conference on Intelligent Transportation Systems (ITSC), October 2014, pp. 1039-1044, have proposed a more refined approach which seeks the best cooperative behavior between two road users using hand-tuned cost functions in case of potential conflict between their trajectories as initially predicted without considering any interaction. Such cooperative behavior, however, does not accurately correspond to the natural behavior of road users, which is risk-averse rather than cooperative, given the limited scope for communication between them. 
     An alternative approach has been proposed by T. Gindele, S. Brechtel and R. Dillmann in “Learning driver behavior models from traffic observations for decision making and planning”, IEEE Intelligent Transportation Systems Magazine, vol. 7, no. 1, pp. 69-79, 2015, in which each road user in a traffic scene is represented within a Dynamic Bayesian Network by a set of nodes representing its internal states and the relationships with the other road users and the road. Underlying policies are learned from data using random forests. However, it is not obvious how such a policy model can guarantee reasonable predictions when presented with new traffic scenes not included in a training set. 
     Finally, N. Lee and K. M. Kitani, in “Predicting wide receiver trajectories in American football”, in 2016 IEEE Winter Conference on Applications of Computer Vision (WACV), March 2016, pp. 1-9, have proposed a planning-based approach in the completely different field of predicting trajectories of an attacking player in American football. This approach used a dynamic feature dependent on the motion of opposing players, which was predicted using supervised learning. 
     SUMMARY 
     A first object of the disclosure is that of proposing a driving assistance method which substantially increases the safety and security of a road vehicle by accurately predicting a future traffic scene, and taking appropriate action in response, using limited computational resources. 
     Accordingly, in at least one illustrative embodiment of a driving assistance method according to the present invention, the driving assistance method comprises the steps of detecting, within a traffic scene including the road vehicle, a set of road users and, for each road user of the set of road users, a current state including a current speed and a current position; assigning a behavioral model, from among a finite plurality of behavioral models, to each road user of the set of road users; probabilistically estimating by a data processor, for each road user of the set of road users, a belief state comprising a set of alternative subsequent states and corresponding probabilities, each alternative subsequent state including a speed and a position, using the behavioral model assigned to each road user of the set of road users; determining a risk of collision of the road vehicle with a road user of the set of road users, based on the probabilistically estimated belief state of each road user of the set of road users; and outputting a driver warning signal and/or executing an avoidance action if the risk of collision exceeds a predetermined threshold. 
     By selecting and assigning to each road user a behavioral model, which may in particular be expressed as a cost function encoding a set of preferences and/or a risk-averse behavior of the road user, from among a finite plurality of behavioral models, and probabilistically estimating the belief state of each road user using the corresponding behavioral model, the present driving assistance method can offer a high accuracy in scene prediction even with limited computational resources. 
     In order to offer a future traffic scene prediction that takes into account the uncertainty in the future behavior of road users, the belief state may be probabilistically estimated for each road user of the set of road users by the data processor performing the steps of estimating a probability of each action from a set of alternative subsequent actions for each road user of the set of road users, using the behavioral model assigned to each road user of the set of road users; calculating each alternative subsequent state resulting from each action of the set of alternative subsequent actions for the corresponding road user. 
     The finite plurality of behavioral models may comprise a dynamic behavioral model with at least one dynamic feature for taking into account a state of a road user other than the road user to which the dynamic behavioral model is assigned. Using such a dynamic behavioral model, it is possible to take into account the interactions between road users and their natural risk-averse behavior which anticipates the actions of other road users and leads them to act accordingly in order to minimize the risk of collision. 
     If the finite plurality of behavioral models comprises such a dynamic behavioral model, the step of estimating the probability of each action from the set of alternative subsequent actions for each road user of the set of road users may be carried out using a dynamic behavioral model taking into account at least a previously calculated occupancy probability distribution of the set of road users, so as to better fit the predictive behavior of human drivers. 
     In order to provide a long-term scene prediction, the belief state may be probabilistically estimated for each road user of the set of road users by the data processor for a plurality of successive timesteps, a new occupancy probability distribution being calculated on the basis of the belief state probabilistically estimated for each successive timestep. 
     To better take into account the interactions between road users, the driving assistance method may further comprise a step of sorting the set of road users by order of decreasing driving priority, before the step of estimating a probability of each action from a set of alternative subsequent actions, which may then be successively carried out for each road user of the set of road users following the order of decreasing driving priority. 
     The at least one dynamic feature may comprise a time-headway and/or a time-to-collision between the road user to which the dynamic behavioral model is assigned and another road user. 
     The dynamic behavioral model may be a dynamic behavioral model learned from observed road user behavior using a machine learning algorithm such as, for example, an inverse reinforcement learning algorithm, and in particular a maximum entropy inverse reinforcement learning algorithm. 
     Each behavioral model of the finite plurality of behavioral models may be associated with a cost function for calculating a cost of a subsequent action from a current state, and the probability of an action from a set of alternative subsequent actions for a given road user may then be estimated as one minus the ratio of a cost of the action to the sum total of costs of the set of alternative subsequent actions, according to the cost function associated with a behavioral model assigned to the given road user. 
     The traffic scene may comprise a multi-lane road, and the set of alternative subsequent actions for each road user of the set of road users may then comprise lane and/or speed changes. 
     The step of assigning a behavioral model, from among a finite plurality of behavioral models, to each road user of the set of road users may be carried out, by a data processor, based on behavior by each road user of said set of road users prior to the current states. 
     To assign to a road user a behavioral model from among the finite plurality of behavioral models, an aggregated probability of a prior trajectory of the road user, including successive prior states of the road user, may be calculated using each behavioral model, and the behavioral model with the highest aggregated probability may then be selected. 
     The present disclosure also relates to a driving assistance system for a road vehicle. According to at least one embodiment, the driving assistance system may comprise a sensor set, a data storage device, a data processor, and an output device. The sensor set may be adapted to detect, within a traffic scene including the road vehicle, a set of road users and, for each road user of said set of road users, a current state including a current speed and a current position. The data storage device may contain a database comprising a finite plurality of behavioral models. The data processor may be connected to the sensor set and to the data storage device, and adapted to assign a behavioral model, from among the finite plurality of behavioral models, to each road user of the set of road users, probabilistically estimate, for each road user of the set of road users, a future state including a future speed and a future position, according to the behavioral model assigned to each road user of the set of road users, and determine a risk of collision of the road vehicle with a road user of said set of road users, based on the probabilistically estimated future state of each road user of the set of road users. The output device may be connected to the data processor, and adapted to output a driver warning signal and/or executing an avoidance action if the risk of collision exceeds a predetermined threshold. 
     The present disclosure also relates to road vehicle comprising such a driving assistance system. 
     The above summary of some example embodiments is not intended to describe each disclosed embodiment or every implementation of the invention. In particular, selected features of any illustrative embodiment within this specification may be incorporated into an additional embodiment unless clearly stated to the contrary. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The invention may be more completely understood in consideration of the following detailed description of an embodiment in connection with the accompanying drawings, in which: 
         FIG.  1    is a schematic view of a road vehicle equipped with a driving assistance system according to an embodiment of the present invention; 
         FIG.  2    is a functional diagram of the driving assistance system of  FIG.  1   ; 
         FIG.  3    is a flowchart illustrating an algorithm executed within a driving assistance method according to an embodiment of the present invention; and 
         FIGS.  4 A and  4 B  illustrate examples of traffic scene predictions within a driving assistance method according to an embodiment of the present invention. 
     
    
    
     While the invention is amenable to various modifications and alternative forms, specifics thereof have been shown by way of example in the drawings and will be described in detail. It should be understood, however, that the intention is not to limit aspects of the invention to the particular embodiment described. On the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the scope of the invention. 
     DETAILED DESCRIPTION 
     For the following defined terms, these definitions shall be applied, unless a different definition is given in the claims or elsewhere in this specification. 
     As used in this specification and the appended claims, the singular forms “a”, “an”, and “the” include plural referents unless the content clearly dictates otherwise. As used in this specification and the appended claims, the term “or” is generally employed in its sense including “and/or” unless the content clearly dictates otherwise. 
     The following detailed description should be read with reference to the drawings in which similar elements in different drawings are numbered the same. The detailed description and the drawings, which are not necessarily to scale, depict illustrative embodiments and are not intended to limit the scope of the invention. The illustrative embodiments depicted are intended only as exemplary. Selected features of any illustrative embodiment may be incorporated into an additional embodiment unless clearly stated to the contrary. 
       FIG.  1    illustrates schematically a road vehicle  1  with a drivetrain  10 , brakes  30 , steering  20  and a driving assistance system  100  according to an embodiment of the invention. This driving assistance system  100  comprises a sensor set  101 , a data storage device  102 , a data processor  103 , a warning signal output device  104  and a driving command output device  105 . The data processor  103  is connected to the sensor set  101 , to the data storage device  102 , and to the warning signal and driving command output devices  104 ,  105 . The driving command output device  105  is in turn connected to the drivetrain  10 , brakes  30  and steering  20  of the road vehicle  1 . 
       FIG.  2    is a functional scheme of the driving assistance system  100 . As illustrated in this figure, the sensor set  101  may comprise a variety of sensors, such as an inertial measurement unit  201 , a satellite navigation receiver  202 , a LIDAR  203 , a radar  204 , and a front camera  205 . In the illustrated embodiment, the data processor  103  is adapted to process the raw incoming data from the sensor set  101  to identify and track obstacles, as well as to identify and track road lanes, and localize the road vehicle  1  on those road lanes and within a road network. This is illustrated in  FIG.  2    by a first functional processing layer  210  in the data processor  103 , including an obstacle tracker module  211 , a lane tracker module  212  and a localization module  213 . 
     The obstacle tracker module  211  processes the incoming data from the inertial measurement unit  201 , satellite navigation receiver  202 , LIDAR  203  and radar  204  in order to identify and track obstacles, in particular mobile obstacles such as other road users in a traffic scene within an area at least longitudinally centered on the road vehicle  1 . This can be performed, for instance, using any one of the alternative algorithms disclosed by Anna Petrovskaya, Mathias Perrollaz, Luciano Oliveira, Luciano Spinello, Rudolph Triebel, Alexandros Makris, John-David Yoder, Christian Laugier, Urbano Nunes and Pierre Bessière in “Awareness of Road Scene Participants for Autonomous Driving” in Chapter “Fully Autonomous Driving” of “Handbook of Intelligent Vehicles”, Vol. 2, Springer-Verlag London Ltd, 2012, edited by Azim Eskandarian. 
     On a multi-lane road within a road network, the lane tracker module  212  processes the incoming data from the front camera  205  in order to identify and track the lanes of the multi-lane road, whereas the localization module  213  processes the same incoming data to localize the road vehicle  1  on one of those lanes and in the road network. 
     The data processor  103  is also adapted to further process the output data from the first functional processing layer in order to predict a future traffic scene in the area centered on the road vehicle  1 . This is illustrated on  FIG.  2    by a prediction layer  220  in the data processor  103 , including an observation management module  221 , a behavioral model assignment module  222 , and a scene prediction module  223 . 
     The observation management module  221  merges the output from the obstacle tracker module  211 , lane tracker module  212  and localization module  213  so as to generate a grid G covering the road in an area centered on the road vehicle  1  at least in a direction of travel, which may be a longitudinal direction of the road, and locate the other road users in the current traffic scene on this grid G, which is divided in cells (x, y), wherein x is a longitudinal cell index corresponding to a longitudinal position on the road, and y is a lane index. The longitudinal resolution of the grid can be denoted by r x . The observation management module  221  allocates an index i to each road user of a finite set V of m road users, including road vehicle  1 , within the area centered on road vehicle  1 , and identifies its current position (x i , y i ) on this grid G, as well as its current speed z i . The observation management module  221  also identifies as the current preferred speed z i   •  of each road user i the maximum speed observed for that road user i since the last change in the legal speed limit on the road. Together, a tuple ((x i , y i ), z i , z i   • ) of position (x i , y i ), speed z i  and preferred speed z i   •  represent a state s i  of each road user i. 
     The behavioral model assignment module  222  assigns a behavioral model, selected from a finite plurality of behavioral models in a database stored in the data storage device  102 , to each road user i: These behavioral models may be defined by cost functions, and more specifically by dynamic cost functions C i   t (s i ) with a static part C s   i (s i )=θ s   i ·f s (s i ) and a dynamic part C d,t   i (s i )=θ d   i ·f d,t (s i ), following the equation:
 
 C   t   i ( s   i )=θ s   i   ·f   s ( s   i )+θ d   i   ·f   d,t ( s   i )
 
wherein f s (s i ) is a time-invariant vector of static features of state s i , f d,t (s i ) is a vector of dynamic features of state s i  at timestep t, wherein timestep t can take the values {0, 1, . . . , T−1} within a time horizon T, and θ s   i  and θ d   i  are weight vectors to be respectively applied to the static and dynamic features in order to establish the cost of those features for a given type of driving behaviour.
 
     The static features may notably comprise a lane preference, and a speed deviation. For a multi-lane road with n l  lanes, the lane preference may be expressed as a vector of n l  mutually exclusive binary features, whereas the speed deviation corresponds to a difference between speed z i  and preferred speed z i   • . 
     The dynamic features of a road user i may notably comprise a time-headway ϕ(s i , s j ) from a closest leading road user j on the same lane, a time-headway ϕ(s i , s k ) to a closest trailing road user k on the same lane, a time-to-collision φ(s i , s j ) with the closest leading road user j on the same lane and a time-to-collision φ(s i , s k ) with the closest trailing road user k on the same lane. 
     The time-headway ϕ(s i , s j ) from a leading road user j can be defined as a time elapsed between the back of the leading road user j passing a point, and the front of road user i reaching the same point, and may be calculated according to the equation: 
     
       
         
           
             
               ϕ 
               ⁡ 
               
                 ( 
                 
                   
                     s 
                     i 
                   
                   , 
                   
                     s 
                     j 
                   
                 
                 ) 
               
             
             = 
             
               
                 
                   ( 
                   
                     
                       x 
                       j 
                     
                     - 
                     
                       x 
                       i 
                     
                   
                   ) 
                 
                 ⁢ 
                 
                   r 
                   x 
                 
               
               
                 z 
                 i 
               
             
           
         
       
     
     The time-headway ϕ(s i , s k ) to a trailing road user k can be defined as a time elapsed between the back of road user i passing a point, and the front of the trailing road user k reaching the same point, and may be calculated according to the equation: 
     
       
         
           
             
               ϕ 
               ⁡ 
               
                 ( 
                 
                   
                     s 
                     i 
                   
                   , 
                   
                     s 
                     k 
                   
                 
                 ) 
               
             
             = 
             
               
                 
                   ( 
                   
                     
                       x 
                       i 
                     
                     - 
                     
                       x 
                       k 
                     
                   
                   ) 
                 
                 ⁢ 
                 
                   r 
                   x 
                 
               
               
                 z 
                 k 
               
             
           
         
       
     
     The time-to-collision φ(s i , s j ) with a slower leading road user j can be defined as a time to elapse until the front of road user i hits the back of the leading road user j at their current speeds, and may be calculated according to the equation: 
     
       
         
           
             
               φ 
               ⁡ 
               
                 ( 
                 
                   
                     s 
                     i 
                   
                   , 
                   
                     s 
                     j 
                   
                 
                 ) 
               
             
             = 
             
               
                 
                   ( 
                   
                     
                       x 
                       j 
                     
                     - 
                     
                       x 
                       i 
                     
                   
                   ) 
                 
                 ⁢ 
                 
                   r 
                   x 
                 
               
               
                 
                   z 
                   i 
                 
                 - 
                 
                   z 
                   j 
                 
               
             
           
         
       
     
     The time-to-collision φ(s i , s k ) with a faster trailing road user k can be defined as a time to elapse until the front of the trailing road user k hits the back of road user i at their current speeds, and may be calculated according to the equation: 
     
       
         
           
             
               φ 
               ⁡ 
               
                 ( 
                 
                   
                     s 
                     i 
                   
                   , 
                   
                     s 
                     j 
                   
                 
                 ) 
               
             
             = 
             
               
                 
                   ( 
                   
                     
                       x 
                       i 
                     
                     - 
                     
                       x 
                       k 
                     
                   
                   ) 
                 
                 ⁢ 
                 
                   r 
                   x 
                 
               
               
                 
                   z 
                   k 
                 
                 - 
                 
                   z 
                   i 
                 
               
             
           
         
       
     
     Small time-headway and/or time-to-collision values may indicate dangerous situations. 
     The behavioral model database stored in the data storage device  102  in the present embodiment comprises a finite plurality of alternative dynamic behavioral models, each comprising a set of weight vectors θ s   i  and θ d   i  corresponding to a specific driving behavior. So, for instance, the database may contain a safe driver model, corresponding to a road user with a preference for high time-headway and/or time-to-collision values; an aggressive driver model, corresponding to a road user with a high tolerance for low time-headway and/or time-to-collision values and a preference for the left-most lane in a multi-lane road; an exiting driver model, corresponding to a road user aiming to take an oncoming exit from the multi-lane road, and therefore giving preference to merging into the right-most lane over maintaining its preferred speed; and an incoming driver model, corresponding to a road user adapting its speed in order to merge into the road lanes. 
     Each dynamic behavioral model may have previously been learnt offline from observed road behavior, for example using a machine learning algorithm such as an Inverse Reinforcement Learning (IRL) algorithm. IRL algorithms aim to find a cost function corresponding to a behavioral model underlying a set of observed trajectories, wherein each trajectory may be defined as a sequence of states over a plurality of consecutive timesteps. The goal of an IRL algorithm is to find the weight vectors of the cost function for which the optimal policy obtained by solving the underlying planning problem would result in trajectories sufficiently similar to the observed trajectories according to a given statistic. IRL algorithms have already been shown as a viable approach for learning cost functions describing driving behaviors, for example by P. Abbeel and A. Y. Ng, in “Apprenticeship learning via inverse reinforcement learning”, Proceedings of the Twenty-first International Conference on Machine Learning (ICML 2004), Banff, Alberta, Canada, Jul. 4-8, 2004, and by S. Levine and V. Koltun, in “Continuous Inverse Optimal Control with Locally Optimal Examples”, Proceedings of the 29 th  International Conference on Machine Learning (ICML &#39;12), 2012. 
     An IRL algorithm that may in particular be used to learn the static and dynamic weight vectors θ s   i  and θ d   i  corresponding to a specific driving behavior is the Maximum Entropy Inverse Reinforcement Learning (ME IRL) algorithm disclosed by Brian D. Ziebart, Andrew Maas, J. Andrew Bagnell and Anind K. Dey in “Maximum Entropy Inverse Reinforcement Learning”, Proceedings of the Twenty-Third AAAI Conference on Artificial Intelligence, AAAI 2008, Chicago, Ill., USA Jul. 13-17, 2008, pp. 1433-1438. A vehicle with sensors and a data processor may be driven naturally over roads, to observe and record trajectories of road users, from which the behavioral models may be learnt. 
     The cost function associated with a behavioral model can be used to calculate a probability π t   i (a i |s i ) of a given road user i taking an action a i  which will cause a transition Tr i (s i , a i ) of the road user i from one state s i  to another state s′ i  at time t. This probability may be calculated as one minus the ratio of the cost of state s′ i  at time t according to the cost function to the sum total of the costs of states that can be reached, from state s i , through each and every action available to the road user i from state s i  at time t. For a dynamic cost function C i   t (s i ), this can be expressed according to the equation: 
                 π   t   i     ⁡     (       a   i     |     s   i       )       ≈     1   -         C   t   i     ⁡     (       Tr   i     ⁡     (       s   i     ,     a   i       )       )           Σ       a     ′   ⁢           ⁢   i       ∈     A   i         ⁢       C   t   i     ⁡     (       Tr   i     ⁡     (       s   i     ,     a     ′   ⁢           ⁢   i         )       )                   
wherein A i  is the set of all actions a i  available to the road user i from state s i  at time t.
 
     In the behavioral model assignment module  222 , a behavioral model is selected from among the finite plurality of alternative behavioral models in the database stored in the data storage device  102 , to be assigned to a given road user i in a current traffic scene, on the basis of a prior trajectory of the road user i. This prior trajectory comprises the successive states of this road user i perceived through the observation management module  221  over a plurality of timesteps, eventually up to the current state s i . In order to select the behavioral model which best matches the prior trajectory of the road user i from among the finite plurality of alternative behavioral models in the database, the aggregated probability of this prior trajectory according to each behavioral model is calculated using the cost function associated to that behavioral model, and the behavioral model with the highest aggregated probability is selected. More specifically, to calculate the aggregated probability of a prior trajectory according to a behavioral model, the probability of each action throughout the prior trajectory is calculated using the cost function associated with that behavioral model, and multiplied by each other. 
     The scene prediction module  223  predicts the future evolution of the current traffic scene, as perceived through the observation management module  221 , using the behavioral models assigned by the behavioral model assignment module  222  to the road users within that current traffic scene. In particular, the scene prediction module  223  may predict this future evolution throughout a plurality of timesteps from the current traffic scene at a time t=0 to a time t=T, according to the prediction algorithm illustrated on  FIG.  3   . 
     In a first step S 300  in this algorithm, time index t is set to 0, and a belief state b i   t , which is a probability distribution over the state space of each road user i at time t is initialized for t=0 by setting, as the initial belief state b i   0  for each road user i of the m road users in the traffic scene, a probability of 1 for the current state s i  of road user i, as perceived through the observation management module  221 . To this initial belief state b i   0  corresponds also an initial occupancy probability distribution o 0   i (x i ,y i ) wherein an occupancy probability of 1 is set at the current position (x i , y i ) of road user i, as perceived through the observation management module  221 . After this initialization step S 300 , the m road users in the traffic scene are sorted by descending driving priority in the next step S 301 . This driving priority may be mainly allocated according to the longitudinal position of the road users, with a leading road user being allocated a higher driving priority than a trailing road user. However, the general and/or local rules of the road may also be taken into account in this driving priority allocation. 
     After executing step S 301 , road user index i is set to 1 in step S 302 . Then, in step S 303 , for each available action a i  from each possible state s i  of road user i at time t, the value of the dynamic cost component associated to each dynamic feature for each possible location (x j , y j ) of each other road user j at time t is calculated by multiplying the value of that dynamic feature by the corresponding component of dynamic weight vector θ d   i  according to the behavioral model assigned to road user i and probability-weighted according to the occupancy probability distribution o t   j (x j ,y j ) of road users j. By “each possible state s i ”, we understand in particular each state s i  with a non-zero probability. In the calculation of dynamic features, such as time-headway and time-to-collision, of road user i with respect to a road user j at a location (x j , y j ), a probability-weighted average of speeds z j  of the possible states s j  in which road user j occupies that location (x j , y j ) may be used as the speed of road user j. 
     From the resulting set of values for the probability-weighted dynamic cost components, the highest value for each dynamic cost component is then selected to form a probability-weighted dynamic cost vector used in step S 304  to calculate the probability π t   i (a i |s i ) of each available action a i  from each possible state s i  for road user i at time t. 
     In the next step S 305 , the belief state b i   t+1  for road user i at the next timestep t+1 is calculated based on the probability π t   i (a i |s i ) and transition Tr i  (s i , a i ) associated to each available action a i  from each possible state s i  for road user i at time t, according to the equation: 
                 b     t   +   1     i     ⁡     (     s     ′   ⁢           ⁢   i       )       =       ∑     s   i       ⁢           ⁢       ∑     a   i       ⁢           ⁢       P   ⁡     (         s     ′   ⁢           ⁢   i       |     s   i       ,     a   i       )       ⁢       π   t   i     ⁡     (       a   i     |     s   i       )       ⁢       b   t   i     ⁡     (     s   i     )                   
wherein the operator P(s′ i |s i , a i )=1{s′ i =Tr i (s i , a i )} is a binary indicator that only takes values 0 or 1, 1{⋅} being an indicator function.
 
     In the following step S 306 , the occupancy probability distribution o t+1   i (x i , y i ) for vehicle i at timestep t+1 is calculated on the basis of belief state b i   r+1 , according to the equation: 
     
       
         
           
             
               
                 o 
                 
                   t 
                   + 
                   1 
                 
                 i 
               
               ⁡ 
               
                 ( 
                 
                   
                     x 
                     i 
                   
                   , 
                   
                     y 
                     i 
                   
                 
                 ) 
               
             
             = 
             
               
                 ∑ 
                 
                   
                     z 
                     i 
                   
                   , 
                   
                     z 
                     i 
                   
                 
               
               ⁢ 
               
                   
               
               ⁢ 
               
                 
                   ∑ 
                   
                     
                       s 
                       
                         ′ 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         i 
                       
                     
                     = 
                     
                       ( 
                       
                         
                           x 
                           i 
                         
                         , 
                         
                           y 
                           i 
                         
                         , 
                         
                           z 
                           i 
                         
                         , 
                         
                           z 
                           i 
                         
                       
                       ) 
                     
                   
                 
                 ⁢ 
                 
                     
                 
                 ⁢ 
                 
                   
                     b 
                     
                       t 
                       + 
                       1 
                     
                     i 
                   
                   ⁡ 
                   
                     ( 
                     
                       s 
                       
                         ′ 
                         ⁢ 
                         
                             
                         
                         ⁢ 
                         i 
                       
                     
                     ) 
                   
                 
               
             
           
         
       
     
     In the next step S 307 , it is checked whether road user index i has reached the total number of road users m in the traffic scene. If not, road user index i is incremented by one in step S 308 , before looping back to step S 303 , so as to calculate the belief states and occupancy probability distributions for time step t+1 for all road users in the traffic scene. On the other hand, if the road user index i has reached the number m, the next step will be step S 309 , in which it will be checked whether time index Chas reached timestep T−1. If not, time index twill be incremented by one in step S 310 , before looping back to step S 301 , so as to calculate the belief states and occupancy probability distributions for timestep t+2 for all road users in the traffic scene. On the other hand, if time index t has reached timestep T−1, the belief states and occupancy probability distributions for all timesteps from t=1 to t=T will have been calculated and the prediction algorithm ends. 
       FIGS.  4 A and  4 B  illustrate examples of the evolution of predicted occupancy probability distributions over three timesteps t=1, t=2 and t=3, using this prediction algorithm starting from different current traffic scenes at t=0, wherein the occupancy probability is illustrated on a vertical axis. In  FIG.  4 A , in the observed traffic scene at time t=0, a trailing road user  401  is approaching a leading road user  402  on the right-most lane  400 R of a three-lane road  400 . The algorithm predicts, as most likely evolution up to time t=3, a lane change of the trailing road user  401  to the center lane  400 C to overtake the leading road user  402 . In  FIG.  4 B , on the other hand, a third vehicle  403  already occupies the center lane  400 C at time t=0, and as a result, the prediction algorithm, using the same behavioral models, predicts that trailing road user  401  will slow down to stay on the right-most lane  400 R rather than accelerate or maintain its speed to overtake leading road user  402 . 
     The time complexity of this algorithm grows linearly with respect to the time horizon T and with the number of available actions for each road user, and quadratically with respect to the number of road users and available states for each road user. 
     Finally, the data processor  103  also comprises a collision risk evaluation module  230  adapted to process the future traffic scene prediction output by scene prediction module  223  in order to determine a risk of collision for road vehicle  1  and, if this risk of collision exceeds a predetermined threshold, output a driver warning signal through warning signal output device  104  and/or execute an avoidance action through driving command output device  105 . 
     Those skilled in the art will recognize that the present invention may be manifested in a variety of forms other than the specific embodiment described and contemplated herein. Accordingly, departure in form and detail may be made without departing from the scope of the present invention as described in the appended claims.