Skip to content

eth-siplab/GroupInertialPoser

Repository files navigation

Group Inertial Poser (ICCV 2025)

Multi-Person Pose and Global Translation from Sparse Inertial Sensors and Ultra-Wideband Ranging

Project Page | Paper | Dataset (GIP-DB)

Ying Xue, Jiaxi Jiang, Rayan Armani, Dominik Hollidt, Yi-Chi Liao, Christian Holz
Sensing, Interaction & Perception Lab, ETH Zürich

📌 Overview

Group Inertial Poser (GIP) estimates 3D full-body poses and global translation for multiple humans using inertial measurements from a sparse set of wearable sensors, augmented by the distances between the sensors via ultra-wideband (UWB) ranging.

By leveraging inter-sensor distances across multiple people, GIP overcomes the inherent translation drift of purely inertial systems. Our method preserves meaningful interaction dynamics and stabilizes global trajectories through a novel structured state-space model (SSM) and a two-step optimization pipeline.

Key Features

  • Drift-Free Tracking: Uses UWB ranging to anchor inertial measurements in a global context.
  • Multi-Person Coordination: Leverages cross-body sensor distances to refine relative positioning.
  • State-Space Models: Utilizes SSMs to integrate temporal motion patterns for precise pose estimation.
  • GIP-DB Dataset: The first IMU+UWB dataset for two-person tracking (200 mins, 14 participants).

🛠 Installation

1. Environment Setup

conda create --name GIP python=3.9 -y
conda activate GIP

# Install core dependencies
python -m pip install torch torchvision torchaudio chumpy vctoolkit open3d pybullet qpsolvers cvxopt prettytable tensorboard qpsolvers\[quadprog\] cython wandb cmake pytorch_lightning pykeops einops numpy==1.23.5

2. Libraries & Models

  1. RBDL: Install the modified Rigid Body Dynamics Library rbdl from RBDL-PIP.

  2. SMPL Models: Download SMPL model: version 1.0.0 for Python 2.7 (female/male. 10 shape PCs) (unzip and obtain basicmodel_m_lbs_10_207_0_v1.0.0.pkl) and place it in the ./data folder.

  3. S4 Model: Download the S4 repository here and move the models/ folder into your project's root directory (./).

🚀 Getting Started

Data Preparation

  1. Interhuman Dataset: Download the preprocessed Interhuman dataset from here and place into the folder data/processed_data/. Please note that by downloading the preprocessed datasets you agree to the same license conditions as for the Interhuman dataset (https://tr3e.github.io/intergen-page/). You may only use the data for scientific purposes and cite the corresponding papers.

  2. Pre-trained Weights: Download the GIP Weights and place them in your checkpoint directory.

Evaluation

To run the evaluation on the Interhuman dataset:

python modules/evaluate/evaluator_interhuman.py --network SSM \
      --ckpt_path /path/to/model.pt \
      --data_dir data/processed_data/interhuman_test/test \
      --eval_trans \
      --normalize_uwb \
      --add_guassian_noise \
      --model_args_file config/model_args.json \
      --eval_save_dir Eval_Interhuman --exp_name ssm_eval --device cuda:0

Training

We follow a phased training approach. Ensure AMASS is downloaded and preprocessed, and paths are configured in config/config.py.

python Train_model.py --pretrain_model '' \
      --config_file "config/train_config.ini" \
      --log_dir "output/ssm_model" \
      --network SSM \
      --training_phase baseline_gnn_jp_mapper baseline_rnn_jp_mapper baseline_rnn3 baseline_rnn4 baseline_rnn5 \
      --eval_dataset "interhuman" \
      --device cuda:0

📊 Dataset (GIP-DB)

Download the dataset from here and place it into the folder data/processed_data/GIP-DB/.

📝 Citation

If you find our paper or code useful, please cite our work:

@inproceedings{xue2025groupinertialposer,
  author    = {Xue, Ying and Jiang, Jiaxi and Armani, Rayan and Hollidt, Dominik and Liao, Yi-Chi and Holz, Christian},
  title     = {{Group Inertial Poser}: Multi-Person Pose and Global Translation from Sparse Inertial Sensors and Ultra-Wideband Ranging},
  booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
  pages     = {24910--24921},
  year      = {2025},
  publisher = {IEEE},
  address   = {New Orleans, LA, USA},
  doi       = {10.48550/arXiv.2510.21654},
  url       = {https://arxiv.org/abs/2510.21654},
  keywords  = {Human pose estimation, IMU, UWB, multi-person tracking, global translation},
  month     = oct
  }

License and Acknowledgement

This project is released under the MIT license. Our code is partially based on PIP and UIP.

About

No description, website, or topics provided.

Resources

License

Stars

8 stars

Watchers

3 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages