human36m-pose-forecasting-eval
Personalized Pose Forecasting — Priisalu et al. (2023) (arXiv:2312.03528, 2023)
What this evaluates
Evaluates the ability of models to forecast future 3D human poses over a 1-second horizon given a short 40ms observation window. It probes long-term temporal prediction and personalization to individual-specific motion patterns.
Datasets
- Human3.6M — total 3600000; splits: train (-1), val (-1), test (-1)
Metrics
MPJE(primary) — range: other (mm or degrees)- Mean Per Joint Position Error (or MAE) computed as the average absolute difference between predicted and ground-truth joint coordinates or Euler angles across all dimensions and prediction steps.
Input / output format
Input: 40ms observation window of 3D human pose sequences (represented as 48 Euler angles or 66 joint position dimensions).
Output: Predicted 3D human pose sequence over a 1-second future horizon (25 steps at 40ms resolution).
Scoring recipe
def compute_mpje(predictions, ground_truth):
# predictions, ground_truth: (T, J) arrays
# T = 25 steps (1s horizon), J = 48 or 66 dimensions
errors = np.abs(predictions - ground_truth)
return np.mean(errors)
Common pitfalls
- The input window is only 40ms, but the prediction horizon is 1s (25 steps); confusing observation vs prediction length leads to incorrect evaluation setup.
- MPJE and MAE are used interchangeably depending on whether Euler angles (48D) or joint positions (66D) are evaluated; units differ (degrees vs mm), so direct numerical comparison across representations is invalid.
- Splits are subject-based (1,6,7,9 train; 11 val; 5 test), not frame-based, meaning models are evaluated on unseen individuals rather than temporal generalization on the same person.
Evidence (verbatim from paper)
We report forecasting error, that is MPJE or MAE.
Citation
@misc{priisalu2023personalizedposeforecasting,
title={Personalized Pose Forecasting},
author={Priisalu et al. (2023)},
year={2023},
note={arXiv:2312.03528}
}
- arXiv: 2312.03528