The Pothole Detection and Mapping PDM application is based on two components:
an Android app, meant to be running on mobiles and a centralized backend working
as collector hub for sampled data, while also tasked with filtering, analysis
and data-mining of such collection.
The core idea consists in leveraging commonly available sensing capabilities of mobiles,
carried around by people also during commuting and other driving-related activities,
to automatically detect and rank road surface conditions.
The combined sampling of acceleration values, as measured by on-board motion detection
sensors, and of geospatial coordinates, as provided from the GPS subsystem, serves as
a first step in generating a qualitative map of travelled roads, highlighting possible
conditions of road distress as well as the potential existence of “potholes”.
Indeed the application, started up by the user as soon as she begins her travel, performs
a continuously ongoing sensing activity with regard to accelerometer-provided measurements.
An ad-hoc developed algorithm evaluates the fluctuations in the sampled values for acceleration:
intuitively, when stumbling upon a pothole along the path, or driving through a road
featuring a distressed surface, these fluctuations may be abrupt. Based on predefined
thresholds it then marks the existence of a potentially critical condition at those
geospatial coordinates: as already pointed out, the collection of acceleration data is
carried out in combination with data about current position, obtained by means of GPS.
The measurements at the basis of the detection mechanisms are those related to the
accelerometer-provided acceleration vector, its (computed) euclidean norm and in
particular the (impulsive) vertical (z-axis) displacement. Based on these input data
a Web-based application has been implemented which, by interfacing and querying a
centralized database, performs basic filtering, aggregation and data mining operations
over available data to extract useful information.
Saving “extra” data such as the differential value of each component of the acceleration
vector along the three axes of the frame of reference has been deemed essential to extract
additional information from sampled data. Even if just evaluating the euclidean norm of the
acceleration vector is provably enough to identify potential conditions of distress
for the road surface, the analysis of that same value decomposed into its components
may be useful, e.g., to pinpoint highly critical conditions (non-zero values over all
three components may be evidence of a fully distressed road or, probably, an unpaved one).
Such information may turn out to be useful for administrative bodies and competent authorities
in general to plan focused maintenance services and conveniently schedule according to the
class of road distress severity. Business logic, data analysis and filtering lay mostly
within the aforementioned Web application: this kind of approach has been adopted to
minimize the computational load for mobiles running the application, even if the latter
is designed anyway to carry out certain mechanisms and apply filtering rules locally
to prevent false positives. We employed as testbed a dozen mobiles among volunteering
students, roaming inside the municipality of Messina, and as a result we identified a
number of potholes over this area, albeit with a coverage limited to just the paths
covered by this population most of the time, due to its peculiar traveling patterns.