SportsIQ Architecture — Sports Science Meets Pose Estimation
Why MediaPipe over YOLO for Pose Estimation (Initially)
Kinetiq needs to extract meaningful biomechanical data from video — joint angles, symmetry scores, range of motion. The choice of pose estimation library determines what data you get and how fast.
MediaPipe: Fast, Accurate, Zero Setup
MediaPipe Pose gives 33 3D landmarks per person at 30+ FPS on CPU. No GPU required for single-person analysis. The z-coordinate (depth estimate) is a bonus — crude, but useful for calculating approximate joint angles in 3D space.
Why this matters for Sports Science: A squat analysis needs hip, knee, and ankle angles simultaneously. MediaPipe provides all three landmarks at consistent frame rate, making real-time feedback possible.
YOLO: Multi-Person, Team Contexts
For team sport analysis (basketball, football), you need to track multiple athletes simultaneously. MediaPipe degrades when people overlap. YOLO + pose estimation handles this better.
The planned architecture: YOLO for detection and tracking → MediaPipe for detailed per-athlete keypoint extraction.
pgvector for Movement Memory
Each session generates a movement embedding — a compressed representation of the athlete’s movement pattern. Storing these in PostgreSQL via pgvector enables:
- Session-to-session comparison (is the athlete improving?)
- Anomaly detection (this movement pattern is unusual for this athlete)
- Population comparison (how does this squat compare to 1000 other squat recordings?)
This is the part that turns a pose estimation tool into an actual sports science instrument.
Status
Architecture defined. Implementation starting.