NetGenius

AI-Powered Tennis Match Analysis system with YOLO, PyTorch, and Key Point Extraction

NetGenius: AI-Powered Tennis Match Analysis System

NetGenius is an advanced AI-powered system designed to analyze tennis matches by detecting and tracking players and the tennis ball in videos. It utilizes state-of-the-art machine learning techniques, including YOLO for object detection and CNNs for court keypoint extraction, to provide comprehensive insights into player performance.

Input video

Input screenshot

Output video

output screenshot

Features

Project Structure

The project is organized into several stages:

  1. Input Pipeline: Loads and preprocesses the input video.
  2. Player and Ball Detection: Detects players and the ball in video frames.
  3. Courtline Detection: Identifies court lines and keypoints.
  4. Minicourt Construction: Builds a scaled-down representation of the court for easier analysis.
  5. Player Stats Calculation: Computes various player and ball statistics.
  6. Output Drawing: Annotates the video with detected objects and statistics.

Dataset used for training the model

This project uses the following dataset:

tennis ball detection Dataset

  1. Clone the repository:
    git clone https://github.com/yash-raj202134/NetGenius.git
    cd NetGenius
    
  2. Activate env:
    conda activate tennisCV
    
  3. run the main script:
    python main.py
    

Requirements

To execute this project, you must have the following dependencies installed:

(see requirements.txt)

License

This project is licensed under the GNU License. See the LICENSE file for more details.

Author

Feel free to contact :