Greyhound Detection and Tracking Project
Overview
This project focuses on detecting and tracking greyhounds in races. Using YOLOv8 for object detection and tracking, the system highlights all the dogs in each video frame by putting a bounding box around them or identifying their number. Additionally, it calculates their relative speeds.
Watch the Project in Action
- Watch the video demonstration of greyhound detection
- View our project on Roboflow
- Relative speed of greyhounds
Features
- Greyhound Detection: Accurately detects and identifies all greyhounds in each video frame.
- Tracking and Sorting: Tracks the positions of the greyhounds throughout the race.
- Bounding Boxes: Draws consistent bounding boxes around detected greyhounds.
- Speed Calculation: Calculates the relative speed of each greyhound in the race, though further refinement is needed.
- Custom Dataset: Created and labeled a large custom dataset using Roboflow, with tasks distributed among team members for efficient data labeling.
Installation
Prerequisites
- NumPy
- Matplotlib
- Ultralytics
- OpenCV
- Keras
- Graphviz
- Pydot
Steps
- Clone the Repository:
git clone https://github.com/rissicay/redback-orion
- Install Dependencies:
pip install -r requirements.txt
- Download the Dataset:
- Use the Roboflow dataset link to download the training data.
- Setup YOLOv8:
- Follow the YOLOv8 installation guide to set up the detection model.
Dataset
The dataset used for training the model includes a large collection of images of greyhounds, labeled and annotated using Roboflow. The dataset was created by the team, with tasks distributed among members to efficiently label each image, ensuring a high-quality dataset to improve the model's performance.
Challenges Faced
- Close Proximity Detection: Initial challenges included difficulties in detecting greyhounds when they were close together. This was mitigated by expanding the dataset and refining the model.
- Obstruction Issues: Detecting greyhounds behind railings or other obstacles required additional training data and fine-tuning of the model.
- Speed Calculation: The speed feature was added to the system, but it requires further refinement to ensure accurate measurements.
- Dataset Management: Creating and labeling a large dataset involved coordination among team members to ensure consistency and accuracy.
Future Work
- Further Model Refinement: Continue refining the model to enhance accuracy and robustness.
- Speed Feature Improvement: Improve the speed calculation feature for more accurate real-time tracking.
- Automated Testing Pipeline: Implement an automated testing pipeline to validate the model against new datasets.
- Extended Features: Explore adding features such as live commentaries.
Contributing
Contributions are welcome! Please follow the standard contribution guidelines:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes and commit them (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature-branch
). - Open a pull request.
Contributors ✨
License
This project is licensed under the MIT License.
Acknowledgements
We would like to extend our gratitude to the following:
- YOLOv8 and Ultralytics Communities: Thank you for your contributions to the field of object detection and tracking. Your work has been instrumental in the development of our project.
- Roboflow: Special thanks for providing platform and annotation tools that have significantly contributed to the accuracy and efficiency of our model.