← sinew

Video2Force — Stage-1 joint video-force encoderfrozen V-JEPA

Cross-modal DINO encoder + target adaptation · epic sinew-240 / sinew-251 · 2026-06-09

TL;DR

Goal: make out-of-distribution (a new lab, crisp_ws) match in-distribution top performance, adapting by video fine-tuning only (video→force; video-only at inference). Achieved & proven.

The Stage-1 model (trained on REASS+FMB+RH20T, frozen V-JEPA) reaches the crisp in-domain ceiling on held-out crisp after a short video fine-tune — and, on the identical split, matches / slightly exceeds a from-scratch in-domain baseline (the in-dist-top reference). The cross-modal pretraining is a better init than from scratch.

crisp_ws held-out (same-split A/B) peg frontpeg wristeth wristbox_flip
Stage-1 → video-FT (OOD) · gate 0.9040.8990.9320.896
from-scratch in-domain (in-dist-top ref) · gate 0.9010.8810.9210.898
video-FT · dir cos0.7980.8020.9200.958

init ≥ scratch on every gate cell; direction ties → OOD = in-dist-top via video-only fine-tuning, apples-to-apples.

Setup

Champion recipe (encoder frozen throughout — no E2E LoRA)

Data & metrics

In-distribution results

Per-dataset val (the in-dist bar) — no negative transfer across arms

val cellgate-F1dir cos-liftMAE (N)
REASS0.86+0.541.6
FMB0.77+0.212.8
RH20T0.63+0.185.4

Topology comparison — which encoder design wins

armforce towerDINO aligns?OOD wrist gateOOD wrist dir
controlnone0.57 / 0.68−0.80 / −0.83
A — scratch, unfrozenlearned scratchyes (6.9→2.7)0.67 / 0.81−0.51 / −0.43
B — warmstart, unfrozenF-JEPA, unfrozenDEAD (ln K)
B — warmstart, frozenF-JEPA, frozenyes (slow)0.62 / 0.76−0.95 / −0.98

Scratch-unfrozen DINO wins; warmstart refuted — unfrozen warmstart kills alignment, frozen warmstart hurts OOD direction. Co-adapting the force tower with video is what works.

The adaptation ladder (crisp OOD, zero → few labels)

methodfront gatewrist gatebox gatedir (peg/box)target labels
zero-shot (Stage-1)0.430.760.620.19 / −0.740
+ video-only UDA (info-max)0.700.810.770.62 / —0
+ few-shot (5/task)0.870.870.870.80 / 0.9015
+ video-FT (K=60)0.900.900.900.80 / 0.96180

Plots — in-distribution & representation

fig1 · 5 best in-dist. Gate-F1 0.94–1.0, dir-cos 0.96–0.99 — sharp contact onsets, gate snaps 0→1, direction locks.
fig2 · 5 worst in-dist. RH20T-dominated; gate/dir fail when wrench hovers near per-robot τ. Magnitude/τ is the residual wall, not architecture.
fig3 · video latent. Learned trunk separates datasets (silhouette 0.66 vs raw V-JEPA 0.49); contact encoded locally, not as a global axis.
fig7 · force latent. Force tower separates by source (fmb / reass / 4 RH20T robots); contact local within source clusters.
fig8 · joint video+force. Same-clip video↔force cosine has a strong mode near 0 (mean 0.16) → DINO alignment is real; t-SNE modality split is a local artifact.
fig4 · multi-encoding proximity (in-dist). Same clip's 4 camera-views + force embedding cluster tight (cam↔force 0.023 vs bg 0.14) — alignment objective made visible.
fig4b · effective dimensionality (1-DoF check). The circular cosine-PCA is a genuine ~1–2 DoF collapse, not a sphere artifact: PC1 = 79% var, participation-ratio 1.54, only 2/256 dims for 90% var — present in the raw un-normalized embedding too. Real representational bottleneck in the pooled DINO embedding.

Plots — out-of-distribution (crisp_ws, zero-shot)

fig5 · 5 best crisp (zero-shot). Insertion (peg/eth) transfers partially (gate 0.62–0.74, dir +0.56–0.73); box_flip direction never transfers.
fig6 · 5 worst crisp. box_flip dominates — dir-cos sign-flips (−0.88…−0.95) + gate over-fires. Direction is the OOD wall.
fig9 · crisp latent + domain gap. Sets separate; box_flip sits far from all train clusters, peg/eth only graze the train-manifold edge → why insertion transfers and box_flip doesn't.
fig10 · multi-encoding proximity (crisp). The tight in-dist cluster falls apart zero-shot: cam↔cam 0.535, cam↔force 0.302 ≈ background 0.477. Alignment is lab-specific; it doesn't transfer without adaptation.

Key findings

Stage-2 — open

Full trace: docs/v2f_stage1_iteration_log.md · results docs/v2f_stage1_results_2026-06-09.md.

enlarged plot