In machine learning and computer vision, tackling the problem of detection of road potholes at night has been a critical step
in furthering the safety of AI-powered vehicle transportation. In toward of solving this problem we present a baseline object
detector using YOLOv11 and fine-tuning on the Nighttime Pothole Dataset (NPD).
Over 50 epochs the model the model achieved an mAP@0.5 score of 0.93245, a 1.6% improvement compared to results found in
Ling et. al's paper.
We use Fiftyone to streamline the COCO dataset sanitization and cleaning process. Training using the Ultralytics library
we deploy our model using Flask, FastAPI, Docker, and AWS.
This project was developed during the Voxel51 AI Hackathon at the University of British Columbia and we extended the functionality
by deploying the app afterwards.
📊 Data Sanitzation
Using the Fiftyone library and GUI we computed image embeddings to seperate images into many categories and filtered to ensure a
balanced dataset.
Fiftyone Embeddings
📈 Training
Over the 50 epochs we see a convergent increase in precision score
Training graph results
🌟 Results
Our training resulted in favorable results as seen on the prediction of the validation set:
Validation predictions picture
Project Workflow
Data Sanitization → Filtering out images based on computed embeddings to ensure a balanced dataset.
Training & Validation → Fine-tuned pre-trained model on NPD on NVIDIA 4060 Laptop graphics card, validated on small set.
Deployment → Dockerized inference service and deployed on AWS ECS with a integrated front-end.
Tech Stack
Technology
Usage
Fiftyone
Data visualization and filtration
Ultralytics
Fine-tuning and model inference
Python
Main programming language
HuggingFace
Model API creation
Next.js
Front-end
Usage & Installation
Website
Our service is live and hosted on Glow Patch, check it out!
Installation Prerequisites
You must have Python 3.9 and Docker installed along with the required packages in both /requirements.txt and
api/requirements.txt.