Submission to TartanIMU Challenge (IROS 2026)

Single unified model for IMU-only body-frame velocity estimation across four platforms (car / quadruped / drone / human).

Contents

File Description
model.pt Frozen weights of the single unified model
config.json Architecture settings of model.pt
model.py Model definition
infer.py Self-contained inference entry point (no internet, no external repo imports)
submission.csv The exact prediction file that produced the scores above (md5 b6d8a00027780279b046534ea8ca20f1)
requirements.txt Dependencies (torch / numpy / pandas only); requirements-lock.txt has the exact versions used

How to run

pip install -r requirements.txt
python infer.py --test_dir /path/to/challenge_data/test \
                --windows  /path/to/challenge_data/index/test_windows.csv \
                --out      submission.csv

Method

We use an encoder–decoder transformer that regresses body-frame velocity from raw IMU signals. The input is processed by a strided convolutional stem plus a multi-resolution log-spectrogram branch to derive the IMU tokens. The context is compressed into an embodiment state vector that adapts the LayerNorm parameters to the embodiment. For data augmentation, we re-time and spatially stretch the training trajectories while keeping the IMU signals physically consistent. Details are in the technical report.

Result

Official scoring service, all 89 test sequences (submission md5 b6d8a00027780279b046534ea8ca20f1).

Platform ATE20 (m) AVE (m/s) RTE@5s (m)
Wheeled / Car 0.38504 0.06799 0.30095
Handheld / Human 0.53125 0.05126 0.29518
Legged / Quadruped 0.39942 0.07339 0.36021
Aerial / Drone 0.93501 0.50103 2.31594
Average 0.56268 0.17342 0.81807

TartanIMU Score 0.21367 · Kaggle public leaderboard 0.28283

Compliance Declaration

  1. Do the predictions come from a single model with one shared set of weights? Yes. One model with one set of shared weights.
  2. Is any platform classification, routing or specialization used at inference? No. There is no platform label, classifier, routing or per-platform expert at inference. The LayerNorms are adapted automatically at inference time as an internal behavior of the model. However, at training time, the platform label is used as an auxiliary supervision signal.
  3. Is any ensembling, checkpoint averaging or test-time augmentation used? No.
  4. How was test-set leakage avoided, including for model and checkpoint selection? The test IMU was never used for training or adaptation. Design choices were made on the released val split. We made very few submissions against the test set, so the risk of overfitting to the test data is low.
  5. What differs between your development-time system and the submitted system? For development, we performed architecture search on the original split of train and val. The submitted model is trained on train + val combined, with a longer schedule. The training-only auxiliary heads are removed from the released weights.

Contact

Haozhe Zhou, haozhezh@cs.cmu.edu, Carnegie Mellon University

Downloads last month
6
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support