The goal of the project is to perform time series prediction of player poses and ball trajectory in tennis matches. In order to limit computational complexity, a feature extraction pipeline will be built using open source models for object detection and pose estimation, to convert dense video into a sparse 3D representation of the point. These extracted features will serve to build a time series prediction model based on graph neural networks and recursive neural networks. The ability to predict the movement of players and ball in a tennis point is projected to unlock many downstream applications, from analytics to coaching.
The authors of this project are:
The repository is structured as follows.
src
: The source directory contains the project's implementation code, divided into four subparts:data
,model
,train
andeval
.data
: This directory is where the data set should be stored, it can be downloaded from Google Drive.models
: Our pre-trained model weights are saved in this directory. Additionally, the model weights needed for pre-processing should be saved here.
Finally, the root directory of this repository also contains the project slides and report.
Clone the repository to make a local copy and change directory.
git clone git@github.com:FlorSanders/Tennis_Shot_Prediction.git
cd adl_ai_tennis_coach
The dependencies to run the code are included as an environment.yml
file.
They can be installed using conda by executing the following commands.
conda env create -f environment.yml
conda activate teco
Separate install instructions are required for the data pre-processing.
These are provided in the README of the src/data
directory.