TartanIMU Challenge - Single Unified Time-Frequency Model

One model, one weight set, four platforms (car, dog, drone, human). It reads a 1.0 second window of raw 6-axis IMU and predicts that window's mean body-frame velocity. No platform label, no ground-truth orientation or position, no internet. It runs on CPU in seconds.

Public leaderboard: 0.412 (top 25 of 81).

Files

  • infer.py - self-contained inference. Bundles the model definition and the feature engineering, loads the frozen weights, reads the test .npz files, writes submission.csv.
  • weights/model.pt - the single frozen weight set (five internal branches).
  • weights/norm.npz - per-channel input normalisation statistics.
  • submission.csv - the exact submission that scored on the leaderboard.
  • requirements.txt - pinned dependencies.

Run

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

Each test file is <traj_id>.npz with imu of shape (N, 6) = [ax, ay, az, gx, gy, gz] in the body frame at 200 Hz. The script windows each trajectory into non-overlapping 200-frame blocks and emits one velocity per window, keyed by window_id from test_windows.csv.

Method

The six raw IMU channels are extended to nine by a gravity-aware split (a causal EMA of the accelerometer tracks gravity; subtracting it isolates linear acceleration). The model is a single module with one weight set holding five branches that all read the same window and whose velocity outputs are blended by fixed weights:

  1. a wide short-time-FFT spectrogram branch (time + frequency image),
  2. a base spectrogram branch,
  3. a full-spectrum frequency branch,
  4. an average-pool time branch,
  5. an attention-pool time branch.

Each branch pairs a 1-D dilated residual convolutional trunk with an input-driven FiLM conditioning path, so the network infers the platform from the signal itself and adapts, with no external label and no per-platform routing. The frequency and spectrogram views capture the distinct rhythm of each platform (a car's smooth non-holonomic motion, the pulse-and-stop of a walking human or trotting dog, a drone's free 6-DOF motion).

Rule compliance

  • Single unified model, one weight set, evaluated identically on all four platforms.
  • Inference consumes raw 6-axis IMU only. No ground truth and no platform label are read.
  • No attempt to recover the anonymised platform identity.
  • Fully offline, CPU-capable, well under the 16 GB and 2 hour re-execution limits.
  • Re-running infer.py reproduces submission.csv to under one part in a million.
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support