Code for our SIGGRAPH 2024 [paper]() "Physical Non-inertial Poser (PNP): Modeling Non-inertial Effects in Sparse-inertial Human Motion Capture". See Project Page.
We use python 3.8.10
. You should install chumpy open3d pybullet qpsolvers numpy-quaternion vctoolkit==0.1.5.39
and pytorch
with CUDA (we use pytorch 2.0.1 with CUDA 11.8). You also need to compile and install rbdl 2.6.0 with python bindings and urdf reader addon.
If chumpy
reports errors, comment the lines from numpy import bool ...
that generate errors.
If quadprog
solver is not found, install with pip install qpsolvers[quadprog]
If you have configured PIP, just use its environment and install missing dependencies.
SMPL for Python
and download the version 1.0.0 for Python 2.7 (10 shape PCs)
. Then unzip it.models/SMPL_male.pkl
.models/physics.urdf
, models/plane.obj
, models/plane.urdf
.The physics model and the ground plane are modified from physcap.
data/weights/PNP/weights.pt
.data/test_datasets/dipimu.pt
, data/test_datasets/totalcapture_dipcalib.pt
, data/test_datasets/totalcapture_officalib.pt
.We provided a process.py
script, which was used to generate the preprocessed values from the raw datasets (not cleaned, may need some modifications).
python test.py
The pose/translation evaluation results for DIP-IMU and TotalCapture (DIP/Official Calibration) will be printed/drawn.
If you find the project helpful, please consider citing us:
@inproceedings{yi2024pnp,
title={Physical Non-inertial Poser (PNP): Modeling Non-inertial Effects in Sparse-inertial Human Motion Capture},
author={Yi, Xinyu and Zhou, Yuxiao and Xu, Feng},
booktitle={SIGGRAPH 2024 Conference Papers},
year={2024}
}