An application for analyzing tennis serves using computer vision and pose estimation (OpenCV YOLO and MMPose).
Video demo link: https://youtube.com/shorts/riT4e5XwXgg?feature=share
- Upload and process videos of tennis serves
- Detect key moments in the serve motion (e.g., ball release, trophy position, impact)
- Track the player's skeleton/pose, tennis ball, and tennis racket position throughout the serve
- Visualize key moments and ball positions on a timeline
- Interactive video playback with moment markers
- Python 3.8 or higher
- Node.js 14 or higher
- CUDA-capable GPU (recommended for faster processing)
- Clone the repository:
git clone https://github.com/yourusername/tennis-serve-analysis.git
cd tennis-serve-analysis- Install Python dependencies:
pip install -r requirements.txt- Install frontend dependencies:
cd analyzer/frontend
npm install- Build the frontend:
npm run build- Start the Flask backend:
cd analyzer
python main.py-
Open your web browser and navigate to
http://localhost:5000 -
Upload your 2 videos of tennis serves to compare and analyze
-
Wait for the processing to complete
-
Use the video player controls to navigate through the serve and view key moments
This project is licensed under the MIT License.