# Mimotion Eval

> Evaluates models on predicting future 3D multi-person motion sequences given a short history of interacting subjects. It probes spatial-temporal modeling, interaction awareness, and long-horizon trajectory forecasting under varying scene complexities and prediction horizons. Use when the user wants to benchmark on MI-Motion, or asks about evaluating this task. Reports GJPE, AJPE, RFDE.

- Skill: `qhjqhj00/mimotion-eval` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/mimotion-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/mimotion-eval/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: qhjqhj00 (https://skillmd.com/u/qhjqhj00)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/qhjqhj00/mimotion-eval

---


# mimotion-eval

> The MI-Motion Dataset and Benchmark for 3D Multi-Person Motion Prediction — Peng et al. (2023) (arXiv:2306.13566, 2023)

## What this evaluates

Evaluates models on predicting future 3D multi-person motion sequences given a short history of interacting subjects. It probes spatial-temporal modeling, interaction awareness, and long-horizon trajectory forecasting under varying scene complexities and prediction horizons.

## Datasets

- **MI-Motion** — total ?; splits: train (-1), test (-1)

## Metrics

- `GJPE, AJPE, RFDE` **(primary)** — range: meters (lower is better)
  - GJPE (Global Joint Position Error) and AJPE (Average Joint Position Error) compute the mean Euclidean distance between predicted and ground-truth 3D joint coordinates across all subjects and frames. RFDE (Root Mean Square Error) measures the per-frame prediction deviation. All are reported in meters.

## Input / output format

**Input**: 3D multi-person motion sequences sampled at 25 FPS, consisting of 25 frames of joint coordinates for interacting subjects (3–6 persons) across various scenes.

**Output**: Predicted 3D joint coordinates for the next 50 frames.

## Scoring recipe

```python
def compute_metrics(pred, gt):
    # pred, gt: (num_subjects, num_frames, num_joints, 3)
    diff = pred - gt
    gjpe = np.mean(np.linalg.norm(diff, axis=-1))
    ajpe = np.mean(np.linalg.norm(diff, axis=(0, 1, 3)))
    rfde = np.sqrt(np.mean(diff**2))
    return {'GJPE': gjpe, 'AJPE': ajpe, 'RFDE': rfde}
```

## Common pitfalls

- Static plots may hide jittering or instant displacement artifacts; authors recommend checking GIFs on the dataset website for ultra-long-term predictions.
- Single-person baselines lack interaction modeling and may produce unrealistic global dynamics, making their Power Spectrum results unreliable due to high-frequency fluctuations.
- Complex Crowd scene is held out entirely for testing and not included in the 80/20 train/test split.

## Evidence (verbatim from paper)

> Table 2 and Table 3 report the results of GJPE, AJPE and RFDE on the 5 different scenes for short-term and long-term prediction, respectively.

## Citation

```bibtex
@misc{peng2023mimotion,
  title={The MI-Motion Dataset and Benchmark for 3D Multi-Person Motion Prediction},
  author={Peng et al. (2023)},
  year={2023},
  note={arXiv:2306.13566}
}
```

- arXiv: 2306.13566

