This project uses computer vision to analyze tennis matches. The project uses YOLO to detect the ball and players in the video frames. It then tracks the ball and players to analyze their movements and interactions. Tracking court keypoint was important to analyse movements and was achived by RESNET50 training the last layer.Moreover ball tracking was improved by training Yolo model on robuflow dataset.
YOLOv8 for player detection and ball detection. RESNET50 for court keypoint detection. Finetuned YOLOv8 on Robuflow dataset for ball tracking. Training training/tennis_court_keypoints_training.ipynb , training/tennis_ball_detector_training.ipynb
- Python 3.6
- OpenCV
- Tensorflow
- Ultralytics
- Robuflow
- numpy
- pytorch
- cv2
- Yolo : https://pjreddie.com/darknet/yolo/
- RESNET50 :
- Robuflow(Ball tracking dataset) : https://universe.roboflow.com/viren-dhanwani/tennis-ball-detection
- Project Inspiration : https://www.youtube.com/watch?v=L23oIHZE14w