This repository contains the companion code of the blog post Automatically measuring soccer ball possession with AI and video analytics by Tryolabs.
![](https://user-images.githubusercontent.com/33181424/193869946-ad7e3973-a28e-4640-8494-bf899d5df3a7.png)
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 [email protected]: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.