Computing Confidence in Human Driver and Pedestrian Models


At a glance

Perhaps the biggest frontier for autonomous driving is interaction and coordination with people – both human drivers and pedestrians on the road. Even to just avoid collisions, the car needs to be able to predict human actions: what the person will do next, and how it will be influenced by what the car ends up doing.

A promising direction we’ve considered in prior BDD projects is to endow autonomous cars with a model of human drivers and pedestrians that captures them as approximately optimizing their own cost function (which might be different from the robot’s). The car can then use this cost function in each new environment to generate a prediction (a single trajectory, or, more appropriately, a probability distribution over trajectories) of what a person might do. This captures that people want to make progress on the road, stay in their lane, avoid obstacles. In “Planning for Autonomous Cars that Leverage Effects on Human Actions” (RSS’16), we’ve found that not only is such a model robust across different driving scenarios (eliminating the need for handcrafted heuristics for how humans behave in lane changes vs. merges vs. intersections), but also leads to the car learning natural coordination behaviors, like inching forward into an intersection.

The challenge with human models, however, is that they are inevitably wrong. No cost function – not one represented as a deep neural network, and certainly not one represented based on handcrafted features – will be able to capture the complexity of human behavior at all times. Sometimes, people do what they do because of information the car won’t have access to, like their mood changed suddenly because of their phone conversation or they change their mind about where they are going.

When a person deviates from what the car expects, it can have drastic consequences unless the car properly adjusts, and quickly. In the long haul, models can be retrained. But online, on the road, with limited computational resources and in less than a second, the car needs to properly adapt.

Our proposal in this project is that the car needs to recognize when its model is poor, and adapt its behavior. The car should cheaply estimate its confidence in its human model, i.e. how well the data produced by the particular individual fits with its human driver/pedestrian model predictions. If the car estimates a low confidence when interacting with an individual, then it can act more conservatively around that individual, as it recognizes that its future predictions will continue to be poor. The main remaining question is how to get such a confidence estimate.

Our key insight is that humans who don’t follow our model will seem more noisy or irrational, and that an autonomous car can leverage this to estimate the quality of its human model online, and be more conservative around people for which its model is poor.

The car can’t distinguish between a person doing a lousy job at optimizing for what the robot thinks they are optimizing, and a person who is optimizing something entirely different, based on features the robot does not have access to. The good news is that it does not have to make this distinction. People who optimize for something different will seem to the car as noisy and irrational. But as long as the car knows to expect high irrationality from a particular individual, it will naturally adjust its future predictions to have a much wider probability distribution over what the person might do, and be more conservative around them.

Anca DraganJaime Fisac, Andrea BajcsyCar-Driver Interaction, Human Behavior Modeling