ReSim: Reliable World Simulation for Autonomous Driving
Paper: arXiv:2506.09981 Code: OpenDriveLab/ReSim Code reference:
main@bf13dff4(2026-05-05)
1. Motivation (研究动机)
自动驾驶里的 world model 不只是要“生成像真的未来视频”,更关键的是要在策略评估、策略选择和闭环仿真里可靠地回答反事实问题:如果 ego 车选择一个不常见、甚至危险的动作,未来会发生什么。论文指出,很多 driving world model 主要从真实道路日志学习,而真实日志天然偏向专家驾驶、保守行为和安全轨迹;这让模型在 expert action 上看起来稳定,但一旦输入偏离训练分布的 non-expert trajectory,模型可能把危险动作“拉回”安全未来,或生成与给定动作不一致的画面。对于 policy evaluation 来说,这种 hallucination 比视觉瑕疵更严重,因为评估器会把坏动作误判成安全动作。
ReSim 的问题设定可以理解为“可靠的可控未来模拟”:输入历史前视图、可选的高层驾驶命令和细粒度未来 ego waypoints,输出未来 4 秒、10Hz、512×896 的驾驶视频;模型既要保持视觉真实,也要遵守 action condition,尤其要能展示碰撞、偏离车道、急转等低频但关键的危险后果。论文选择前视单相机作为主接口,是为了让世界模型与现实数据、仿真数据和下游视觉规划都能用统一的视频形式连接,而不是依赖特定 3D 重建或手工规则。
Figure 1 解读:图中把训练数据、模型能力和应用连成一条链。左侧强调 ReSim 不只吃 expert real-world logs,也加入 CARLA 里可探索的 hazardous / non-expert 行为;中间说明 prior model 在非专家动作下容易生成“安全但不忠实”的未来,而 ReSim 要同时做到 fidelity、action-following 与 reward estimation;右侧展示它可以服务于 policy deployment、policy selection 和 closed-loop simulation。这个图也是整篇论文的动机压缩版:可靠性来自数据分布、条件建模和奖励接口三者同时补强,而不是单独放大视频生成模型。
更具体地,论文把缺口拆成三类。第一是 data coverage:OpenDV 这类大规模公开视频提供场景多样性,但缺少精确 ego trajectory;NAVSIM 这类真实驾驶数据有规划标签,但仍以专家轨迹为主;CARLA/Bench2Drive 可以安全地探索失败与危险动作,却存在 sim-to-real 的视觉分布差异。第二是 controllability:只用 text command(如 turning left)不足以描述未来 4 秒内细粒度轨迹,必须引入 8 个未来 waypoints 这样的动作条件。第三是 application gap:一个高保真视频模型本身不能直接告诉 planner 哪个候选动作更好,所以 ReSim 进一步引入 Video2Reward,把仿真未来转换成可比较的标量 reward。
2. Idea (核心思想)
核心思想是:用“真实数据的场景多样性 + 仿真数据的危险动作覆盖”训练一个 action-conditioned diffusion world model,再用同一视频接口学习 reward,从而让世界模型既能生成真实未来,也能对非专家动作给出可信后果。ReSim 不把 CARLA 当作最终部署环境,而把它当作补齐低频失败模式和 reward supervision 的可探索数据源;同时保留 OpenDV/NAVSIM 的现实视觉分布来维持 open-world generalization。
Figure 2 解读:世界模型基于 CogVideoX 风格的 2B DiT、T5 text encoder 和 3D Causal VAE。论文新增的关键是 Trajectory Encoder,把未来 ego waypoints 投影到 DiT 输入空间;历史帧 latent 被作为干净条件保留,未来 latent 则按 diffusion timestep 加噪后由 denoiser 预测。图中还标出 conditioning augmentation 与 unbalanced noise sampling:前者让模型在 rollout 时对历史上下文误差更鲁棒,后者让训练更多关注高噪声区间,避免低噪声 shortcut 只平均相邻帧而不学动态。
ReSim 的设计直觉是“可靠仿真必须让模型见过动作后果”。如果训练集中只有专家轨迹,模型学到的是“道路场景会自然继续安全前进”的强先验;当输入一条危险轨迹时,这个先验会压过动作条件,导致生成未来不跟随动作。因此论文在 CARLA 中用 PDM-Lite 先 expert takeover 1 秒,再切换到 rule-based exploratory behaviors 执行 4 秒,收集 slight turns、hard turns、forced lane changes、tailgating 等非专家行为。这样做不是为了让最终画面完全像 CARLA,而是为了给模型提供真实日志中缺失的因果样本:危险转向会怎样影响画面、追尾会怎样发生、偏离车道会怎样展开。
Figure 3 解读:Video2Reward 用 CARLA 的 infraction score 监督一个视频奖励模型。训练时,DINOv2 逐帧抽特征,两个时空 attention block 聚合视频信息,MLP 输出标量 reward;推理时,真实场景中的候选 trajectory 先由 ReSim 渲染成未来视频,再由 Video2Reward 打分。这个设计把“仿真器里的可观测安全反馈”迁移到真实视频预测上,避免手工拼接碰撞检测、车道偏离等 3D 规则,也让 reward 与 world model 的视频输出接口一致。
论文的一个重要取舍是:它没有把问题定义成单纯的 video prediction benchmark,而是把 prediction、control 和 reward 三个目标绑定。FID/FVD 可以说明视觉质量,Trajectory Difference 可以说明 expert action following,human preference 可以看 non-expert controllability,NAVSIM policy selection / visual planning 则检验 ReSim 是否真的能帮助决策。也就是说,ReSim 的“reliable”不是一个单指标,而是由数据覆盖、动作服从、视觉真实、奖励排序和应用收益共同支撑。
3. Method (方法)
3.1 Heterogeneous Data Compilation:用互补数据覆盖场景、动作和危险度
数据编译分三层。OpenDV 提供 1700 小时全球前视 driving videos,论文从中收集 4M video clips,并用 OpenCV flow 伪标注 Turning left、Moving forward、Turning right;由于转向比直行更难学,训练时对转向片段给 5× 采样率。NAVSIM 提供真实数据中的可用 ego trajectories,论文使用 navtrain 的 85K samples,并明确把 nuScenes 和 Waymo 留作 held-out evaluation。CARLA/Bench2Drive 则提供真实日志里稀缺的失败动作:从 220 条 predefined routes 采样,改变天气和时间,用 PDM-Lite 收集成功样本,用 rule-based non-expert agent 收集危险样本,总计 88K successful + hazardous executions,二者大约各占一半。
CARLA non-expert agent 的“expert-takeover”流程很关键:前 1 秒由 PDM-Lite 专家策略驾驶,保证初始状态合理;之后 4 秒切换到探索策略。探索策略包括 slight turns、hard turns、forced lane changes 和 tailgating,其中 tailgating 会禁用刹车并全油门制造追尾风险。每种策略还随机化转向角、速度等参数。这相当于在安全仿真器里构造真实世界很少记录但策略评估最关心的尾部事件。
公开代码中的数据入口与论文这一设定一致。sat/data_share.py 的 SharedDataset 读取 JSON schema:img_seq 或 img_seq_his + img_seq_fut 提供视频帧,cmd 提供高层命令,traj_fut 提供未来轨迹,lidar_pc_token / token 用于输出命名;sat/data_utils.py 把整数命令映射到 Turning_Left、Moving_Forward、Turning_Right。训练配置 sat/configs/train.yaml 使用 data_multi.MultiSourceDataset,训练数据示例包含 OpenDV 与 NAVSIM,train_data_weights: [1, 40] 体现真实 trajectory 数据被高权重采样;README 说明同一 schema 也支持 simulator datasets。
3.2 Controllable World Model:从 CogVideoX 到 action-conditioned driving simulator
ReSim 的 world model 继承 CogVideoX 的 text-to-video diffusion transformer。输入视频先由 3D Causal VAE 压到 latent space;历史帧 latent 作为 clean context,未来帧 latent 在 timestep 加噪;denoiser 在历史帧 、文本命令 和未来 ego waypoints 条件下预测未来 latent。论文的 diffusion loss 只作用在第 帧以后的未来部分,避免模型把重建历史帧当成主要任务:
Trajectory Encoder 是 action controllability 的核心实现。论文说它由两个 attention blocks 和线性 head 组成;公开代码 sat/sgm/modules/encoders/traj_encoder.py 中的 TrajEncoder 也对应这个结构:输入 [8, 3] future waypoints,经 LayerNorm/Linear patch embedding、sine 或 learnable positional embedding、Transformer blocks,再投影到 out_dim=4096;若轨迹全零,输出会被 mask 成零,支持训练中 drop trajectory 的 free-driving setting。sat/configs/train.yaml 中 TrajEncoder 配置为 seq_len: 8、dim: 1024、out_dim: 4096、depth: 2、mlp_dim: 2048、pos_emb: sine、zero_init: true、use_all_tokens: true,这比论文描述更具体。
# Code-grounded pseudocode: sat/data_share.py + sat/sgm/modules/encoders/traj_encoder.py
for clip in json_dataset["clips"]:
frames = clip["img_seq"] if "img_seq" in clip else clip["img_seq_his"] + clip["img_seq_fut"]
command = clip.get("cmd", "")
if isinstance(command, int):
command = cmd_to_action[command]
caption = prefix_prompt + normalize(command)
fut_traj = clip[traj_key][:8] # [8, 3], x/y/heading
video = load_resize_crop_frames(frames, size=[512, 896], fps=10)
batch = {"mp4": video, "txt": caption, "fut_traj": tensor(fut_traj)}
traj_tokens = TrajEncoder(seq_len=8, dim=1024, out_dim=4096, depth=2)(batch["fut_traj"])
if all_waypoints_are_zero(batch["fut_traj"]):
traj_tokens = zeros_like(traj_tokens)3.3 Dynamics Consistency Loss、unbalanced noise sampling 与三阶段训练
论文认为普通 diffusion loss 容易把视觉质量学好,却不一定保证动态一致性,特别是 rare maneuver 中 agent–environment interaction 更复杂。Dynamics Consistency Loss (DCL) 的思路是:从生成视频中抽取由模型隐含的运动/动态表示,与真实未来的对应动态保持一致;论文的 ablation 发现把 motion extraction 的最大间隔扩到 效果最好。虽然当前公开仓库里没有显式命名的 DCL 模块,论文主文和图 S.11 都把它作为 world model training 的关键策略;笔记中把 DCL 视作 paper-level method,而不把它误标成已在公开代码中可直接定位的函数。
Unbalanced noise sampling 针对另一个训练捷径:uniform timestep sampling 下,低噪声步骤太容易通过相邻帧平均恢复,模型不必学习真实运动细节。ReSim 把高噪声区间 [500, 1000] 的采样频率从 提高到 ,迫使 denoiser 在输入被更强破坏时仍恢复动态结构。这个策略尤其服务于非专家动作,因为危险动作的视觉变化通常更剧烈,低噪声 shortcut 更容易掩盖真实动态。
三阶段学习把“先学世界、再学动作、最后高分辨率联合微调”拆开:Stage 1 在 OpenDV 上训练 DiT,512×896,batch size 80,LR ,20K steps;Stage 2 冻结 DiT,只训练 LoRA 和 Trajectory Encoder,在 OpenDV/NAVSIM/CARLA 上以 256×448、batch size 160、LR 训练 80K steps;Stage 3 继续训练 DiT、LoRA 和 Trajectory Encoder,在 512×896、batch size 80、LR 下训练 50K steps。
论文补充说明所有训练阶段用 40 张 A100,总时长约 14 天。公开 sat/configs/train.yaml 是可运行配置样例,其中 train_iters: 300000、save_interval: 2500、eval_interval: 10000、DeepSpeed ZeRO stage 2、gradient clipping 0.1、LoRA rank 128、T5 max_length: 226、trajectory ucg_rate 0.5 等,和论文的 stage table 是不同粒度的信息;因此笔记中把论文表 S.5 的 stage numbers 与代码配置 numbers 分开引用。
# Paper-level pseudocode for the three-stage curriculum; numeric settings from Table S.5
stage1 = train(DiT="trainable", LoRA=None, traj_encoder=None,
data=["OpenDV"], resolution=(512, 896), batch_size=80,
lr=1e-5, steps=20000)
stage2 = train(DiT="frozen", LoRA="trainable", traj_encoder="trainable",
data=["OpenDV", "NAVSIM", "CARLA"], resolution=(256, 448),
batch_size=160, lr=5e-5, steps=80000)
stage3 = train(DiT="trainable", LoRA="trainable", traj_encoder="trainable",
data=["OpenDV", "NAVSIM", "CARLA"], resolution=(512, 896),
batch_size=80, lr=5e-5, steps=50000)3.4 Video2Reward 与三类应用
Video2Reward 是把 ReSim 从“生成器”变成“决策辅助器”的桥。它只用 CARLA data 训练,监督信号是 CARLA simulator 的 Infraction Score,综合惩罚 collision、traffic light violation、off-road deviation 和 unreasonable low speed。模型结构是 DINOv2 backbone 逐帧编码,两个 consecutive spatial-temporal attention blocks 聚合,MLP 输出 scalar reward;训练使用 CARLA 35K random subset,20 epochs,AdamW,learning rate ,输入视频 resize 到 224×224。公开代码仓库未发现 Video2Reward/DINOv2/Infraction Score 的实现文件,因此这部分属于 paper-grounded implementation detail,而不是 released-code-grounded mapping。
ReSim 支持三类应用。第一是 Video Prediction-based Policy:ReSim 根据历史上下文生成视觉计划,再由 Inverse Dynamics Model (IDM) 把视频转成 executable ego trajectory。第二是 Reward-guided Policy Selection:多个候选策略给出 trajectory proposal,ReSim 分别渲染未来视频,Video2Reward 打分,选择 reward 最高的动作。第三是 Closed-loop Visual Simulation:策略在 ReSim 生成的想象世界里迭代运行,每一步输出下一段未来轨迹,ReSim 再生成视觉反馈。论文强调闭环仿真还不是成熟 benchmark,因为当前模型只训练前视图,多视角规划器如 UniAD/VAD 不能直接接入。
Figure 4 解读:ReSim 先从历史前视图生成未来 visual plan,IDM 再把 visual future 还原成 ego trajectory。这个流程的好处是 planner 不需要直接读取 world model latent,也不需要额外 3D annotation;缺点是性能依赖 ReSim 的视觉预测质量与 IDM 的反演准确性,两者任一失败都会影响最终 trajectory。
Figure 5 解读:闭环示例展示前视策略在 ReSim 的 imaginary world 中循环:策略基于当前视觉观察输出动作,ReSim 生成未来,再把生成帧作为下一轮上下文。这个设置比 open-loop log replay 更接近真实部署,因为策略可能把系统带到日志中没有的状态;但论文也承认,这还需要更公平的量化 benchmark。
3.5 代码搜索与 paper-code 映射
代码搜索结论:找到官方仓库 OpenDriveLab/ReSim,当前锚定 main@bf13dff4(2026-05-05)。仓库 README 标注 “[NeurIPS 2025 Spotlight]” 和 initial public code release;release roadmap 显示 training/inference scripts 已发布,OpenDV+NAVSIM expert-action weights 已发布,OpenDV+NAVSIM+CARLA expert+non-expert weights 仍未勾选。公开代码覆盖 SAT/CogVideoX-style world model 训练与推理、数据 schema、trajectory encoder;未找到 Video2Reward、CARLA collection policy、IDM/VO planner 的完整实现。
| Paper Concept | Source File | Key Class/Function | 验证结论 |
|---|---|---|---|
| JSON driving/simulator dataset schema | README.md, sat/data_share.py | SharedDataset | img_seq/img_seq_his+img_seq_fut、cmd、traj_fut、lidar_pc_token 与论文 action-conditioned data 设定一致。 |
| Command mapping | sat/data_utils.py | cmd_to_action | 整数 0/1/2 映射到 Turning_Left / Moving_Forward / Turning_Right。 |
| Multi-source training | sat/data_multi.py, sat/configs/train.yaml | MultiSourceDataset | OpenDV、NAVSIM、CARLA 数据接口共享;样例配置给出 OpenDV/NAVSIM 路径和权重。 |
| Video diffusion engine | sat/diffusion_video.py | SATVideoDiffusionEngine.shared_step | 调用 configured loss_fn,聚合 loss dict,训练主路径由 sat/train_video.py 广播 batch 并反传。 |
| Trajectory encoding | sat/sgm/modules/encoders/traj_encoder.py | TrajEncoder | 8 个 [x,y,heading] waypoints 经过 Transformer encoder 变成 conditioning tokens;空轨迹输出清零。 |
| Inference with/without trajectory | sat/sample_video.py, sat/configs/infer_nus.yaml | APPLY_TRAJ, force_c_zero_embeddings | apply_traj=True 时传入 fut_traj;否则把 fut_traj 加入 unconditional zero embeddings。 |
| Video2Reward / IDM / CARLA expert-takeover | 未在公开仓库定位 | N/A | 论文给了结构和训练细节,但当前 public release 未包含对应实现;笔记不把这些细节伪装成代码可复现。 |
# Code-grounded pseudocode: sat/sample_video.py inference control flow
for batch in validation_loader:
value_dict["fut_traj"] = batch["fut_traj"].to(device)
if args.apply_traj:
force_zero = []
else:
force_zero = ["fut_traj"]
conditioning, uncond = conditioner.get_unconditional_conditioning(
batch=value_dict,
force_uc_zero_embeddings=force_zero,
)
samples = sampler(denoiser, conditioning, uncond, fixed_history_frames=[0, 1, 2])
save_video_as_grid_and_mp4(samples, out_dir, fps=args.sampling_fps)
if args.apply_traj:
save_traj(value_dict["fut_traj"], out_dir)4. Experimental Setup (实验设置)
4.1 训练与采样设置
世界模型训练使用三类数据:OpenDV(4M clips,1700h uncalibrated front-view videos)、NAVSIM navtrain(85K samples,有 expert trajectory labels)、CARLA/Bench2Drive(88K successful + hazardous executions,约一半成功一半危险)。论文表 S.5 的三阶段训练使用 40 A100,约 14 天;Stage 1 只用 OpenDV 训练 DiT,Stage 2 冻结 DiT 训练 LoRA+Trajectory Encoder 并加入 OpenDV/NAVSIM/CARLA,Stage 3 在高分辨率上联合微调。采样时每个短期未来用 DDIM sampler 50 steps,输出 4 秒、10Hz、512×896;输入条件是 9 帧历史观察、可选高层命令、可选 8 个 2Hz future waypoints。长时间预测通过把新生成序列最后 9 帧作为下一轮 context 来 autoregressive rollout;单张 A100 生成 4 秒视频大约 2 分钟。
公开 sat/configs/infer_nus.yaml 的推理样例与论文设置相符:sampling_num_frames: 13、sampling_fps: 10、sampling_video_size: [512, 896]、n_prediction_round: 1、apply_traj: True、max_num_frames: 49、cond_inds_sampling: [0, 1, 2]。配置中的 sampler 是 VPSDEDPMPP2MSampler,num_steps: 50,fixed_frames: 3,DynamicCFG scale: 6;论文正文采样描述为 DDIM 50 steps 与 decreasing CFG scale 7.5→1,这里可能反映 public config 与论文最终实验配置的差异,笔记按“论文实验设置”和“当前公开样例配置”分别记录。
4.2 评估任务、数据集与指标
Simulation reliability 分三类评估。Action controllability 在未见过的 Waymo Open Dataset 上做 zero-shot:action-free 和 expert-action setting 用 Vista 协议,以 Trajectory Difference 衡量模型预测未来与输入轨迹的接近程度;non-expert action 没有标准数值 GT,论文做 human preference study,让参与者比较不同模型生成视频的 visual realism 与 trajectory following。Video prediction fidelity 在 nuScenes validation set 上用 FID/FVD,且 ReSim 没有在 nuScenes 上训练,因此是 zero-shot 对比。Reward estimation 用 CARLA 和 NAVSIM 各 250 对 comparative samples:每对包含同场景 expert trajectory 和随机抽取的 potentially unsafe non-expert trajectory,reward model 应给 expert 更高分。
Applications 评估包括 NAVSIM navtest 的 video prediction-based policy、NAVSIM subset 的 reward-guided policy selection,以及定性 closed-loop simulation。Video prediction-based policy 将 ReSim 生成视频交给 IDM 输出 ego trajectory,指标是 NAVSIM PDMS;policy selection 从 Transfuser 和 LTF 两个候选策略中选 action,在 300 个 challenging scenarios 上比较 PDMS;closed-loop simulation 用 VO-based planner 在 ReSim 生成环境里迭代运行,主要展示可行性和 failure cases。
Figure 6 解读:human evaluation 示例中,参与者看到三个匿名模型在同一 scenario 和同一 non-expert action 下的生成结果,顺序被打乱,再分别从 realism 和 trajectory following 两个角度投票。这个设置适合评估危险动作,因为这种动作通常没有真实日志 GT;但它也意味着结果反映人类偏好,不是严格物理误差。
4.3 Baselines 与关键对比
Action controllability 主要对比 Vista,并报告 Ours w/o sim. 来隔离 CARLA simulated data 的作用。Prediction fidelity 对比 DriveGAN、DriveDreamer、DriveDreamer-2、WoVoGen、Drive-WM、GenAD、GEM、Vista 等 driving world models。Visual planning 对比 VO planner、UniAD、Transfuser、DrivingGPT、LAW 和 GT Future oracle;其中很多 E2E planner 使用 multiple sensors、ego status、past trajectory 或额外 annotation,而 ReSim+IDM 只用 history observations 和高层命令。Policy selection 对比 candidate policies 本身、Average ensemble、Vista reward、Ours w/o sim. 和 PDMS Oracle。
需要注意的公平性边界:ReSim 在 nuScenes/Waymo 上 zero-shot,说明泛化能力强;但在 NAVSIM 上,ReSim 的数据编译和 IDM 训练都使用 NAVSIM split,因此 application results 更像“目标任务上训练后的规划性能”。此外,公开仓库当前还没有 full CARLA-data weights 和 Video2Reward 代码,所以严格复现论文全部应用结果需要等待后续 release 或自行实现缺失模块。
5. Experimental Results (实验结果)
5.1 Action controllability:CARLA simulated data 明显提升轨迹服从
Waymo zero-shot 的 expert/action-free 数值很直接:GT Future 的 Trajectory Difference 是 0.58/0.58;Vista 是 5.68(action-free)和 1.89(expert action);Ours w/o sim. 降到 1.47/1.18;完整 ReSim 进一步降到 1.13/0.86。论文说相对 Vista,ReSim 在两个 conditioning mode 上分别提升约 80% 和 54%。这个结果支持两个结论:第一,单纯换更强模型不够,加入 simulated data 后 action following 明显更好;第二,即使输入 expert action,ReSim 也不是只靠 CARLA 危险数据,而是把真实轨迹和仿真补充结合起来提升控制性。
Figure 7 解读:human study 显示 ReSim 在 non-expert action 条件下获得最多 realism 和 trajectory-following votes。这里的重点不是“画面最漂亮”,而是危险动作下仍能生成匹配轨迹的合理后果;如果模型视觉好但不跟随动作,对 policy evaluation 仍然不可靠。
Figure 8 解读:定性对比展示同一个 hazardous action 下,其他模型要么保持安全行驶、要么牺牲视觉质量,而 ReSim 能生成 off-road 或潜在碰撞等符合输入 trajectory 的后果。这是论文最核心的可靠性证据之一:生成模型必须承认坏动作会导致坏未来,而不是用训练数据中的安全先验把它“修正”。
Figure 9 解读:zero-shot action controllability 图强调模型在 unseen dataset 上仍能跟随 expert 和 non-expert trajectory。绿色 expert actions 来自 driving log,橙色 non-expert actions 随机来自其他场景;如果模型仅记住训练集视觉模式,应很难在这种跨数据条件下保持稳定动作响应。
Figure 10 解读:nuScenes 补充图展示 ReSim 可以在未训练过的真实数据分布上响应不同 future trajectory。对自动驾驶来说,这类 cross-dataset transfer 很重要,因为真实部署的摄像头参数、道路布局和交通参与者分布都会变化。
Figure 11 解读:Waymo 补充图与主表的数值结果互相印证:轨迹差异指标降低不是单个例子的偶然,而是在多个场景中体现为更稳定的 action-following。图中也能看到非专家轨迹会诱发更大的视觉变化,因此它对 world model 的动态建模提出更高要求。
5.2 Video fidelity:zero-shot nuScenes 上 FID/FVD 最优
nuScenes validation 的 action-free prediction 表明,ReSim 在没有见过任何 nuScenes training samples 的情况下达到 FID 5.2、FVD 50.4,优于 Vista 的 6.9/89.4,也优于 GenAD 15.4/184.0、GEM 10.5/158.5、Drive-WM 15.8/122.7 等 in-distribution 或非 zero-shot baselines。这个结果说明加入 CARLA 并没有把模型拉向仿真视觉风格,OpenDV 的大规模真实视频和多阶段训练仍然保住了真实分布泛化。
Figure 12 解读:action-free 预测图展示 ReSim 在不给显式 trajectory 时也能生成合理未来。这对应用很有用:模型可以作为自由驾驶视频预测器,也可以在 trajectory 被 drop 或 planner 只给高层命令时继续工作;但 action-free 模式不应被误用来评估危险动作,因为危险后果需要显式 trajectory 指导。
Figure 13 解读:long-horizon 图显示,Vista 在 15 秒左右容易过饱和并丢失场景语义,而 ReSim 能在 30 秒以上保持更丰富的未来状态。这里的能力来自 autoregressive rollout:每轮用上轮最后 9 帧作为下一轮历史上下文;conditioning augmentation 正是为了缓解这种多轮预测中的误差累积。
5.3 Reward estimation 与 policy selection:Video2Reward 把仿真未来变成可排序动作
Reward correlation 评估在 CARLA 和 NAVSIM 上各用 250 对 expert/non-expert comparisons。论文结果显示,由 ReSim + Video2Reward 组成的 reward formulation 在两个数据集上都优于 baselines,说明用 CARLA infraction score 训练的视频 reward 能够跨到真实场景预测视频上。这个实验不是直接测“生成视频像不像”,而是测 reward 是否能把同场景的好动作排在坏动作前面;它更接近 policy selection 的需求。
Figure 14 解读:reward correlation 图把 ReSim 的应用闭环补齐:world model 负责把候选 action 渲染成未来视频,Video2Reward 负责比较这些未来。相比纯视觉生成,reward 排序是更高层的目标;如果排序不可靠,生成再真实也不能安全指导策略。
Policy selection 的数值更具体:Transfuser 和 LTF 作为单独 candidate policy,PDMS 分别为 47.7 和 47.2;Average ensemble 提升到 66.8;Vista reward selection 是 59.2;Ours w/o sim. 是 69.7;完整 ReSim+Video2Reward 达到 74.1,接近 PDMS Oracle 94.2 的方向,并相对平均 ensemble 有明显收益。这个实验特别强调“simulated data”不仅改善 world model 的视觉/控制,还改善 reward-guided selection,因为没有危险动作数据时,模型渲染出的坏未来不够可信,reward 也更难排序。
5.4 Visual planning:ReSim+IDM 在 NAVSIM navtest 上优于多类 planner
NAVSIM navtest 的 planning table 中,VO planner 是 78.4,UniAD 83.4,Transfuser 84.0,DrivingGPT 82.4,LAW 84.6,GT Future + IDM oracle 是 90.8,ReSim + IDM 达到 86.6。论文特别指出,ReSim 不使用 multiple sensors、ego status、past trajectory 或 extra annotations;相比之下,UniAD、Transfuser 等 E2E planner 往往使用更多输入。这个结果说明,预测未来视频再反推 trajectory 的路线可以成为一种简洁的 world-model planning interface。
不过,这个应用结果也要谨慎解读。IDM 是在 NAVSIM training set 上单独训练的,结构来自 XVO-style visual odometry backbone 和轻量 attention head,输出 8 个 2Hz waypoints;如果换到不同相机、不同动作空间或多视角 planner,可能需要重新训练或重设计接口。论文也承认当前 ReSim 只训练前视 observations,因此 UniAD/VAD 这类多视角方法不能直接放入闭环仿真。
5.5 Ablations:模拟数据、噪声采样和 DCL 都服务于“动态可靠性”
Ours w/o sim. 在 action controllability、policy selection 等任务上都落后完整 ReSim,说明 CARLA 数据不是可有可无的 augmentation,而是补足非专家动作后果的关键来源。补充图还展示了加入 simulated data 后,模型更容易生成 collision、lane departure 等危险 outcome,而不是继续沿 expert prior 安全前进。
Figure 15 解读:CARLA ablation 图把 simulated data 的作用可视化:没有仿真危险样本时,模型对危险 trajectory 的反应更弱;加入后,模型更愿意生成非专家动作造成的视觉后果。这解释了为什么 Waymo expert action 和 NAVSIM policy selection 都从 simulated data 中受益。
Figure 16 解读:unbalanced noise sampling 的定性图表明,把训练重点更多放到高噪声 timestep 后,生成结果在 motion 和 scenario consistency 上更稳定。直观上,高噪声恢复迫使模型利用条件和全局动态,而不是依赖近邻帧局部平滑。
Figure 17 解读:DCL ablation 显示 的 latent motion extraction 最有效。 太小可能只约束短程平滑,不能覆盖驾驶场景里更长的交互; 合适时,模型更容易保持未来帧中的道路、车辆和 ego motion 一致。
5.6 局限与未来方向
论文列出四类局限。第一是 inference efficiency:diffusion model 需要多步 denoising,单张 A100 生成 4 秒视频约 2 分钟,离实时部署很远;可行方向包括减少 denoising steps 或蒸馏成更小模型。第二是 policy training:ReSim 有潜力作为动态环境训练视觉策略,但当前更多是 evaluation / selection / planning demo,还没有展示大规模 policy learning。第三是 closed-loop benchmark:前视单相机限制了多视角 planner 的接入,如何公平量化不同 policy 在 ReSim 中的闭环表现仍待探索。第四是 broader impact:生成模型可能在复杂多车场景中 hallucinate,uncurated data distribution 也可能带来区域偏差,因此不能把 ReSim 生成结果直接当作安全认证。
Figure 18 解读:failure cases 包括错误穿越护栏、遮挡物一致性差、极端场景出现视觉 artifact 等。这些失败提醒我们,ReSim 更适合作为研究中的反事实仿真和策略筛选工具,而不是直接替代真实道路测试或高保真物理仿真器。
整体来看,ReSim 的贡献不在于提出一个单独的新模块,而在于把 reliable simulation 的三个条件系统化:训练数据必须覆盖非专家动作,world model 必须显式跟随 trajectory,应用层必须有 reward/IDM 接口把视频未来转成决策信号。最值得后续跟进的是公开代码 roadmap 中尚未释放的 full CARLA-data weights 和 Video2Reward/IDM 实现;这些部分一旦开放,ReSim 会更容易被用于真实的 policy evaluation 和闭环 benchmark 构建。