---
title: 'AMASS Corpus: Unified Mocap Dataset'
url: https://www.emergentmind.com/topics/amass-corpus
type: topic
---

# AMASS Corpus: Unified Mocap Dataset

The Archive of Motion Capture as Surface Shapes (AMASS) is a comprehensive and unified database of human motion capture (mocap) data, designed to address the limitations and fragmentation of existing datasets due to disparate body parameterizations. AMASS integrates motion data from 15 distinct optical marker-based mocap sources into a standardized and parametrically consistent format, leveraging a pipeline that reconstructs realistic, rigged 3D meshes for each frame using a body model with expressive soft-tissue and hand articulation capabilities. AMASS comprises 346 subjects, over 11,000 motion sequences, and approximately 42 hours of finely processed 3D human motion data, consolidated for immediate use in animation, visualization, and learning-based applications [1904.03278].

## 1. Corpus Composition and Dataset Unification

AMASS unifies data from 15 established marker-based mocap datasets, overcoming historical impediments posed by non-standard marker layouts and body models. The datasets incorporated into AMASS include ACCAD, BioMotion Lab, CMU, EKUT/KIT, Eyes Japan, HumanEva, MPI HDM05, MPI Pose Limits, MPI MoSh, SFU, SSM (Synchronized Scans & Markers), TCD Hand, TotalCapture, Transitions, and a repeated listing of BioMotion Lab. The consolidation yields:

- **Subjects:** 346
- **Motion Sequences:** 11,451
- **Total Recording Time:** ≈ 2,488 minutes (~42 hours)

Each motion sequence, regardless of the original dataset’s marker configuration, is reparameterized through a common framework, allowing comparative and combinatorial research across a heterogeneous set of choreographies and participant demographics [1904.03278].

## 2. Body Model Parameterization

AMASS standardizes mocap data using a combined SMPL-H + DMPL body model, referred to as “SMPL” for conciseness. This model provides a rigged anthropometric surface mesh (template $T \in \mathbb{R}^{3N}$, $N=6890$ vertices) parameterized by:

- **Shape parameters** $\beta \in \mathbb{R}^{16}$ (shape blend shapes)
- **Pose parameters** $\theta \in \mathbb{R}^{(3K+3)}$ ($K=52$: body + hands; axis–angle representation)
- **Soft-tissue dynamics** $v \in \mathbb{R}^8$ (dynamic/soft-tissue blend shapes)
- **Root translation** $\gamma \in \mathbb{R}^3$

The mesh deformation for a given frame is specified as:
$$
T(\beta,\theta,v) = T + B_s(\beta) + B_p(\theta) + B_d(v)
$$
where $B_s$, $B_p$, and $B_d$ denote the shape, pose, and soft-tissue dynamic blend shapes, respectively. The fully posed mesh $M(\beta, \theta, \gamma, v)$ is realized via linear blend skinning $W(\cdot)$ using $\beta$-dependent joint positions and the above parameterization [1904.03278].

## 3. MoSh++ Fitting Pipeline

The MoSh++ algorithm provides the technical foundation for parameterizing diverse marker-based mocap data into unified SMPL meshes. MoSh++ processes sparse framewise marker positions $\{m_{i,t} \in \mathbb{R}^3\}$ and outputs per-frame SMPL parameters $(\beta, \theta_t, v_t, \gamma_t)$ and rigged meshes $M_t$ in a two-stage optimization:

- **Stage I (Shape & Marker Correspondence):** Optimizes for subject body shape $\beta$, latent marker offsets $X$, and pose parameters on sampled frames $\theta_{1:F}$ (static $v=0$) by minimizing an energy function $E_1$ with terms for marker reprojection accuracy, shape priors, pose priors, marker–surface regularization, and initialization.
- **Stage II (Per-frame Pose & Dynamics):** With $\beta$ and $X$ fixed, each frame’s pose $\theta_t$, soft-tissue $v_t$, and root translation $\gamma_t$ are fit to minimize $E_2$, comprising marker reprojection, pose priors, temporal smoothing, and soft-tissue prior regularization.

Stagewise regularization weights are annealed via Threshold Acceptance, and Powell’s dogleg optimizer is used for both stages. Hyperparameters are tuned using the SSM dataset, which provides synchronized 4D scans and mocap for ground-truth alignment. The incorporation of DMPL’s soft-tissue subspace and MANO’s hand pose representation allows MoSh++ to reconstruct both dynamic body undulations and realistic hand articulation [1904.03278].

## 4. Quantitative Evaluation and Validation

The accuracy and fidelity of the AMASS representations are assessed using the SSM dataset (3 subjects, 30 synchronized scan-marker motions at 60 Hz). Key metrics include:

- **Scan-to-mesh error:** For each frame, a mean distance is computed between 10,000 points sampled from the ground-truth scan and the closest points on the reconstructed mesh,
  $$
  \bar d = \frac{1}{N_{\text{pts}}} \sum_{p} \min_{q \in M_t} \| p - q \|.
  $$
- **Shape estimation error (46 markers):**
  - MoSh (BlendSCAPE): 12.1 mm
  - MoSh++ (SMPL+DMPL): 7.4 mm
- **Pose estimation error without dynamics (46 markers):**
  - MoSh: 10.5 mm
  - MoSh++: 8.1 mm
- **Pose plus dynamics (46 markers):**
  - MoSh: 10.24 mm
  - MoSh++: 7.3 mm

MoSh++ not only improves upon prior work in terms of numerical accuracy but also captures soft-tissue oscillations (notably in the chest and abdomen) and nuanced hand motions that prior models lacked [1904.03278].

## 5. Data Format and Technical Usage

AMASS is organized into a hierarchical file structure with motion sequences grouped by source, subject, and sequence:

- **Top-level:** “AMASS/”
- **Nested folders:** Source dataset → Subject → Motion sequence

Each sequence comprises:
- A **.npz file** with arrays:
  - `"betas"` (16,)
  - `"dmpls"` (8,)
  - `"body_pose"` (T,63)
  - `"global_orient"` (T,3)
  - `"hands"` (T,48)
  - `"transl"` (T,3)
- Optionally, **.npy files** of raw marker trajectories (n_markers × T × 3)
- SMPL faces connectivity in JSON format

Mesh reconstruction is compatible with any standard linear blend skinning tool. For usage and visualization, a typical pipeline in Python leverages `smplx`, `numpy`, and `trimesh` for loading parameter arrays and visualizing per-frame 3D meshes.

```python
from smplx import SMPL
import numpy as np
import trimesh

smpl = SMPL(model_path="models/SMPL", gender="NEUTRAL")
data = np.load("subject_motion.npz")
betas = data["betas"]  # (16,)
body_pose = data["body_pose"]  # (T,63)
global_orient = data["global_orient"]  # (T,3)
transl = data["transl"]  # (T,3)

for t in range(body_pose.shape[0]):
    out = smpl(betas=betas,
               body_pose=body_pose[t],
               global_orient=global_orient[t],
               transl=transl[t])
    verts = out.vertices[0].numpy()   # (6890,3)
    mesh = trimesh.Trimesh(vertices=verts, faces=smpl.faces)
    mesh.show()
```
[1904.03278]

## 6. Applications and Significance

The unified and parameterized corpus of AMASS supports a broad spectrum of research and applied domains, including:

- Character animation and retargeting in game engines
- Synthetic image and video generation for computer vision (pose estimation, action recognition)
- Learning motion priors (e.g., via VAEs, RNNs)
- Biomechanical analysis incorporating soft-tissue deformation
- Automatic marker labeling and gap-filling in mocap data

The scope and fidelity of AMASS, combined with its standardized mesh representation, provide a resource supporting state-of-the-art learning and simulation pipelines. The consistency across heterogenous sources enables both direct use and further meta-analyses for developing advanced human motion models [1904.03278].

## 7. Comparative Diversity and Advantages

AMASS offers both scale and granularity surpassing earlier motion capture datasets by providing:

- A unified parameterization via SMPL-H+DMPL for all subjects and motions
- Soft-tissue dynamics and realistic hand motion reconstruction
- 42 hours of motion, 346 subjects, and more than 11,000 sequences
- Immediate applicability to animation and deep learning without additional conversion

The corpus’s diversity, high fidelity, and extensible data structure facilitate reproducibility and cross-domain research, establishing it as the most varied and comprehensive dataset for human shape and motion modeling to date [1904.03278].

Source: https://www.emergentmind.com/topics/amass-corpus