Technology
From a phone camera to numbers a physio trusts.
One camera, no markers, no wearables. Everything below exists to make a single-view pose estimate reliable enough to read joint angles from.
Training
Trained on NVIDIA H200 and B300.
We train MagicTrain's pose and movement-quality models in PyTorch with CUDA on NVIDIA H200 GPUs, and rent NVIDIA B300 capacity for the larger training runs.
| NVIDIA H200 | In-house, PyTorch training runs |
| NVIDIA B300 | Rented capacity for the larger training runs |
| Framework | PyTorch · CUDA |
| On-device runtime | 33-landmark pose · browser GPU delegate |
- Pose models for the single-view, consumer-camera, home-lighting conditions patients actually train in.
- Movement-quality models that turn angle curves into the depth, symmetry and tracking flags a physio asked for.
- Rep and phase detection robust to the slow, partial reps of early rehabilitation.
Next: TensorRT-optimised export for on-device runtimes, and a larger validation study with partner physiotherapy clinics.
Evaluation
Scored against marker-based motion capture.
Ground truth is Qualisys marker-based motion capture, from the public BioCV dataset. For each joint we compute the mean absolute error of the angle and the intraclass correlation against the markers, per subject and per camera.
| Joint | MAE | ICC |
|---|---|---|
| Knee | ≤ 5° | ≥ 0.75 / ≥ 0.90 |
| Hip | ≤ 7° | ≥ 0.75 / ≥ 0.90 |
| Ankle | ≤ 10° | ≥ 0.75 / ≥ 0.90 |
| Shoulder | ≤ 10° | ≥ 0.75 / ≥ 0.90 |
ICC ≥ 0.75 good, ≥ 0.90 excellent.
Data and privacy
Raw video never leaves the device
Pose estimation runs locally. Raw video is not uploaded.
What is sent
Measurements per rep and, if you opt in, still frames of flagged reps, to your physiotherapist only.
Not a diagnosis
Flags describe movement. Your physiotherapist decides what they mean.