Skip to content

⛸️ Ice skating analysis using MediaPipe Pose & OpenCV for balance, posture, angle, and movement evaluation — applicable to both casual skating and figure skating.

License

Notifications You must be signed in to change notification settings

HeleenaRobert/ice-skating-analysis

Repository files navigation

Ice Skating Analysis

Banner

Python OpenCV Mediapipe Matplotlib Made with Love By HeleenaRobert


🏒 Overview

Ice Skating Analysis is a computer vision toolkit that uses MediaPipe Pose and OpenCV to analyze skating posture, balance, and movement.
It offers four analysis levels: from simple single-leg tracking to advanced full-body analysis with live HUD overlays and angle history plots.
Ideal for coaches, athletes, or enthusiasts wanting to evaluate leg extension, torso lean, and upper body form during practice or performance videos.
Simply add your skating video and choose your analysis mode to generate annotated videos and performance metrics.


✨ Features

  • Single Leg Mode: Basic glide/posture tracking with hip-knee-ankle angles.
  • Dual Leg Mode: Tracks symmetry and balance by analyzing both legs.
  • Full Body Mode: Adds arms (shoulder-elbow-wrist) for jump/spin posture.
  • Pro Mode: Advanced HUD with live angle graph overlay and full angle history plots.

📂 Folder Structure

ice-skating-analysis/
│
├── skate_single_leg.py
├── skate_dual_leg.py
├── skate_full_body.py
├── skate_pro.py
│
├── utils/
│   ├── utils_single_leg.py
│   ├── utils_dual_leg.py
│   ├── utils_full_body.py
│   ├── utils_pro.py
│   └── video_utils.py
│
├── input/
│   └── sample_skating_video.mp4
│
├── output/
│   ├── OUTPUT_README.md
│   └── angle_history_pro.png
│
├── assets/
│   ├── banner.png
│   ├── sample_single_leg.png
│   ├── sample_dual_leg.png
│   ├── sample_full_body.png
│   ├── sample_pro.png
│   └── angle_history_pro.png
│
├── requirements.txt
├── .gitignore
├── LICENSE
└── README.md

🖼 Visual Outputs

📌 Screenshots

Single Leg Dual Leg
Single Leg Dual Leg
Full Body Pro HUD
Full Body Pro HUD

📊 Pro Angle History

Angle History


🚀 How It Works

  1. Load a skating video in input/.
  2. Choose analysis level: Single, Dual, Full Body, or Pro.
  3. Outputs annotated video and (for Pro) angle history plot in output/.

🎥 Demo Videos

Full-length skating analysis demo videos are available in the Releases section.


🔧 Installation

git clone https://github.com/HeleenaRobert/ice-skating-analysis.git
cd ice-skating-analysis
pip install -r requirements.txt

▶️ Usage

  • Single Leg:

    python skate_single_leg.py
  • Dual Leg:

    python skate_dual_leg.py
  • Full Body:

    python skate_full_body.py
  • Pro (HUD + History):

    python skate_pro.py

📌 Notes

  • Replace the input video in input/ for your own skating footage.
  • Pro mode will generate a separate angle history plot in output/.
  • Videos auto-save with descriptive suffixes (_single_leg, _dual_leg, etc.).

🛠 Technologies Used


📝 License

This project is licensed under the MIT License.


👩‍💻 Author

Heleena Robert
GitHub

About

⛸️ Ice skating analysis using MediaPipe Pose & OpenCV for balance, posture, angle, and movement evaluation — applicable to both casual skating and figure skating.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages