SMPL and SMPL-X Body Models
SMPL turns ten shape numbers plus joint angles into a posed 3D body mesh with 6,890 vertices.
Why Does This Exist?
Regressing vertex coordinates freely invites impossible bodies. SMPL (2015) compresses humans into shape and pose for joints in axis-angle form. SMPL-X adds hand articulation and face expression on the same skeleton. Every human mesh recovery method outputs these numbers, not raw meshes.
Think of It Like This
A puppet with ten body sliders and joint strings
A puppet workshop keeps one template doll. Ten sliders widen hips or lengthen torsos, and strings set each of joints. Pulling strings bends the mesh by skinning without tearing. SMPL-X adds finger strings and face strings to the same doll.
Sliders are and strings are . The analogy stops at soft tissue: puppets do not jiggle while SMPL adds pose-dependent dents.
How It Actually Works
Template plus shape blend plus pose blend gives unposed mesh . Linear blend skinning poses it: with skinning weights and joint transforms . Joints come from linear regressor . SMPL has vertices; SMPL-X has with hands and face.
Worked example
Set widening hips cm. Set elbow joint to rad flexion. A forearm vertex with weights on elbow and wrist moves elbow transform plus wrist, landing cm forward. Reprojection of the wrist joint lands within pixels of detection. Zeroing returns the mean body exactly.
Watch Out For
Axis-angle jumps at 180 degrees
Pose near radians wraps discontinuously, so interpolation swings the long way. The symptom is arms corkscrewing between frames. Convert to rotation matrices for temporal smoothing.
The Quick Version
- SMPL compresses bodies to shape plus pose numbers.
- Skinning bends vertices from those numbers differentiably.
- SMPL-X adds hands and face on one full-body rig.
- Do not regress raw vertices when a prior exists; use the parameters.
- Ten shape dials cover most adult variation for fitting.