What does the model detect?
This model detects potholes in images/videos.

What is the use of this model?
Potholes form due to the weathering, wear, and tear of roads. They cause discomfort and result in the deaths of citizens due to vehicle accidents. The Indian government stated that 4,775 and 3,564 accidents occurred due to potholes and bad road conditions in 2019 and 2020 respectively. There are numerous use cases of this detection system. For example, the civic authorities can plan for repairs by detecting, locating, and assessing the magnitude of potholes using this model. Cameras installed on moving vehicles can detect potholes in real-time and help drivers avoid potholes. Self-driving cars can steer clear of potholes according to detection.

Approach to creating a model in Vredefort

Step 1 – Dataset Collection
We collected a dataset of 504 images from Kaggle. The images were captured from cameras installed on moving cars. We kept 50 images for testing. There is only one class – Pothole.

Step 2 – Data Cleaning
After collecting the dataset, we uploaded it on Vredefort. Vredefort automatically cleans the data by removing the corrupt images and resizing them to a suitable resolution.

Step 3 – Data Annotation
The computer learns to detect objects from images through a process of labeling. Thus, we drew boxes around the concerned objects and labeled them as pothole (only one object to detect).
We annotated 504 images using the inbuilt Vredefort tool. The 50 test images need not be annotated.

Annotation Rules – (Keep them in mind for better detection)
     ⦁ Skip the object if it is in motion or blur.
     ⦁ Precisely draw the bounding box on the object.
     ⦁ Bounding boxes should not be too large.

[Optional] Step 4 – Tuning Parameters
If you register as a developer and developer mode is on, you can modify the number of epochs, batch size per GPU, neural network model, etc. In case of no user inputs, the settings will change to default.

Step 5 – Training
The training process takes place automatically with a single click.

Evaluation of the model
After training, we can evaluate the model.
In evaluation, there are two parts. The first is accuracy and the second is to play inference videos. Vredefort enables us to obtain total model accuracy and class-wise accuracy. In this case, only one class is present. We achieved 10% model accuracy.

A new video for inference
We made a video from test dataset images and used it for interference. If the developer mode is on, it will ask to set confidence. You can set it as per your convenience. Here we set 0.1 [10%] confidence. 

Model download and transfer learning from unpruned model
Vredefort provides one more feature to get the accuracy of the model. It allows you to download the model and dataset for further applications(like adding logic to your model). If you have downloaded model files, you can use the unpruned model (click here to know more about the unpruned model) for different datasets and save training time. You can generate alerts and write use-cases with that model.

Any challenges faced
The dataset was on the road where potholes were not visible clearly.

     ⦁ The model is trained on a camera installed on moving cars in front of the driver’s seat, hence will work best              on those images or video feeds.
     ⦁ It will struggle to detect potholes from other sources such as mobile camera videos.

For more model accuracy, collect the dataset from different angles and weather conditions.

Model Details
Model Name – Potholes Detection
Dataset Images – 504
Number of Labels – 1
Label name and count – pothole (800)
Accuracy – 10%

Download Links

Dataset Download – Download here

Model Download Link – Download here

Inference Video Link – Download here