This project focuses on component detection using YOLOv8 as the original training AI. YOLOv8, short for You Only Look Once version 8, is a state-of-the-art object detection algorithm known for its speed and accuracy. The goal of this project is to train YOLOv8 to accurately detect components within images.
The model was trained using a dataset of component images. The training process involved optimizing the model's parameters to improve its ability to detect components accurately. Five different training sessions were conducted, each varying in the number of epochs:
- 1 Epoch: The model was trained for a single epoch to establish a baseline performance.
- 5 Epochs: The model underwent training for five epochs to observe incremental improvements.
- 20 Epochs: A more extensive training session consisting of 20 epochs was conducted to further refine the model's accuracy.
- 100 Epochs: A longer training session with 100 epochs aimed to achieve a high level of accuracy.
- 200 Epochs: The model underwent an extended training session of 200 epochs to maximize its detection capabilities.
After each training session, the trained model was evaluated using various metrics to assess its performance in component detection. Metrics such as precision, recall, and mean average precision (mAP) were calculated to measure the model's accuracy and reliability in identifying components within images.
The folder is organized into subdirectories, each corresponding to a specific test batch. Within each subdirectory, you'll find images depicting precision confidence curves for that particular batch. Additionally, there are five versions listed (v1
, v2
, etc.) for further organization and reference. The repository also contains datasets located in the folder named Training Data
.
Before using the model, ensure your system meets the following prerequisites:
-
Python 3: The model requires Python 3 to run. Ensure you have Python 3 installed on your system. You can download it from python.org.
-
Python Dependencies: The model relies on several Python libraries. You can install these dependencies using pip, the Python package manager. Run the following command to install the required packages:
pip install -r requirements.txt
To run main.py
and select a version to analyze:
- Ensure you have Python installed on your system.
- Open a terminal or command prompt.
- Navigate to the root directory of this repository.
- Run the following command:
python main.py
The program will ask which version you would like to run.
Select one: [v1, v2, v3, v4, v5]
Please input your version:
Then the program will automatically run your files in the folder named Test and all results will appear in the runs folder next to Component_detection.
Precision confidence curves are graphical representations that illustrate the relationship between precision and confidence levels in our testing results. These curves are essential for assessing the accuracy and reliability of our testing procedures.
To view the precision confidence curves for a specific test batch:
- Navigate to the corresponding subdirectory in this repository.
- Open the images using your preferred image viewer.
Each curve showcases the precision of our testing process at varying confidence levels. A higher precision value indicates a greater level of accuracy in our test results, while the confidence level represents the reliability or certainty associated with those results.
If you wish to use the BETA_webcam.py
file, you MUST use an external webcam for best results. Results will be saved whether or not you have an external webcam or not.
This project is licensed under the MIT License - feel free to use, modify, and distribute the content within the terms of this license.
For any questions, feedback, or support regarding these precision confidence curves or related testing methodologies, please contact [email protected] or [email protected].