Skip to main content

Greyhound Detection and Tracking Project

readme style: standard Roboflow Python

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

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

  1. Clone the Repository:
    git clone https://github.com/rissicay/redback-orion
  2. Install Dependencies:
    pip install -r requirements.txt
  3. Download the Dataset:
  4. Setup YOLOv8:

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:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-branch).
  3. Make your changes and commit them (git commit -m 'Add some feature').
  4. Push to the branch (git push origin feature-branch).
  5. 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.