CalciferZh/SMPL has 947 GitHub stars and 137 forks. GitHot measured 0 in 7 days and -2 in 15 days. Last checked 2026-11-10 04:43 UTC. Last push 2022-03-21.
NumPy, TensorFlow and PyTorch implementation of human body SMPL model and infant body SMIL model.
Measured star growth
- in 24h
- Update delayed
- in 7 days
- 0
- in 15 days
- -2
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalSMPL
Numpy, TensorFlow and PyTorch implementation of SMPL model. For C++ implementation (with PyTorch), please see this repo.
Notes:
- If you want to estimate SMPL parameters from a set of sparse keypoint coordinates, please check this repo.
- The model file cannot be provided due to copyright reasons.
- This project cannot fit a SMPL model to a scan - you can check this paper.
Update Feb 2 2019
Now we have a faster PyTorch implementation, and we also support SMIL model. For more details, please check this PR.
Overview
The author-provided implementation was mainly based on chumpy which is kind of unpopular. Meanwhile, the official version cannot run on GPU. This project provides Numpy, TensorFlow and PyTorch implementation of SMPL model.
For more details about SMPL model, see SMPL.
Numpy and Tensorflow Implementation
Contributor: CalciferZh.
The 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.
PyTorch Implementation with Batch Input
Contributor: Lotayou and sebftw
The PyTorch version is derived from the Tensorflow version, and in addition supports batch processing and 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.
SMIL_torch_batch.py can be very fast, but limited by the memory. It also works with sparse tensors. (Saving a lot of said memory)
Usage
Download the model file here.
Run
python preprocess.py /PATH/TO/THE/DOWNLOADED/MODELto preprocess the official model.preprocess.pywill create a new filemodel.pkl.smpl_np.pyandsmpl_tf.pyboth rely onmodel.pkl. NOTE: the official pickle model containschumpyobject, soprerocess.pyrequireschumpyto 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.Run
python smpl_np.pyorpython smpl_tf.pyorpython smpl_torch.pyto see the example. Additionally, runpython smpl_torch_batch.pyfor batched support.
Explore related projects
ytdl-org/youtube-dl
Command-line program to download videos from YouTube.com and other video sites
141,527 starsexcalidraw/excalidraw
Virtual whiteboard for sketching hand-drawn like diagrams
135,492 starsgodotengine/godot
Godot Engine – Multi-platform 2D and 3D game engine
119,942 starsmrdoob/three.js
JavaScript 3D Library.
118,122 stars