Skip to content

Latest commit

 

History

History
69 lines (43 loc) · 4.55 KB

README.md

File metadata and controls

69 lines (43 loc) · 4.55 KB

🎾 Tennis Serve Analysis

The Tennis Serve Analysis App is a mobile application designed to revolutionize the way tennis players analyze and improve their serves. Leveraging machine learning algorithms and computer vision techniques, the app provides users with personalized feedback, instant comparisons with professional players, and valuable insights into their serve mechanics.

Please star⭐ the repo if you like what you see😊.

💻 Installation links

Get it on Google Play

(or)

Download apk

📖 Usage

  1. Launch the app on your mobile device.

  2. Input your height and playing hand (left handed or right handed).

  3. Upload a side serve video that you want to analyze.

  4. View the analysis, including maximum,minimum and average joint angles and ball speed comparisons with a professional player (for now the players included are Roger Federer, Rafael Nadal and Fabio Fognini).

✨ Features

  • 🦵 Pose Estimation: Utilizes MoveNet, a machine learning model, to estimate key points in the user's serve, including joints such as elbows, shoulders, and knees.

  • 🧔 Professional Player Comparison: Allows users to compare their serve with a professional player of equivalent height, providing visual overlays and angle comparisons.

  • 🥎 Ball Tracking: Employs AutoML Vision for ball detection and tracking, calculating the speed of the ball after impact.

  • 👥 User Feedback: Provides real-time feedback on joint angles, enabling users to understand their technique and receive suggestions for improvement.

  • 📊 Data-Driven Progress Tracking: Enables users to track their progress over time, helping them monitor improvements and refine their training strategies.

📸 Screen Recording

Screen Recording

🔌 Plugins

Name Usage
image_picker For helpful image functions
video_player To play,pause, slow down the selected analysis video
ffmpeg_kit_flutter To convert the video into individual frames for analysis
path_provider To access the temporary storage for the extracted images
image To process the extracted images from selected analysis video
tflite_flutter To run tensorflow lite models
tflite_flutter_helper Helper Functions for Machine Learning
lottie To display animations
flutter_svg To display svg images
flutter_riverpod Used for State Management
collection Useful helper functions for List Data Type
flutter_lints For linting

🤓 Author

Aditya R

🔖 LICENCE

Copyright (c) 2024 Aditya R GNU GPLv3 LICENCE

🙏 Attributions

Tennis icons created by kerismaker - Flaticon

Special thanks to the developers of MoveNet and AutoML Vision for their contributions to pose estimation and ball tracking in this app.