This project aims to develop an innovative web application for the automatic detection of road damage along specific routes, leveraging advanced machine learning models and cloud technologies.The goal is to demonstrate a practical feature that could be integrated into Google Maps or other navigation tools, allowing users to be informed about the road damage conditions along their route helping them to avoid damaged or hazardous roads.Key Features
๐ Integration with Google Maps API and OpenStreetMap to acquire up-to-date routes and street images.๐ค Use of the famous YOLOv7 by Ultralytics model for detecting and classifying road damage, such as cracks and potholes.๐งฑ Visual identification of detected damages overlaid on maps for intuitive navigation.๐ง A Model-View-Controller (MVC) architecture built with the Flask framework ensures modularity, scalability, and maintainability.๐งช Example
- The user inserts the departure and destination locations in the input box, then it pushes the "Obtain images" button.
- An API call is made to OpenStreetMap to obtain the route. Then, coordinates are extracted from received route and are used to query Google Street View in order to obtain images. The received images are pre-processed and passed as input to the Yolov7 model. The final result is the following
- On the right, a carousel showing detected damages on the route's road. On the left, a graphic that shows stathistics about the distribution of detected damages among the classes: Longitudinal, Lateral and Alligator Cracks, and Potholes.
๐จโ๐ป Authors
- Giuseppe Farano
- Vito Guida
- Antonio Colacicco
๐ License
This project is distributed under the Apache 2.0 License For more details, visit the Github repository.