This repository contains the companion code of the blog post Automatically measuring soccer ball possession with AI and video analytics by Tryolabs.
For further information on the implementation, please check out the post.
To install the necessary dependencies we use Poetry. After you have it installed, follow these instructions:
-
Clone this repository:
git clone git@github.com:tryolabs/soccer-video-analytics.git
-
Install the dependencies:
poetry install
-
Optionally, download the ball.pt file from the GitHub release. Please note that this is just a toy model that overfits to a few videos, not a robust ball detection model.
First, make sure to initialize your environment using poetry shell
.
To run one of the applications (possession computation and passes counter) you need to use flags in the console.
These flags are defined in the following table:
Argument | Description | Default value |
---|---|---|
application | Set it to possession to run the possession counter or passes if you like to run the passes counter |
None, but mandatory |
path-to-the-model | Path to the soccer ball model weights (pt format) |
/models/ball.pt |
path-to-the-video | Path to the input video | /videos/soccer_possession.mp4 |
The following command shows you how to run this project.
python run.py --<application> --model <path-to-the-model> --video <path-to-the-video>
Warning: You have to run this command on the root of the project folder.
Here is an example on how to run the command:
python run.py --possession --model models/ball.pt --video videos/soccer_possession.mp4
An mp4 video will be generated after the execution. The name is the same as the input video with the suffix _out
added.