原文链接:https://mp.weixin.qq.com/s/5qi6-uFFUrMee7qQPTzWvQ
最近,自动驾驶 world model 确实很火。前两天和大家聊的是理想的前馈 GS 方案 StreetForward,今天分享的是浙大 & 小米的 PhyGenesis。
PhyGenesis 主要针对的是当前自动驾驶 world model 的一个“结构性缺陷”:模型在视觉上可以生成合理视频,但在物理上并不成立,一旦输入条件异常就会彻底失真。
从去年开始,大家已经越来越习惯看各种 multi-view driving video generation 的 demo:给一帧初始图像、给一段未来轨迹,模型就能把未来十几帧甚至几十帧场景生成出来。白天变夜晚,正常驾驶、变道超车、路口会车,看起来都挺像那么回事。
但这个方向一直有一个很尴尬的问题:它们生成出来的视频,很多时候只是“视觉上像”,不一定“物理上真”。
平时你给它一个正常轨迹,它问题不大。可一旦输入条件开始变脏 —— 比如 planner 给了一个不太合理的轨迹,仿真器吐出了一个带碰撞穿插的未来场景,或者你故意给它一个反事实条件 —— 模型就很容易原形毕露:车会穿模,物体会变形,碰撞之后不该继续往前的车还在往前滑,甚至整个场景直接开始垮掉。
所以,本质问题可以归纳为两点:(1)输入条件空间不受约束,模型不会判断“物理可行性”;(2)训练数据分布过于单一,模型缺乏对异常动力学的建模能力。因此当前 world model 更接近“conditional video generator”,而不是“可用于仿真和决策验证的物理世界模型”。
小米的这篇 PhyGenesis 就是想补上这一层 —— 让生成模型具备物理一致性(physical consistency)和错误轨迹纠正能力(trajectory correction)。
它尝试回答一个更底层的问题:自动驾驶 world model,到底是一个 trajectory-to-video 的条件生成器,还是一个真的能理解物理世界约束的“世界模型”?
从这个角度看,PhyGenesis 的核心思想可以用一句话概括:先让世界变得合理,再去渲染这个世界。
这句话听起来很朴素,但它其实是在重构自动驾驶 world model 的问题定义 —— Physical AI。过去很多方法更像是在做:trajectory → video,而 PhyGenesis 想做的是:trajectory → physics-consistent state → video
也就是在“生成视频”之前,显式插入一层物理世界推理层。这不是小修小补,而是结构层面的改写。
- 论文标题:Toward Physically Consistent Driving Video World Models under Challenging Trajectories
- 论文链接:https://arxiv.org/abs/2603.24506
- 项目主页:https://wm-research.github.io/PhyGenesis/

为什么现在自动驾驶仿真会卡在“物理一致性”?
PhyGenesis 总结了两个根本问题,我觉得说得非常准。
第一,现有模型普遍没有轨迹可行性意识。
仿真器、规划器甚至用户交互给出的 trajectory,可能存在重叠、穿透、速度不连续、曲率异常这些违反物理约束的情况。但很多 world model 本质上只是一个 condition-to-pixel translator。你给它什么条件,它就硬着头皮往视觉上翻译,至于这个条件本身合不合理,它并不会判断。
第二,现有模型普遍没见过足够多的“坏世界”。
主流真实数据集,尤其像 nuScenes 这种,绝大部分都还是安全、正常的驾驶行为。碰撞、越界、急停、失控、多车极端交互,本来就是稀缺样本。结果就是模型训练时只学会了“安全世界该怎么长”,一旦推理到 corner case,就会崩。PhyGenesis 里反复强调的,其实就是这个分布过于单一的问题。
所以 PhyGenesis 不是在解决“画质不够好”的问题,而是在解决一个更现实的落地问题:
当输入本身不干净,甚至不合理的时候,world model 还能不能输出一个物理上自洽的未来场景。
PhyGenesis 的核心是两层分工
PhyGenesis 整体由两部分组成:
第一层叫 Physical Condition Generator, 第二层叫 Physics-Enhanced Multi-view Video Generator(PE-MVGen)。
你可以把它理解成一个“先纠错,再渲染”的双阶段系统。也就是我们前面说的 “先让世界变得合理,再去渲染这个世界。”

Physical Condition Generator
第一层的 Physical Condition Generator,它的作用不是生成图像,而是对输入的 agent trajectory 做“物理修复”。
这里的关键不是简单平滑轨迹,而是做一个多智能体、受地图约束、符合动力学的6-DoF状态重建,它会显式建模车辆之间的交互(例如避免空间重叠)、考虑地图约束(例如不能开出道路边界),并在时间维度上保持连续性(避免速度/加速度突变)。可以把它理解成一个“learned physics engine”,输入是可能错误的轨迹,输出是一个最接近原始意图但符合物理约束的轨迹版本。
这部分是 PhyGenesis 最值得讲的地方。具体地说,系统拿到的是未来 (T) 帧里所有车辆的二维位置:

问题在于,这种 2D 轨迹表示虽然和主流 planner / simulator 的输出格式兼容,但它天然不包含姿态、俯仰、翻滚和垂向信息,更不具备“碰撞以后该怎么变”的物理表达能力。于是论文的第一步,就是把它变成物理对齐的 6-DoF trajectory。
这里最关键的一点是:它不是在做轨迹平滑,而是在做轨迹纠错。
这和很多人第一眼看到时的直觉不一样。不是“把抖动变顺”,而是“把错误世界修成合理世界”。
这也就是论文里面说的 learned physics engine,我觉得非常贴切。因为它确实同时在建模三件事:
- 车辆之间的交互,避免空间重叠和相互穿透;
- 地图约束,不能直接开出道路边界;
- 时间连续性,不能出现不合理的速度/加速度突变。
而真正让这个模块work的,是“反事实轨迹纠错”训练任务。整体看下来, PhyGenesis 最有意思的地方,还不是架构,而是训练数据构造。
他们没有满足于“拿真实轨迹做监督”,而是主动构造了一种 counterfactual trajectory rectification 任务。
做法是这样:
- 对于 simulated collision clip,碰撞前的轨迹保留原样;
- 碰撞后的部分,故意用碰撞前速度继续往前外推,于是就制造出一种“物理上不该发生、但规划器可能真会吐出来”的错误轨迹;
- 而 simulator 里的真实日志,则作为纠正目标。
这本质上是在教模型一件很重要的事:什么叫“错误的物理”。
而且它不是靠手写规则去教,而是靠“错误轨迹 → 正确轨迹”的学习配对去教。
一句话总结这一层,就是:
Physical Condition Generator 的意义,在于它把 planner 的脏输出,当成了 world model 的正式输入分布。
PE-MVGen
不只是生成视频,而是在“物理修正之后”生成视频。
第二层的 Physics-Enhanced Video Generator,这一部分才是我们熟悉的 world model(类似 diffusion / video generation),但关键在于它的输入已经不再是“脏的 trajectory”,而是经过物理修正后的条件,因此生成时不需要“猜测物理是否合理”,而是只需专注于视觉一致性、多视角一致性以及时序平滑。换句话说,物理约束被前置成条件,而不是让生成模型隐式学习。
PE-MVGen,底子来自 Wan2.1 这个高容量 的 diffusion transformer,再加上 3D VAE 做 latent 编码。它会把多视角 clip 编码到 latent space 里,并通过把 view 维拼进 spatial 轴的方式,让同一个 self-attention 同时建模 cross-view dependency。
具体来说,PhyGenesis 会把未来T帧的 3D agent boxes 和 map polylines 投影到每个相机树胶,形成 view-specific 的 control image,再编码成layout条件送进 DiT。训练目标沿用 Wan2.1 的 rectified flow / flow matching 范式:

并通过

去学习从噪声到视频 latent 的速度场。
但 PE-MVGen 真正有价值的地方,不在于“它用了 DiT”,而在于:
它吃进去的 condition 已经不再是原始轨迹,而是经过物理修正后的条件。
物理约束被前置成了条件,生成器可以专注在多视角一致性、时间一致性和视觉保真度上。
只靠真实世界数据不够
这一点也非常关键。
PhyGenesis 并不是只靠架构获胜,它的另一半战斗力来自数据。
PhyGenesis用 CARLA 构建了一套物理富集的异构数据集。原始仿真数据大约 31 小时,其中 CARLA-Adv 有 15.5 小时、约 76 万个标注框;CARLA-Ego 有 15.2 小时、约 83 万个框。然后再利用碰撞传感器 和 HD map 元数据,精确筛出 9.7 小时的 物理挑战性 clips,最后和 4.6 小时真实世界数据一起组成 heterogeneous dataset。
这些数据不是随便跑出来的,他们会扰动 route 和 target speed,专门诱导 碰撞、出车道、突然变速 这些极端事件。
这一步也是想利用仿真的能力,补齐真实数据最稀缺的corner case,也就是失败世界、异常世界、碰撞世界。
实验结果
1)在 2D 轨迹下,PhyGenesis 全面领先。
Table 1 里,nuScenes 用 nominal trajectories,CARLA Ego 和 CARLA ADV 用 physics-violating trajectories。结果 PhyGenesis 在三套数据上都拿了最好的结果。
尤其在两套更难的 CARLA 数据上,优势非常明显:

2)输入真值,它也还是更强
论文又做了一组实验:不给反事实轨迹,所有方法都吃真实轨迹。 按理说,这时候 Physical Condition Generator 的价值会变小,因为输入本身已经是合理的。可结果依然是 PhyGenesis 最强。

说明它的提升不只是“前面多了个纠错器”,后面的 PE-MVGen 由于见过更多 physics-rich data,本身也真的学会了更复杂的物体—环境交互。换句话说,它不只是会修输入,也更能理解极端世界。
3)Physical Condition Generator 确实在“修世界”,不是装饰件
Table 3 专门测了 trajectory rectification 的效果。

4)消融实验的结论很硬
这其实已经给出一个很强的结构性结论了:
只把模型做大、只在 nominal data 上继续刷,并不能自然长出“物理一致性”。
你得明确告诉系统:
- 哪一部分负责判断世界是否合理,
- 哪一部分负责在合理世界上做渲染。

最后看一些可视化:




结语
回头看,PhyGenesis 的价值不在于提出了一个更强的 video generator,而在于想明确指出并验证一件事:自动驾驶 world model 不必只靠生成模型本身学习物理规律,也可以显式的引入“物理约束层”或“状态修正机制”。
把world model从“视觉生成问题”重新定义为一个三层结构:轨迹理解(trajectory reasoning)+ 物理一致性建模(physics layer)+ 视觉生成(rendering),这是一个非常关键的范式转变。
所以,世界模型需要向 “可用于决策闭环” 的方向发展:只有当模型能够处理错误输入、生成合理交互并覆盖极端场景时,它才有可能真正用于仿真测试、planner evaluation 甚至训练闭环,而不仅仅是做 demo 视频生成。
这篇论文也是在补一块基础能力:让生成世界具备“纠错能力”和“物理可信度”,这才是从“AI生成内容”走向“AI模拟现实”的关键一步。

发表回复