Inspiration

For this project, we really were thinking about making an impact on society by making life more comfortable and easy for the everyday people. We thought about things that we found super irritating in our everyday lives, and realized that we wanted to find a way to combat potholes. This, combined with our love for machine learning, led to our pothole detection model.

What it does

Given picture or video input, a machine learning model recognizes and draws boxes around potholes. For video input, the model splits the video into frame by frame pictures and recognizes the potholes. This input is given through our website.

How we built it

A Faster R-CNN model, built in Python with Numpy, OpenCV, Tensorflow, and Tensorflow Models (https://github.com/tensorflow/models), was used to train on over 4000 images from the dataset https://www.kaggle.com/sovitrath/road-pothole-images-for-pothole-detection and integrated with Flask to create a website for it.

Challenges we ran into

One challenge we ran into was determining how to run our flask development server so that all four team members could access it. Our chosen collaborative IDE, deepnote, was having problems with running our server and we ended up moving to Visual Studio Code liveshare. We also spent too much time configuring packages and researching during the hackathon, causing us to rush the neural network and making it less accurate.

Accomplishments that we're proud of

Without any prior knowledge on object detection algorithms, we were able to create a Faster R-CNN model to detect potholes. We were also able to successfully deploy a website without using repl.it, which is a first for all of us as a group.

What we learned

We learned about many programming concepts and strategies for both the front-end and back-end. Firstly, we learned about the many neural networks and models that can be used for object detection such as R-CNN and Faster R-CNN. Then, we researched extensively in the different packages used in such algorithms, most notably OpenCV, as none of us had worked with it before. On the front-end, we learned more about HTML, python, and networking. Armed with knowledge of new strategies and implementations, we were able to enhance our project in ways we previously didn't think we could pull off.

What's next for Pothole Detection

In the future, we would like to incorporate a model which places the potholes onto a GPS, enabling companies to record road trips to automatically see where repairs are needed. This was originally our idea but we could not implement it due to time constraints.

Built With

Share this project:

Updates