This study is based on Ball tracking in volleyball (Github: tprlab/vball) and is a modification/extension of it. The original project is licensed under the Apache License 2.0. We modified the original method for our volleyball setting path detection and classification research.
- Python
- OpenCV
- Keras with TensorFlow
The original project provides methods for training. To train more volleyball:
- Get a video file with a game fragment.
- Get the highest blobs:
python3 high.py
- Manually classify the blobs into 2 classes: (b)all/(n)ot ball.
- Put the classified data into
vball-net/train
. - Navigate to
vball-net
usingcd vball-net
. - Run
python3 train.py
.
Below are the modifications and new features we added to the original project:
We created an advanced filter based on the original method to extract ball data. To use it, follow these steps:
- In
blobber_with_encode.py
, change the directory to the folder where you want to store the ball path and picture. - Run
python3 blobber_with_encode.py
.
We've added new features that identify if the opposite is at the back or front row and classify sets eventually. To use it:
- In
full_version_set_classifier.py
, change the directory to the folder where you stored the ball path. - set left_net_x, right_net_x , upper_net_y, and lower_net_y values to the four corners of the volleyball net.
- Run
python3 full_version_set_classifier.py
.
Note: In order to successfully determine whether the opponent is in the front row or back row, it's essential to store the videos from every single rally and round. For instance, if you aim to correctly identify the setting tactic in the third rally, you need to have stored the videos from the first and second rallies along with their corresponding rounds.
This project is also licensed under the Apache License 2.0.