This project aims to create an inexpensive and accessible system for analyzing human movement from video.
Using pose estimation and machine learning, the system extracts biomechanical features from videos of users sprinting to evaluate performance, detect movement patterns, and provide feedback suggestions.
The long-term goal is to support applications in:
- Other athletic actions (baseball swing, barbell squat, basketball jumpshot, etc.)
- Injury prevention feedback
- Rehabilitation
- Motor Planning
- Movement Disorder Assessment
As a track athlete, I wanted to create a tool that people can use to evalutate sprint performance without access to expensive lab equipment.
I got the idea to expand the capabilites of the tool to help enhance motor planning because of my younger brother with special needs.
| Step | Goal | Tool | Use |
|---|---|---|---|
| 1 | Pose Estimation | MMPose, Yolo26, Mediapipe | Extract pose landmarks, joint angles, velocities using the user's choice of an engine for pose estimation between: Google's MediaPipe, Ultralytics YOLO26, or OpenMMLab's MMPose libraries, with custom normalization to enable standard comparison across datasets. |
| 2 | Phase Identification | Keras 1D Convolutional Neural Network | Predict gait phases using a 1D Convolutional Neural Network that analyzes temporal patterns in user landmark sequences. Phases are separated into: - Left/Right Ground Contact (LGC/RGC) - Left/Right Propulsion (LP/RP) - Left/Right Flight (LF/RF) |
| 3 | Form Scoring | Median Absolute Deviation (MAD) | Compute deviation from reference motion patterns using Median Absolute Deviation (MAD) and calculate each feature's similarity scores over time using MAD-based Z-scores. |
| 4 | Output | OpenCV, Matplotlib, Plotly | Generate visualizations: OpenCV: - Dashboard Video containing Form Deviation over time, color coded skeleton, and form correction suggestions - Phase Overlays of Correct Form Matplotlib: - Individual Z-scores over time - Total Form Deviation Scoring over time - Phase Z-scores over time Plotly: - Individual Phase Breakdown Isolation |
|
Input & Skeleton Overlay user_input.mp4 |
Biomechanical Dashboard (Annotated) annotated_dashboard.mp4 |
NOTICE:
In dashboard video (pictured right), the large spike in Total Form Deviation at ~11sec aligns with form error of athletes left arm being raised This validates the ability of the pipeline to identify abnormalities in running form.
Full Video Analysis:
- Dashboard Video
- Feature Deviation Tracking
- Total Form Deviation Tracking
Individual Phase Analysis:
- Phase Overlay Videos
- Phase Deviation Tracking
- Phase Breakdown Tracking
- Phase Breakdown Isolation
Ground Contact Statistics:
- Ground Contact Times
- Left / Right Imbalance
- Strike Point Statistics






