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.
Setup
1. The smplpytorch package
- Run without installing: You will need to install the dependencies listed in environment.yml:
conda env update -f environment.ymlin an existing environment, orconda env create -f environment.yml, for a newsmplpytorchenvironment
- Install: To import
SMPL_Layerin another project withfrom smplpytorch.pytorch.smpl_layer import SMPL_Layerdo one of the following.
2. 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
modelsfolder into thesmplpytorch/native/folder (or set themodel_rootparameter accordingly).
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.
Metadata
Release files for smplpytorch 0.0.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| smplpytorch-0.0.8.tar.gz | 9.5 kB | Without provenance | Details for smplpytorch-0.0.8.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| smplpytorch-0.0.8-py3-none-any.whl | Python 3 | none | any | Details for smplpytorch-0.0.8-py3-none-any.whl |
Total release size: 32.4 kB
Release files / smplpytorch-0.0.8.tar.gz
| Download URL | smplpytorch-0.0.8.tar.gz |
|---|---|
| Size | 9.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
35a011206985c993dccea63e7a4d77bc71369baa0fd58f36ebcad6da3af38779
|
|
BLAKE2b-256 checksum How to use checksums |
16b30ea0c906ce4236efed823e0469fa1f9dfa330f05fc42d36bfbdf25c37f2f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3
|
Release files / smplpytorch-0.0.8-py3-none-any.whl
| Download URL | smplpytorch-0.0.8-py3-none-any.whl |
|---|---|
| Size | 22.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
059a398a3f10acf74f8da7fca8bba870f6504523cd3df6f52264b496c37b0a4a
|
|
BLAKE2b-256 checksum How to use checksums |
5fc227a2e0739670c19c52da1f90ebb576c2d64eb93a8c397461db2a41365e9f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3
|
Security for smplpytorch 0.0.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.