Edge Cases: Predicting the Unpredictable

Imagine driving down a street and unexpectedly a person runs right in front of the car, pushing a baby carriage. Of course, a persons’ first instinct is to stop, let the person cross the street and continue driving. However, autonomous vehicles run purely via sensors and artificial intelligence and need to be trained on how to respond in such situations. Let’s try another unlikely situation. Imagine driving down the street and an air conditioning unit falls out of a window. How does a driver respond? Better yet, how does an autonomous vehicle respond?

All of these scenarios are situations that an autonomous vehicle system needs to be trained for – unusual, unlikely but possible situations that need to be simulated via artificial intelligence so that the vehicle is prepared to handle any situation that comes up, safely. Otherwise known as edge cases, these cases need to be run and rerun over and over again, training each module and facet of the vehicle to see how it automatically responds and train the modules on how they “should” respond.

Edge cases are particularly valuable during the development phase in order to build a robust system. It is certainly easier to train the system from the beginning to make sure that everything runs smoothly. However, it is critical to also run edge cases as part of a responsible regression test plan to see if software or algorithm changes adversely affect the existing capabilities. Each time there is a change, it is important to make sure that the sensors still respond safely to various edge cases scenarios in a simulated environment.

McKinsey’s Senior Partner Asutosh Padhi, states: “If you drive millions of good miles, there is, in effect, no new learning that happens. It really is about looking at the millions of edge cases that you’d expect that do not usually happen on a more traditional and a more frequent basis. And it’s about teaching the car and the algorithms to recognize object detection as well as decision making in those edge cases. And what it essentially implies is that you can’t do this through physical validation and testing, because you can’t have a car drive a million miles. You have to borrow techniques that are used around software-based simulation from other industries like gaming as a way to be able to complete the necessary level of validation.”

Examples of common edge cases could be difficult weather conditions, pedestrian and cyclist unusual behavior, objects in the road, etc. However, what a human and a machine would perceive as unusual can be quite different and sometimes involve slight nuance to see if the machine is registering the image accurately.

Running edge cases is going to be more and more crucial throughout each phase of the development of autonomous vehicles since it is the most efficient and accurate means to validate the response of the vehicle in all situations. The goal for autonomous vehicles is that they will one day drive better than humans and to achieve that level of ability requires thousands of edge cases – scenarios that are likely and edge cases that are highly unlikely are equally important when deploying millions of vehicles on the road. One of those vehicles may encounter an air conditioning unit falling out of a window and if it does – it should be prepared to handle that situation, automatically.