How the C3D to SMPL pipeline works
mainThe C3D to SMPL pipeline is inspired by MoSh++. It follows a two-stage optimization process:
- Stage I: Optimizes shared
betas(shape), per-reference-frame rigid alignment, andmarkers_latent(latent marker positions). This stage uses a dense Powell dogleg optimizer (available in both Torch and JAX). - Stage II: Keeps shape and latent markers fixed, then fits pose and translation frame by frame.
Key Pipeline Steps:
- Canonicalize marker labels to MoSh++ names.
- Attach markers to SMPL-X/H surface locations using MoSh++ vertex IDs.
- Initialize
markers_latentfrom mesh surface normals. - Export results to an AMASS/SMPL-H-compatible format for GMR.