Nice Shot! is an open-source project which focuses on analysing specific player movements with the help of computer vision. Its main objective is to help those learning tennis to practice performing certain shots, such as forehand and backhand. The recognition system is aimed at people of all ages and levels of expertise, so whether you'd like to help your child practice or you're aiming at getting back into shape, Nice Shot! is for you!
This project is a collaboration between Team 1 of UCL's 2021/22 COMP0016 module consisting of Morgane Ohlig, Jin Feng and Prithvi Kohli and InfoSys as part of UCL's Industry Exchange Network.
This system currently supports the following shots; forehand, backhand, smash, service.
- Extraction of poses from videos with MediaPipe;
- Recognition and classification of tennis shots with Tensorflow using the Convolutional Neural Network Model and the Spatial-Temporal Graph Convolutional Network;
- Reconstruction of poses with 3D skeletons in Three.js.
- Ensure the above dependencies are installed and that you are running Python 3.8.
- cd into 'src' and run 'python app.py' to start the Flask server.
- The webapp can then be accessed by navigating to ‘localhost:5000’.
- Analysis results are stored in the folder 'src/static/analysis_results'
- If you wish to use the analysis pipeline API, please refer to the provided documentation on the project website.