WorldCraft:在镜头可控的视频世界模型上加物体操控
WorldCraft 让你点物体、画路径,在镜头可控的视频世界模型里把它拖着走。轨迹误差 38.90px,优于 DragAnything 的 39.86,镜头 RPE 仍保持 0.131。
快速答案
WorldCraft 拿一个已经听镜头指令的视频世界模型,补上物体操控:你点一个物体,画它该去哪,模型就让这个物体沿你的路径移动,同时镜头继续在场景里游走。在轨迹精度集上,它的轨迹误差 38.90px,DragAnything 是 39.86,Wan-Move 是 44.08;PSNR 17.23(基线 15.97-16.42),LPIPS 0.363(基线 0.375-0.468)。在纯镜头评测下,镜头精度几乎不动:61 帧时 RPE 旋转 0.131、平移 0.0161。增益是三个组件一起作用的结果,不是单个损失的功劳,消融也讲清了哪个在哪里起作用。
缺口:镜头控制解决了,物体控制没有
像 Yume、Matrix-Game 2.0、GameCraft 这类交互式视频世界模型,以及 OmniDirector 那套镜头可控的多镜头工作,都能让你驾着镜头穿过生成的场景。它们做不到的,是抓住一个物体把它挪走。最直接的补法是在屏幕上画一条拖拽线,条件在这些 2D 像素上,这正是 DragAnything 一类方法的做法。可镜头一动它就崩:画在像素空间里的路径,视角一转就失效了,因为同一个世界运动现在落在了不同的像素上。WorldCraft 的前提是:物体控制必须放在世界里,而不是屏幕上。
怎么加物体控制又不毁掉镜头
三块东西叠在一个冻住的镜头控制骨干上。
归一化世界轨迹(NWT)用单目深度把你屏幕上的拖拽转成相机无关的世界坐标,再按每一帧当下的相机位姿重投影回去。路径锚在世界里,镜头绕一圈,物体还是去你想要的地方。消融直接给这一项记功:世界空间加迭代深度细化,在小旋转下轨迹误差到 30.82,而像素空间基线是 35.82。
Spatial-Pathway LoRA(SP-LoRA)用一个约 50M 参数的低秩适配器注入物体控制信号,预训练的镜头控制器原封不动。这是承重的设计选择。表 5a 显示,为了加物体控制去做全量微调会把镜头搞坏,RPE 旋转从 0.131 飙到 0.237。LoRA 在镜头精度上几乎零成本换来了物体控制,这就是不重训骨干的全部意义。
轨迹锚定状态持久(TASP)处理自回归里的失效场景:你挪过的物体离开画面,镜头摇回来,普通模型会把它重画到错的位置,或者干脆忘了它。TASP 在整段 rollout 里保住物体的世界状态,让它正确地重新出现。这也是 WorldCraft 能撑住 253 帧(约 10.5 秒)、中途有出画移动的原因,这种长时一致性问题,Echo 这类带记忆的动作世界模型是从状态持久的角度切入的。
镜头精度的数字要小心读
最容易误读的是”WorldCraft 白送物体控制,镜头质量没变”。接近,但这个比较是纯镜头的:RPE 测的是没有任何拖拽的片段,它告诉你镜头控制器在 LoRA 之后还活着,而不是物体操控在画面上从不付代价。诚实的说法要窄一些:用小适配器加物体控制,镜头跟踪保持完好(0.131,对全量微调的 0.237),而且在长时端,WorldCraft 253 帧时 0.123 旋转 / 0.0233 合并 RPE 反而超过 WorldPlay 基线。这个长时优势比头条上的轨迹数字更有意思。
关键结果
- 轨迹控制(静态镜头): 轨迹误差 38.90px,DragAnything 39.86,Wan-Move 44.08;PSNR 17.23 对 15.97-16.42;SSIM 0.616 对 0.592-0.600;LPIPS 0.363 对 0.375-0.468。四项指标上一致领先,但是小胜,不是碾压。
- 镜头精度,短时(61 帧): 带 LoRA 时 RPE 旋转 0.131、平移 0.0161、合并 0.0170。
- 镜头精度,长时(253 帧): RPE 旋转 0.123、平移 0.0225、合并 0.0233,在大多数自回归世界模型会漂移的长时端超过 WorldPlay。
- NWT 消融: 世界空间轨迹加迭代深度细化,小旋转下轨迹误差 30.82,像素空间变体 35.82,把精度增益的来源单独归到世界坐标这个想法上。
- SP-LoRA 消融: 约 50M 参数是甜点;为加同样控制做全量微调会把镜头 RPE 从 0.131 拉到 0.237,所以保住镜头的是适配器,不是控制信号本身。
- 课程消融: 先 Static-BI 再 Dynamic-AR 的训练日程,避免静态轨迹阶段和自回归阶段之间的灾难性干扰。
训练数据与基线
训练用了 27,027 段过滤后的片段,来自 WISA-80K(8.5K)、SpatialVID-HQ(24K)、OmniWorld(2K)。评测分成 50 段轨迹精度集、50 段镜头精度集,以及一个按旋转幅度分层的 45 段可组合集。轨迹基线(DragAnything、Wan-Move)是静态镜头的拖拽方法,所以在静态集上赢它们是公平的比;镜头基线(Yume、Matrix-Game 2.0、GameCraft、WorldPlay)根本不能做物体控制,所以那边比的是不回退镜头质量,而非物体精度的正面交锋。要记住一点:之前没有方法同时做这两件事,所以 WorldCraft 的部分”胜出”其实是”屋里唯一能做 X 的”。
局限与存疑
论文对三个失效模式很坦白。单目深度估计在大旋转下变差,而那恰恰是世界空间重投影最需要深度准的时候,所以镜头猛甩时 NWT 的优势会收窄。轨迹控制跑在隐空间 token 粒度上(16x16 像素),小物体落到格子以下,没法精确移动。出画动态只限于你指定的那条轨迹:TASP 持久的是你让它动的东西,它不会为你没在看的东西模拟独立的世界动态。论文也没报用户研究,所以”可控”是用轨迹误差和视觉指标衡量的,而非人是否真能把它操到自己想要的样子。对开发者,这是给现成镜头世界模型加可拖拽物体、又不必重训的一份扎实配方,代价是你继承了自己深度估计器的失效模式。这和 关于空间智能预训练范式的研究里”几何先验从哪来、靠不靠得住”的关切是连着的。
常见问题
WorldCraft 比只有镜头的视频世界模型多了什么?
点选拖拽的物体操控。现有的交互式世界模型(Yume、Matrix-Game 2.0、GameCraft)能让你驾镜头穿过生成场景,但不能移动里面的物体。WorldCraft 加了一条路径:你点物体、画轨迹,模型就在世界坐标里让它沿路径动,同时镜头继续游走。它靠的是冻住的镜头骨干上一个约 50M 参数的适配器,所以镜头控制器照常工作。
镜头移动时,WorldCraft 怎么保持物体控制准确?
靠归一化世界轨迹。画在屏幕像素上的拖拽,视角一转就失效,因为同一个世界运动映到了不同像素。WorldCraft 用单目深度把你的 2D 拖拽抬到相机无关的世界坐标,再按每帧的相机位姿逐帧重投影。消融显示世界空间版本在小旋转下轨迹误差 30.82,像素空间基线是 35.82。
给 WorldCraft 加物体操控会损害镜头精度吗?
几乎不会,这正是设计意图。物体控制走 Spatial-Pathway LoRA(约 50M 参数),不重训骨干。纯镜头评测下 RPE 旋转保持 0.131;消融显示用全量微调做同样的事会把 RPE 拉到 0.237。在 253 帧长时端,WorldCraft 的合并 RPE 0.0233 甚至超过 WorldPlay 基线。但测量是纯镜头的,所以这意思是镜头控制器活下来了,而不是物体运动在视觉上零成本。
为什么 WorldCraft 移动不了小物体?
因为轨迹控制工作在隐空间 token 粒度,大约每个 token 16x16 像素。比这个格子小的物体没法被精确定位,所以细小物体的操控够不着。这是隐空间的分辨率限制,跟大旋转下打击系统的深度估计误差是两回事。
一句话:WorldCraft 把拖拽搬进世界坐标、再用小 LoRA 注入,给镜头驱动的视频世界模型加上点选拖拽的物体控制,镜头控制器保持完好(0.131 RPE),轨迹误差超过 DragAnything(38.90 对 39.86)。阅读 arXiv 原文。