Skip to main content

Last updated by: SassafrasAU, Last updated on: 01/09/2024

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.