Grand Valley team's pothole detection algorithm wins competition
Now that spring is here, you may find yourself cursing all the potholes you're discovering on city streets. Relax! A Grand Valley mathematician and his students spent last summer developing an algorithm that can help cities more easily determine where potholes are located and, hopefully, fix them.
In spring 2011, Ed Aboufadel was beginning to think about problems to work on with his students in the summer REU program, an eight-week intensive research experience for undergraduate mathematics students hosted at Grand Valley. About that time, he noticed that the city of Boston had requested help, through the website InnoCentive, in using smartphone data to locate potholes on city streets. Was this a problem that Ed and his students could tackle?
Of course, it's easy for you to detect a pothole while driving down a road by the jolt you feel. The city of Boston hoped to automate this process. More specifically, the New Urban Mechanics department in the city of Boston had developed a smartphone app, called StreetBump, that recorded the phone's accelerometer and GPS readings while in a car driving down a street. The jolt caused by a pothole should be reflected by the accelerometer readings while the GPS readings would indicate the pothole's location. What was needed was an algorithm to process this data and locate potholes.
After some thought, Ed realized that wavelets, which provide a mathematical tool that is ideal for detecting spikes in data, may be useful in solving this problem. And it didn't hurt that Ed has considerable expertise with wavelets, having led many student research projects in this area as well as having co-authored a wavelets textbook with Steve Schlicker.
When the department's REU program began in June, Ed found himself working with Grand Valley mathematics major Nathan Marculis as well as Sara Jane Parsons, a mathematics student from Indiana University of Pennsylvania. In the program's first week, the students learned about the theory of wavelets and used the Street Bump app to collect some test data around Allendale.
Of course, the challenge is that other features of the road, such as train tracks and speed humps, can also cause a spike in the accelerometer data. How can the spikes caused by potholes be separated out from these other features? The key observation the group used is that a pothole is typically hit by only one side of the car whereas both sets of wheels hit, say, a train track.
Using this observation and applying a wavelet filter to the Street Bump data, Ed and his team created an algorithm that reliably detected potholes. As the eight-week program was drawing to a close, however, their computer implementation of the algorithm was not in a state where it could be submitted as a solution to InnoCentive, so Ed's group "borrowed" another student, Clark Bowman, who was working in the REU with Jon Hodge. In a short span, Clark wrote a C++ program to implement their algorithm. The code detected potholes from the Street Bump data, which the team submitted to InnoCentive along with a 15-page paper describing the algorithm.
In December, InnoCentive announced that Ed's team was one of three winning teams in the contest and that they would receive a $9000 prize for their work. The New Urban Mechanics department of the city of Boston is now merging the algorithms submitted by the three winning teams into a single program that it will use to detect potholes using smartphone data collected in city vehicles.
If you're ever driving in Boston one day and notice how smooth the ride is, you can thank Ed and his students for demonstrating another surprising way in which mathematics can be used to solve real-world problems.