This repository contains implementations of Seat Belt Detection using YOLOv5, YOLOv8, and YOLOv9. The project is part of an image processing course aimed at evaluating the performance of different YOLO versions on a consistent dataset and comparing their variations.
Seat belt detection is crucial for ensuring road safety. By employing computer vision techniques, this project aims to automatically detect the presence or absence of seat belts in images. This not only aids in enforcing safety regulations but also promotes awareness among drivers and passengers.
The dataset used for this project contains annotated images with various scenarios involving seat belts. This curated dataset ensures consistency across different YOLO model evaluations. You can access and download the dataset from here.
The main
branch serves as the primary branch of the project, containing stable and tested code. It provides a baseline implementation of the seat belt detection system using YOLOv5 as the default model.
To use the code from the main branch:
-
Clone the repository:
git clone https://github.com/HayaAbdullahM/Seat-Belt-Detection.git
-
Install the necessary dependencies:
pip install -r requirements.txt
-
Run the seat belt detection system.
The YOLOv5
branch focuses on integrating and evaluating the YOLOv5 model for seat belt detection. It includes modifications and optimizations specific to YOLOv5 to enhance detection accuracy and speed.
To use the code from the YOLOv5 branch:
-
Clone the repository:
git clone https://github.com/HayaAbdullahM/Seat-Belt-Detection.git
-
Switch to the
YOLOv5
branch:git checkout Yolov5
-
Install the necessary dependencies:
pip install -r requirements.txt
-
Train and evaluate the YOLOv5 model on the provided dataset.
The YOLOv8
branch introduces enhancements and modifications to the YOLO architecture to create a specialized version for seat belt detection. It aims to improve detection accuracy and speed compared to previous versions.
To use the code from the YOLOv8 branch:
-
Clone the repository:
git clone https://github.com/HayaAbdullahM/Seat-Belt-Detection.git
-
Switch to the
YOLOv8
branch:git checkout Yolov8
-
Install the necessary dependencies:
pip install -r requirements.txt
-
Train and evaluate the YOLOv8 model on the provided dataset.
The YOLOv9
branch represents the latest advancements in the YOLO series, incorporating cutting-edge techniques and optimizations for seat belt detection. It aims to achieve superior performance in terms of accuracy, speed, and robustness.
To use the code from the YOLOv9 branch:
-
Clone the repository:
git clone https://github.com/HayaAbdullahM/Seat-Belt-Detection.git
-
Switch to the
YOLOv9
branch:git checkout Yolov9
-
Install the necessary dependencies:
pip install -r requirements.txt
-
Train and evaluate the YOLOv9 model on the provided dataset.
Each branch in this repository focuses on a specific YOLO version tailored for seat belt detection. By comparing and analyzing the results from different branches, we gain insights into the strengths and weaknesses of each model, contributing to the advancement of computer vision techniques for road safety.
This project is licensed under the MIT License. See the LICENSE file for more details.