Glow Patch
Overview
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.
Use our solution at Glow Patch
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.
π Training
Over the 50 epochs we see a convergent increase in precision score
π Results
Our training resulted in favorable results as seen on the prediction of the validation set:
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
.
1οΈβ£ Clone the Repository
git clone https://github.com/asalee01/Glow-patch.git
2οΈβ£ Install Dependencies
pip install -r requirements.txt
cd api
pip install -r requirements.txt
3οΈβ£ Build Docker Image
docker build -t glow-patch .
4οΈβ£ Run the Program
docker run -d --name container -p 80:80 glow-patch
Now the app should be running locally on port 80.
Future Improvements
β Video support for real-time object detection on web app.
β Real-time object detection with live video input.
β Port webapp to iOS, Android with Tesla compatability.
Contributions
All contributions are welcome, open to pull requests and suggestions.
π© Contact: ahusseinse@yahoo.com | π LinkedIn: Ali Osman
π© Contact: asalee01@student.ubc.ca | π LinkedIn: Athif Saleem
π© Contact: zxia0101@student.ubc.ca | π LinkedIn: Kaseya Xia
License
This project is licensed under the MIT License. See LICENSE
for details.