SMPL human body layer for PyTorch is a differentiable PyTorch layer
Project description
SMPL layer for PyTorch
SMPL human body [1] layer for PyTorch (tested with v0.4 and v1.x) is a differentiable PyTorch layer that deterministically maps from pose and shape parameters to human body joints and vertices. It can be integrated into any architecture as a differentiable layer to predict body meshes. The code is adapted from the manopth repository by Yana Hasson.
Installation
You can install smpl-pytorch from PyPI:
pip install smpl-pytorch
Additionally, you have to download the SMPL pickle files:
- Download the models from the SMPL website by choosing "SMPL for Python users". Note that you need to comply with the SMPL model license.
- Extract and copy the
models
folder into thesmpl/native/
folder.
Alternatively, you can set up the package manually (see next).
Setting up
- Dependencies:
- Install the dependencies listed in environment.yml
- In an existing conda environment,
conda env update -f environment.yml
- In a new environment,
conda env create -f environment.yml
, will create a conda environment namedsmplpytorch
- In an existing conda environment,
- Install the dependencies listed in environment.yml
- Download SMPL pickle files:
- Download the models from the SMPL website by choosing "SMPL for Python users". Note that you need to comply with the SMPL model license.
- Extract and copy the
models
folder into thesmpl/native/
folder.
Demo
Forward pass the randomly created pose and shape parameters from the SMPL layer and display the human body mesh and joints:
python demo.py
Acknowledgements
The code largely builds on the manopth repository from Yana Hasson, which implements the MANO hand model [2] layer.
The code is a PyTorch port of the original SMPL model from chumpy. It builds on the work of Loper et al. [1].
The code reuses part of the code by Zhang Xiong to compute the rotation utilities.
If you find this code useful for your research, please cite the original SMPL publication:
@article{SMPL:2015,
author = {Loper, Matthew and Mahmood, Naureen and Romero, Javier and Pons-Moll, Gerard and Black, Michael J.},
title = {{SMPL}: A Skinned Multi-Person Linear Model},
journal = {ACM Trans. Graphics (Proc. SIGGRAPH Asia)},
number = {6},
pages = {248:1--248:16},
volume = {34},
year = {2015}
}
References
[1] Matthew Loper, Naureen Mahmood, Javier Romero, Gerard Pons-Moll, and Michael J. Black, "SMPL: A Skinned Multi-Person Linear Model," SIGGRAPH Asia, 2015.
[2] Javier Romero, Dimitrios Tzionas, and Michael J. Black, "Embodied Hands: Modeling and Capturing Hands and Bodies Together," SIGGRAPH Asia, 2017.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for smpl_pytorch-0.0.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 805c4186505c0b1d5ad1a81510bde4c4260c80ed37dc7a58ad896e231d7eed60 |
|
MD5 | fda607200b37e4683970301f0e583aa0 |
|
BLAKE2b-256 | b85baef8b891353f1161fbba8819474b751742b97de648e9dec971926942b408 |