← Back to projects
work in progress

Exercise Quality

This project generates synthetic squats that follow real physics, as a basis for small models that can describe someone's exercise form. It starts with the bodyweight squat, seen from the side and the front. For now the work is on making the movement true to life, before any machine learning.

Read the source onGitHubPython · Apache 2.0
Real body measurements
Bodies come from ANSUR II data on 6,068 adults, not random limb lengths.
Balance and spine
Balance is solved on every frame, and the trunk bends in three parts, so a long thigh or a stiff ankle changes the squat without being programmed in.
Checked against data
Simulated groups are compared with published squat studies, and reps are compared with real video tracked in MediaPipe.
Form rubrics
Side and front view grading based on the Back Squat Assessment, adjusted for body proportions.

Try it

You'll need a native Python build (arm64 on Apple silicon). The last command draws one rep in 3D, and you can drag to rotate it.

$ git clone https://github.com/ritenv/exercise-quality && cd exercise-quality
$ uv venv .venv --python 3.13 && source .venv/bin/activate
$ uv pip install -r requirements.txt
$ PYTHONPATH=src python scripts/animate_squat_3d.py 3

Limits

It grades from the side or the front, but not both at once. The reference populations are mostly young and fit, and only a few real videos have been checked so far. The rubric follows a technique standard and hasn't been validated against expert raters. It doesn't model muscle forces and makes no medical or injury claims.