Numpy, Tensorflow and PyTorch implementation of SMPL model. For any questions, feel free to contact me.
Update on 20190127 by Lotayou
I write a PyTorch implementation based on CalciferZh's Tensorflow code, which supports GPU training. The implementation is hosted in smpl_torch.py
along with the testing example.
The implementation is tested under Ubuntu 18.04, Python 3.6 and Pytorch 1.0.0 stable. The output is the same as the original Tensorflow implementation, as can be tested with test.py
.
I wrote this because the author-provided implementation was mainly based on chumpy in Python 2, which is kind of unpopular. Meanwhile, the official version cannot run on GPU.
This numpy version is faster (since some computations were rewrote in a vectorized manner) and easier to understand (hope so), and the TensorFlow version can run on GPU.
For more details about SMPL model, see SMPL.
-
Download the model file here.
-
Run
python preprocess.py /PATH/TO/THE/DOWNLOADED/MODEL
to preprocess the official model.preprocess.py
will create a new filemodel.pkl
.smpl_np.py
andsmpl_tf.py
both rely onmodel.pkl
. NOTE: the official pickle model containschumpy
object, soprerocess.py
requireschumpy
to extract official model. You need to modify chumpy's cource code a little bit to make it compatible topreprocess.py
(and Python 3). Here is an instruction in Chinese about this. If you don't want to installchumpy
, you can download processed file from BaiduYunDisk with extraction codevblg
-
Run
python smpl_np.py
orpython smpl_tf.py
orpython smpl_torch.py
to see the example.