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
File details
Details for the file smpl-pytorch-0.0.7.tar.gz
.
File metadata
- Download URL: smpl-pytorch-0.0.7.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using 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.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ad0581c030b11d6de38c407be1c4c702b1c9aef8de774f8b15d9505a832100d |
|
MD5 | ded6fbde1e960660601922d22a0aa775 |
|
BLAKE2b-256 | 6cb6ec1070cf01a7d1b84f6e3e7e5a9cc6abf2c4c76e26a42a7fb30dd46c7c7d |
File details
Details for the file smpl_pytorch-0.0.7-py3-none-any.whl
.
File metadata
- Download URL: smpl_pytorch-0.0.7-py3-none-any.whl
- Upload date:
- Size: 22.9 kB
- Tags: Python 3
- Uploaded using 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.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 805c4186505c0b1d5ad1a81510bde4c4260c80ed37dc7a58ad896e231d7eed60 |
|
MD5 | fda607200b37e4683970301f0e583aa0 |
|
BLAKE2b-256 | b85baef8b891353f1161fbba8819474b751742b97de648e9dec971926942b408 |