Code repository for the paper "Diverse 3D Human Pose Generation in Scenes based on Decoupled Structure".
cfg_files
: Parameters for training and generation.
lib/misc/utils
: Miscellaneous parameters, functions, and classes.
models
: Pose generator and contact generator.
train_posa.py
: Functions for training the contact generator.
affordance.py
: Functions for generation.
run.py
: Scripts for running the training and generation.
This code respository is mainly based on POSA, please refer to this repository for the installation of the environment.
Before running the code, you need to download the following data:
- AMASS dataset.
- BABEL semantic annotations for AMASS motions.
- POSA dataset.
- PORX-S dataset.
- SMPL-X human body model.
- Matterport3D scene dataset.
- MP3D-R SDF extentions for Matterport3D scenes.
You need to train the pose and contact generator before running the generation.
Uncomment the corresponding line and run run.py
to train the contact generator:
run_train_posa()
After training the pose generator and contact generator, you can use the trained model during the generation. Uncomment the corresponding line and run run.py
to run the generation:
run_affordance('ours_debug', debug=True)
By default, this will generate only one sample in offscreen mode. You can modify the parameters for visualizing the generation process and generaing more samples in one time.
We referred to some code of POSA. The pose generator is based on VPoser. Thanks to these authors for their great work.