Welcome to the gazebo_simulation_marine_markers_custom_dataset_yolov5_training repository! This project is dedicated to training YOLOv5 models using a custom dataset of marine markers generated from Gazebo simulations for the Roboboat competition. Our goal is to be able to test our object detection with our robotic application in Gazebo.
We utilize Roboflow for annotating and labeling images, ensuring precise and efficient dataset preparation. Our project on Roboflow can be accessed at Gazebo Simulation Marine Markers Image Dataset in Roboflow Universe.
This repository contains Jupyter notebooks detailing the training process for the custom dataset. These notebooks are adapted from Roboflow's resources and tailored to our specific requirements for Gazebo marine marker detection.
The classes in our Custom Dataset are the following:
- Blue Buoy: Specifically labeled and identified for this class.
- Green Buoy: Uniquely marked and classified as a separate entity.
- Green Marker: Distinguished by its unique characteristics in the dataset.
- Red Buoy: Identified with specific features pertinent to this class.
- Red Marker: Marked and labeled distinctively.
- Yellow Buoy: Recognized and categorized with its unique aspects.
This repository serves not just as a codebase but also as a living document of our model's evolution. We aim to:
- Visualize Improvements: Through our Jupyter notebooks, we provide visual insights into how our model improves over time, showcasing enhancements in detection accuracy and efficiency.
- Document Changes: Each stage of our model's development is meticulously documented. This includes changes in training approaches, hyperparameter adjustments, and model architecture modifications.
- Store Model Weights: As we progress, we save various iterations of our model's weights. This practice allows us to track improvements and provides options for rollback in case of any regressions.
- Jupyter Notebooks: Comprehensive guides on training the YOLOv5 model with our custom dataset.
- Training Weights: We store the weights of our YOLOv5 models here post-training. These weights are ready for use in object detection tasks or further fine-tuning.
![Screenshot 2024-01-30 at 9 46 12 PM](https://private-user-images.githubusercontent.com/92492748/301007716-de64a96f-1b66-4e3b-a26b-4bd2b58ee30c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQxMzIyNjMsIm5iZiI6MTcyNDEzMTk2MywicGF0aCI6Ii85MjQ5Mjc0OC8zMDEwMDc3MTYtZGU2NGE5NmYtMWI2Ni00ZTNiLWEyNmItNGJkMmI1OGVlMzBjLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODIwVDA1MzI0M1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTEzMmE4NTZkMTljMDE3NmQ0YmMxMmY2NWY4NjA1ODdmYzNiNDhlODIxZjQxMzk2NWMyNWJkYTk2NzY5NjYxMGQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.dJT2Lnl5LEmkophH3yLf26cEMk7RtNcCEUg2282Bs1o)
- 200 Epochs
- No Augmentations of Custom Dataset
- No Transfer Learning (TL)
If you would like to learn more about what these graphs entail read the next section.
- Ideal Trend: Steadily decreasing over time.
- What it Means: The model is getting better at accurately predicting the bounding boxes around the objects.
- Ideal Trend: Decreasing over time with potential minor fluctuations.
- What it Means: The model is improving its ability to detect objects within the images.
- Ideal Trend: Decreasing steadily to a low level.
- What it Means: The model is becoming more accurate at classifying the objects it has detected.
- Ideal Trend: Increasing over time.
- What it Means: The model is making more true positive predictions compared to false positive predictions, indicating higher accuracy.
- Ideal Trend: Increasing over time.
- What it Means: The model is correctly identifying a higher proportion of all actual positives, reducing the number of false negatives.
- Ideal Trend: Increasing towards 1.
- What it Means: The model is accurately detecting objects with an Intersection over Union (IoU) of 0.5, indicating good localization and detection performance.
- Ideal Trend: Increasing steadily.
- What it Means: The model performs well across a range of IoU thresholds, which is a stringent test of its localization and classification accuracy.
- Overfitting Signs If validation loss begins to increase while training loss continues to decrease, the model may be overfitting to the training data and not generalizing well to new data.
- Underfitting Signs If both training and validation losses are high or not decreasing, the model may be underfitting and not learning the underlying pattern in the data well.
- Good Fit Indications Training and validation losses decrease and plateau, precision and recall are high, and mAP values are close to 1.
- Fluctuations in graphs are normal but should diminish over time as the model learns.
- Spikes in validation metrics may indicate the presence of outliers or particularly challenging examples in the validation dataset.
For a comprehensive understanding of our dataset creation, annotation, labelling process, and training methodologies, please refer to our detailed documentation available in our Gitbook.