layergen-viewer / experiments.json
cs-mshah's picture
LayerGen eval viewer: dashboard + metrics table + per-eval viewer + compare
0abac3f verified
Raw History Blame Contribute Delete
70.9 kB
{
"updated": "2026-08-18",
"wandb_base": "https://adobesensei.wandb.io/manans/layer_decomp/runs",
"clio_base": null,
"note": "Master index of layer-decomp experiments. Eval outputs now live under each run's evals/<checkpoint>/<set>/ (sibling of checkpoints/); shared GT inputs stay at results/data/evals/. New runs launch under experiments/layer_decomp/<name>/<wandb_id>/ via launch_experiment.sh.",
"experiments": [
{
"name": "decompose_41f_v2_maskaug50_gbs32_8n",
"task": "decompose",
"mesh": "8-node B200 \u00b7 gbs32",
"attn": "full",
"wandb_id": "hxsto93m",
"status": "running",
"location": "experiments/layer_decomp/decompose_41f_v2_maskaug50_gbs32_8n_b200/hxsto93m/",
"checkpoints": [
"3600"
],
"note": "mask-aug 50%; caption-conditioned eval (v2 seed-42 task-prompt paraphrase + scene caption)",
"evals": [
{
"checkpoint": "3600",
"name": "in-house 150 (kubric/bedlam/missions/peeloff/effecterase) + RORD50(50)+PROVE-M(80)+PROVE-H(100)+VOR-Eval(43)+VOR-Wild(195) \u00b7 618 clips \u00b7 pick split in-viewer \u00b7 caption-conditioned",
"count": 618,
"url": "viewer.html?eval=experiments/layer_decomp/decompose_41f_v2_maskaug50_gbs32_8n_b200/hxsto93m/evals/checkpoint-3600-capv2",
"path": "experiments/layer_decomp/decompose_41f_v2_maskaug50_gbs32_8n_b200/hxsto93m/evals/checkpoint-3600-capv2"
},
{
"checkpoint": "3600",
"count": 76,
"name": "PVIX (Physics-aware Video Instance Removal, CVPR'26 VGBE Challenge; 76 clips, NO clean-plate GT) \u00b7 object-removal \u00b7 native/first-41f \u00b7 reference-free RC-S/RC-T (DINOv2-giant) on the removal result (bg_pred) + object mask.",
"url": "viewer.html?eval=experiments/layer_decomp/decompose_41f_v2_maskaug50_gbs32_8n_b200/hxsto93m/evals/checkpoint-3600-pvix",
"path": "experiments/layer_decomp/decompose_41f_v2_maskaug50_gbs32_8n_b200/hxsto93m/evals/checkpoint-3600-pvix"
}
],
"date": "2026-07-20",
"detail": "Decompose 41f, 8-node gbs32, with MASK-AUGMENTATION p=0.50 (size-adaptive SDF corrupt masks). Change vs earlier decompose: adds mask degradation so the model is robust to imperfect input masks (motivated by the mask-degradation A/B: fg/extraction was mask-shape sensitive). Dataset: v2 200k. Captions = v2 per-clip VLLM descriptions (composite/fg/bg). \u21b3 change vs v1: real per-clip content instead of a generic task prompt.",
"caption": "v2"
},
{
"name": "decompose_61f_v2",
"task": "decompose",
"mesh": "sp2\u00d7shard8\u00d7rep4 (64\u00d7H200)",
"attn": "full",
"wandb_id": "zunrg0tq",
"status": "running",
"location": "results/layer_decomp/runs/decompose_61f_v2/",
"checkpoints": [
"500",
"1000"
],
"note": "PROD 61f/16-latent, 8 nodes \u00d7 8 H200, latents_v2. Diverged ~step 1200; milestone ckpt-1000 is the eval reference (best-val ckpt-600 was pruned \u2014 fixed by the best-ckpt resume bug fix 46242aa8).",
"evals": [
{
"checkpoint": "1000",
"name": "monitor64(216)+RORD50(50)+PROVE-M(80)+PROVE-H(100)+VOR-Eval(43)+VOR-Wild(195) \u00b7 684 clips \u00b7 pick set in-viewer",
"count": 684,
"url": "viewer.html?eval=results/layer_decomp/runs/decompose_61f_v2/evals/checkpoint-1000",
"path": "results/layer_decomp/runs/decompose_61f_v2/evals/checkpoint-1000"
}
],
"date": "2026-07-09",
"detail": "Decompose at 61 frames (longer temporal window than 41f) on v2 data \u2014 tests length scaling of the decompose task. Captions = v1 task-prompts: a fixed set of generic per-task prompts (NOT per-clip content).",
"caption": "v1-prompts"
},
{
"name": "harmonize_61f_v2",
"task": "harmonize",
"mesh": "sp2\u00d7shard8\u00d7rep4 (64\u00d7H200)",
"attn": "full",
"wandb_id": "6llfcaby",
"status": "running",
"location": "results/layer_decomp/runs/harmonize_61f_v2/",
"checkpoints": [
"1000"
],
"note": "PROD 61f harmonize (denoise the composite conditioned on clean fg/bg/mask), 8 nodes \u00d7 8 H200, latents_v2. ckpt-1000 (val_loss_total ~0.0099).",
"evals": [
{
"checkpoint": "1000",
"name": "monitor64(216)+RORD50(50)+PROVE-M(80)+VOR-Eval(43)+harmonize-hard-v1(75) \u00b7 combined dropdown (hard-v1 = no-GT, model vs naive RGB paste)",
"count": 464,
"url": "viewer.html?eval=results/layer_decomp/runs/harmonize_61f_v2/evals/checkpoint-1000",
"path": "results/layer_decomp/runs/harmonize_61f_v2/evals/checkpoint-1000"
}
],
"date": "2026-07-09",
"detail": "First HARMONIZE-task run: denoise the composite given clean fg + bg + mask conditions, at 61 frames on v2 data. Establishes the harmonize training path (same generic method, data.task=harmonize). Captions = v1 task-prompts: a fixed set of generic per-task prompts (NOT per-clip content).",
"caption": "v1-prompts"
},
{
"name": "overfit_missions100_41f_fullattn",
"task": "decompose",
"mesh": "sp1\u00d7shard8",
"attn": "full",
"wandb_id": "42c8p0hm",
"status": "done",
"location": "results/layer_decomp/runs/overfit_missions100_41f_fullattn/",
"checkpoints": [
"250",
"500"
],
"note": "100-clip missions overfit; ckpt-500 is the current eval reference.",
"evals": [
{
"checkpoint": "500",
"name": "val40+RORD50+PROVE-M+PROVE-H+train100(self-recon) \u00b7 370 clips \u00b7 pick subset in-viewer",
"count": 370,
"url": "viewer.html?eval=results/layer_decomp/runs/overfit_missions100_41f_fullattn/evals/checkpoint-500",
"path": "results/layer_decomp/runs/overfit_missions100_41f_fullattn/evals/checkpoint-500"
}
],
"date": "2026-07-08",
"detail": "First end-to-end bring-up of the 14B layer-decomp modular trainer on the DECOMPOSE task. Overfits 100 missions clips (41f, full attention, 1 node) to prove the train\u2192val\u2192infer path works before scaling. Dataset: 100-clip missions subset. Baseline for the trainer itself. Captions = v1 task-prompts: a fixed set of generic per-task prompts (NOT per-clip content).",
"caption": "v1-prompts"
},
{
"name": "vsa_exp_decompose_41f_vsa09_1n_v2",
"task": "decompose",
"mesh": "sp2\u00d7shard4",
"attn": "VSA(0.9)",
"wandb_id": "4tmi788t",
"status": "done",
"location": "results/layer_decomp/runs/vsa_exp_decompose_41f_vsa09_1n_v2/",
"checkpoints": [
"1000",
"1400",
"1800",
"2000"
],
"note": "done (f3ca2a79) \u00b7 VSA A/B arm B \u00b7 v2 latents. A/B partner of the full-attn arm.",
"evals": [
{
"checkpoint": "1000",
"name": "val40 \u00b7 FULL-attn A/B (vs VSA previews) \u00b7 total_mse 1.86",
"count": 40,
"url": "viewer.html?eval=results/layer_decomp/runs/vsa_exp_decompose_41f_vsa09_1n_v2/evals/checkpoint-1000/val40_fullattn",
"path": "results/layer_decomp/runs/vsa_exp_decompose_41f_vsa09_1n_v2/evals/checkpoint-1000/val40_fullattn"
},
{
"checkpoint": "2000",
"name": "monitor64(216)+RORD50+PROVE-M+PROVE-H \u00b7 VSA(0.9) SPARSE \u00b7 monitor64 mse 0.685",
"count": 446,
"url": "viewer.html?eval=results/layer_decomp/runs/vsa_exp_decompose_41f_vsa09_1n_v2/evals/checkpoint-2000",
"path": "results/layer_decomp/runs/vsa_exp_decompose_41f_vsa09_1n_v2/evals/checkpoint-2000"
}
],
"date": "2026-07-08",
"detail": "VSA(0.9) arm of the attention A/B \u2014 Video Sparse Attention at 0.9 sparsity. Change vs control: VSA backend replaces full attention. Outcome: quality parity with the full-attn control at lower attention cost (VSA arm succeeded). Dataset: v2 200k decompose. Captions = v1 task-prompts: a fixed set of generic per-task prompts (NOT per-clip content).",
"caption": "v1-prompts"
},
{
"name": "vsa_exp_decompose_41f_fullattn_1n_v2",
"task": "decompose",
"mesh": "sp2\u00d7shard4",
"attn": "full",
"wandb_id": "wunqsuz8",
"status": "done",
"location": "results/layer_decomp/runs/vsa_exp_decompose_41f_fullattn_1n_v2/",
"checkpoints": [
"200",
"1000",
"1600",
"2000"
],
"note": "done (dad85fff) \u00b7 VSA A/B arm A (full-attn baseline) \u00b7 v2 latents.",
"evals": [
{
"checkpoint": "1000",
"name": "monitor64(216)+RORD50+PROVE-M+PROVE-H \u00b7 FULL attn \u00b7 446 clips (202 w/ MSE) \u00b7 A/B: full 0.229 < VSA@2000 0.464 on 67 common monitor64",
"count": 446,
"url": "viewer.html?eval=results/layer_decomp/runs/vsa_exp_decompose_41f_fullattn_1n_v2/evals/checkpoint-1000",
"path": "results/layer_decomp/runs/vsa_exp_decompose_41f_fullattn_1n_v2/evals/checkpoint-1000"
},
{
"checkpoint": "2000",
"name": "monitor64+RORD50+PROVE-M+PROVE-H+VOR \u00b7 full attn \u00b7 684 clips \u00b7 pick subset in-viewer",
"count": 684,
"url": "viewer.html?eval=results/layer_decomp/runs/vsa_exp_decompose_41f_fullattn_1n_v2/evals/checkpoint-2000",
"path": "results/layer_decomp/runs/vsa_exp_decompose_41f_fullattn_1n_v2/evals/checkpoint-2000"
}
],
"date": "2026-07-08",
"detail": "Control arm of the Video-Sparse-Attention A/B: decompose 41f, FULL attention, 1 node, v2 data. Paired against the VSA(0.9) arm to check quality vs speed. Dataset: v2 200k decompose. Captions = v1 task-prompts: a fixed set of generic per-task prompts (NOT per-clip content).",
"caption": "v1-prompts"
},
{
"name": "overfit_missions100_41f_sp2",
"task": "decompose",
"mesh": "sp2\u00d7shard4 (DP4)",
"attn": "full",
"wandb_id": "vo634yj1",
"status": "done",
"location": "results/layer_decomp/runs/overfit_missions100_41f_sp2/",
"checkpoints": [
"250",
"500"
],
"note": "SP=2 validation of the SP-DCP fix (sp1 partner: overfit_missions100_41f_fullattn). ckpt-500 eval ON-PAR with sp1: val40 total_mse 0.085 vs sp1 0.074 \u2192 SP=2 train + cross-mesh reload \u2248 sp1.",
"evals": [
{
"checkpoint": "500",
"name": "val40 + RORD50 + PROVE-M + PROVE-H (dropdown) \u00b7 4-node \u00b7 val40 mse 0.085 (\u2248 sp1 0.074)",
"count": 270,
"url": "viewer.html?eval=results/layer_decomp/runs/overfit_missions100_41f_sp2/evals/checkpoint-500",
"path": "results/layer_decomp/runs/overfit_missions100_41f_sp2/evals/checkpoint-500"
}
],
"date": "2026-07-08",
"detail": "Same overfit-100 decompose bring-up but with sequence-parallel sp2 \u2014 validates SP fits 41f on a single node. Change vs fullattn overfit: sp2 sharding instead of full replication. Dataset: 100-clip missions. Captions = v1 task-prompts: a fixed set of generic per-task prompts (NOT per-clip content).",
"caption": "v1-prompts"
},
{
"name": "SVOR",
"task": "decompose",
"baseline": true,
"attn": null,
"mesh": "Wan2.1-VACE-1.3B + 2 LoRAs \u00b7 1-GPU H200",
"wandb_id": null,
"status": "baseline",
"note": "External baseline \u2014 SVOR (Stable Video Object Removal, arXiv 2603.09283). Wan2.1-VACE-1.3B + 2 LoRAs, run at native settings (aspect-preserving ~720x1280, 81 frames). github.com/xiaomi-research/svor.",
"checkpoints": [
"pretrained"
],
"evals": [
{
"checkpoint": "pretrained",
"count": 1404,
"name": "RORD50+PROVE-M+PROVE-H+VOR-Eval+VOR-Wild x {41f,61f,81f} - object-removal baseline. Native run at 81f (SVOR ~720x1280, EffectErase 480x832); the 41f/61f rows re-score that same run on the first-41/61-frame windows to match the model's frame counts (base card=41f, plus (61f)/(81f)).",
"url": "viewer.html?eval=experiments/layer_decomp/baselines/svor/evals/all",
"path": "experiments/layer_decomp/baselines/svor/evals/all"
},
{
"checkpoint": "pretrained",
"name": "PROVE-M mask-corrupt (moderate SDF \u00b7 81f) \u00b7 input mask corrupted, bg scored vs pristine clean-plate \u00b7 robustness probe",
"count": 80,
"url": "viewer.html?eval=experiments/layer_decomp/baselines/svor/evals/PROVE-M-mc",
"path": "experiments/layer_decomp/baselines/svor/evals/PROVE-M-mc"
},
{
"checkpoint": "pretrained",
"count": 76,
"name": "PVIX (Physics-aware Video Instance Removal, CVPR'26 VGBE Challenge; 76 clips, NO clean-plate GT) \u00b7 object-removal \u00b7 native/first-41f \u00b7 reference-free RC-S/RC-T (DINOv2-giant) on the removal result (bg_pred) + object mask.",
"url": "viewer.html?eval=experiments/layer_decomp/baselines/svor/evals/PVIX",
"path": "experiments/layer_decomp/baselines/svor/evals/PVIX"
}
],
"date": "2026-07-31",
"detail": "External object-removal baseline (SVOR paper) on the shared RORD50/PROVE removal sets; scored RC-S/RC-T + m/bg-PSNR.",
"caption": "\u2014"
},
{
"name": "EffectErase",
"task": "decompose",
"baseline": true,
"attn": null,
"mesh": "Wan2.1-Fun-1.3B-InP + ckpt \u00b7 1-GPU H200",
"wandb_id": null,
"status": "baseline",
"note": "External baseline \u2014 EffectErase (CVPR 2026, arXiv 2603.19224, CC-BY-NC). Wan2.1-Fun-1.3B-InP + EffectErase.ckpt, native stretch 480x832 / 81f. Skips clips with no object in frame-0 or <81 frames -> n<full on RORD50/PROVE-M/PROVE-H. github.com/FudanCVL/EffectErase.",
"checkpoints": [
"pretrained"
],
"evals": [
{
"checkpoint": "pretrained",
"count": 1311,
"name": "RORD50+PROVE-M+PROVE-H+VOR-Eval+VOR-Wild x {41f,61f,81f} - object-removal baseline. Native run at 81f (SVOR ~720x1280, EffectErase 480x832); the 41f/61f rows re-score that same run on the first-41/61-frame windows to match the model's frame counts (base card=41f, plus (61f)/(81f)).",
"url": "viewer.html?eval=experiments/layer_decomp/baselines/effecterase/evals/all",
"path": "experiments/layer_decomp/baselines/effecterase/evals/all"
},
{
"checkpoint": "pretrained",
"name": "PROVE-M mask-corrupt (moderate SDF \u00b7 81f) \u00b7 input mask corrupted, bg scored vs pristine clean-plate \u00b7 robustness probe",
"count": 60,
"url": "viewer.html?eval=experiments/layer_decomp/baselines/effecterase/evals/PROVE-M-mc",
"path": "experiments/layer_decomp/baselines/effecterase/evals/PROVE-M-mc"
},
{
"checkpoint": "pretrained",
"count": 71,
"name": "PVIX (Physics-aware Video Instance Removal, CVPR'26 VGBE Challenge; 76 clips, NO clean-plate GT) \u00b7 object-removal \u00b7 native/first-41f \u00b7 reference-free RC-S/RC-T (DINOv2-giant) on the removal result (bg_pred) + object mask.",
"url": "viewer.html?eval=experiments/layer_decomp/baselines/effecterase/evals/PVIX",
"path": "experiments/layer_decomp/baselines/effecterase/evals/PVIX"
}
],
"date": "2026-07-31",
"detail": "External object-removal / effect-erasure baseline (FudanCVL EffectErase); shared removal eval sets.",
"caption": "\u2014"
},
{
"name": "naive-paste (harmonize)",
"task": "harmonize",
"attn": "\u2014",
"wandb_id": "",
"status": "done",
"baseline": true,
"location": "experiments/layer_decomp/baselines/naive_paste_harmonize/",
"note": "Naive copy-paste reference (fg\u00b7mask + bg\u00b7(1-mask), no harmonization) \u2014 the floor harmonize must beat.",
"evals": [
{
"checkpoint": "paste",
"name": "monitor64+RORD50+PROVE-M+VOR-Eval \u00b7 composite vs GT \u00b7 naive paste",
"count": 389,
"url": "viewer.html?eval=experiments/layer_decomp/baselines/naive_paste_harmonize/evals/all",
"path": "experiments/layer_decomp/baselines/naive_paste_harmonize/evals/all"
}
],
"date": "2026-07-15",
"detail": "Reference: naive alpha-over paste of fg on bg (no harmonization) \u2014 the composite-to-beat for the harmonize task.",
"caption": "\u2014"
},
{
"name": "decompose_41f_editcap_gbs32_4n_b200",
"task": "decompose",
"mesh": "4-node B200 \u00b7 gbs32",
"attn": "full",
"wandb_id": "d475615e1",
"status": "done",
"location": "experiments/layer_decomp/decompose_41f_editcap_gbs32_4n_b200/d475615e1/",
"checkpoints": [
"3900"
],
"note": "edit-caption (editcap2) recaption + optional-mask arch; caption-conditioned eval, seed 0, plain (no CFG); best-by-val-perceptual ck3900 ; editcap redo (video-grounded edit instructions) + internal 150",
"evals": [
{
"checkpoint": "3900 (v1 captions)",
"name": "v1 captions (Gemini scene) \u00b7 external object-removal 468 \u00b7 RORD50/PROVE-M/PROVE-H/VOR-Eval/VOR-Wild",
"count": 468,
"url": "viewer.html?eval=experiments/layer_decomp/decompose_41f_editcap_gbs32_4n_b200/d475615e1/evals/checkpoint-3900",
"path": "experiments/layer_decomp/decompose_41f_editcap_gbs32_4n_b200/d475615e1/evals/checkpoint-3900"
},
{
"checkpoint": "3900",
"name": "editcap (video-grounded edit instructions) \u00b7 678 \u00b7 external 6 sets (incl ROSE-Bench) + internal kubric/bedlam/missions/peeloff/effecterase",
"count": 678,
"url": "viewer.html?eval=experiments/layer_decomp/decompose_41f_editcap_gbs32_4n_b200/d475615e1/evals/checkpoint-3900-editcap",
"path": "experiments/layer_decomp/decompose_41f_editcap_gbs32_4n_b200/d475615e1/evals/checkpoint-3900-editcap"
},
{
"checkpoint": "3900",
"count": 76,
"name": "PVIX (Physics-aware Video Instance Removal, CVPR'26 VGBE Challenge; 76 clips, NO clean-plate GT) \u00b7 object-removal \u00b7 native/first-41f \u00b7 reference-free RC-S/RC-T (DINOv2-giant) on the removal result (bg_pred) + object mask.",
"url": "viewer.html?eval=experiments/layer_decomp/decompose_41f_editcap_gbs32_4n_b200/d475615e1/evals/checkpoint-3900-pvix",
"path": "experiments/layer_decomp/decompose_41f_editcap_gbs32_4n_b200/d475615e1/evals/checkpoint-3900-pvix"
}
],
"date": "2026-07-25",
"detail": "Decompose 41f on edit-style captions. Change vs decompose_41f_v2_maskaug50: edit-caption text + B200/4-node recipe. Dataset: v2 editcap decompose. Captions = editcap2: edit-style INSTRUCTIONS (\u201cremove/insert the \u2026\u201d) restyled from the v2 descriptions; NOT yet grounded. \u21b3 change vs v2: instruction phrasing.",
"caption": "editcap2"
},
{
"name": "Gen-Omnimatte",
"task": "decompose",
"baseline": true,
"attn": null,
"mesh": "Wan2.1-Fun-14B-InP + Casper LoRA \u00b7 1-GPU 80GB",
"wandb_id": null,
"status": "baseline",
"note": "External baseline \u2014 Gen-Omnimatte / Casper (public reimpl; removal + effects). Wan2.1-Fun-14B-InP + Casper LoRA, native 480x832, 81 frames, 50 steps. github.com/gen-omnimatte/gen-omnimatte-public.",
"checkpoints": [
"pretrained"
],
"evals": [
{
"checkpoint": "pretrained",
"count": 528,
"name": "RORD50+PROVE-M+PROVE-H+VOR-Eval+VOR-Wild+ROSE-Bench \u00b7 object-removal baseline \u00b7 native resolution, first 81 frames (bg = removal result vs pristine clean plate).",
"url": "viewer.html?eval=experiments/layer_decomp/baselines/gen_omnimatte/evals/all",
"path": "experiments/layer_decomp/baselines/gen_omnimatte/evals/all"
},
{
"checkpoint": "pretrained",
"count": 76,
"name": "PVIX (Physics-aware Video Instance Removal, CVPR'26 VGBE Challenge; 76 clips, NO clean-plate GT) \u00b7 object-removal \u00b7 native/first-41f \u00b7 reference-free RC-S/RC-T (DINOv2-giant) on the removal result (bg_pred) + object mask.",
"url": "viewer.html?eval=experiments/layer_decomp/baselines/gen_omnimatte/evals/PVIX",
"path": "experiments/layer_decomp/baselines/gen_omnimatte/evals/PVIX"
}
],
"date": "2026-08-10",
"detail": "External object-removal baseline (Gen-Omnimatte) \u2014 omnimatte-style layer decomposition; v2 baseline expansion.",
"caption": "\u2014"
},
{
"name": "ProPainter",
"task": "decompose",
"baseline": true,
"attn": null,
"mesh": "ProPainter (flow-based) \u00b7 1-GPU",
"wandb_id": null,
"status": "baseline",
"note": "External baseline \u2014 ProPainter (ICCV'23 flow-based video inpainting; fills the mask only, no off-mask effect removal). Native resolution, first 81 frames. github.com/sczhou/ProPainter (non-commercial S-Lab).",
"checkpoints": [
"pretrained"
],
"evals": [
{
"checkpoint": "pretrained",
"count": 516,
"name": "RORD50+PROVE-M+PROVE-H+VOR-Eval+VOR-Wild+ROSE-Bench \u00b7 object-removal baseline \u00b7 native resolution, first 81 frames (bg = removal result vs pristine clean plate).",
"url": "viewer.html?eval=experiments/layer_decomp/baselines/propainter/evals/all",
"path": "experiments/layer_decomp/baselines/propainter/evals/all"
},
{
"checkpoint": "pretrained",
"count": 76,
"name": "PVIX (Physics-aware Video Instance Removal, CVPR'26 VGBE Challenge; 76 clips, NO clean-plate GT) \u00b7 object-removal \u00b7 native/first-41f \u00b7 reference-free RC-S/RC-T (DINOv2-giant) on the removal result (bg_pred) + object mask.",
"url": "viewer.html?eval=experiments/layer_decomp/baselines/propainter/evals/PVIX",
"path": "experiments/layer_decomp/baselines/propainter/evals/PVIX"
}
],
"date": "2026-08-10",
"detail": "External video-inpainting baseline (ProPainter) used as an object-removal reference.",
"caption": "\u2014"
},
{
"name": "MiniMax-Remover",
"task": "decompose",
"baseline": true,
"attn": null,
"mesh": "Wan2.1-derived 1.1B DiT \u00b7 1-GPU",
"wandb_id": null,
"status": "baseline",
"note": "External baseline \u2014 MiniMax-Remover (arXiv 2505.24230; prompt-free, CFG-free, 12-step). Native 480x832, 81 frames. github.com/zibojia/MiniMax-Remover.",
"checkpoints": [
"pretrained"
],
"evals": [
{
"checkpoint": "pretrained",
"count": 528,
"name": "RORD50+PROVE-M+PROVE-H+VOR-Eval+VOR-Wild+ROSE-Bench \u00b7 object-removal baseline \u00b7 native resolution, first 81 frames (bg = removal result vs pristine clean plate).",
"url": "viewer.html?eval=experiments/layer_decomp/baselines/minimax/evals/all",
"path": "experiments/layer_decomp/baselines/minimax/evals/all"
},
{
"checkpoint": "pretrained",
"count": 76,
"name": "PVIX (Physics-aware Video Instance Removal, CVPR'26 VGBE Challenge; 76 clips, NO clean-plate GT) \u00b7 object-removal \u00b7 native/first-41f \u00b7 reference-free RC-S/RC-T (DINOv2-giant) on the removal result (bg_pred) + object mask.",
"url": "viewer.html?eval=experiments/layer_decomp/baselines/minimax/evals/PVIX",
"path": "experiments/layer_decomp/baselines/minimax/evals/PVIX"
}
],
"date": "2026-08-10",
"detail": "External object-removal baseline (MiniMax-Remover).",
"caption": "\u2014"
},
{
"name": "ROSE",
"task": "decompose",
"baseline": true,
"attn": null,
"mesh": "Wan2.1-Fun-1.3B-InP DiT \u00b7 1-GPU",
"wandb_id": null,
"status": "baseline",
"note": "External baseline \u2014 ROSE: Remove Objects with Side Effects (arXiv 2508.18633; removal + shadows/reflections/light). Native 480x720, 81 frames. github.com/Kunbyte-AI/ROSE.",
"checkpoints": [
"pretrained"
],
"evals": [
{
"checkpoint": "pretrained",
"count": 522,
"name": "RORD50+PROVE-M+PROVE-H+VOR-Eval+VOR-Wild+ROSE-Bench \u00b7 object-removal baseline \u00b7 native resolution, first 81 frames (bg = removal result vs pristine clean plate).",
"url": "viewer.html?eval=experiments/layer_decomp/baselines/rose/evals/all",
"path": "experiments/layer_decomp/baselines/rose/evals/all"
},
{
"checkpoint": "pretrained",
"count": 76,
"name": "PVIX (Physics-aware Video Instance Removal, CVPR'26 VGBE Challenge; 76 clips, NO clean-plate GT) \u00b7 object-removal \u00b7 native/first-41f \u00b7 reference-free RC-S/RC-T (DINOv2-giant) on the removal result (bg_pred) + object mask.",
"url": "viewer.html?eval=experiments/layer_decomp/baselines/rose/evals/PVIX",
"path": "experiments/layer_decomp/baselines/rose/evals/PVIX"
}
],
"date": "2026-08-10",
"detail": "External object-removal baseline (ROSE) + its ROSE-Bench eval set.",
"caption": "\u2014"
},
{
"name": "DiffuEraser",
"task": "decompose",
"baseline": true,
"attn": null,
"mesh": "SD1.5 + BrushNet + ProPainter prior \u00b7 1-GPU",
"wandb_id": null,
"status": "baseline",
"note": "External baseline \u2014 DiffuEraser (SD1.5 video inpainting, 2-step PCM, ProPainter prior). Native \u2264960px, 81 frames. github.com/lixiaowen-xw/DiffuEraser.",
"checkpoints": [
"pretrained"
],
"evals": [
{
"checkpoint": "pretrained",
"count": 528,
"name": "RORD50+PROVE-M+PROVE-H+VOR-Eval+VOR-Wild+ROSE-Bench \u00b7 object-removal baseline \u00b7 native resolution, first 81 frames (bg = removal result vs pristine clean plate).",
"url": "viewer.html?eval=experiments/layer_decomp/baselines/diffueraser/evals/all",
"path": "experiments/layer_decomp/baselines/diffueraser/evals/all"
},
{
"checkpoint": "pretrained",
"count": 76,
"name": "PVIX (Physics-aware Video Instance Removal, CVPR'26 VGBE Challenge; 76 clips, NO clean-plate GT) \u00b7 object-removal \u00b7 native/first-41f \u00b7 reference-free RC-S/RC-T (DINOv2-giant) on the removal result (bg_pred) + object mask.",
"url": "viewer.html?eval=experiments/layer_decomp/baselines/diffueraser/evals/PVIX",
"path": "experiments/layer_decomp/baselines/diffueraser/evals/PVIX"
}
],
"date": "2026-08-10",
"detail": "External diffusion object-removal baseline (DiffuEraser).",
"caption": "\u2014"
},
{
"name": "harmonize_41f_editcap_gbs32_4n_b200",
"task": "harmonize",
"attn": "full",
"wandb_id": "h9fbbd85a",
"mesh": "4-node B200 \u00b7 gbs32",
"location": "experiments/layer_decomp/harmonize_41f_editcap_gbs32_4n_b200/h9fbbd85a/",
"status": "eval",
"checkpoints": [
"3800"
],
"note": "harmonize (denoise composite; clean fg/bg conditions), edit-style captions, fg-augmentation ON. ck-3800 eval over combined 458. Scored composite_pred vs PRISTINE GT (ext=real-clip mirror videos/, internal=pre-VAE locator composite); harmonize-hard-v1 has no real GT -> vs naive paste.",
"evals": [
{
"checkpoint": "3800",
"count": 458,
"name": "combined 458 \u00b7 233 ext-GT (RORD50/PROVE-M/VOR-Eval/ROSE-Bench) + 150 internal + 75 harmonize-hard-v1 \u00b7 composite_pred vs PRISTINE GT (hard-v1 = vs naive paste) \u00b7 edit captions",
"url": "viewer.html?eval=experiments/layer_decomp/harmonize_41f_editcap_gbs32_4n_b200/h9fbbd85a/evals/checkpoint-3800",
"path": "experiments/layer_decomp/harmonize_41f_editcap_gbs32_4n_b200/h9fbbd85a/evals/checkpoint-3800"
}
],
"date": "2026-07-25",
"detail": "Harmonize 41f on EDIT-STYLE captions (editcap) + full occlusion fg-augmentation (geo/sdf/interior/edge jitter). Change vs harmonize_61f_v2: recaptioned to grounded edit-instructions (\"remove/insert \u2026\") and added fg-jitter occlusion for cross-camera composites. 4-node B200. Dataset: v2 editcap. Captions = editcap2: edit-style INSTRUCTIONS (\u201cremove/insert the \u2026\u201d) restyled from the v2 descriptions; NOT yet grounded. \u21b3 change vs v2: instruction phrasing.",
"caption": "editcap2"
},
{
"name": "harmonize_41f_editcap_nofgaug_gbs32_4n_b200",
"task": "harmonize",
"attn": "full",
"wandb_id": "nbf49034c",
"mesh": "4-node B200 \u00b7 gbs32",
"location": "experiments/layer_decomp/harmonize_41f_editcap_nofgaug_gbs32_4n_b200/nbf49034c/",
"status": "eval",
"checkpoints": [
"3800"
],
"note": "harmonize (denoise composite; clean fg/bg conditions), edit-style captions, fg-augmentation OFF. ck-3800 eval over combined 458. Scored composite_pred vs PRISTINE GT (ext=real-clip mirror videos/, internal=pre-VAE locator composite); harmonize-hard-v1 has no real GT -> vs naive paste.",
"evals": [
{
"checkpoint": "3800",
"count": 458,
"name": "combined 458 \u00b7 233 ext-GT (RORD50/PROVE-M/VOR-Eval/ROSE-Bench) + 150 internal + 75 harmonize-hard-v1 \u00b7 composite_pred vs PRISTINE GT (hard-v1 = vs naive paste) \u00b7 edit captions",
"url": "viewer.html?eval=experiments/layer_decomp/harmonize_41f_editcap_nofgaug_gbs32_4n_b200/nbf49034c/evals/checkpoint-3800",
"path": "experiments/layer_decomp/harmonize_41f_editcap_nofgaug_gbs32_4n_b200/nbf49034c/evals/checkpoint-3800"
}
],
"date": "2026-07-26",
"detail": "Ablation of the fg-augmentation: harmonize editcap WITHOUT occlusion fg-jitter. Change vs harmonize_41f_editcap: fg-aug removed. Outcome: best fg_dino but NOT ahead on the VLM judge \u2014 evidence that fg_dino \u2260 harmonization quality (motivated building the VLM judge). Captions = editcap2: edit-style INSTRUCTIONS (\u201cremove/insert the \u2026\u201d) restyled from the v2 descriptions; NOT yet grounded.",
"caption": "editcap2"
},
{
"name": "combined_41f_editcap_gbs32_4n_b200",
"task": "combined",
"attn": "full",
"wandb_id": "c2830aae9",
"mesh": "4-node B200 \u00b7 gbs32 \u00b7 SP2\u00d7sh8\u00d7rep4",
"location": "experiments/layer_decomp/combined_41f_editcap_gbs32_4n_b200/c2830aae9/",
"status": "eval",
"checkpoints": [
"8000"
],
"note": "ONE model, BOTH tasks (per-sample task_type_embedding). ck-8000 (best by sampled val PSNR/LPIPS; val_loss min was 7900). Eval applied the trained task embedding at inference (FASTVIDEO_COMBINED_INFER, commit 3609497a). Decompose over 678 (528 ext + 150 internal), harmonize over 458 (233 ext + 150 internal + 75 hard-v1). Scored vs PRISTINE GT.",
"evals": [
{
"checkpoint": "8000",
"task": "decompose",
"count": 678,
"name": "decompose \u00b7 678 \u00b7 528 external (RORD50/PROVE-M/PROVE-H/VOR-Eval/VOR-Wild/ROSE-Bench) + 150 internal; pristine fg+bg / bg-removal + fg-masked + RC",
"url": "viewer.html?eval=experiments/layer_decomp/combined_41f_editcap_gbs32_4n_b200/c2830aae9/evals/checkpoint-8000-decompose",
"path": "experiments/layer_decomp/combined_41f_editcap_gbs32_4n_b200/c2830aae9/evals/checkpoint-8000-decompose"
},
{
"checkpoint": "8000",
"task": "harmonize",
"count": 458,
"name": "harmonize \u00b7 458 \u00b7 233 ext-GT (RORD50/PROVE-M/VOR-Eval/ROSE-Bench) + 150 internal + 75 hard-v1; composite_pred vs PRISTINE GT",
"url": "viewer.html?eval=experiments/layer_decomp/combined_41f_editcap_gbs32_4n_b200/c2830aae9/evals/checkpoint-8000-harmonize",
"path": "experiments/layer_decomp/combined_41f_editcap_gbs32_4n_b200/c2830aae9/evals/checkpoint-8000-harmonize"
},
{
"checkpoint": "8000",
"count": 76,
"name": "PVIX (Physics-aware Video Instance Removal, CVPR'26 VGBE Challenge; 76 clips, NO clean-plate GT) \u00b7 object-removal \u00b7 native/first-41f \u00b7 reference-free RC-S/RC-T (DINOv2-giant) on the removal result (bg_pred) + object mask.",
"url": "viewer.html?eval=experiments/layer_decomp/combined_41f_editcap_gbs32_4n_b200/c2830aae9/evals/checkpoint-8000-pvix",
"task": "decompose",
"path": "experiments/layer_decomp/combined_41f_editcap_gbs32_4n_b200/c2830aae9/evals/checkpoint-8000-pvix"
}
],
"date": "2026-07-25",
"detail": "First COMBINED model \u2014 one network does BOTH decompose and harmonize, chosen per-sample. Change: shared 4-row stream embedding + a separate 2-row task embedding routes each sample; data = splits/v2/combined (edit-captioned). 4-node B200, trained to ck8000. The main combined checkpoint the ablations branch from. Captions = editcap2: edit-style INSTRUCTIONS (\u201cremove/insert the \u2026\u201d) restyled from the v2 descriptions; NOT yet grounded. \u21b3 change vs v2: instruction phrasing.",
"caption": "editcap2"
},
{
"name": "combined_abl_compositeonly",
"task": "combined",
"mesh": "4-node B200 \u00b7 gbs32",
"attn": "full",
"wandb_id": "abl_compositeonly_v2",
"status": "eval",
"location": "experiments/layer_decomp/combined_abl_compositeonly/abl_compositeonly_v2/",
"checkpoints": [
"8000",
"5200"
],
"note": "ablation (harmonize composite_only, 3-stream); EMA ck8000; grounded editcap2 captions (kubric/bedlam GT-grounded)",
"evals": [
{
"checkpoint": "8000",
"name": "decompose \u00b7 678 clips \u00b7 grounded editcap2",
"count": 678,
"url": "viewer.html?eval=experiments/layer_decomp/combined_abl_compositeonly/abl_compositeonly_v2/evals/ck8000_ema_dec",
"task": "decompose",
"path": "experiments/layer_decomp/combined_abl_compositeonly/abl_compositeonly_v2/evals/ck8000_ema_dec"
},
{
"checkpoint": "8000",
"name": "harmonize \u00b7 458 clips \u00b7 grounded editcap2 \u00b7 +Gemini VLM judge",
"count": 458,
"url": "viewer.html?eval=experiments/layer_decomp/combined_abl_compositeonly/abl_compositeonly_v2/evals/ck8000_ema_har",
"task": "harmonize",
"path": "experiments/layer_decomp/combined_abl_compositeonly/abl_compositeonly_v2/evals/ck8000_ema_har"
},
{
"checkpoint": "5200",
"name": "decompose \u00b7 418 \u00b7 external ck5200 (VOR-Eval/VOR-Wild/PROVE-M/PROVE-H)",
"count": 418,
"url": "viewer.html?eval=experiments/layer_decomp/combined_abl_compositeonly/abl_compositeonly_v2/evals/ck5200_ema_dec_ext",
"task": "decompose",
"path": "experiments/layer_decomp/combined_abl_compositeonly/abl_compositeonly_v2/evals/ck5200_ema_dec_ext"
},
{
"checkpoint": "5200",
"name": "harmonize \u00b7 308 \u00b7 external ck5200 (hard-v1/PROVE-M/RORD50/ROSE-Bench/VOR-Eval) \u00b7 +Gemini VLM judge",
"count": 308,
"url": "viewer.html?eval=experiments/layer_decomp/combined_abl_compositeonly/abl_compositeonly_v2/evals/ck5200_ema_har_ext",
"task": "harmonize",
"path": "experiments/layer_decomp/combined_abl_compositeonly/abl_compositeonly_v2/evals/ck5200_ema_har_ext"
},
{
"checkpoint": "8000",
"name": "PVIX \u00b7 76 \u00b7 object-removal (no GT) \u00b7 reference-free RC-S/RC-T",
"count": 76,
"url": "viewer.html?eval=experiments/layer_decomp/combined_abl_compositeonly/abl_compositeonly_v2/evals/ck8000_ema_dec_pvix",
"task": "decompose",
"path": "experiments/layer_decomp/combined_abl_compositeonly/abl_compositeonly_v2/evals/ck8000_ema_dec_pvix"
}
],
"date": "2026-08-07",
"detail": "Combined ablation \u2014 harmonize in COMPOSITE_ONLY mode (3-stream: denoise composite only; clean fg given as a condition). The simplest harmonize arm. Compared against the two fgpred arms. Data view: combined_editcap2_fgcorrupt (grounded editcap2 captions; _fgcorrupt = occlusion aug + completion-caption swap, see legend). Captions = GROUNDED editcap2: fg identity + exact object count taken from renderer GT (kubric/bedlam) so the caption can't hallucinate (e.g. a 2-object fg is no longer labeled \u201c5\u201d). \u21b3 change vs editcap2: GT-grounding. Occlusion-completion caption: on occluded-fg clips the harmonize instruction is swapped to \u201creconstruct & complete the missing/occluded parts, then integrate\u201d (the +fgcorrupt variant).",
"caption": "editcap2-grounded +fgcorrupt"
},
{
"name": "combined_abl_fgpred_shared",
"task": "combined",
"mesh": "4-node B200 \u00b7 gbs32",
"attn": "full",
"wandb_id": "abl_fgpred_shared_v2",
"status": "eval",
"location": "experiments/layer_decomp/combined_abl_fgpred_shared/abl_fgpred_shared_v2/",
"checkpoints": [
"8000",
"5200"
],
"note": "ablation (harmonize fgpred: predicts composite+fg, 4-stream); EMA ck8000; grounded editcap2 captions (kubric/bedlam GT-grounded)",
"evals": [
{
"checkpoint": "8000",
"name": "decompose \u00b7 678 clips \u00b7 grounded editcap2",
"count": 678,
"url": "viewer.html?eval=experiments/layer_decomp/combined_abl_fgpred_shared/abl_fgpred_shared_v2/evals/ck8000_ema_dec",
"task": "decompose",
"path": "experiments/layer_decomp/combined_abl_fgpred_shared/abl_fgpred_shared_v2/evals/ck8000_ema_dec"
},
{
"checkpoint": "8000",
"name": "harmonize \u00b7 458 clips \u00b7 grounded editcap2 \u00b7 +Gemini VLM judge",
"count": 458,
"url": "viewer.html?eval=experiments/layer_decomp/combined_abl_fgpred_shared/abl_fgpred_shared_v2/evals/ck8000_ema_har",
"task": "harmonize",
"path": "experiments/layer_decomp/combined_abl_fgpred_shared/abl_fgpred_shared_v2/evals/ck8000_ema_har"
},
{
"checkpoint": "5200",
"name": "decompose \u00b7 418 \u00b7 external ck5200 (VOR-Eval/VOR-Wild/PROVE-M/PROVE-H)",
"count": 418,
"url": "viewer.html?eval=experiments/layer_decomp/combined_abl_fgpred_shared/abl_fgpred_shared_v2/evals/ck5200_ema_dec_ext",
"task": "decompose",
"path": "experiments/layer_decomp/combined_abl_fgpred_shared/abl_fgpred_shared_v2/evals/ck5200_ema_dec_ext"
},
{
"checkpoint": "5200",
"name": "harmonize \u00b7 308 \u00b7 external ck5200 (hard-v1/PROVE-M/RORD50/ROSE-Bench/VOR-Eval) \u00b7 +Gemini VLM judge",
"count": 308,
"url": "viewer.html?eval=experiments/layer_decomp/combined_abl_fgpred_shared/abl_fgpred_shared_v2/evals/ck5200_ema_har_ext",
"task": "harmonize",
"path": "experiments/layer_decomp/combined_abl_fgpred_shared/abl_fgpred_shared_v2/evals/ck5200_ema_har_ext"
},
{
"checkpoint": "8000",
"name": "PVIX \u00b7 76 \u00b7 object-removal (no GT) \u00b7 reference-free RC-S/RC-T",
"count": 76,
"url": "viewer.html?eval=experiments/layer_decomp/combined_abl_fgpred_shared/abl_fgpred_shared_v2/evals/ck8000_ema_dec_pvix",
"task": "decompose",
"path": "experiments/layer_decomp/combined_abl_fgpred_shared/abl_fgpred_shared_v2/evals/ck8000_ema_dec_pvix"
}
],
"date": "2026-08-07",
"detail": "Combined ablation \u2014 harmonize runs in FGPRED mode (denoise composite AND reconstruct fg, 4-stream) with a SHARED fg-corrupt type id (=2). Change vs combined_41f_editcap: harmonize predicts fg from a corrupted-fg observation rather than taking clean fg as a condition. Data view: combined_editcap2_fgcorrupt (grounded editcap2 captions; _fgcorrupt = occlusion aug + completion-caption swap, see legend). Captions = GROUNDED editcap2: fg identity + exact object count taken from renderer GT (kubric/bedlam) so the caption can't hallucinate (e.g. a 2-object fg is no longer labeled \u201c5\u201d). \u21b3 change vs editcap2: GT-grounding. Occlusion-completion caption: on occluded-fg clips the harmonize instruction is swapped to \u201creconstruct & complete the missing/occluded parts, then integrate\u201d (the +fgcorrupt variant).",
"caption": "editcap2-grounded +fgcorrupt"
},
{
"name": "combined_abl_fgpred_type4",
"task": "combined",
"mesh": "4-node B200 \u00b7 gbs32",
"attn": "full",
"wandb_id": "abl_fgpred_type4_v2",
"status": "eval",
"location": "experiments/layer_decomp/combined_abl_fgpred_type4/abl_fgpred_type4_v2/",
"checkpoints": [
"8000"
],
"note": "ablation (harmonize fgpred + FG_CORRUPT_TYPE_ID=4: fg_corrupt is a DEDICATED 5th stream type, not shared with fg); EMA ck8000; grounded editcap2 captions",
"evals": [
{
"checkpoint": "8000",
"name": "decompose \u00b7 678 clips \u00b7 grounded editcap2",
"count": 678,
"url": "viewer.html?eval=experiments/layer_decomp/combined_abl_fgpred_type4/abl_fgpred_type4_v2/evals/ck8000_ema_dec",
"task": "decompose",
"path": "experiments/layer_decomp/combined_abl_fgpred_type4/abl_fgpred_type4_v2/evals/ck8000_ema_dec"
},
{
"checkpoint": "8000",
"name": "harmonize \u00b7 458 clips \u00b7 grounded editcap2 \u00b7 +Gemini VLM judge",
"count": 458,
"url": "viewer.html?eval=experiments/layer_decomp/combined_abl_fgpred_type4/abl_fgpred_type4_v2/evals/ck8000_ema_har",
"task": "harmonize",
"path": "experiments/layer_decomp/combined_abl_fgpred_type4/abl_fgpred_type4_v2/evals/ck8000_ema_har"
},
{
"checkpoint": "8000",
"name": "PVIX \u00b7 76 \u00b7 object-removal (no GT) \u00b7 reference-free RC-S/RC-T",
"count": 76,
"url": "viewer.html?eval=experiments/layer_decomp/combined_abl_fgpred_type4/abl_fgpred_type4_v2/evals/ck8000_ema_dec_pvix",
"task": "decompose",
"path": "experiments/layer_decomp/combined_abl_fgpred_type4/abl_fgpred_type4_v2/evals/ck8000_ema_dec_pvix"
}
],
"date": "2026-08-08",
"detail": "Combined ablation \u2014 fgpred harmonize with a DEDICATED type-4 fg-corrupt embedding (stream-type table grows to 5 rows) so the corrupted-fg observation gets its own token. Change vs fgpred_shared: dedicated vs shared type id. Outcome: best combined harmonize \u2192 motivated the task-specific type-4 run. Captions = GROUNDED editcap2: fg identity + exact object count taken from renderer GT (kubric/bedlam) so the caption can't hallucinate (e.g. a 2-object fg is no longer labeled \u201c5\u201d). Occlusion-completion caption: on occluded-fg clips the harmonize instruction is swapped to \u201creconstruct & complete the missing/occluded parts, then integrate\u201d (the +fgcorrupt variant).",
"caption": "editcap2-grounded +fgcorrupt"
},
{
"name": "decompose_grounded_ema_gbs32_4n_b200",
"task": "decompose",
"mesh": "4-node B200 \u00b7 gbs32",
"attn": "full",
"wandb_id": "dec_grnd_ema_b200",
"status": "eval",
"location": "experiments/layer_decomp/decompose_grounded_ema_gbs32_4n_b200/dec_grnd_ema_b200/",
"checkpoints": [
"4000"
],
"note": "task-specific single-task DECOMPOSE; grounded editcap2 captions (kubric/bedlam GT-grounded); EMA ck4000",
"evals": [
{
"checkpoint": "4000",
"name": "decompose \u00b7 678 clips \u00b7 grounded editcap2",
"count": 678,
"url": "viewer.html?eval=experiments/layer_decomp/decompose_grounded_ema_gbs32_4n_b200/dec_grnd_ema_b200/evals/ck4000_ema_dec",
"task": "decompose",
"path": "experiments/layer_decomp/decompose_grounded_ema_gbs32_4n_b200/dec_grnd_ema_b200/evals/ck4000_ema_dec"
},
{
"checkpoint": "4000",
"name": "PVIX \u00b7 76 clips \u00b7 no-GT object removal (RC-S/RC-T)",
"count": 76,
"url": "viewer.html?eval=experiments/layer_decomp/decompose_grounded_ema_gbs32_4n_b200/dec_grnd_ema_b200/evals/ck4000_ema_dec_pvix",
"task": "decompose",
"path": "experiments/layer_decomp/decompose_grounded_ema_gbs32_4n_b200/dec_grnd_ema_b200/evals/ck4000_ema_dec_pvix"
}
],
"date": "2026-08-14",
"detail": "Task-specific SINGLE-TASK decompose to compare raw single-task vs the combined ablations, under the current recipe: GT-GROUNDED editcap2 captions (kubric/bedlam grounded), EMA(0.999), occlusion-completion augs. 4-node B200 gbs32, 4000 steps (= half combined's 8000; single task = half the data). ck4000-EMA evaluated on the 678-clip decompose pool + PVIX (RC-S best of the three decompose models). Captions = GROUNDED editcap2: fg identity + exact object count taken from renderer GT (kubric/bedlam) so the caption can't hallucinate (e.g. a 2-object fg is no longer labeled \u201c5\u201d).",
"caption": "editcap2-grounded"
},
{
"name": "harmonize_grounded_compositeonly_gbs32_4n_b200",
"task": "harmonize",
"mesh": "4-node B200 \u00b7 gbs32",
"attn": "full",
"wandb_id": "har_grnd_co_b200",
"status": "eval",
"location": "experiments/layer_decomp/harmonize_grounded_compositeonly_gbs32_4n_b200/har_grnd_co_b200/",
"checkpoints": [
"4000"
],
"note": "task-specific single-task HARMONIZE (composite_only, 3-stream); grounded editcap2 captions; EMA ck4000; nan-skip guard",
"evals": [
{
"checkpoint": "4000",
"name": "harmonize \u00b7 458 clips \u00b7 grounded editcap2 \u00b7 +Gemini VLM judge",
"count": 458,
"url": "viewer.html?eval=experiments/layer_decomp/harmonize_grounded_compositeonly_gbs32_4n_b200/har_grnd_co_b200/evals/ck4000_ema_har",
"task": "harmonize",
"path": "experiments/layer_decomp/harmonize_grounded_compositeonly_gbs32_4n_b200/har_grnd_co_b200/evals/ck4000_ema_har"
}
],
"date": "2026-08-14",
"detail": "Task-specific single-task HARMONIZE, composite_only (3-stream), grounded editcap2 + EMA + nan-skip guard (a mid-run NaN from a non-finite grad was fixed by skipping the optimizer step on non-finite). 4-node B200, ck4000-EMA. Compared head-to-head against the fgpred type-4 single-task harmonize. Captions = GROUNDED editcap2: fg identity + exact object count taken from renderer GT (kubric/bedlam) so the caption can't hallucinate (e.g. a 2-object fg is no longer labeled \u201c5\u201d). Occlusion-completion caption: on occluded-fg clips the harmonize instruction is swapped to \u201creconstruct & complete the missing/occluded parts, then integrate\u201d (the +fgcorrupt variant).",
"caption": "editcap2-grounded +fgcorrupt"
},
{
"name": "harmonize_grounded_fgpred_type4_gbs32_4n_b200",
"task": "harmonize",
"mesh": "4-node B200 \u00b7 gbs32",
"attn": "full",
"wandb_id": "har_grnd_fg_type4_b200",
"status": "eval",
"location": "experiments/layer_decomp/harmonize_grounded_fgpred_type4_gbs32_4n_b200/har_grnd_fg_type4_b200/",
"checkpoints": [
"4000"
],
"note": "task-specific single-task HARMONIZE (fgpred, DEDICATED type-4 fg_corrupt embedding, 4-stream); grounded editcap2 captions; EMA ck4000; nan-skip guard",
"evals": [
{
"checkpoint": "4000",
"name": "harmonize \u00b7 458 clips \u00b7 grounded editcap2 \u00b7 +Gemini VLM judge",
"count": 458,
"url": "viewer.html?eval=experiments/layer_decomp/harmonize_grounded_fgpred_type4_gbs32_4n_b200/har_grnd_fg_type4_b200/evals/ck4000_ema_har",
"task": "harmonize",
"path": "experiments/layer_decomp/harmonize_grounded_fgpred_type4_gbs32_4n_b200/har_grnd_fg_type4_b200/evals/ck4000_ema_har"
}
],
"date": "2026-08-15",
"detail": "Task-specific single-task HARMONIZE, fgpred with the DEDICATED type-4 fg-corrupt embedding (the combined ablation's winner, now as a single-task run). Grounded editcap2 + EMA. ck4000-EMA. Outcome: edges out the composite_only single-task run on the Gemini VLM judge (2.72 vs 2.61) incl. the new identity/motion criteria. Captions = GROUNDED editcap2: fg identity + exact object count taken from renderer GT (kubric/bedlam) so the caption can't hallucinate (e.g. a 2-object fg is no longer labeled \u201c5\u201d). Occlusion-completion caption: on occluded-fg clips the harmonize instruction is swapped to \u201creconstruct & complete the missing/occluded parts, then integrate\u201d (the +fgcorrupt variant).",
"caption": "editcap2-grounded +fgcorrupt"
},
{
"name": "harmonize_41f_editcap_sdfinward_gbs32_4n_b200",
"task": "harmonize",
"attn": "full",
"wandb_id": "9osnfoul",
"mesh": "4-node B200 \u00b7 gbs32",
"location": "experiments/layer_decomp/harmonize_41f_editcap_sdfinward_gbs32_4n_b200/9osnfoul/",
"status": "eval",
"checkpoints": [
"3500",
"3900",
"4000"
],
"note": "harmonize (denoise composite; clean fg/bg/mask conditions), edit-style captions. SDF-INWARD fg-occlusion ablation off harmonize_41f_editcap: on top of the fg geometric warp (p=0.70), an INDEPENDENT p=0.40 gate gray-fills an inward signed-distance-field chunk of the FG pixels while the mask keeps the object's full extent \u2014 teaching the model to COMPLETE (inpaint) occluded fg. Mask never corrupted. Evals over combined 458 at ck-3500 (run-max val-PSNR 29.27; best visually), ck-3900, and ck-4000 (later checkpoints). Scored composite_pred vs PRISTINE GT (ext=real-clip mirror videos/, internal=pre-VAE locator composite); harmonize-hard-v1 has no real GT -> vs naive paste.",
"evals": [
{
"checkpoint": "3500",
"count": 458,
"name": "combined 458 \u00b7 233 ext-GT (RORD50/PROVE-M/VOR-Eval/ROSE-Bench) + 150 internal + 75 harmonize-hard-v1 \u00b7 composite_pred vs PRISTINE GT (hard-v1 = vs naive paste) \u00b7 edit captions",
"url": "viewer.html?eval=experiments/layer_decomp/harmonize_41f_editcap_sdfinward_gbs32_4n_b200/9osnfoul/evals/checkpoint-3500",
"path": "experiments/layer_decomp/harmonize_41f_editcap_sdfinward_gbs32_4n_b200/9osnfoul/evals/checkpoint-3500"
},
{
"checkpoint": "3900",
"count": 458,
"name": "combined 458 \u00b7 233 ext-GT (RORD50/PROVE-M/VOR-Eval/ROSE-Bench) + 150 internal + 75 harmonize-hard-v1 \u00b7 composite_pred vs PRISTINE GT (hard-v1 = vs naive paste) \u00b7 edit captions",
"url": "viewer.html?eval=experiments/layer_decomp/harmonize_41f_editcap_sdfinward_gbs32_4n_b200/9osnfoul/evals/checkpoint-3900",
"path": "experiments/layer_decomp/harmonize_41f_editcap_sdfinward_gbs32_4n_b200/9osnfoul/evals/checkpoint-3900"
},
{
"checkpoint": "4000",
"count": 458,
"name": "combined 458 \u00b7 233 ext-GT (RORD50/PROVE-M/VOR-Eval/ROSE-Bench) + 150 internal + 75 harmonize-hard-v1 \u00b7 composite_pred vs PRISTINE GT (hard-v1 = vs naive paste) \u00b7 edit captions",
"url": "viewer.html?eval=experiments/layer_decomp/harmonize_41f_editcap_sdfinward_gbs32_4n_b200/9osnfoul/evals/checkpoint-4000",
"path": "experiments/layer_decomp/harmonize_41f_editcap_sdfinward_gbs32_4n_b200/9osnfoul/evals/checkpoint-4000"
}
],
"date": "2026-08-02",
"detail": "Harmonize editcap with SDF-INWARD fg occlusion (p=0.40, inward-signed-distance mask over the full object extent) instead of the geo/edge jitter. Change vs harmonize_41f_editcap: occlusion-mask style. Explores whether inward erosion is a better occlusion prior. Captions = editcap2: edit-style INSTRUCTIONS (\u201cremove/insert the \u2026\u201d) restyled from the v2 descriptions; NOT yet grounded.",
"caption": "editcap2"
},
{
"name": "Naive Copy-Paste (Harmonize)",
"task": "harmonize",
"baseline": true,
"attn": null,
"mesh": "deterministic alpha composite \u00b7 no model",
"wandb_id": null,
"status": "baseline",
"note": "Harmonize control: hard-mask foreground-over-background copy-paste, with no relighting or scene integration. Comparison viewer: https://clio.corp.adobe.com/manans/experiments/layer_decomp/harmonize_baselines/full_2026-08-04/viewer/index.html",
"checkpoints": [
"pretrained"
],
"evals": [
{
"checkpoint": "pretrained",
"count": 458,
"name": "10 harmonize benchmark sets \u00b7 458 clips \u00b7 81 frames",
"url": "viewer.html?eval=experiments/layer_decomp/harmonize_baselines/full_2026-08-04/naive_copy_paste/all",
"path": "experiments/layer_decomp/harmonize_baselines/full_2026-08-04/naive_copy_paste/all"
}
],
"date": "2026-08-04",
"detail": "Naive copy-paste insertion (harmonize batch 08-04): ~perfect fg identity/motion by construction but fails lighting/shadows \u2014 a sanity anchor.",
"caption": "\u2014"
},
{
"name": "Wan2.1 I2V \u2014 Copy-Paste First Frame",
"task": "harmonize",
"baseline": true,
"attn": null,
"mesh": "Wan2.1 I2V 14B \u00b7 first-frame condition",
"wandb_id": null,
"status": "baseline",
"note": "External harmonize baseline: the first naive copy-paste frame conditions Wan2.1 I2V; declarative target-composite captions describe the desired scene and background camera motion. Comparison viewer: https://clio.corp.adobe.com/manans/experiments/layer_decomp/harmonize_baselines/full_2026-08-04/viewer/index.html",
"checkpoints": [
"pretrained"
],
"evals": [
{
"checkpoint": "pretrained",
"count": 458,
"name": "10 harmonize benchmark sets \u00b7 458 clips \u00b7 81 frames",
"url": "viewer.html?eval=experiments/layer_decomp/harmonize_baselines/full_2026-08-04/wan_i2v_cp/all",
"path": "experiments/layer_decomp/harmonize_baselines/full_2026-08-04/wan_i2v_cp/all"
}
],
"date": "2026-08-04",
"detail": "Wan2.1 I2V harmonize baseline: copy-paste the first frame then I2V-propagate.",
"caption": "\u2014"
},
{
"name": "Mage-Flow + Wan2.1 I2V",
"task": "harmonize",
"baseline": true,
"attn": null,
"mesh": "Mage-Flow image edit \u2192 Wan2.1 I2V 14B",
"wandb_id": null,
"status": "baseline",
"note": "External harmonize baseline: Mage-Flow edits/harmonizes the first frame, then Wan2.1 I2V generates the full video from that frame and a declarative scene caption. Comparison viewer: https://clio.corp.adobe.com/manans/experiments/layer_decomp/harmonize_baselines/full_2026-08-04/viewer/index.html",
"checkpoints": [
"pretrained"
],
"evals": [
{
"checkpoint": "pretrained",
"count": 458,
"name": "10 harmonize benchmark sets \u00b7 458 clips \u00b7 81 frames",
"url": "viewer.html?eval=experiments/layer_decomp/harmonize_baselines/full_2026-08-04/mage_wan_i2v/all",
"path": "experiments/layer_decomp/harmonize_baselines/full_2026-08-04/mage_wan_i2v/all"
}
],
"date": "2026-08-04",
"detail": "Mage-Flow composition + Wan2.1 I2V harmonize baseline.",
"caption": "\u2014"
},
{
"name": "Mage-Flow + AnyV2V",
"task": "harmonize",
"baseline": true,
"attn": null,
"mesh": "Mage-Flow image edit + DDIM-inverted AnyV2V",
"wandb_id": null,
"status": "baseline",
"note": "External harmonize baseline: Mage-Flow supplies the harmonized first frame; AnyV2V regenerates from the inverted naive-paste video while preserving its motion and placement. Comparison viewer: https://clio.corp.adobe.com/manans/experiments/layer_decomp/harmonize_baselines/full_2026-08-04/viewer/index.html",
"checkpoints": [
"pretrained"
],
"evals": [
{
"checkpoint": "pretrained",
"count": 458,
"name": "10 harmonize benchmark sets \u00b7 458 clips \u00b7 41 frames",
"url": "viewer.html?eval=experiments/layer_decomp/harmonize_baselines/full_2026-08-04/mage_anyv2v/all",
"path": "experiments/layer_decomp/harmonize_baselines/full_2026-08-04/mage_anyv2v/all"
}
],
"date": "2026-08-04",
"detail": "Mage-Flow composition + AnyV2V harmonize baseline.",
"caption": "\u2014"
},
{
"name": "Bernini V2V Harmonization",
"task": "harmonize",
"baseline": true,
"attn": null,
"mesh": "Bernini full V2V \u00b7 Ulysses-8",
"wandb_id": null,
"status": "baseline",
"note": "External harmonize baseline: Bernini textually repairs the raw copy-paste video, including lighting, shadows, reflections, contact, seams, motion and caption-requested foreground completion. Comparison viewer: https://clio.corp.adobe.com/manans/experiments/layer_decomp/harmonize_baselines/full_2026-08-04/viewer/index.html",
"checkpoints": [
"pretrained"
],
"evals": [
{
"checkpoint": "pretrained",
"count": 458,
"name": "10 harmonize benchmark sets \u00b7 458 clips \u00b7 81 frames",
"url": "viewer.html?eval=experiments/layer_decomp/harmonize_baselines/full_2026-08-04/bernini_v2v/all",
"path": "experiments/layer_decomp/harmonize_baselines/full_2026-08-04/bernini_v2v/all"
}
],
"date": "2026-08-04",
"detail": "Bernini video-to-video harmonization baseline.",
"caption": "\u2014"
},
{
"name": "Bernini Two-Video Insertion",
"task": "harmonize",
"baseline": true,
"attn": null,
"mesh": "Bernini ads2v \u00b7 clean BG + gray-backed FG \u00b7 Ulysses-8",
"wandb_id": null,
"status": "baseline",
"note": "External harmonize baseline: Bernini inserts the aligned gray-backed foreground reference into the clean background while preserving trajectory and integrating lighting, shadows, reflections, contact and requested completion. Comparison viewer: https://clio.corp.adobe.com/manans/experiments/layer_decomp/harmonize_baselines/full_2026-08-04/viewer/index.html",
"checkpoints": [
"pretrained"
],
"evals": [
{
"checkpoint": "pretrained",
"count": 458,
"name": "10 harmonize benchmark sets \u00b7 458 clips \u00b7 81 frames",
"url": "viewer.html?eval=experiments/layer_decomp/harmonize_baselines/full_2026-08-04/bernini_insert/all",
"path": "experiments/layer_decomp/harmonize_baselines/full_2026-08-04/bernini_insert/all"
}
],
"date": "2026-08-04",
"detail": "Bernini two-video subject-insertion baseline.",
"caption": "\u2014"
},
{
"name": "LayerFlow RGB Decomposition",
"task": "decompose",
"baseline": true,
"attn": null,
"mesh": "LayerFlow CogVideoX-2B \u00b7 RGB iter1000 \u00b7 16f 480\u00d7720",
"wandb_id": null,
"status": "baseline",
"note": "Official LayerFlow RGB multi-layer-decomposition checkpoint at iteration 1000. The supplied composite is decomposed into foreground and clean background layers using the paper's 16-frame, 8-fps, 480\u00d7720, 50-step DPM++2M recipe.",
"checkpoints": [
"rgb-1000"
],
"evals": [
{
"checkpoint": "rgb-1000",
"count": 678,
"name": "11 decompose benchmark sets \u00b7 678 clips \u00b7 16 frames",
"url": "viewer.html?eval=experiments/layer_decomp/baselines/layerflow_rgb_1000/layerflow_decompose/all",
"path": "experiments/layer_decomp/baselines/layerflow_rgb_1000/layerflow_decompose/all"
}
],
"date": "2026-08-13",
"detail": "LayerFlow (RGB) run as a decomposition baseline (fg/bg split).",
"caption": "\u2014"
},
{
"name": "LayerFlow RGB Foreground-Conditioned Composition",
"task": "harmonize",
"baseline": true,
"attn": null,
"mesh": "LayerFlow CogVideoX-2B \u00b7 FG-conditioned RGB iter1000 \u00b7 16f 480\u00d7720",
"wandb_id": null,
"status": "baseline",
"note": "Official LayerFlow foreground-conditioned RGB checkpoint at iteration 1000. It receives the aligned gray-matted foreground plus descriptive foreground/background/composite prompts, and generates the background and final composite. The release does not expose a checkpoint that simultaneously hard-conditions both foreground and background videos.",
"checkpoints": [
"rgb-1000"
],
"evals": [
{
"checkpoint": "rgb-1000",
"count": 458,
"name": "10 harmonize benchmark sets \u00b7 458 clips \u00b7 16 frames",
"url": "viewer.html?eval=experiments/layer_decomp/baselines/layerflow_rgb_1000/layerflow_fgcond/all",
"path": "experiments/layer_decomp/baselines/layerflow_rgb_1000/layerflow_fgcond/all"
}
],
"date": "2026-08-13",
"detail": "LayerFlow (RGB) foreground-conditioned composition \u2014 a harmonize/insertion baseline that REGENERATES the fg (low identity).",
"caption": "\u2014"
},
{
"name": "LayerFlow RGB Background-Conditioned Composition",
"task": "harmonize",
"baseline": true,
"attn": null,
"mesh": "LayerFlow CogVideoX-2B \u00b7 BG-conditioned RGB iter1000 \u00b7 16f 480\u00d7720",
"wandb_id": null,
"status": "baseline",
"note": "Official LayerFlow background-conditioned RGB checkpoint at iteration 1000. It receives the aligned clean background plus descriptive foreground/background/composite prompts, and generates the foreground and final composite. The release does not expose a checkpoint that simultaneously hard-conditions both foreground and background videos.",
"checkpoints": [
"rgb-1000"
],
"evals": [
{
"checkpoint": "rgb-1000",
"count": 458,
"name": "10 harmonize benchmark sets \u00b7 458 clips \u00b7 16 frames",
"url": "viewer.html?eval=experiments/layer_decomp/baselines/layerflow_rgb_1000/layerflow_bgcond/all",
"path": "experiments/layer_decomp/baselines/layerflow_rgb_1000/layerflow_bgcond/all"
}
],
"date": "2026-08-13",
"detail": "LayerFlow (RGB) background-conditioned composition \u2014 harmonize baseline; lowest fg-identity of the harmonize references.",
"caption": "\u2014"
},
{
"name": "VOID",
"task": "decompose",
"baseline": true,
"attn": null,
"mesh": "CogVideoX-Fun-V1.5-5B + Gemini/SAM3 quadmask \u00b7 1-GPU",
"wandb_id": null,
"status": "baseline",
"note": "External baseline \u2014 VOID: Video Object and Interaction Deletion (arXiv 2604.02296). Benchmark mask replaces click/SAM2 Stage 1; Gemini 3.1 Pro + SAM3 build the interaction-aware quadmask. Native 384x672, 85-frame window, 50 steps; conditional flow-warped Pass 2. github.com/Netflix/void-model.",
"checkpoints": [
"pretrained"
],
"evals": [
{
"checkpoint": "pretrained",
"count": 604,
"name": "RORD50+PROVE-M+PROVE-H+VOR-Eval+VOR-Wild+ROSE-Bench+PVIX \u00b7 object-removal baseline \u00b7 native resolution, first 81 frames (bg = removal result vs pristine clean plate; no-GT sets PROVE-H/VOR-Wild/PVIX scored reference-free via RC-S/RC-T).",
"url": "viewer.html?eval=experiments/layer_decomp/baselines/void/evals/all",
"path": "experiments/layer_decomp/baselines/void/evals/all"
}
],
"date": "2026-08-11",
"detail": "External object-removal baseline (VOID).",
"caption": "\u2014"
},
{
"name": "PISCO Removal-1.3B \u2014 480p \u00b7 49f",
"task": "decompose",
"baseline": true,
"attn": null,
"mesh": "PISCO Removal-1.3B + Wan2.1 T2V-1.3B \u00b7 480p \u00b7 49f",
"wandb_id": null,
"status": "baseline",
"note": "PISCO's released Removal-1.3B VACE adapter, strict-loaded beside the Wan2.1 T2V-1.3B backbone because the public service omits that backbone. Paper comparison profile: 832x480, first 49 source indices, 50 steps, CFG 5, sigma shift 5. The model-facing prompt is empty; the benchmark instruction is retained in records and the viewer.",
"checkpoints": [
"paper-480p-49f"
],
"evals": [
{
"checkpoint": "paper-480p-49f",
"count": 754,
"name": "12 decompose benchmark sets \u00b7 754 clips \u00b7 480p \u00b7 first 49 source frames",
"url": "viewer.html?eval=experiments/layer_decomp/baselines/pisco_paper480p/pisco_removal/all",
"path": "experiments/layer_decomp/baselines/pisco_paper480p/pisco_removal/all"
}
],
"date": "2026-08-15",
"detail": "PISCO 1.3B removal baseline (paper 480p/49f setting) \u2014 object-removal reference.",
"caption": "\u2014"
},
{
"name": "PISCO-14B Five Frames \u2014 480p \u00b7 49f",
"task": "harmonize",
"baseline": true,
"attn": null,
"mesh": "PISCO-14B \u00b7 Five Frames \u00b7 480p \u00b7 49f",
"wandb_id": null,
"status": "baseline",
"note": "Official PISCO-14B insertion checkpoint at the paper's Five Frames setting: first and last plus three deterministic random interior controls, 832x480, 49 frames, 50 steps, CFG 5, sigma shift 5 and DiT switch 0.642. DA3 supplies clean-background and masked instance depth. The model-facing prompt is empty; the benchmark instruction is retained for the viewer and Gemini harmonization judge.",
"checkpoints": [
"paper-480p-49f-five-frames"
],
"evals": [
{
"checkpoint": "paper-480p-49f-five-frames",
"count": 458,
"name": "10 harmonize benchmark sets \u00b7 458 clips \u00b7 480p \u00b7 49f \u00b7 Five Frames",
"url": "viewer.html?eval=experiments/layer_decomp/baselines/pisco_paper480p/pisco_insertion/all",
"path": "experiments/layer_decomp/baselines/pisco_paper480p/pisco_insertion/all"
}
],
"date": "2026-08-15",
"detail": "PISCO-14B five-frame insertion baseline (paper 480p/49f) \u2014 harmonize/insertion reference.",
"caption": "\u2014"
},
{
"name": "UnderEraser",
"task": "decompose",
"baseline": true,
"attn": null,
"mesh": "Wan2.1-Fun-V1.1-14B-InP + UnderEraser/LightX2V \u00b7 1-GPU",
"wandb_id": null,
"status": "baseline",
"note": "External baseline \u2014 UnderEraser: From Understanding to Erasing (arXiv 2604.01693). Released 14B recipe: native landscape 480x720 / portrait 720x480, 81 frames, four-step LightX2V, UnderEraser LoRA weight 0.55, prompt-free. github.com/WeChatCV/UnderEraser.",
"checkpoints": [
"pretrained"
],
"evals": [
{
"checkpoint": "pretrained",
"count": 1660,
"name": "RORD50+PROVE-M+PROVE-H+VOR-Eval+VOR-Wild+ROSE-Bench at 41/61/81 frames + PVIX \u00b7 object-removal baseline \u00b7 released 81-frame generation, length-matched first-frame crops (no-GT sets scored reference-free via RC-S/RC-T).",
"url": "viewer.html?eval=experiments/layer_decomp/baselines/undereraser/evals/all",
"path": "experiments/layer_decomp/baselines/undereraser/evals/all"
}
],
"date": "2026-08-20",
"detail": "External object-removal baseline (UnderEraser), added in the 08-20 baseline refresh.",
"caption": "\u2014"
}
],
"caption_legend": {
"title": "Captioning schemes (text conditioning) \u2014 how the per-clip text evolved",
"schemes": [
[
"v1-prompts",
"Fixed generic per-task prompts (no per-clip content). Earliest runs."
],
[
"v2",
"Per-clip VLLM descriptions of the composite / foreground / background."
],
[
"editcap2",
"Edit-style instructions (\u201cremove/insert the \u2026\u201d) restyled from v2; not grounded. (The \u201c2\u201d = a same-day 2026-07-24 restyle after review of an initial editcap v1; v1 was only used in a sanity smoke run, so NO tracked experiment uses editcap1.)"
],
[
"editcap2-grounded",
"editcap2 with fg identity + object count grounded in renderer GT (kubric/bedlam) \u2014 fixes pre-grounding hallucinated identities/counts. All current runs use this."
],
[
"fgcorrupt (completion)",
"A per-clip caption SWAP layered on editcap2-grounded: whenever the fg-occlusion aug grays part of the object (meta['occluded']), the harmonize instruction is replaced by one that explicitly says \u201creconstruct & complete the missing / occluded parts of the object out to its full natural extent, then integrate it\u201d (kept GENERIC \u2014 never names which parts, since the occluded region is random). Makes \u201ccomplete the foreground\u201d correlate 1:1 with real occlusion. Used by the fgpred / occlusion-completion harmonize runs (caption_fgcorrupt_rewrite.py)."
]
],
"note": "Caption tags stack: a run\u2019s base scheme (e.g. editcap2-grounded) plus, for occlusion-completion training on the *_editcap2_fgcorrupt / *_grounded views, the \u201c+fgcorrupt\u201d completion-caption swap above. Decompose runs\u2019 edit captions also carry inpainting guidance for the region BEHIND the removed object (\u201crestore the wall/floor that was behind it\u201d)."
},
"hf": {
"ours": "https://huggingface.co/datasets/cs-mshah/layergen-evals",
"baselines": "https://huggingface.co/datasets/cs-mshah/layergen-evals-baselines"
}
}