This repository provides the code for the paper, DrPose: Direct Reward Fine-tuning on Poses
DrPose requires a Linux machine with an NVIDIA GPU (CUDA), the uv package manager, and direnv for loading project environment variables. It has been tested on the following setup:
| Component | Tested version |
|---|---|
| OS | Ubuntu 24.04 |
| CUDA | 12.8.2 |
| uv | 0.11.19 |
| direnv | 2.37.1 |
| Python | 3.11 (managed automatically by uv) |
Other Linux distributions and nearby CUDA versions may work, but are not officially supported.
1. System packages
Install the required system libraries (needed for headless EGL rendering):
sudo apt-get install -y libegl12. Python environment
Install uv:
curl -LsSf https://astral.sh/uv/install.sh | shThen set up the environment from the lockfile:
uv sync3. Environment variables
Install direnv:
sudo apt-get install -y direnvSet the required variables in .envrc, then allow direnv to load them:
direnv allowPretrained weights and model assets are fetched with fetch_data.sh. Some downloads require registering on the respective websites:
- Register for SMPL-X at https://smpl-x.is.tue.mpg.de/ and follow the installation instructions there.
- The PyMAF-X assets used by this repository are downloaded from ICON, so register at https://icon.is.tue.mpg.de/.
The script will prompt for your SMPL-X and ICON username/password when needed. A Hugging Face token must also be specified as HF_TOKEN in .envrc to download models from Hugging Face.
For inference/testing, you only need SMPL-X, PSHuman, PyMAF-X, and DrPose:
./fetch_data.sh --smplx --pshuman --pymafx --drposeFor the full pipeline (training, preprocessing, etc.), download everything:
./fetch_data.sh --allRun ./fetch_data.sh --help to see all available options (--smplx, --pymafx, --era3d, --pshuman, --sam2, --mimo, --drpose).
Once the models are downloaded, run the full inference pipeline:
./scripts/infer.sh --input ./examples --model ./data/models/PSHuman-768-6view --unet-model ./data/models/drpose/unet --allDrPose is released for non-commercial research and education only. See LICENSE.
This repository vendors code from several upstream projects, including components under non-commercial licenses (PyMAF-X / PaMIR, ECON / ICON, SMPL-X) and a copyleft license (Era3D / AGPL-3.0). These determine the repository-wide non-commercial constraint. Every vendored source, its license, and commercial-use status is cataloged in THIRD_PARTY_LICENSES.md.