PhysJEPA · 09-16 → 09-22 · 新立项

训练数据 Sim→Real 外观迁移:为什么、用什么、怎么做

PhyCo 和 Physion 全是渲染出来的,模型到 Physics-IQ 真实视频上就崩:光流预测 17.97 分,连"不喂光流"的 34.83 都不如。本周立项:把训练视频的 RGB 换成真实感画面,运动/几何/mask 一个像素都不动。调研了闭源 API、开源可控生成模型和四十余篇论文(80 个代理两轮事实核查),定下路线,代码与集群基建已就绪,等 Phase 0 诊断放行。

先看结论

Physics-IQ 现状
17.97pred / zero 34.83 / oracle 45.0
域差分解
3.2× × 10.17×mask 失配(已除)× 外观域差
本周核心发现
Stage-1 只吃首帧→ 图像级迁移,秒/张
首轮预算
≈ 30 GPU·h750 条 pilot,8×A100

MiniMax H3 不能当主转换器

H3(官� API 名 "Hailuo-03",07-31 发布、08-03 开源 33B 权重)是 MiniMax 唯一接受视频输入的模型,但只有 reference_video语义再生成模式:它把参考视频当"角色/运动/镜头/风格"的提示,从噪声重新生成一段新视频。没有 depth / segmentation / flow / mask 控制,没有 video-to-video 编辑端点(base_video 只用于 768P→2K 升清),没有贴合度参数。物体轮廓、位置、时序可以漂几个到几十像素,构图也会变——我们的 GT 光流和 mask 就对不上了,而"运动形式不变"是硬要求。价格 $0.64 / 4 s 片(输入视频按输出价再计一次),40k 片 ≈ $25.6k。Kling O3、Runway Aleph 2、Seedance 2.0、Grok Imagine、Wan2.7-videoedit 全是同一范式;Sora 2 API 09-24 停服;Veo 3.1 无视频输入。

像素对齐只有一条路:密集结构控制的 world-to-world 翻译器

做 sim2real 的人(NVIDIA Cosmos-Transfer、Seeing Realism from Simulation、DriveCtrl、RoboTransfer、EmbodieDreamer、Mask2Real-WM)全部收敛到同一配方:depth + segmentation + edge 控制视频(+ 源视频部分加噪)。segmentation 是防止物体在碰撞/遮挡时变形消失的关键(有/无 mask FVD 176 vs 423);edge 贴合最紧但会把 CG 平面着色"烤"进去;depth/seg 更真实但会幻觉结构。推荐分区权重:物体区 edge+depth、背景区 seg/depth。我们的数据自带这些控制图:PhyCo 有 depth.mp4 + segmentation.mp4,Physion HDF5 有 _id 逐帧实例通道。

没有任何模型或论文报告过"源 GT 光流 vs 输出光流 EPE"

已发表的对齐指标只有 mask mIoU 0.63–0.72、Edge F1 0.14–0.28、depth si-RMSE ~0.47。我们要的 1–2 px 门槛必须自己在 pilot 里量,而且默认参数大概率达不到(mIoU 0.72 ≪ 0.9)——所以计划里每一条产物都要过逐条门禁,不合格换 seed 重试一次再剔除。

关键代码事实:Stage-1 只消费首帧

这一条把主成本从"周"压到"天"。

cache_stage1_flowdit.py::read_first_frame 是 Stage-1 训练缓存里唯一读 RGB 的地方:取第 0 帧,Wan VAE 编成 image_cond_latent,再缩成 160² 的 first_frame 给解码器;监督信号 flow_latent 全来自 GT 光流。Stage-1 训练时从未见过第 1…N 帧的像素。Physics-IQ 上失效的恰是 Stage-1(真实首帧→光流),Stage-2 的 zero 臂 34.83 ≈ 公开 base。所以:

候选模型(全开源,A100-80G 可跑)

首帧(图像级)与全视频后端
用途模型控制要点状态
首帧FLUX.1-dev + ControlNet-Union-Pro-2.0depth + edge(双控制),可 img2img 保留源帧秒级/张;FLUX dev 非商用许可(研究可用)pilot 首选
首帧Cosmos-Transfer2.5 Image2Imagedepth + seg + edge + 权重与视频版同控制集;走其自带 CLIpilot
首帧Qwen-Image-Edit-2511指令式,无硬控制Apache-2.0;靠门禁筛第三臂
视频Cosmos3-Nano 16B(2026-05-31)edge/blur/depth/seg 控制视频,480p,fps 可配与我们 24 fps 数据最匹配;A100 时延未知2b 首选
视频Cosmos-Transfer2.5-2Bdepth/seg/edge/blur + 时空 mask65.4 GB 只能 80G 卡;480 分辨率有运动幻觉 issue → 720p 跑再降采样2b
视频Wan2.1-VACE-14B / 1.3Bdepth / flow 可视化 + 参考图Apache-2.0,diffusers 原生;1.3B 是唯一能几天内跑完 40k 片的2b
视频Wan2.2-VACE-Fun-A14Bdepth/canny/pose与 Stage-2 同一 Wan2.2 潜空间;需社区转换权重备选
叠加NeuralRemaster φ-PD相位保持噪声零开销,Wan2.2-14B 上验证过加固
否决MiniMax H3 / Kling / Runway / Seedance无结构控制只在报告里给结论,默认不做付费 pilot不用

吞吐(8×A100 单卡数据并行):VACE-1.3B@480p×81 帧 ≈ 4 min/片 → 40k ≈ 14 天,4 步蒸馏 LoRA ≈ 1 min/片;14B 级 6–12 周(蒸馏后 1–2 周);Cosmos-2.5 base ≥ 1 个月。所以全视频只做子集,首帧全量。

执行计划(一步一步来,每一步有门禁)

本周交付

代码与基建(全部本地验证:py_compile、无 GPU 单元检查、kubectl dry-run)
文件作用
scripts/restyle/common.py分片 / 原子写 / sidecar;Cosmos 约定的控制图编码(逆深度整段 min-max、按面积降序随机色实例、"干净边" = 实例边界 ∪ Canny(depth))
scripts/restyle/export_controls.pyPhyCo / Physion 控制包导出(CPU)
scripts/restyle/restyle_frame0.py三个首帧后端封装;diffusers 类名与参数已对源码核实
scripts/restyle/gate_frame0.py静态门禁(SAM2 / Depth-Anything / DINOv2),阈值全是 CLI 参数
scripts/restyle/build_restyled_manifests.py保 sample_id、去颜色词、val/test 不动;每样本 hash 选一个通过变体
scripts/restyle/phase0_make_degraded.py · score_stage1_physicsiq.pyPhase 0 退化链与打分
scripts/cache_stage1_flowdit.py新增 --video-override-manifest,payload 记 first_frame_source
k8s/restyle/*Dockerfile、Indexed Job(80G-only affinity、忽略抢占)、pod 驱动(burn.py 到 MODEL_READY 即停)、权重下载、运行手册
jobs/restyle_driver.sh本机驱动:configmap / sync-code / submit / count / merge-gates
docs/preregistration_restyle_20260922.md预注册:假设、门禁阈值、主指标与成功线、污染红线

写代码时发现的三个坑(已处理)

  • flow cache 按 sample_id 键控——同一样本的 K 个变体会互相覆盖,所以 manifest 每样本只选一个变体(跨样本仍有多样性);真正的多变体增广是 Phase 5 的缓存格式改动。
  • Physion 的 grounded caption 从首帧像素取中位色写"red cube",换色后全错且不报错——一律用项目已有的去颜色 manifests。
  • Physion 训练集 HDF5 是否含 _depth 未证实(_flow 就缺)——需 h5py 实测,退路是用项目已有的网格 z-buffer 光栅化出深度。

约束与风险

下一步 · 待拍板

  1. Phase 0 诊断在 DeltaAI 开跑(命令已写在 docs/restyle_phase0_diagnostic.md)。
  2. Nautilus Phase 1:configmap / inspect pod / 代码同步 / 权重下载;PhyCo 下载需要 RuoliuYang token 的 Secret 或从 DeltaAI 中转。
  3. FLUX.1-dev 需用 yrlyrl 账号在 HF 接受许可。