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.
- 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.
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
Single Leg | Dual Leg |
---|---|
![]() |
![]() |
Full Body | Pro HUD |
---|---|
![]() |
![]() |
- Load a skating video in
input/
. - Choose analysis level: Single, Dual, Full Body, or Pro.
- Outputs annotated video and (for Pro) angle history plot in
output/
.
Full-length skating analysis demo videos are available in the Releases section.
git clone https://github.com/HeleenaRobert/ice-skating-analysis.git
cd ice-skating-analysis
pip install -r requirements.txt
-
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
- 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.).
This project is licensed under the MIT License.
Heleena Robert
GitHub