Skip to content

Repository files navigation

UPPET: Unified Pedestrian Pose Estimation in Thermal Imaging

PyTorch Hugging Face Dataset

Official code repository for UPPET baseline training and evaluation.

Sample thermal scenes from UPPET sub-datasets.

Figure 1: Sample thermal scenes from the UPPET sub-datasets.

Examples of UPPET keypoint annotations across different thermal scenes and sensors.

Figure 2: Keypoint annotations in diverse thermal scenes from the UPPET sub-datasets.

Human Pose Estimation (HPE) using visual images has achieved strong performance, but RGB-based models often degrade in low-light and adverse weather conditions. Thermal imaging offers a robust alternative and improved privacy.

UPPET unifies four thermal datasets under a common annotation protocol to support both specialization and cross-domain generalization studies in thermal HPE.

Quick Start

  1. Clone this repository.
  2. Create the conda environment.
  3. Prepare the official UPPET dataset:

https://huggingface.co/datasets/MCormier-KA/uppet_dataset

  1. Verify dataset availability:
python tools/check_dataset.py
  1. Train a baseline:
python tools/train.py <config-file> --amp

Installation

One-shot setup:

bash tools/install_conda.sh

Dataset

The official UPPET dataset is hosted on Hugging Face:

https://huggingface.co/datasets/MCormier-KA/uppet_dataset

UPPET follows a split distribution model. The official dataset repository contains:

  • redistributed TPE images
  • UPPET annotations
  • preparation scripts
  • download utilities
  • documentation

Prepare the dataset in the official repository before using this codebase.

Verify local structure in this repo:

python tools/check_dataset.py

Expected top-level paths in data:

  • data/camel
  • data/llvip
  • data/otp
  • data/tpe
  • data/annotations

Repository Layout

  • configs: model and experiment configurations
  • tools: training, testing, and dataset checks
  • mmpose/datasets: dataset implementations used by this codebase
  • runs: generated training logs and checkpoints

Training

Train with a selected config:

python tools/train.py <config-file> --amp

Evaluation

Evaluate a trained model:

python tools/test.py <config-file> <checkpoint-file>

Human Pose Topology

UPPET uses PoseTrack18 topology (15 keypoints) for all subsets. For MMPose compatibility, annotation and prediction files provide 17 keypoints, where keypoints 3 and 4 are ignored during metric computation.

News

  • 2026-07-10 Official code release for UPPET baseline training and evaluation.
  • 2026-07-09 Official UPPET dataset repository synchronized on Hugging Face: https://huggingface.co/datasets/MCormier-KA/uppet_dataset
  • 2025-06-11 Paper accepted at the 21st Workshop on Perception Beyond the Visible Spectrum (PBVS 2025) at CVPR 2025.

Benchmark Results

Paper: https://openaccess.thecvf.com/content/CVPR2025W/PBVS/html/Cormier_UPPET_Unified_Pedestrian_Pose_Estimation_in_Thermal_Imaging_CVPRW_2025_paper.html

Split-level overview for Specialization Case:

Split Images Annotated Poses Avg. Keypoints / Pose Avg. Poses / Image
Train 23,291 86,316 12.29 3.91
Test 10,363 32,608 12.08 3.48
Total 33,654 118,924 12.23 3.53

Dataset composition:

Dataset Images Annotated Poses
TPE 14,321 52,563
CAMEL-P 2,926 25,951
LLVIP-Pose 10,317 26,133
OpenThermalPose 6,090 14,277

Split Definitions for Generalization Cases

Split ID LOO Training LOO Evaluation CV Training CV Evaluation
0 OTP, CAMEL-P, TPE LLVIP-Pose LLVIP-Pose OTP, CAMEL-P, TPE
1 LLVIP-Pose, CAMEL-P, TPE OTP OTP LLVIP-Pose, CAMEL-P, TPE
2 LLVIP-Pose, OTP, TPE CAMEL-P CAMEL-P LLVIP-Pose, OTP, TPE
3 LLVIP-Pose, CAMEL-P, OTP TPE TPE LLVIP-Pose, CAMEL-P, OTP

Specialization Results (AP / AP50)

Method LLVIP-Pose OTP CAMEL-P TPE UPPET
HRNetw48-udp 89.8 / 98.0 87.0 / 96.8 75.4 / 94.8 77.6 / 91.7 81.0 / 94.8
ViTPose-s 84.6 / 97.9 79.4 / 94.4 74.9 / 94.8 75.5 / 91.7 79.8 / 94.7
ViTPose-h 92.0 / 99.0 90.8 / 97.9 80.3 / 96.9 81.4 / 94.7 85.3 / 96.9
SimCC 85.6 / 98.0 81.8 / 95.7 72.0 / 93.6 73.6 / 90.5 78.7 / 93.7
DeepPose-r50 80.7 / 96.9 76.9 / 93.8 66.6 / 92.7 69.9 / 87.4 76.2 / 92.6

Generalization Results (LOO, AP / AP50)

Method Avg. Split 0 Split 1 Split 2 Split 3
HRNetw48-udp 54.9±12.8 / 78.0±11.6 65.2 / 88.5 51.8 / 78.3 35.3 / 59.0 67.3 / 86.3
ViTPose-s 49.3±14.1 / 75.9±13.1 62.7 / 88.1 40.0 / 75.8 31.2 / 54.5 63.3 / 85.1
ViTPose-h 68.3±13.4 / 85.4±12.1 81.4 / 96.7 73.0 / 91.3 45.9 / 65.0 72.9 / 88.6
SimCC 46.3±13.5 / 73.6±14.5 55.9 / 85.8 38.5 / 74.5 28.4 / 49.6 62.2 / 84.5
DeepPose-r50 40.1±14.4 / 67.3±15.1 51.8 / 81.2 30.2 / 67.3 22.0 / 42.7 56.4 / 78.0

Generalization Results (CV, AP / AP50)

Method Avg. Split 0 Split 1 Split 2 Split 3
HRNetw48-udp 37.7±13.3 / 58.7±17.0 47.8 / 65.7 46.0 / 71.3 41.9 / 68.2 14.9 / 29.5
ViTPose-s 39.1±5.4 / 65.7±5.3 42.0 / 65.0 45.0 / 72.1 38.8 / 68.0 30.6 / 57.6
ViTPose-h 57.8±4.5 / 79.5±4.3 58.2 / 76.0 62.6 / 83.0 59.7 / 84.4 50.5 / 74.5
SimCC 32.0±12.0 / 54.7±17.0 39.7 / 59.4 37.8 / 63.4 39.4 / 70.0 11.2 / 26.1
DeepPose-r50 27.6±10.6 / 50.5±14.3 38.1 / 58.9 34.4 / 58.7 27.2 / 58.6 10.5 / 25.7

Citation

If you use UPPET, please cite the UPPET paper and the original sub-dataset papers:

@InProceedings{Cormier_2025_CVPR,
    author    = {Cormier, Mickael and Specker, Andreas and Beyerer, J\"urgen},
    title     = {UPPET: Unified Pedestrian Pose Estimation in Thermal Imaging},
    booktitle = {Proceedings of the Computer Vision and Pattern Recognition Conference (CVPR) Workshops},
    month     = {June},
    year      = {2025},
    pages     = {4551-4560}
}

@InProceedings{Cormier_2024_ACCV,
    author    = {Cormier, Mickael and Ng Zhi Yi, Caleb and Specker, Andreas and Bla{\ss}, Benjamin and Heizmann, Michael and Beyerer, J{\"u}rgen},
    title     = {Leveraging Thermal Imaging for Robust Human Pose Estimation in Low-Light Vision},
    booktitle = {Proceedings of the Asian Conference on Computer Vision (ACCV) Workshops},
    month     = {December},
    year      = {2024}
}

@InProceedings{jia2021llvip,
    author    = {Jia, Xinyu and Zhu, Chuang and Li, Minzhen and Tang, Wenqi and Zhou, Wenli},
    title     = {LLVIP: A visible-infrared paired dataset for low-light vision},
    booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision},
    pages     = {3496--3504},
    year      = {2021}
}

@InProceedings{kuzdeuov2014,
    author    = {Kuzdeuov, Askat and Taratynova, Darya and Tleuliyev, Alim and Varol, Huseyin Atakan},
    title     = {OpenThermalPose: An Open-Source Annotated Thermal Human Pose Dataset and Initial YOLOv8-Pose Baselines},
    booktitle = {2024 18th IEEE International Conference on Automatic Face and Gesture Recognition (FG)},
    year      = {2024},
    doi       = {10.1109/FG59268.2024.10581992}
}

@InProceedings{gebhardt2018camel,
    author    = {Gebhardt, Evan and Wolf, Marilyn},
    title     = {Camel dataset for visual and thermal infrared multiple object detection and tracking},
    booktitle = {2018 15th IEEE international conference on advanced video and signal based surveillance (AVSS)},
    year      = {2018}
}

Acknowledgment

This project is developed based on mmpose. We gratefully acknowledge the datasets and authors this work builds on: LLVIP-Pose, LLVIP, OpenThermalPose and CAMEL Dataset.

About

UPPET: Unified Pedestrian Pose Estimation in Thermal Imaging

Topics

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages