Supported Body Models
Overview
We support the following parametric human models:
- SMPL: https://smpl.is.tue.mpg.de/
- SMPL+H / MANO: https://mano.is.tue.mpg.de/
- SMPL-X: https://smpl-x.is.tue.mpg.de/
- FLAME: https://flame.is.tue.mpg.de/
- STAR: https://star.is.tue.mpg.de/
- SUPR: https://supr.is.tue.mpg.de/
To make interfacing with our renderables easier, we provide wrappers around these body models:
aitviewer.models.smpl
. This contains theSMPLLayer
, which essentially just forwards calls to the various models implemented in thesmplx
package. I.e., it supports SMPL, SMPL+H, SMPL-X, MANO, and FLAME.aitviewer.models.star
. TheSTARLayer
wraps the STAR model provided by https://github.com/ahmedosman/STAR.aitviewer.models.supr
. TheSUPRLayer
wraps the SUPR model provided by https://github.com/ahmedosman/SUPR.
Renderables
For each of the body models mentioned above, there is a corresponding renderable.
SMPLSequence
is the corresponding renderable for theSMPLLayer
.STARSequence
is the corresponding renderable for theSTARLayer
.SUPRSequence
is the corresponding renderable for theSUPRLayer
.
A body model renderable requires an instance of the respective body model layer, as well as the data that should be displayed. E.g. to display a T-Pose with the SMPL+H model:
from aitviewer.models.smpl import SMPLLayer
from aitviewer.renderables.smpl import SMPLSequence
smpl_layer = SMPLLayer(model_type="smplh", gender="neutral")
poses = np.zeros([1, smpl_layer.bm.NUM_BODY_JOINTS * 3])
smpl_seq = SMPLSequence(poses, smpl_layer)
For more information on how to work with body models, please refer to Working with the SMPL Family.
Installation
Please note that you only have to install the SMPL/STAR/SUPR models if you plan to use them. If you do not need these models, feel free to skip this section.
SMPL models
The smplx
package is automatically installed as one of the dependencies. However, you have to download the various body models. Please follow the instructions provided on the SMPL-X Github page to do so. We expect the same directory structure as the smplx
package does.
After the download of the body models, configure aitviewer to point the root directory of where you stored the body models by updating the smplx_models
parameter in the aitvconfig.yaml
. Please refer to the configuration section here to find out about various ways how to create your custom configuration file.
STAR
If you would like to use STAR, you have to manually install the package via
pip install git+https://github.com/ahmedosman/STAR.git
and download the body model from the STAR project page. After the download, update the star_models
parameter in the aitvconfig
, the same way as you did for the SMPL models.
SUPR
If you would like to use SUPR, you have to manually install the package via
pip install git+https://github.com/ahmedosman/SUPR.git
and download the body model from the SUPR project page. After the download, update the supr_models
parameter in the aitvconfig
, the same way as you did for the SMPL models.