UDAPose: Unsupervised Domain Adaptation for Low-Light Human Pose Estimation, CVPR 2026
- Inference code and model weights
- Pose model training and synthetic data
- Data synthesis pipeline and training
-
If you use uv, you can directly
uv sync
Or you can still use
pipas followingpip install -r requirements.txt
-
After that, you should compile and install the CUDA kernel for
deformable attention.cd models/edpose/ops python setup.py build install -
Test installation.
python test.py
-
Download checkpoints from 🤗.
hf download arsity/UDAPose-model-weights --local-dir ckpts
-
Download ExLPose dataset and put into
data. -
Organize the dataset as following:
data |- ExLPose |- Annotations | |- ExLPose_test_WL.json | |- ExLPose-OC_test_A7M3.json | |- ... |- bright | |- (bright images)... |- dark | |- (paired dark images)... |- ExLPose-OCN | |- A7M3 | | |- (A7M3 images)... | |- RICOH3 | | |- (RICOH3 images)... -
Run inference
sh test.sh
Download synthetic data from 🤗.
hf download arsity/UDAPose-synthetic-data images.zip mapping_list.json --type dataset --local-dir dataUnzip and organize as following
data
|- mapping_list.json
|- synthetic
|- 0
|- 1
|- (image id directories)...
then
sh train.shto start training (for low-light). If you want to start from scratch (well-lit), you can edit train.sh.
If you find this work useful, please consider cite our paper
@InProceedings{chen2026udapose,
author = {Chen, Haopeng and Ai, Yihao and Kim, Kabeen and Tan, Robby T. and Chen, Yixin and Wang, Bo},
title = {UDAPose: Unsupervised Domain Adaptation for Low-Light Human Pose Estimation},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2026},
pages = {13781-13792}
}