Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.6%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: khanhvu0
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Size: 171 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme License Code of conduct Citation

README.md

Tennis Serve Analysis

A web application for analyzing tennis serves using computer vision and pose estimation. The application processes front and side view videos of tennis serves to detect key moments and ball positions.

Features

  • Upload and process front and side view videos of tennis serves
  • Detect key moments in the serve motion (e.g., ball release, trophy position, impact)
  • Track tennis ball position throughout the serve
  • Visualize key moments and ball positions on a timeline
  • Interactive video playback with moment markers

Prerequisites

  • Python 3.8 or higher
  • Node.js 14 or higher
  • CUDA-capable GPU (recommended for faster processing)

Installation

  1. Clone the repository:

bash git clone https://github.com/yourusername/tennis-serve-analysis.git cd tennis-serve-analysis

  1. Install Python dependencies:

bash pip install -r requirements.txt

  1. Install frontend dependencies:

bash cd analyzer/frontend npm install

  1. Build the frontend:

bash npm run build

Usage

  1. Start the Flask backend:

bash cd analyzer python main.py

  1. Open your web browser and navigate to http://localhost:5000

  2. Upload your front and side view videos of a tennis serve

  3. Wait for the processing to complete

  4. Use the video player controls to navigate through the serve and view key moments

Project Structure

form-analyzer/ analyzer/ frontend/ # React frontend src/ components/ VideoUpload.tsx VideoPlayer.tsx App.tsx package.json main.py # Flask backend video_processor.py # Video processing logic key_moment_detector.py # Key moment detection uploads/ # Temporary storage for uploaded videos requirements.txt # Python dependencies

API Endpoints

  • POST /api/upload: Upload front and side view videos
  • GET /api/video/<filename>: Get processed video file
  • GET /api/moments/<video_name>: Get key moments for a video
  • GET /api/balls/<video_name>: Get ball detections for a video

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Owner

  • Name: Khanh Vu
  • Login: khanhvu0
  • Kind: user

GitHub Events

Total
  • Watch event: 2
  • Member event: 5
  • Push event: 28
  • Create event: 5
Last Year
  • Watch event: 2
  • Member event: 5
  • Push event: 28
  • Create event: 5

Dependencies

.github/workflows/deploy.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/lint.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/merge_stage_test.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action v1.0.14 composite
.github/workflows/pr_stage_test.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action v1.0.14 composite
.circleci/docker/Dockerfile docker
  • pytorch/pytorch ${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-devel build
docker/Dockerfile docker
  • pytorch/pytorch ${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-devel build
docker/serve/Dockerfile docker
  • pytorch/pytorch ${PYTORCH}-cuda${CUDA}-cudnn${CUDNN}-devel build
projects/rtmpose/examples/onnxruntime/requirements.txt pypi
  • loguru ==0.6.0
  • numpy ==1.21.6
  • onnxruntime ==1.14.1
  • onnxruntime-gpu ==1.8.1
requirements/albu.txt pypi
  • albumentations >=0.3.2
requirements/build.txt pypi
  • numpy *
  • torch >=1.8
requirements/docs.txt pypi
  • docutils ==0.16.0
  • markdown *
  • myst-parser *
  • sphinx ==4.5.0
  • sphinx_copybutton *
  • sphinx_markdown_tables *
  • urllib3 <2.0.0
requirements/mminstall.txt pypi
  • mmcv >=2.0.0,<3.0.0
  • mmdet >=3.0.0,<3.3.0
  • mmengine >=0.4.0,<1.0.0
requirements/optional.txt pypi
  • requests *
requirements/poseval.txt pypi
  • shapely ==1.8.4
requirements/readthedocs.txt pypi
  • mmcv >=2.0.0rc4
  • mmengine >=0.6.0,<1.0.0
  • munkres *
  • regex *
  • scipy *
  • titlecase *
  • torch >1.6
  • torchvision *
  • xtcocotools >=1.13
requirements/runtime.txt pypi
  • chumpy *
  • json_tricks *
  • matplotlib *
  • munkres *
  • numpy *
  • opencv-python *
  • pillow *
  • scipy *
  • torchvision *
  • xtcocotools >=1.12
requirements/tests.txt pypi
  • coverage * test
  • flake8 * test
  • interrogate * test
  • isort ==4.3.21 test
  • parameterized * test
  • pytest * test
  • pytest-runner * test
  • xdoctest >=0.10.0 test
  • yapf * test
requirements.txt pypi
setup.py pypi
analyzer/frontend/package-lock.json npm
  • 374 dependencies
analyzer/frontend/package.json npm
  • @eslint/js ^9.21.0 development
  • @types/react ^19.0.10 development
  • @types/react-dom ^19.0.4 development
  • @vitejs/plugin-react ^4.3.4 development
  • autoprefixer ^10.4.21 development
  • eslint ^9.21.0 development
  • eslint-plugin-react-hooks ^5.1.0 development
  • eslint-plugin-react-refresh ^0.4.19 development
  • globals ^15.15.0 development
  • postcss ^8.5.3 development
  • tailwindcss ^3.4.17 development
  • typescript ~5.7.2 development
  • typescript-eslint ^8.24.1 development
  • vite ^6.2.0 development
  • @emotion/react ^11.14.0
  • @emotion/styled ^11.14.0
  • @fontsource/inter ^5.2.5
  • @heroicons/react ^2.2.0
  • @mui/icons-material ^7.0.0
  • @mui/material ^7.0.0
  • axios ^1.8.4
  • framer-motion ^12.6.2
  • react ^19.0.0
  • react-dom ^19.0.0
  • react-player ^2.16.0
analyzer/requirements.txt pypi
  • Pillow >=8.0.0
  • flask ==2.2.3
  • flask-cors ==4.0.0
  • numpy >=1.20.0
  • opencv-python >=4.5.0
  • torch >=1.8.0
  • torchvision >=0.9.0
  • ultralytics >=8.0.0
  • werkzeug ==2.2.3