Skip to content

Reproducing the paper

Tables and figures

Every table and figure is generated from the result files:

python paper_results/build.py                          # every table (.tex), figure and tidy CSV
python analysis/paper_tables/make_main_table.py        # main results table
python analysis/paper_tables/make_task_tables.py       # per-task appendix tables
python analysis/plot_main_radar.py                     # radar figure
python analysis/plot_transferability_5src.py           # cross-task transfer heatmaps

paper_results/ holds the tidy CSVs behind each element with the source file of every number.

Pretraining InrtlWrist

python scripts/run_pretrain.py --config configs/base.yaml \
    --model-config configs/vit1d_ssl_mae_varlen_altattn_realdata_ocdetect_eatingspeed_motionx_sonic_flu.yaml \
    --run-name vit1d_ssl_mae_varlen_altattn_realdata_ocdetect_eatingspeed_motionx_sonic

The five controlled-track baselines use the same corpus and backbone with scripts/run_ssl_baseline.py; their configs and launch scripts are under configs/ and launch/pretrain/. The released checkpoint (144,000 updates) is on the Hub and loads with scripts/load_inrtlwrist.py:

from huggingface_hub import hf_hub_download
from scripts.load_inrtlwrist import load_inrtlwrist, zscore
enc = load_inrtlwrist(hf_hub_download("YiquanLi/InrtlWrist", "inrtlwrist_mae_5src_step144k.pt"))

Running a cell without the CLI

python -m bench.make_config --task pd_pads --encoder mae_5src --protocol probe --seed 42
python scripts/run_pretrain.py --config configs/base.yaml \
    --model-config bench/generated/configs/bench_pd_pads__mae_5src__probe__s42.yaml \
    --run-name bench_pd_pads__mae_5src__probe__s42
python -m bench.score --task pd_pads --encoder mae_5src --protocol probe --seed 42

Qualitative figures

scripts/vis_site_pose.py and scripts/vis_site_odometry.py draw the skeleton and trajectory figures of the website from the fine-tuned checkpoints and the scorer's own reconstruction.