DPoser-X: Diffusion Model as Robust 3D Whole-body Human Pose Prior
Official model weights for DPoser-X, the first diffusion-based prior for robust 3D whole-body human pose, accepted as an Oral presentation at ICCV 2025.
Model Description
DPoser-X is a diffusion-based prior designed to overcome the limitations of traditional models like VAEs and NDFs in generating realistic and diverse human poses. Our framework introduces several key innovations:
- 𧬠A robust pose prior based on unconditional diffusion models.
- π A unified optimization framework that solves various pose-centric tasks.
- π A novel truncated timestep scheduling method optimized specifically for pose data.
- π― A mixed training strategy to effectively model the entire human body, including face and hands.
This results in a versatile and powerful prior that achieves state-of-the-art performance on 8 benchmarks for body, hand, face, and whole-body modeling.
Model Variants
This repository contains the weights for the different components of the DPoser-X framework. The file paths in this repository correspond to the structure required by the official code.
- Body Model:
body/BaseMLP/last.ckpt
- Hand Model:
hand/BaseMLP/last.ckpt
- Face Expression Model:
face/BaseMLP/last.ckpt
- Face Shape Model:
face_shape/BaseMLP/last.ckpt
- Whole-body Model:
wholebody/mixed/last.ckpt
All files can be found in the Files and versions tab.
How to Use
For the full implementation and instructions, please see our official GitHub repository: https://github.com/careless-lu/DPoser.
To use the pretrained models from this hub, you can use the huggingface_hub
library to download the files into the correct directory structure within your local pretrained_models
folder.
Example: Using the Terminal (Downloads all models at once)
Make sure you have huggingface-hub
installed (pip install huggingface-hub
). Then run the following command from your terminal:
huggingface-cli download Moon-bow/DPoser-X --repo-type model --local-dir pretrained_models --local-dir-use-symlinks False
This command will download the entire repository contents into a local folder named pretrained_models
, preserving the required directory structure. You can then proceed with the instructions in our GitHub repository.
Example: Within Python Code (Automatic Download)
You can also use the huggingface_hub
library to download the models programmatically:
from huggingface_hub import snapshot_download, hf_hub_download
# download entire repo
filepath = snapshot_download(repo_id="Moon-bow/DPoser-X")
# download one file
filepath = hf_hub_download(repo_id="Moon-bow/DPoser-X", filename="body/BaseMLP/last.ckpt")
Citation
If you find our work useful, please cite our paper:
@article{lu2025dposerx,
title={DPoser-X: Diffusion Model as Robust 3D Whole-body Human Pose Prior},
author={Lu, Junzhe and Lin, Jing and Dou, Hongkun and Zeng, Ailing and Deng, Yue and Liu, Xian and Cai, Zhongang and Yang, Lei and Zhang, Yulun and Wang, Haoqian and Liu, Ziwei},
journal={arXiv preprint arXiv:2508.00599},
year={2025}
}