Making self-driving cars safer on roads
While we wait for self-driving cars to become a part of our everyday reality, safety issues could bring the autonomous dream to a screeching halt. A recent study tackles a long-standing problem for autonomous vehicle developers: testing the system's perception algorithms, which allow the car to "understand" what it "sees."
As the result of the study, the researchers’ new mathematical method is able to identify anomalies or bugs in the system before the car hits the road.
Perception algorithms are based on convolutional neural networks, powered by machine learning, a type of deep learning. These algorithms are notoriously difficult to test, as we do not fully understand how they make their predictions. This can lead to devastating consequences in safety-critical systems like autonomous vehicles.
“Making perception algorithms robust is one of the foremost challenges for autonomous systems,” said Anand Balakrishnan, lead author of the study.
“Using this method, developers can narrow in on errors in the perception algorithms much faster and use this information to further train the system. The same way cars have to go through crash tests to ensure safety, this method offers a pre-emptive test to catch errors in autonomous systems,” he explained.
Findings of the study were discussed in Design, Automation and Test meeting.
Typically autonomous vehicles "learn" about the world via machine learning systems, which are fed huge datasets of road images before they can identify objects on their own.
But the system can go wrong. In the case of a fatal accident between a self-driving car and a pedestrian in Arizona last March, the software classified the pedestrian as a "false positive" and decided it didn't need to stop.
"We thought, clearly there is some issue with the way this perception algorithm has been trained. When a human being perceives a video, there are certain assumptions about persistence that we implicitly use: if we see a car within a video frame, we expect to see a car at a nearby location in the next video frame. This is one of several 'sanity conditions' that we want the perception algorithm to satisfy before deployment," explained Jyo Deshmukh, co-author of the study.
For example, an object cannot appear and disappear from one frame to the next. If it does, it violates a "sanity condition," or basic law of physics, which suggests there is a bug in the perception system.
The team of researchers formulated a new mathematical logic, called Timed Quality Temporal Logic, and used it to test two popular machine-learning tools--Squeeze Det and YOLO--using raw video datasets of driving scenes.
The logic successfully honed in on instances of the machine learning tools violating "sanity conditions" across multiple frames in the video. Most commonly, the machine learning systems failed to detect an object or misclassified an object.
For instance, in one example, the system failed to recognize a cyclist from the back, when the bike's tire looked like a thin vertical line. Instead, it misclassified the cyclist as a pedestrian. In this case, the system might fail to correctly anticipate the cyclist's next move, which could lead to an accident.
Phantom objects--where the system perceives an object when there is none--were also common. This could cause the car to mistakenly slam on the breaks--another potentially dangerous move.
The team's method could be used to identify anomalies or bugs in the perception algorithm before deployment on the road and allows the developer to pinpoint specific problems.
The idea is to catch issues with perception algorithm in virtual testing, making the algorithms safer and more reliable. Crucially, because the method relies on a library of "sanity conditions," there is no need for humans to label objects in the test dataset--a time-consuming and often-flawed process.