Evaluates the quality and diversity of synthesized human motion by measuring the distributional distance between ground truth and synthetic motion sequences in a learned latent space. Use when the user has predictions and gold and needs to compute Fréchet Motion Distance (FMD).
Scanned 9/11/2026
Install to Claude Code
npx -y skills add qhjqhj00/research-skills-pool --skill frechet-motion-distance --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Frechet Motion Distance?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/qhjqhj00-frechet-motion-distance)More formats (shields.io, HTML) on the badges page.
---
name: frechet-motion-distance
description: Evaluates the quality and diversity of synthesized human motion by measuring the distributional distance between ground truth and synthetic motion sequences in a learned latent space. Use when the user has predictions and gold and needs to compute Fréchet Motion Distance (FMD).
metadata:
skill_kind: metric
source_arxiv: 2204.12318
bibtex_key: maiorca2022frechetmotiondistance
confidence: high
---
# frechet-motion-distance
> Evaluating the Quality of a Synthesized Motion with the Fr\'echet Motion Distance — Maiorca et al. (2022) (arXiv:2204.12318, 2022)
## What this evaluates
Evaluates the quality and diversity of synthesized human motion by measuring the distributional distance between ground truth and synthetic motion sequences in a learned latent space.
## Datasets
- **Human3.6M** — total ?; splits: train (-1), test (-1); repo https://github.com/antmaio/FrechetMotionDistance
## Metrics
- `Fréchet Motion Distance (FMD)` **(primary)** — range: [0, ∞)
- Computes the Fréchet distance between the latent distributions of clean ground-truth motion and synthetic/noisy motion, both encoded via a ResNet34-based autoencoder. Assumes each distribution is approximated by a multivariate Gaussian.
## Input / output format
**Input**: Motion sequences represented as 3D images (x, y, z coordinates as RGB channels) or their corresponding latent vectors from the autoencoder.
**Output**: A single scalar value representing the Fréchet distance between the two motion distributions.
## Scoring recipe
```python
z_clean = autoencoder.encode(clean_motion)
z_noisy = autoencoder.encode(noisy_motion)
mu_c, Sigma_c = estimate_gaussian(z_clean)
mu_n, Sigma_n = estimate_gaussian(z_noisy)
diff = mu_c - mu_n
covmean = sqrtm(Sigma_c @ Sigma_n)
fmd = diff @ diff + trace(Sigma_c + Sigma_n - 2 * covmean)
return fmd
```
## Common pitfalls
- FMD shows reduced sensitivity to temporal noise/discontinuities compared to spatial noise, which may underestimate degradation in time-varying artifacts.
- The metric assumes latent distributions can be well-approximated by Gaussians; non-Gaussian latent structures may yield misleading distances.
- Motion length variations (e.g., 18 vs 64 frames) can affect latent encoding and FMD scores if not normalized or handled consistently.
## Evidence (verbatim from paper)
> To validate our proposed metric, we need to find that it correctly measures the intensity of motion degradation. The test set is manually altered by adding noise samples with a fixed intensity factor $\zeta$ so that it can play the role of a synthetic motion dataset with artifacts. Then, FMD score is computed between the clean test set and the altered one.
## Citation
```bibtex
@misc{maiorca2022frechetmotiondistance,
title={Evaluating the Quality of a Synthesized Motion with the Fr\'echet Motion Distance},
author={Maiorca et al. (2022)},
year={2022},
note={arXiv:2204.12318}
}
```
- arXiv: 2204.12318
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!