CoRL 2026 · Appendix

Supplementary Material
Mask2Real-WM

Extended results, ablations, failure analyses, and implementation details accompanying the main paper.

ETH Zürich Soft Robotics Lab

A Baseline Comparison & the Effect of Simulation Midtraining

What does large-scale simulation midtraining of WM₁ contribute to the full system?

We compare four regimes that all share the same WM₂ renderer: the single-stage baseline (Ctrl-World, fine-tuned end-to-end on real RGB), and three two-stage models whose WM₁ is trained on (i) real data only, (ii) simulation only (midtraining), and (iii) simulation midtraining then real LoRA fine-tuning (sim+real, ours).

Appearance metrics alone are misleading

Baseline vs two-stage appearance metrics
Baseline vs. the three two-stage variants, per split and metric. Per-sample-view PSNR, SSIM and LPIPS on the ID and three OOD splits, each split by camera view. The baseline looks competitive on raw pixel metrics despite producing blurrier video — per-pixel metrics reward temporally averaged frames.

Sharpness exposes the blur

Laplacian variance sharpness per split
Predicted-video sharpness (Laplacian variance ↑) per split. Black ticks mark the ground-truth level. The baseline is consistently the least sharp model, while all two-stage models track ground-truth sharpness closely.
LPIPS vs sharpness
Pixel quality vs. sharpness. The baseline attains good (low) LPIPS yet the lowest sharpness — good pixel scores can coincide with blurry output.

Mask-space quality reveals the generalization benefit

WM₁ segmentation-space quality (both views pooled). Best per split in bold.
SplitWM₁ regimePSNR ↑LPIPS ↓
IDWM1 real only22.000.119
WM1 sim only19.030.229
WM1 sim+real (ours)20.720.158
OODWM1 real only20.480.147
WM1 sim only20.330.184
WM1 sim+real (ours)21.740.122

Real-only training fits the ID distribution best, but simulation midtraining followed by fine-tuning generalizes best under distribution shift (OOD PSNR 21.7 vs. 20.5), because the synthetic corpus covers contact-rich motions absent from the small real dataset. Long-horizon rollout strips comparing ours vs. the baseline are shown on the main page.

B Per-Component Action Controllability

Does the model respond to each action dimension independently?

We drive a single action dimension at a time with a sinusoid (holding the others fixed) and roll the model out for all 23 dimensions: the 6-DoF end-effector pose (dims 0–5: x, y, z, roll, pitch, yaw) and the 17 ORCA hand joints (dims 6–22). The model produces a coherent, dimension-specific response across the entire action space.

Per-component action controllability
Per-component action controllability (generated). For each of the 23 action dimensions, a sinusoid is applied to that dimension alone; each clip is 50 frames generated autoregressively (5 per step), frames 0/5/10 shown. Most dimensions in third-person view; thumb joints and the mcp/pip joints of the middle, ring and pinky fingers in wrist view to better show finger motion.

C WM₂ Conditioning Ablation

Ablating WM₂'s two conditioning signals: the ControlNet mask branch and the frame-wise action cross-attention.

Standard pixel metrics (PSNR, SSIM, LPIPS) reward predictions that minimise per-pixel error, biasing them towards blurry, temporally averaged outputs. The actions-only variant therefore appears competitive on these metrics while producing visibly degraded video.

WM2 ablation frame sharpness
Frame sharpness across conditioning variants. Laplacian variance ↑ for each of the 50 generated ID frames; dashed line is ground-truth sharpness. The actions-only variant collapses to blurry, low-variance outputs (0.80× GT), while masks-only and masks+actions both recover ≈0.97× GT sharpness.

Masks only (no action conditioning) is the primary driver of spatial sharpness and additionally enables zero-shot deployment decoupled from the robot's action space. Masks + actions (ours) yields the best ID pixel metrics and competitive OOD performance while keeping the sharpness gains. The LPIPS summary appears on the main page.

D Error Accumulation in Autoregressive Rollouts

In autoregressive rollout each predicted frame conditions the next, so small mistakes compound — and WM₁ mask errors propagate into WM₂.

Error accumulation over rollout
Error accumulation over the rollout. Mean per-frame LPIPS on ID (left) and OOD No-Object (right) for the four WM₁ regimes. Error grows fastest over the first ≈10 steps and then plateaus. On OOD all curves rise more steeply; the baseline retains the lowest LPIPS here, again reflecting the blurry-prediction bias rather than better video quality.

E Failure Mode Examples

The current bottleneck is WM₁'s object-state prediction: it reliably captures hand dynamics but is less certain about the object.

Failure: object vanishing
Object vanishing under occlusion. Third-person frames from a 149-frame rollout. The cube is present early (t=0,30), disappears while the hand occludes it (t=59–118), and reappears once the occlusion clears (t=148).
Failure: object duplication
Object duplication / spawning. WM₁ predicts an incorrect object state — a second cube appears (t=99) and the object is re-spawned at a shifted location. Both failures originate in WM₁'s dynamics, not WM₂'s rendering: with ground-truth masks WM₂ renders the object correctly (see G).

F Generalization to Objects Unseen in Real Data

The real demos are almost exclusively red-cube manipulation. We evaluate the full pipeline zero-shot on a banana, cup and cylinder — objects WM₁ has seen in simulation but that WM₂ (real-only) has never rendered.

Because WM₁ operates in segmentation space and is largely agnostic to appearance, the dynamics model transfers directly; only WM₂ must render the new appearance.

Generalization to unseen objects. No fine-tuning performed; both views pooled, n=300 sample-views per object.
ObjectModelPSNR ↑SSIM ↑LPIPS ↓
BananaBaseline (Ctrl-World)19.400.6130.202
Mask2Real-WM (appearance)17.300.5640.238
Mask2Real-WM (WM₁ seg)19.760.8600.201
CupBaseline (Ctrl-World)19.010.6180.200
Mask2Real-WM (appearance)16.650.5810.224
Mask2Real-WM (WM₁ seg)19.480.8670.180
CylinderBaseline (Ctrl-World)19.060.6160.194
Mask2Real-WM (appearance)16.920.5790.221
Mask2Real-WM (WM₁ seg)19.800.8660.190

The baseline scores higher on per-pixel appearance metrics owing to the blurry-prediction bias, but WM₁ maintains high segmentation-space fidelity (SSIM ≈ 0.86) on these objects — the factorization transfers without retraining the dynamics model; only WM₂ would need updating to match new textures. Qualitative rollouts for each object (ours vs. baseline) are on the main page.

G WM₂ Conditioned on Ground-Truth Masks

Is WM₁'s mask prediction quality the primary bottleneck? We feed WM₂ oracle SAM 3 masks instead of WM₁'s predictions.

WM2 on ground-truth vs predicted masks
WM₂ on ground-truth vs. predicted masks (ID split). The oracle reaches 26.8 PSNR / 0.85 SSIM / 0.044 LPIPS, far above the full pipeline (20.1 / 0.70 / 0.150) and the baseline (20.8 / 0.70 / 0.139). The gap to the full pipeline is therefore attributable to WM₁'s mask errors, not WM₂'s rendering capacity (n=150).

H CNN Mask Encoder vs. VAE Encoder for ControlNet

Why a dedicated CNN encoder rather than the SVD VAE encoder to condition ControlNet?

We measure a boundary-response score — the ratio of feature-gradient magnitude at segmentation-class boundaries to that in flat interiors (>1 means boundary-selective features). Across 128 frames the CNN attains 4.41 ± 0.74 vs. 2.98 ± 0.43 for the VAE — class boundaries encoded ≈48% more strongly, on every frame.

Boundary response: CNN vs VAE
Per-frame boundary-response score (CNN adapter vs. VAE encoder) and its mean ± std.
PCA of conditioning features
PCA of the conditioning features (input mask, CNN, VAE, boundary mask). CNN features preserve sharp class boundaries; the VAE — trained to reconstruct natural RGB, not flat categorical masks — smears across them.

I Dataset Statistics

A large, contact-focused simulation corpus paired with a small real dataset.

The simulation corpus contains 13,950 episodes totalling 53.7 h at 5 fps across five objects (banana, cup, cylinder, dice, torus). Episodes are short and contact-focused (mean 13.9 s). The real dataset comprises 218 episodes totalling 2.5 h, with bimodal lengths: 198 short manipulation rollouts (0.71 h) and 20 long free-play sequences (1.80 h), predominantly red-cube grasping.

Composition of the simulation dataset by motion generator.
Motion generatorEpisodes
MimicGen, clean (no noise)5,000
MimicGen, noisy (per-subtask sine noise)5,000
Random-motion (exploratory)3,700
Teleoperated demonstrations250
Total13,950
Episode length distributions
Episode-length distributions for the simulation and real datasets.

J Implementation Details

Real-world rig. A 7-DoF Franka Emika Panda arm with the 17-DoF ORCA hand (23 actuated DoF) inside a fixed arena, observed by a static third-person camera and a wrist-mounted camera (two Luxonis OAK-D RGB cameras). The setup figure is on the main page.

Simulation assets. Default Franka Panda URDF and the ORCA hand USD; the arena is reconstructed from physical measurements. No material, lighting or texture tuning is applied.

System identification. To reduce the kinematic gap between the simulated and physical ORCA hand, per-joint PD gains and friction coefficients are optimized with CMA-ES (following Bjelonic et al. 2025) to minimise tracking error under a chirp command. After calibration the simulated trajectory closely follows the measured one across the full frequency sweep — sufficient for the joint-angle-driven segmentation representation to stay accurate.

SAM 3 prompt engineering

For the third-person view, the prompts "hand" and the object name (e.g. "red cube") are used. For the wrist view, a short initialization clip is prepended in which the hand moves clearly into frame; the bounding box from this clip seeds SAM 3's tracker for the rest of the sequence.

Wrist-view SAM 3 initialization clip
Wrist-view SAM 3 initialization clip. Frames (left to right) in which the hand moves into the wrist camera's field of view; the hand bounding box from this clip seeds the tracker for the rest of the sequence.

CNN mask encoder. Three convolutional blocks (Conv2d + GroupNorm + SiLU) with strided downsampling, a transposed convolution to restore resolution, and a final 1×1 convolution to match the ControlNet feature dimension. Operating on decoded pixel-space masks rather than VAE latents is key — see H.

K Hyperparameters

Training hyperparameters for WM₁ and WM₂.
HyperparameterWM₁WM₂
Training steps (sim)55,000
Training steps (real / total)45,00070,000
Learning rate10⁻⁴ / 5×10⁻⁶10⁻⁴
LR schedulerCosineCosine
Warm-up steps3,000 / 5003,000
LR cycles0.50.5
Batch size6472
GPU1× H2008× H100
Mixed precisionBF16FP16
LoRA rank / α16 / 16 (real FT)16 / 16
Cond. dropout (mask only)10%10%
Cond. dropout (action only)10%10%
Cond. dropout (both)5%5%

L Future Work & Policy Rollouts in Imagination

Scaling the data generator, conditioning on camera intrinsics/extrinsics, multi-object segmentation vocabularies, and distilling both stages into few-step samplers for near-real-time rollouts.

We roll out three policies trained on the real robot — a flow-matching policy, a diffusion policy, and an ACT policy (all trained on red-cube grasps and placements onto the red ramp) — inside both Mask2Real-WM and the baseline world model. Using Mask2Real-WM as a policy evaluator — scoring candidate policies by their predicted outcomes in imagination — is a natural extension we leave to future work.

Flow-matching policy rollout
Flow-matching policy — ours (top) vs. baseline (bottom).
Diffusion policy rollout
Diffusion policy — ours (top) vs. baseline (bottom).
ACT policy rollout
ACT policy — ours (top) vs. baseline (bottom).

Each: 100-frame rollout (5 frames predicted per step), 4 frames shown ≈33 apart; both views, lower half generated.

← Back to the main page