Video + Joints → Force

Does adding Franka joint angles to the V-JEPA video encoder improve contact-force prediction? · sinew-338 · 2026-06-29

Task: video + joints → force (contact / direction / magnitude), Franka-only, in-distribution and across an OOD ladder. The deployable model stays video-only at inference; joints are tested as an inference input and as a training-only signal. Full write-ups: docs/v2f_joints_litreview.md · docs/v2f_joints_design.md · docs/v2f_joints_iteration_log.md.

TL;DR

Setup

Frozen V-JEPA2 ViT-L feats (2 cams) cached once → tiny dilated-TCN 3-head studio (holds the vision regime fixed to isolate the joint contribution); confirmed at strong vision with an end-to-end unfreeze run. Joint repr: relative joint angles (q − q[clip-start]) + joint velocity, standardized by train stats, EE-frame labels. OOD ladder (all 7-DoF Franka): in-dist FMB → OOD-task-same-lab fmb_multi → OOD-lab+task crisp peg/ethernet → OOD-lab RH20T cfg5 (contact+mag only). Metric: contact-F1 (vs trivial all-positive) / direction-cosine (contact-masked).

Result 1 — controlled A/B (frozen vision) · contact-F1 / dir-cos

modelin-dist
triv .10
OOD task
fmb_multi
crisp peg
triv .76
crisp eth
triv .68
cfg5
triv .53
vision0.69 / +0.900.43 / +0.860.75 / −0.700.71 / −0.650.50
joints only0.64 / +0.880.32 / +0.850.57 / −0.690.39 / −0.560.16
vision + joints0.71 / +0.910.49 / +0.840.65 / −0.730.64 / −0.680.44
vision + joints + joint-dropout0.70 / +0.900.44 / +0.870.77 / −0.750.74 / −0.710.43

Cross-lab direction is negative for every model — the known frozen-encoder appearance ceiling, not a joint effect.

Result 2 — training-only joint↔video SSL (inference video-only) · contact-F1

alignmentin-distOOD taskcrisp pegcrisp ethcfg5
none (video adapter)0.690.450.400.470.53
joint-aligned0.700.430.640.690.30

Mixed: helps crisp contact, hurts cfg5, in-distribution neutral — the same "SSL pays only under a severe gap" pattern seen project-wide.

Result 3 — end-to-end unfreeze confirm (strong vision, in-dist FMB)

modelcontact-F1dir-cosMAE (N)
vision (unfrozen)0.6050.8191.30
vision + joints (unfrozen)0.6140.8591.21

Matched epoch (ep5/8, last-8-block LP-FT, both still climbing). The in-distribution joint benefit persists with a strong unfrozen encoder — small on contact (+0.01), clearer on direction (+0.04) and magnitude (−0.09 N) — consistent with the frozen A/B. Strong vision does not make joints redundant in-distribution, but (per the frozen A/B) the cross-lab shortcut liability remains.

Verdict

Video stays the force source. Joints are a double-edged contact-phase context: a small in-distribution / same-lab gain, a cross-lab liability unless joint-dropout is applied, and no standalone generalization power. The result cleanly matches the proprioception-shortcut literature (FACTR2 / momentum observers: force lives in torque, not angles; angles are autocorrelated with contact phase). For a cross-lab deployable model, video-only with optional joint-dropout-regularized fusion is the safe design.