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 thesmplxpackage. I.e., it supports SMPL, SMPL+H, SMPL-X, MANO, and FLAME.aitviewer.models.star. TheSTARLayerwraps the STAR model provided by https://github.com/ahmedosman/STAR.aitviewer.models.supr. TheSUPRLayerwraps the SUPR model provided by https://github.com/ahmedosman/SUPR.
Renderables
For each of the body models mentioned above, there is a corresponding renderable.
SMPLSequenceis the corresponding renderable for theSMPLLayer.STARSequenceis the corresponding renderable for theSTARLayer.SUPRSequenceis 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.