output_video.mp4
Description:
This project demonstrates how to build a comprehensive football analysis system using state-of-the-art AI and ML techniques.
The system is capable of:
- Detecting and tracking players, referees, and the football throughout an entire video using the YOLO object detection model.
- Training the YOLO model to improve its accuracy on specific football datasets.
- Assigning players to teams based on their shirt colors using image segmentation and clustering.
- Calculating team ball acquisition percentage using optical flow.
Key Features:
Object Detection: Utilizes the YOLO object detection model to accurately identify and locate players, referees, and the football in video frames.
Model Training: Provides instructions for training the YOLO model on custom football datasets to enhance performance.
Player Assignment: Employs image segmentation and clustering techniques to segment player shirts and assign them to the correct teams.
Team Analysis: Calculates team ball acquisition percentage to assess offensive performance.
Software:
Python: The primary programming language used for this project.
OpenCV: A powerful open-source computer vision library for image and video processing tasks.
YOLO: A state-of-the-art object detection algorithm implemented in TensorFlow.
scikit-learn: A machine learning library for tasks such as clustering and data analysis.
Jupyter Notebook: An interactive environment for developing and testing code.
Git: A version control system for tracking changes to the project's code.
Libraries:
NumPy: A fundamental library for numerical computing in Python.
Matplotlib: A plotting library for creating visualizations.
Pillow: A Python Imaging Library for image manipulation.
pandas: A data analysis library for working with structured data.