Skip to content

Deep Learning Models

Masoud Masoumi Moghadam edited this page Mar 16, 2024 · 8 revisions

Game Status Detection


In sports analytics, it's often important to catch the events. In volleyball, just like any other sport, there are a lot of gaps between the events. We need to catch the volleyball events when the game is in play, so to do this, we need to formulate it.

In this repo, we formulated it this way:

we sliced each video into 1-second clips and extracted each clip into its frames, which would become 30 frames each. Then we input them into a fine-tuned version of VideoMAE model on a custom dataset, and it outputs 1 label denoting service, in-play and no-play.

The label service is the state of the game that the player tosses the ball, and hits it to start the rally.

The label in-play denotes the game states that the players are playing, the event is in progress, and it hasn't been stopped.

The label no-play denotes the game states that there is no event or the players are just warming up and not playing for the score.

Model Architecture:

videomae architecture

Dataset:

train:

no-play play service
7136 4886 2447

test:

no-play play service
794 544 273

The training results

Confusion matrix:

The evaluation results:

eval_accuracy eval_precision eval_recall eval_f1 eval_loss
0.9906890130353817 0.9911190984494304 0.9883168656922177 0.9896984571368996 2.413252830505371

Ball Segmentation


Yolov8 is the state-of-the-art architecture in the object detection realm and it's developed by ultralytics group and is used for all object detection/segmentation tasks in this repo.

Datasets:

Dataset1:

volleyVision ball detection

train set test set
23052 images 857 images

Dataset2:

The 2nd dataset is customizedly annotated by myself and it's a segmentation-type annotation.

train set test set
3062 images 384 images

The training results:

Box-related results:

Box PR-curve:

F1 Curve:

Mask-Related results:

Box PR-curve:

F1 Curve:

confusion Matrix:

Validation results

validation results

Action Detection


Datasets:

train set validation set
4032 images 448 images

The training results:

Box-related results:

Box PR-curve:

F1 Curve:

confusion Matrix:

Court Segmentation


Dataset:

court segmentation

train set validation set test set
1952 images 557 images 279 images

The training results:

Box-related results:

Box PR-curve:

F1 Curve:

Mask-Related results:

Box PR-curve:

F1 Curve:

confusion Matrix:

Validation results

validation results

Player Detection


we use pre-trained yolov8n for the detection and tracking of players.

Clone this wiki locally