Skip to content

nsyed1/opencv-football

Repository files navigation

opencv-football

Purpose

computer vision analysis of football project to learn

  1. Use ultralytics and YOLOv8 to detect objects in images and videos.
  2. Fine tune and train your own YOLO on your own custom dataset.
  3. Use KMeans to cluster pixles and segment players from the background to get the t-shirt color accurately.
  4. Use optical flow to measure the camera movement.
  5. Use CV2's (opencv) perspective transformation to represent the scene's depth and perspective.
  6. Measure player's speed and distance covered in the image.

Learnings

  • additional detection options: keypoints for pose-detection, masks for segmentation
  • converting video into frames, inference on individual frames into list detection object, creating tracker on list of detections

Notes

Summary of work
  • Setting up folders and initializing the YOLO model for object detection
  • Demonstration of AI/ML football analysis system using YOLO, OpenCV, and Python
  • Understanding object detection and bounding boxes in AI/ML football analysis
  • Improving detection accuracy and excluding non-relevant objects
  • Utilizing Roboflow's football player detection dataset
  • Setting up football data set for AI/ML analysis
  • Moving data sets to specific folders for code reproducibility
  • Training progress and downloading model weights
  • Using YOLO, OpenCV, and Python to analyze football with AI/ML
  • Setting up video reading and saving utilities with CV2 library
  • Setting up output video format and writing frames to video writer
  • Implementing object tracking for player analysis using bounding boxes
  • Implementing object tracking using YOLO and a specific tracker
  • Setting minimum confidence for object detection and addressing false detections
  • Implementing object tracking with YOLO and OpenCV
  • Using YOLO and OpenCV for object detection in football analysis
  • Implementing class detection and verification in AI/ML Football Analysis system
  • Tracking and extracting bounding boxes for players, referees, and ball in a football video
  • Implementing object tracking for football analysis using YOLO and OpenCV
  • Saving and loading data using pickle in Python
  • Developing code to visualize the predictions using circles instead of bounding boxes
  • Extracting center and width of bounding boxes for football analysis
  • Drawing an ellipse using CV2 function
  • Implementing AI/ML tracking for players and referees in football analysis
  • Calculating X and Y positions for the rectangle center
  • Implementing object tracking and drawing in AI/ML Football Analysis system
  • Defining triangle points based on bounding box for AI/ML Football Analysis
  • Developing a football analysis system with Python and OpenCV
  • Implementing image processing and analysis in Python using YOLO and OpenCV
  • Implementing K-Means clustering for image segmentation
  • Determining player and non-player clusters using color analysis
  • Implementing a clustering model using K-means algorithm
  • Implementing K Means clustering for player color detection
  • Implement player team identification using player ID and color
  • Assign players to teams based on their colors
  • Utilizing team colors for player tracking
  • Using pandas to interpolate missing values for more complete detections
  • Implementing ball tracking and player assignment using YOLO and OpenCV
  • Creating a module for player ball assignment
  • Assigning players to balls using AI algorithm
  • Implementing tracking of players with assigned players and has ball attribute
  • Drawing semi-transparent rectangles for football analysis
  • Calculate the percentage of time each team has the ball
  • Adjusting for camera motion to accurately measure player speed and distance
  • Detecting corner features and camera movement using Optical flow
  • Initializing parameters for feature extraction in AI/ML Football analysis
  • Setting parameters for feature extraction and tracking in football analysis
  • Implementing a function to measure distance and camera movement
  • Implementing camera movement detection using YOLO and OpenCV
  • Implementing camera movement tracking and displaying on the frame
  • Implementing player positions robust to camera movement
  • Adjusting positions according to camera movement
  • Implementing camera movement estimator for position adjustment
  • Discussing the football court dimensions and calculations
  • Converting camera-adjusted position to real-world positions
  • Implementing perspective transform and transforming points
  • Implementing transform Point function for AI/ML Football Analysis system
  • Creating a speed and distance estimator using Python
  • Calculating speeds and distances for players using object tracking
  • Calculating speed and distance in football analysis
  • Implementing speed and distance calculations for object tracking in AI/ML football analysis system
  • Implementing speed and distance estimator in the main program
  • Building an AI/ML Football Analysis System with YOLO and OpenCV

About

computer vision analysis of football

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published