A script to convert MVNX motion capture data to SMPL format.
demo.mp4
Converts MVNX files from the Nymeria dataset's data_xdata_mvnx directory to SMPL parameters and saves them to data_smpl_from_xdata_mvnx.
nymeria_smpl_preprocessor/
├── preprocess_mvnx_to_smpl.py # Main script
├── mvnx_to_smpl/ # Support library
│ └── core/
│ ├── articulate/ # SMPL body model utilities
│ └── paths.py # Path configuration
└── README.md
# Default (with local pose computation, recommended)
python preprocess_mvnx_to_smpl.py
# Custom paths
python preprocess_mvnx_to_smpl.py \
--input-dir /path/to/data_xdata_mvnx \
--output-dir /path/to/data_smpl_from_xdata_mvnx
# Without local poses (not recommended)
python preprocess_mvnx_to_smpl.py --no-use-articulateThe following files are generated in each sequence directory:
-
smpl_data.npz: Numeric arrays only (numpy 1.x/2.x compatible)global_poses: Global rotation matrices (N, 24, 3, 3)local_poses: Local rotation matrices (N, 24, 3, 3)root_positions: Root positions (N, 3)
-
smpl_data.json: Metadatajoint_names: List of joint namesmetadata: Frame rate and other infonum_frames: Number of frames*_shape: Shape of each array
The npz files contain only numeric arrays, with metadata stored separately in JSON. This avoids pickle compatibility issues between numpy 1.x and 2.x.
- Python 3.8+
- PyTorch
- NumPy (1.x or 2.x)
- tqdm
- AITViewer: SMPL Visualization tool
- Nymeria Dataset: Motion capture data from Aria glasses + MVN suit