YutianChen's picture
Clarify fine-tuning and download path
a3fb426 verified
|
Raw History Blame Contribute Delete
2.88 kB
---
library_name: pytorch
license: other
pipeline_tag: robotics
tags:
- robotics
- imu
- inertial-odometry
- humanoid
- human-motion
datasets:
- bones-studio/seed
- Open-IO/humanoid-g1-odometry
---
# A Unified Inertial Encoder for Human and Humanoid Motion: Checkpoint
[Project Page](https://unified-inertial-encoder.github.io/) | [Code](https://github.com/unified-inertial-encoder/Unified-Inertial-Encoder)
![One inertial encoder shared by human and humanoid motion](assets/teaser.png)
One encoder, trained on human motion and kinematically retargeted G1 motion, transfers zero-shot to
a physical Unitree G1. This repository holds the checkpoint behind the paper's "Ours" results.
![Method overview](assets/overview.png)
## Files
```
checkpoints/unified_encoder.ckpt model weights (EMA, bf16, 55.6M parameters)
.hydra/ Hydra config of the training run (experiment=exp15_full_train_C)
```
Keep `.hydra/` next to `checkpoints/`, because the code rebuilds the model from it. The checkpoint
holds weights only, without optimizer state, so it supports evaluation and fine-tuning
(`'meta.resume_from=<CKPT>' meta.resume_full_state=false`), not exact resumption of the training run.
## Quick Usage
With the [code](https://github.com/unified-inertial-encoder/Unified-Inertial-Encoder) installed:
```bash
RUN="${FOUNDATIONIMU_EXP_ROOT:-experiments}/unified-inertial-encoder"
hf download Open-IO/Unified-Inertial-Encoder --local-dir "$RUN"
hf download Open-IO/humanoid-g1-odometry --repo-type dataset \
--local-dir "$FOUNDATIONIMU_CACHE_ROOT/humanoid_superodom_clips_v2"
python -m src.eval_foundation \
--ckpt "$RUN/checkpoints/unified_encoder.ckpt" \
--data_from "$RUN" \
--dataset Humanoid_SuperOdom_NPZ_Processed_Language \
--json real_g1.json
```
`src.eval_foundation` needs a CUDA GPU. See the code repository for the other datasets.
## Results
Scores reported in the paper. AVE is the average velocity error (m/s). ATE<sub>GT</sub> and
ATE<sub>Pred</sub> are trajectory errors (m) using ground-truth rotation and rotation preintegrated
from the gyroscope.
| Dataset | AVE | ATE<sub>GT</sub> | ATE<sub>Pred</sub> |
|---|---|---|---|
| Nymeria | 0.026 | 2.468 | 18.20 |
| Natural Motion | 0.049 | 7.456 | 50.54 |
| BONES-Seed (Human) | 0.031 | 0.113 | 0.148 |
| BONES-Seed (G1) | 0.024 | 0.101 | 0.127 |
| Real-Trajectory (G1) | 0.099 | 3.153 | 11.50 |
Real-G1 clips are never used for gradient training, but their scores informed the selection of this
checkpoint.
## Citation
```bibtex
@misc{chen2026unifiedinertial,
title={A Unified Inertial Encoder for Human and Humanoid Motion},
author={Chen, Yutian and Zhao, Shibo and Duan, Rocky and Liu, Karen and
Sferrazza, Carmelo and Shi, Guanya and Qiu, Yuheng and Sreenath, Koushil},
year={2026},
url={https://unified-inertial-encoder.github.io/}
}
```