Computer Vision Figure Skating

Timeframe Feb - Mar 2025
GitHub View GitHub
tools Python OpenCV TensorFlow NumPy
00. Overview

Computer Vision for Figure Skating.

Figure skating presents one of the most challenging environments for computer vision and pose estimation systems. The combination of high-speed movements, extreme body positions, rotational blur, and clothing variations makes it exceptionally difficult for current state-of-the-art pose detection systems to accurately track skaters' movements.

My project investigated how current pose detection technologies perform when applied to figure skating, with particular attention to complex elements like spins and jumps. I found that while systems like OpenPose, VideoPose3D, and wrnch.ai perform admirably in many contexts, they struggle significantly with some poses unique to figure skating, such as the Biellmann spin where skaters pull their free leg behind and over their head.

01. Methodology

Methodology.

My investigation employed a systematic approach to evaluate the performance of leading pose detection systems:

Data Collection:
I compiled a diverse dataset of figure skating videos featuring various elements, with special emphasis on spins, jumps, and extreme poses. Videos were sourced from competition footage and training sessions (even my own training footage :), ensuring variety in camera angles, lighting conditions, and skater characteristics.
System Implementation:
I implemented four pose detection systems:

- Custom Tracking Framework: A real-time detection system coded from scratch using TensorFlow and OpenCV.

- OpenPose: A real-time multi-person detection system using Part Affinity Fields.

- VideoPose3D: A system that estimates 3D human pose from 2D keypoint inputs.

- wrnch.ai: A commercial motion capture and body tracking solution.

Custom Tracking Framework:
I developed a Python-based framework (using TensorFlow and OpenCV) to process video frames, apply the pose detection systems, and visualize the results through 2D overlays and 3D skeletal reconstructions.
Performance Evaluation:
I analyzed detection accuracy by comparing system outputs against manually annotated ground truth poses, with particular focus on extreme positions during spins and jumps.
02. Results

Results.

My investigation revealed several key findings:

General Performance: All systems performed adequately for basic skating positions and slower movements, with accuracy rates above 85% for standard poses.

Spin Detection Challenges: Performance degraded significantly during spins, with accuracy dropping to 40-60% depending on the system and spin type. The Biellmann spin proved particularly problematic with systems that were not the custom tracking failing to maintain accurate tracking during the most extreme phase of the element.

Rotation Speed Impact: I observed a direct correlation between rotation speed and detection accuracy, with faster spins resulting in poorer performance across all systems.

Occlusion Issues: Self-occlusion during complex poses emerged as a primary factor in detection failures, particularly when limbs crossed or were obscured by the torso.

System Comparisons:

- The custom tracking performed the best for specific figure skating poses.

- OpenPose demonstrated the best performance for multi-person scenes but struggled with extreme poses.

- VideoPose3D offered smoother temporal consistency but had difficulty with the unusual joint angles in figure skating.

- wrnch.ai showed promising results for standard movements but failed to maintain tracking during high-speed rotations.

My visualization framework revealed that detection failures often occurred at predictable moments, suggesting that sport-specific training data and models designed for extreme pose detection could significantly improve performance.

Alena CV