This project analyzes Tennis players in a video to measure their speed, ball shot speed and number of shots. This project will detect players and the tennis ball using YOLO and also utilizes CNNs to extract court keypoints. This hands on project is perfect for polishing your machine learning, and computer vision skills.
Here is a screenshot from one of the output videos:
-
YOLO v8 for player detection
-
Fine Tuned YOLO for tennis ball detection
-
Court Key point extraction
-
Trained YOLOV5 model: https://drive.google.com/file/d/1UZwiG1jkWgce9lNhxJ2L0NVjX1vGM05U/view?usp=sharing
-
Trained tennis court key point model: https://drive.google.com/file/d/1QrTOF1ToQ4plsSZbkBs3zOLkVt3MBlta/view?usp=sharing
- Tennis ball detetcor with YOLO: training/tennis_ball_detector_training.ipynb
- Tennis court keypoint with Pytorch: training/tennis_court_keypoints_training.ipynb
- python3.8
- ultralytics
- pytroch
- pandas
- numpy
- opencv