Welcome to the YOLOv8 Vehicle Damage Detector repository! This project features a custom YOLOv8 model designed specifically for detecting and classifying car body damage. It is optimized for fast inference and aims to assist in inspection and service workflows, such as BMW pre-loaner inspections.
- Introduction
- Features
- Installation
- Usage
- Model Training
- Inference
- Evaluation
- Contributing
- License
- Contact
Car inspections are crucial in the automotive industry. Detecting body damage quickly and accurately can save time and reduce costs. This repository provides a deep learning model that leverages the YOLOv8 architecture to identify and classify vehicle damage. The model is suitable for real-time applications, making it ideal for service workflows.
- High Accuracy: Detects various types of vehicle damage with high precision.
- Fast Inference: Optimized for quick processing, allowing for real-time applications.
- User-Friendly: Designed for easy integration into existing workflows.
- Pretrained Model: Available for immediate use, minimizing setup time.
- Flexible: Supports various types of inspections, including insurance claims and vehicle assessments.
To get started with the YOLOv8 Vehicle Damage Detector, follow these steps:
-
Clone the Repository:
git clone https://github.com/NabilNawa/YOLOv8-Vehicle-Damage-Detector.git cd YOLOv8-Vehicle-Damage-Detector
-
Install Dependencies: Make sure you have Python installed. Then, install the required packages:
pip install -r requirements.txt
-
Download the Pretrained Model: You can find the pretrained model in the Releases section. Download the model file and place it in the appropriate directory.
To use the YOLOv8 Vehicle Damage Detector, follow these instructions:
-
Prepare Your Images: Ensure your images are in the correct format and placed in the designated folder.
-
Run Inference: You can run inference using the provided script:
python detect.py --source path/to/your/images --weights path/to/pretrained/model
-
View Results: The results will be saved in the output directory specified in the script.
If you want to train the model on your own dataset, follow these steps:
-
Prepare Your Dataset: Ensure your dataset is structured correctly. You will need images and corresponding annotation files in YOLO format.
-
Modify Configuration: Update the configuration files to point to your dataset.
-
Train the Model: Run the training script:
python train.py --data path/to/dataset.yaml --cfg path/to/yolov8.yaml --weights path/to/initial/weights
-
Monitor Training: Use TensorBoard or similar tools to monitor the training process.
To evaluate the performance of the model, you can use the evaluation script provided:
python evaluate.py --weights path/to/trained/model --data path/to/evaluation/data
This will give you metrics such as precision, recall, and mAP (mean Average Precision).
We welcome contributions! If you have suggestions for improvements or want to add features, feel free to fork the repository and submit a pull request.
- Fork the Repository: Click on the "Fork" button on the top right of this page.
- Create a New Branch:
git checkout -b feature/YourFeature
- Make Your Changes: Implement your feature or fix.
- Commit Your Changes:
git commit -m "Add Your Feature"
- Push to Your Fork:
git push origin feature/YourFeature
- Submit a Pull Request: Go to the original repository and click on "New Pull Request."
This project is licensed under the MIT License. See the LICENSE file for details.
For any inquiries or support, please reach out to:
- Nabil Nawa: GitHub Profile
Special thanks to the Ultralytics team for their work on YOLOv8 and to all contributors who have made this project possible.
For the latest releases and updates, visit the Releases section. Download the necessary files and start using the YOLOv8 Vehicle Damage Detector today!