Welcome to pyHuman’s documentation!¶
Motivation¶
Human model is an important part in human understanding tasks.
SMPL is one of the most popular human model that enables multiple success research works.
SMPL model has so much impact in the community that I admire and am eager to understand.
This is an educational project to learn about the SMPL models by implementing them from scratch.
The main goal of this project is to:
FAQ¶
Can I use this project in commercial projects?¶
I have no idea. Please check with your lawyer.
Here are my thoughts:
- SMPL models are non-commercial. Here is the SMPL-Model License.
- This repository is Apache License so you may use it as you want. However, it is inspired by the code from SMPL Project so it may be considered as derivative works. I don’t have expertise in this area.
Is this production-ready?¶
No. The focus of this project is for my understanding of human models. You can use this with your own risk.
For production purpose, I am highly recommend that you contact SMPL’s authors for high-quality models and expertise.
Review: SMPL: A Skinned Multi-Person Linear Model¶
This is my note on the ACM 2015 paper “SMPL: A Skinned Multi-Person Linear Model” by Loper, Matthew and Mahmood, Naureen and Romero, Javier and Pons-Moll, Gerard and Black, Michael J.
Introduction¶
SMPL is a skinned vertex-based model that accurately represents a wide variety of body shapes in natural human poses.
In SMPL, the pose information is independent from the shape information.
Some parameters are learned from data:
- rest pose template
- blend weights
- pose-dependent blend shapes
- identity-dependent blend shape
- a regressor from vertices to joint locations
In SMPL, the authors learn blend shapes (identity, pose, soft-tissue dynamics) that are additively combined with a rest template before being tranformed by blend skinning.
The pose blend shapes are formulated as a linear function of the elements of the part rotation matrices.
Objective function penalizes the per-vertex disparities between registered meshses and the model.
Learn pose¶
Data: 1786 high-resolution 3D scans of different subjects in a wide variety of poses.
- align the template mesh to each scan
- optimize for:
- the blend weights,
- pose-dependent blend shapes
- mean template shape (rest pose)
- a regressor from shape to joint locations
Learn shape¶
Data: CAESAR dataset (~2000 scans per gender).
- Register a template mesh to each scan
- Pose normalize the data: which is critical when learning a vertex-based shape model.
- Use principal component analysis (PCA) to learn body shape blend shapes.