This project focuses on identifying specific targets in a ping-pong match. Among these targets are ping-pong paddles and players. Furthermore, we also decided to detect a ball and a scorekeeper in matches.
We applied a computer vision system in the ubiquitous Python programming language for object detection with the architecture YOLOv8 (You Only Look Once version 8) based on the YOLOv5 paper.
This project gets a video input, draws the enclosing bounding boxes around objects of interest, and displays the video with predictions. We acquire unlabeled data and annotate it manually while also utilizing the pre-annotation method with a pre-trained model. In addition, we supply a plethora of data manipulation techniques and analysis of our results. We end with a robust model detecting all four defined classes at the inference speed of 72 Frames Per Second (FPS).
Detected objects:
- paddles
- players
- scorekeeper
- ball
This is a git repository. Hence, the model files, annotations, and datasets are not provided here.
2Hr.Yolov8m.Trimmed.mp4
kalman_yolov8n_edited.mp4
conda create -n ping_pong python==3.11
conda activate ping_pong
pip install -r requirements.txt
pip install . -e
python play_model.py
make sl