AsianPlayer's picture
|
download
raw
15.1 kB

Formulation ablation — absolute-coordinate read-out vs the CockpitWM formulation (EXPLANATORY, not for adoption) — AIDE test, n = 609

Generated 20260915T025941Z by aide/eval/report_formulation_abs.py from metrics_test.json / run json / pred_test.npz only (locked protocol: driver first, grid floor, HM top 60 (threshold 72.05 px), PCK @ 96 px; every run selected on val All-MPJPE of the EMA weights only, test evaluated once by the harness; CI = 10k clip-bootstrap percentile interval; group rows mean ± sd over seeds, ddof 1). Pre-registered in docs/decisions.md 2026-09-15 at 2026-09-15T02:19:20Z (before any run).

Question. The published Driver-WM Table-1 MotionBERT row (All 73.51) is worse than Driver-WM main (71.47) and worse than copying the last pose (published zero-velocity 52.89), while the same architecture trained on our keypoint protocol with the CockpitWM formulation reaches 48.46 ± 0.15 (5 seeds). Test. The same two architectures are re-trained with an ABSOLUTE-coordinate read-out — pred = out ⊙ (W, H) px, PyTorch default (non-zero) init of the read-out, no residual to the last pose, no zero-velocity start, no anchor mixture — with everything else identical: input tokens [(Δx,Δy)/200 to the last pose, x/W, y/H, conf], blocks, recipe (aide/train/run_arch_attribution.sh:24 verbatim), loss (--loss euc for the MotionBERT architecture; CockpitWM keeps all four Stage-A terms euc 1.0 + Laplace NLL 0.1 + bone 0.05 + jerk 0.01 — none depends on the residual parametrisation), seeds 42 / 123 / 456. The paired reference of every abs run is the seed-matched residual run that already exists (motionbert_kp_s<k>_v2, cwm3d_kp_s<k>_v2; untouched).

1. Test levels — published rows (labelled, typed verbatim in aide/eval/paper_rows.py), our references, and the two absolute-formulation arms

row seed / n All d-n HM HM d-n PCK@0.05 best val All best ep / epochs / stop GPU min
MotionBERT (published, Driver-WM arXiv 2605.05092v2 Table 1) paper (single seed) 73.51 3.340 141.53 6.420 78.01 – – –
Driver-WM main (published) paper (single seed) 71.47 3.240 138.03 6.270 71.66 – – –
Zero-Velocity (published) paper (single seed) 52.89 2.400 139.19 6.320 85.95 – – –
Zero-velocity (ours, locked protocol, run zero_velocity) analytic 52.93 [48.88, 57.25] 2.403 [2.219, 2.599] 139.23 [116.93, 167.68] 6.320 [5.308, 7.612] 85.95 [84.73, 87.15] – – 0
MotionBERT architecture, CockpitWM formulation (motionbert_kp, residual) — 5-seed mean ± sd n = 5 48.46 ± 0.15 2.200 ± 0.007 130.38 ± 0.84 5.918 ± 0.038 87.14 ± 0.11 – – –
MotionBERT architecture, CockpitWM formulation (motionbert_kp, residual) — motionbert_kp_s42_v2 42 48.28 [44.53, 52.37] 2.192 [2.021, 2.377] 130.34 [108.20, 158.53] 5.917 [4.912, 7.196] 87.17 [86.04, 88.28] 55.550 81 / 122 / early_stop(patience=40) 4.6
MotionBERT architecture, CockpitWM formulation (motionbert_kp, residual) — motionbert_kp_s123_v2 123 48.38 [44.65, 52.46] 2.196 [2.027, 2.381] 129.16 [106.70, 157.58] 5.863 [4.844, 7.153] 87.14 [86.02, 88.27] 55.627 58 / 99 / early_stop(patience=40) 4.36
MotionBERT architecture, CockpitWM formulation (motionbert_kp, residual) — motionbert_kp_s456_v2 456 48.48 [44.74, 52.58] 2.201 [2.031, 2.387] 130.23 [107.78, 158.89] 5.912 [4.893, 7.213] 87.14 [86.00, 88.25] 55.166 90 / 131 / early_stop(patience=40) 5.17
MotionBERT architecture, ABSOLUTE formulation (motionbert_kp_abs) — motionbert_kp_abs_s42_v2 42 49.84 [45.95, 53.96] 2.262 [2.086, 2.449] 132.12 [109.41, 160.74] 5.997 [4.966, 7.297] 86.75 [85.57, 87.92] 56.240 147 / 188 / early_stop(patience=40) 4.54
MotionBERT architecture, ABSOLUTE formulation (motionbert_kp_abs) — motionbert_kp_abs_s123_v2 123 51.00 [46.66, 55.90] 2.315 [2.118, 2.538] 131.13 [108.61, 159.80] 5.952 [4.930, 7.254] 86.69 [85.45, 87.86] 56.170 152 / 193 / early_stop(patience=40) 4.79
MotionBERT architecture, ABSOLUTE formulation (motionbert_kp_abs) — motionbert_kp_abs_s456_v2 456 50.01 [46.14, 54.21] 2.270 [2.094, 2.461] 132.17 [109.29, 160.84] 6.000 [4.961, 7.301] 86.70 [85.48, 87.87] 56.304 149 / 190 / early_stop(patience=40) 4.25
MotionBERT architecture, ABSOLUTE formulation (motionbert_kp_abs) — mean ± sd n = 3 50.28 ± 0.63 2.283 ± 0.029 131.80 ± 0.59 5.983 ± 0.027 86.71 ± 0.03 – – –
CockpitWM (cwm3d_kp, residual + anchors) — 5-seed mean ± sd n = 5 48.60 ± 0.12 2.206 ± 0.005 131.57 ± 0.57 5.973 ± 0.026 87.02 ± 0.06 – – –
CockpitWM (cwm3d_kp, residual + anchors) — cwm3d_kp_s42_v2 42 48.77 [44.99, 52.91] 2.214 [2.042, 2.402] 132.49 [109.62, 161.16] 6.014 [4.976, 7.316] 87.00 [85.85, 88.12] 55.367 58 / 99 / early_stop(patience=40) 0.6
CockpitWM (cwm3d_kp, residual + anchors) — cwm3d_kp_s123_v2 123 48.66 [44.86, 52.81] 2.209 [2.037, 2.397] 131.05 [108.48, 159.39] 5.949 [4.925, 7.236] 86.99 [85.82, 88.14] 55.367 44 / 85 / early_stop(patience=40) 0.51
CockpitWM (cwm3d_kp, residual + anchors) — cwm3d_kp_s456_v2 456 48.46 [44.68, 52.59] 2.200 [2.028, 2.387] 131.37 [108.83, 159.91] 5.964 [4.940, 7.259] 87.13 [85.99, 88.24] 55.262 45 / 86 / early_stop(patience=40) 0.52
CockpitWM architecture, ABSOLUTE formulation (cwm3d_kp_abs) — cwm3d_kp_abs_s42_v2 42 52.76 [49.04, 56.80] 2.395 [2.226, 2.579] 131.39 [108.68, 159.94] 5.964 [4.934, 7.260] 86.13 [84.97, 87.27] 59.264 117 / 158 / early_stop(patience=40) 3.35
CockpitWM architecture, ABSOLUTE formulation (cwm3d_kp_abs) — cwm3d_kp_abs_s123_v2 123 52.02 [48.36, 56.03] 2.361 [2.195, 2.544] 129.88 [107.59, 158.22] 5.896 [4.884, 7.182] 86.47 [85.34, 87.60] 58.834 115 / 156 / early_stop(patience=40) 3.84
CockpitWM architecture, ABSOLUTE formulation (cwm3d_kp_abs) — cwm3d_kp_abs_s456_v2 456 52.73 [49.01, 56.81] 2.394 [2.225, 2.579] 134.04 [111.41, 162.77] 6.085 [5.058, 7.389] 86.19 [85.04, 87.34] 58.601 125 / 166 / early_stop(patience=40) 4.14
CockpitWM architecture, ABSOLUTE formulation (cwm3d_kp_abs) — mean ± sd n = 3 52.50 ± 0.42 2.383 ± 0.019 131.77 ± 2.11 5.982 ± 0.096 86.26 ± 0.18 – – –

Published MotionBERT row vs our residual MotionBERT-kp: the table's first row and the motionbert_kp group row are the two numbers the ablation is about (73.51 vs 48.46 ± 0.15). For every row the CockpitWM formulation is the residual-to-last-pose read-out with zero init (+ anchor mixture for CockpitWM itself); the absolute formulation is the same network with the read-out replaced as described above.

Consistency check of the 5-seed reference means against arch_attribution.md §3.1: motionbert_kp recomputed 48.46 ± 0.15 vs quoted 48.46 ± 0.15 (match); cwm3d_kp recomputed 48.60 ± 0.12 vs quoted 48.60 ± 0.12 (match).

2. Paired per-clip Δ = absolute − residual (seed-matched, same architecture; errors: positive = the absolute formulation is worse; PCK: negative = worse)

MotionBERT architecture, ABSOLUTE formulation (motionbert_kp_abs) vs MotionBERT architecture, CockpitWM formulation (motionbert_kp, residual)

cell abs s42 abs s123 abs s456 residual s42 residual s123 residual s456 Δ s42 [CI] Δ s123 [CI] Δ s456 [CI] mean Δ ± sd
All-MPJPE 49.84 51.00 50.01 48.28 48.38 48.48 +1.56 [+0.91,+2.36] +2.62 [+0.71,+5.48] +1.53 [+0.87,+2.31] 1.90 ± 0.62
d-n 2.262 2.315 2.270 2.192 2.196 2.201 +0.071 [+0.041,+0.107] +0.119 [+0.032,+0.249] +0.070 [+0.039,+0.105] 0.086 ± 0.028
HM-MPJPE 132.12 131.13 132.17 130.34 129.16 130.23 +1.77 [-0.73,+4.18] +1.97 [-0.49,+5.02] +1.94 [-0.55,+4.74] 1.89 ± 0.10
HM d-n 5.997 5.952 6.000 5.917 5.863 5.912 +0.080 [-0.033,+0.190] +0.089 [-0.022,+0.228] +0.088 [-0.025,+0.215] 0.086 ± 0.005
PCK@0.05 86.75 86.69 86.70 87.17 87.14 87.14 -0.41 [-0.77,-0.13] -0.45 [-0.93,-0.09] -0.44 [-0.79,-0.14] -0.44 ± 0.02
All h=1 37.01 37.57 36.28 35.04 35.01 35.17 +1.98 [+1.19,+2.85] +2.57 [+0.81,+5.16] +1.11 [+0.57,+1.69] 1.88 ± 0.73
All h=2 46.11 46.65 46.47 44.27 44.21 44.34 +1.84 [+0.95,+2.97] +2.44 [+0.88,+4.83] +2.13 [+1.19,+3.24] 2.14 ± 0.30
All h=3 53.18 53.83 53.76 51.58 51.83 51.74 +1.60 [+0.93,+2.32] +2.00 [+0.64,+4.29] +2.02 [+1.05,+3.24] 1.88 ± 0.24
All h=4 54.82 56.11 55.20 53.22 53.33 53.25 +1.60 [+0.61,+2.82] +2.78 [+0.57,+5.88] +1.95 [+1.12,+2.85] 2.11 ± 0.60
All h=5 58.06 60.85 58.35 57.30 57.54 57.91 +0.76 [+0.02,+1.53] +3.31 [+0.28,+7.69] +0.44 [-0.29,+1.25] 1.50 ± 1.57

CockpitWM architecture, ABSOLUTE formulation (cwm3d_kp_abs) vs CockpitWM (cwm3d_kp, residual + anchors)

cell abs s42 abs s123 abs s456 residual s42 residual s123 residual s456 Δ s42 [CI] Δ s123 [CI] Δ s456 [CI] mean Δ ± sd
All-MPJPE 52.76 52.02 52.73 48.77 48.66 48.46 +3.99 [+3.03,+4.93] +3.36 [+2.42,+4.28] +4.27 [+3.35,+5.17] 3.87 ± 0.46
d-n 2.395 2.361 2.394 2.214 2.209 2.200 +0.181 [+0.138,+0.224] +0.153 [+0.110,+0.194] +0.194 [+0.152,+0.235] 0.176 ± 0.021
HM-MPJPE 131.39 129.88 134.04 132.49 131.05 131.37 -1.10 [-5.63,+2.61] -1.17 [-4.55,+1.96] +2.67 [-1.28,+6.58] 0.13 ± 2.20
HM d-n 5.964 5.896 6.085 6.014 5.949 5.964 -0.050 [-0.256,+0.118] -0.053 [-0.207,+0.089] +0.121 [-0.058,+0.299] 0.006 ± 0.100
PCK@0.05 86.13 86.47 86.19 87.00 86.99 87.13 -0.88 [-1.30,-0.47] -0.51 [-0.96,-0.06] -0.93 [-1.38,-0.51] -0.77 ± 0.23
All h=1 40.39 39.75 40.03 35.08 35.03 35.07 +5.32 [+4.40,+6.32] +4.72 [+3.78,+5.68] +4.96 [+4.12,+5.82] 5.00 ± 0.30
All h=2 48.96 48.41 48.81 44.84 44.66 44.50 +4.12 [+2.91,+5.25] +3.76 [+2.66,+4.79] +4.31 [+3.32,+5.30] 4.06 ± 0.28
All h=3 56.12 55.52 56.27 52.24 52.04 51.87 +3.88 [+2.63,+5.10] +3.48 [+2.31,+4.64] +4.41 [+3.25,+5.56] 3.92 ± 0.46
All h=4 57.63 56.64 57.72 53.91 53.76 53.50 +3.72 [+2.34,+5.06] +2.88 [+1.67,+4.14] +4.22 [+2.97,+5.46] 3.61 ± 0.67
All h=5 60.68 59.77 60.82 57.77 57.81 57.38 +2.91 [+1.54,+4.29] +1.97 [+0.67,+3.24] +3.44 [+2.08,+4.80] 2.77 ± 0.75

3. Pre-registered reading and outcome

Pre-stated (decisions row, before any run; applied to the seed-mean test All-MPJPE of each arm separately): (i) 60–80 px → the published MotionBERT gap is explained by the output formulation; (ii) ≤ 52.89 px (published zero-velocity) → the formulation is NOT the explanation, the difference lies elsewhere and is reported as such; (iii) anything else (52.89–60 px or > 80 px) → the formulation accounts for part of / more than the gap; descriptive, no binary conclusion. Nothing is adopted from this table; the attribution wording of arch_attribution.md is untouched; any paper sentence derived from this table needs owner review.

  • MotionBERT architecture, ABSOLUTE formulation (motionbert_kp_abs) — seed-mean test All-MPJPE 50.28 ± 0.63 (n = 3/3) → (ii) EXPLANATION ELSEWHERE: seed-mean All 50.28 px is at or below the published zero-velocity 52.89: the output formulation is NOT what separates the published MotionBERT row from ours; the difference lies elsewhere (the paper's baseline pipeline / features / training details) and is reported as such. Δ to our residual re-instantiation of the same architecture: +1.83 px (seed means); Δ to the published MotionBERT row 73.51: -23.23 px; Δ to the published Driver-WM main 71.47: -21.19 px.
  • CockpitWM architecture, ABSOLUTE formulation (cwm3d_kp_abs) — seed-mean test All-MPJPE 52.50 ± 0.42 (n = 3/3) → (ii) EXPLANATION ELSEWHERE: seed-mean All 52.50 px is at or below the published zero-velocity 52.89: the output formulation is NOT what separates the published MotionBERT row from ours; the difference lies elsewhere (the paper's baseline pipeline / features / training details) and is reported as such. Δ to our residual re-instantiation of the same architecture: +3.90 px (seed means); Δ to the published MotionBERT row 73.51: -21.01 px; Δ to the published Driver-WM main 71.47: -18.97 px.

Outcome sentence. Both arms stay at or below the published zero-velocity: the output formulation is NOT what separates the published MotionBERT row from ours; the explanation lies elsewhere (the paper's baseline pipeline / features / training details) and is reported as such.

4. Runs, GPU minutes, pre-registration check

run formulation (run json config) t_start_utc after S0 2026-09-15T02:19:20Z? params GPU min
motionbert_kp_abs_s42_v2 abs 2026-09-15T02:28:54Z yes 813,088 4.54
motionbert_kp_abs_s123_v2 abs 2026-09-15T02:33:29Z yes 813,088 4.79
motionbert_kp_abs_s456_v2 abs 2026-09-15T02:38:20Z yes 813,088 4.25
cwm3d_kp_abs_s42_v2 abs 2026-09-15T02:28:19Z yes 5,771,449 3.35
cwm3d_kp_abs_s123_v2 abs 2026-09-15T02:31:43Z yes 5,771,449 3.84
cwm3d_kp_abs_s456_v2 abs 2026-09-15T02:35:37Z yes 5,771,449 4.14
total (new runs) 24.91

Provenance

  • New run dirs only: aide/results/runs/motionbert_kp_abs_s<k>_v2, aide/results/runs/cwm3d_kp_abs_s<k>_v2 (launcher aide/train/run_formulation_abs.sh, gate before every launch: free VRAM ≥ 3 + 4 GB, MemAvailable ≥ 28 GB, < 2 trainers alive on the host incl. the BATON CAN-arm trainers, OMP/MKL 4; pids in aide/results/formulation_abs/pids.txt). The comparison runs motionbert_kp_s*_v2, cwm3d_kp_s*_v2, zero_velocity are the existing ones (not retrained).
  • Code: --formulation {residual,abs} in aide/train/train_kp.py; heads.AbsoluteReadout, HorizonHead(zero_init=), CWM3D(formulation=), MotionBERTKP(formulation=). The default residual path is asserted byte-identical to the pre-change code by aide/tests/test_formulation_abs.py (fixture aide/tests/fixtures/formulation_abs_prechange.pt generated from the unmodified files before the edit).
  • Published numbers: aide/eval/paper_rows.py (typed verbatim from arXiv 2605.05092v2 Table 1; single-seed rows). No AIDE test clip entered any training or selection; every abs run was selected on val All-MPJPE only and its test split evaluated once.

Xet Storage Details

Size:
15.1 kB
·
Xet hash:
d0ee7d8a5e6f515e1724e1cfce132383905ea7038010637fa3cc0f1d327e6cda

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.