ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

计算机视觉28:世界模型与视频扩散

计算机视觉28:世界模型与视频扩散 世界模型与视频扩散能够预测场景接下来几秒画面的视频模型就是一个世界模拟器。如果在该预测上以动作作为条件你就得到了一个可学习的游戏引擎。类型学习 构建语言Python前置条件第四阶段第 10 课扩散模型、第四阶段第 12 课视频理解、第四阶段第 23 课DiT Rectified Flow时长约 75 分钟学习目标解释纯视频生成模型Sora 2与动作条件化世界模型Genie 3、DreamerV3的区别描述视频 DiT时空 patch、3D 位置编码、跨 (T, H, W) token 的联合注意力梳理世界模型如何接入机器人技术VLM 规划 → 视频模型模拟 → 逆动力学输出动作根据给定用例创意视频、交互式模拟、自动驾驶合成在 Sora 2、Genie 3、Runway GWM-1 Worlds、Wan-Video 和 HunyuanVideo 之间做出选择问题所在视频生成和世界建模在 2026 年趋于融合。一个能生成连贯一分钟视频的模型在某种意义上已经学会了世界的运动规律物体恒常性、重力、因果关系、风格。如果你在预测上以动作为条件向左走、开门视频模型就变成了一个可学习的模拟器可以替代游戏引擎、驾驶模拟器或机器人环境。利害关系很具体。Genie 3 从单张图像生成可玩环境。Runway GWM-1 Worlds 合成无限可探索场景。Sora 2 生成带同步音频和物理建模的分钟级视频。NVIDIA Cosmos-Drive、Wayve Gaia-2 和 Tesla DrivingWorld 为自动驾驶训练数据生成逼真的驾驶视频。世界模型范式正在悄然接管机器人的 sim-to-real 流程。本课是第四阶段的全局视角课程。它将图像生成、视频理解和智能体推理连接成主导研究的架构模式。核心概念世界建模的三个家族World models for RL (DreamerV3)State actionLatent transition modelNext latent rewardAction-conditioned world modelPast frames actionLatent-action video DiTNext framesPure video generationText / image promptVideo DiTVideo framesSora 2是以 prompt 为条件的纯视频生成。没有动作接口。你不能在生成过程中操控它。Genie 3、GWM-1 Worlds、Mirage / Magica是动作条件化世界模型。从观测视频中推断潜在动作然后以动作为条件预测未来帧。可交互——你按键或移动摄像机场景就会响应。DreamerV3和经典 RL 世界模型家族在带有显式动作条件的潜在空间中预测并在奖励信号上训练。视觉效果较弱但对样本高效的 RL 更有用。视频 DiT 架构Video latent: (C, T, H, W) Patchify (spatial): grid of P_h x P_w patches per frame Patchify (temporal): group P_t frames into a temporal patch Resulting tokens: (T / P_t) * (H / P_h) * (W / P_w) tokens位置编码是 3D 的每个 (t, h, w) 坐标对应一个旋转位置编码或可学习嵌入。注意力可以是全联合—— 所有 token 相互注意。O(N^2)N 为 token 数。对长视频不可行。分离式—— 交替进行时间注意力相同空间位置跨时间(H*W) * T^2和空间注意力相同时间步跨空间T * (H*W)^2。TimeSformer 和大多数视频 DiT 使用此方式。窗口—— 在 (t, h, w) 中的局部窗口。Video Swin 使用此方式。2026 年的每个视频扩散模型都使用这三种模式之一加上 AdaLN 条件化第 23 课和 rectified flow。以动作为条件潜在动作模型Genie 通过判别式预测连续帧之间的动作来学习每帧的潜在动作。模型的解码器然后以推断的潜在动作为条件——而非显式的键盘按键。在推理时用户可以指定一个潜在动作或从新的先验中采样模型生成与该动作一致的下一帧。Sora 完全跳过了动作接口。其解码器从过去的时空 token 预测下一个时空 token。Prompt 条件化了起始点没有东西在生成过程中操控它。物理合理性Sora 2 在 2026 年的发布明确宣传了物理合理性重量、平衡、物体恒常性、因果关系。团队通过人工评分的合理性分数来衡量该模型在掉落物体、角色碰撞和故意失败跳空方面比 Sora 1 有明显改善。物理合理性仍然是主要的失败模式。2024-2025 年人们吃意大利面或从杯子喝水的视频揭示了模型缺乏持久的物体表征。2026 年的模型Sora 2、Runway Gen-5、HunyuanVideo减少了这些问题但并未完全消除。自动驾驶世界模型驾驶世界模型生成以轨迹、边界框或导航地图为条件的逼真道路场景。应用Cosmos-Drive-DreamsNVIDIA—— 生成分钟级驾驶视频用于 RL 训练。Gaia-2Wayve—— 以轨迹为条件的场景合成用于策略评估。DrivingWorldTesla—— 模拟多样天气、时段和交通状况。VistaByteDance—— 反应式驾驶场景合成。它们替代了昂贵的前沿案例真实数据采集——夜间行人乱穿马路、结冰路口、异常车辆类型——这些场景否则需要数百万英里的驾驶。机器人技术栈VLM 视频模型 逆动力学新兴的三组件机器人循环VLM解析目标“拿起红色杯子”规划高级动作序列。视频生成模型模拟执行每个动作后的样子——预测 N 帧后的观测。逆动力学模型提取能产生这些观测的具体电机指令。这替代了奖励塑形和样本密集的 RL。世界模型负责想象逆动力学闭环执行。Genie Envisioner 是一个实例许多研究团队正在趋同于这种结构。评估视觉质量—— FVDFréchet Video Distance用户研究。Prompt 对齐—— 每帧 CLIPScoreVQA 风格评估。物理合理性—— 在基准套件上人工评分Sora 2 内部基准VBench。可控性针对交互式世界模型—— 动作 → 观测一致性能否回到先前状态2026 年模型全景模型用途参数量输出许可证Sora 2文本生成视频、音频—1 分钟 1080p 音频仅 APIRunway Gen-5文本/图像生成视频—10 秒片段APIRunway GWM-1 Worlds交互式世界—无限 3D 推演APIGenie 3从图像生成交互式世界11B可玩帧研究预览Wan-Video 2.1开源文本生成视频14B高质量片段非商业HunyuanVideo开源文本生成视频13B10 秒片段宽松许可Cosmos / Cosmos-Drive自动驾驶模拟7-14B驾驶场景NVIDIA 开源Magica / Mirage 2AI 原生游戏引擎—可修改世界产品动手构建第 1 步3D 视频分块importtorchimporttorch.nnasnnclassVideoPatch3D(nn.Module):def__init__(self,in_channels4,dim64,patch_t2,patch_h2,patch_w2):super().__init__()self.projnn.Conv3d(in_channels,dim,kernel_size(patch_t,patch_h,patch_w),stride(patch_t,patch_h,patch_w),)self.patch_tpatch_t self.patch_hpatch_h self.patch_wpatch_wdefforward(self,x):# x: (N, C, T, H, W)xself.proj(x)n,c,t,h,wx.shape tokensx.reshape(n,c,t*h*w).transpose(1,2)returntokens,(t,h,w)步长等于核大小的 3D 卷积充当时空分块器。(T, H, W) - (T/2, H/2, W/2)的 token 网格。第 2 步3D 旋转位置编码旋转位置嵌入RoPE分别沿t、h、w轴应用defrope_3d(tokens,t_dim,h_dim,w_dim,grid): tokens: (N, T*H*W, D) grid: (T, H, W) sizes t_dim h_dim w_dim D T,H,Wgrid n,seq,dtokens.shapeift_dimh_dimw_dim!d:raiseValueError(ft_dimh_dimw_dim ({t_dim}{h_dim}{w_dim}) must equal D{d})assertseqT*H*W t_idxtorch.arange(T,devicetokens.device).repeat_interleave(H*W)h_idxtorch.arange(H,devicetokens.device).repeat_interleave(W).repeat(T)w_idxtorch.arange(W,devicetokens.device).repeat(T*H)# Simplified: just scale channels by frequencies. Real RoPE rotates pairs.freqs_ttorch.exp(-torch.log(torch.tensor(10000.0))*torch.arange(t_dim//2,devicetokens.device)/(t_dim//2))freqs_htorch.exp(-torch.log(torch.tensor(10000.0))*torch.arange(h_dim//2,devicetokens.device)/(h_dim//2))freqs_wtorch.exp(-torch.log(torch.tensor(10000.0))*torch.arange(w_dim//2,devicetokens.device)/(w_dim//2))emb_ttorch.cat([torch.sin(t_idx[:,None]*freqs_t),torch.cos(t_idx[:,None]*freqs_t)],dim-1)emb_htorch.cat([torch.sin(h_idx[:,None]*freqs_h),torch.cos(h_idx[:,None]*freqs_h)],dim-1)emb_wtorch.cat([torch.sin(w_idx[:,None]*freqs_w),torch.cos(w_idx[:,None]*freqs_w)],dim-1)returntokenstorch.cat([emb_t,emb_h,emb_w],dim-1)简化的加法形式。真正的 RoPE 旋转成对通道位置信息是相同的。第 3 步分离式注意力块classDividedAttentionBlock(nn.Module):def__init__(self,dim64,heads2):super().__init__()self.time_attnnn.MultiheadAttention(dim,heads,batch_firstTrue)self.space_attnnn.MultiheadAttention(dim,heads,batch_firstTrue)self.ln1nn.LayerNorm(dim)self.ln2nn.LayerNorm(dim)self.ln3nn.LayerNorm(dim)self.mlpnn.Sequential(nn.Linear(dim,4*dim),nn.GELU(),nn.Linear(4*dim,dim))defforward(self,x,grid):T,H,Wgrid n,seq,dx.shape# time attention: same (h, w), across txtx.view(n,T,H*W,d).permute(0,2,1,3).reshape(n*H*W,T,d)a,_self.time_attn(self.ln1(xt),self.ln1(xt),self.ln1(xt),need_weightsFalse)xt(xta).reshape(n,H*W,T,d).permute(0,2,1,3).reshape(n,seq,d)# space attention: same t, across (h, w)xsxt.view(n,T,H*W,d).reshape(n*T,H*W,d)a,_self.space_attn(self.ln2(xs),self.ln2(xs),self.ln2(xs),need_weightsFalse)xs(xsa).reshape(n,T,H*W,d).reshape(n,seq,d)xsxsself.mlp(self.ln3(xs))returnxs时间注意力在每个空间位置上跨时间关注空间注意力在每帧内跨位置关注。两次 O(T^2 (HW)^2) 操作替代一次 O((THW)^2)。这是 TimeSformer 和每个现代视频 DiT 的核心。第 4 步组装微型视频 DiTclassTinyVideoDiT(nn.Module):def__init__(self,in_channels4,dim64,depth2,heads2):super().__init__()self.patchVideoPatch3D(in_channelsin_channels,dimdim,patch_t2,patch_h2,patch_w2)self.blocksnn.ModuleList([DividedAttentionBlock(dim,heads)for_inrange(depth)])self.outnn.Linear(dim,in_channels*2*2*2)defforward(self,x):tokens,gridself.patch(x)forblkinself.blocks:tokensblk(tokens,grid)returnself.out(tokens),grid这不是一个可用的视频生成器而是一个结构演示验证每个组件的形状正确。第 5 步检查形状vidtorch.randn(1,4,8,16,16)# (N, C, T, H, W)modelTinyVideoDiT()out,gridmodel(vid)print(finput{tuple(vid.shape)})print(ftokens grid{grid})print(foutput{tuple(out.shape)})预期分块后grid (4, 8, 8)out (1, 256, 32)输出头将每个 token 投影为时空 patch准备反分块回视频。实际使用2026 年的生产访问模式Sora 2 APIOpenAI—— 文本生成视频同步音频。高级定价。Runway Gen-5 / GWM-1Runway—— 图像生成视频交互式世界。Wan-Video 2.1 / HunyuanVideo—— 开源自部署。Cosmos / Cosmos-DriveNVIDIA—— 驾驶模拟开源权重。Genie 3—— 研究预览需申请访问。构建交互式世界模型演示从 Wan-Video 开始获取质量再叠加潜在动作适配器实现交互性。自动驾驶模拟Cosmos-Drive 是 2026 年的开源参考。机器人领域的实际技术栈语言目标 - VLMQwen3-VL- 高级规划。规划 - 潜在动作视频模型 - 想象推演。推演 - 逆动力学模型 - 低级动作。动作执行 - 观测反馈到第 1 步。交付成果本课产出outputs/prompt-video-model-picker.md—— 根据任务、许可证和延迟在 Sora 2 / Runway / Wan / HunyuanVideo / Cosmos 之间做出选择。outputs/skill-physical-plausibility-checks.md—— 定义自动化检查物体恒常性、重力、连续性的技能在任何生成视频发布前运行。练习简单计算 5 秒 360p 视频在 patch-t2、patch-h8、patch-w8 时的 token 数量。分析此规模下注意力的内存需求。中等将上面的分离式注意力块替换为全联合注意力块测量形状和参数量。解释为什么真实视频模型需要分离式注意力。困难构建一个最小的潜在动作视频模型取 (frame_t, action_t, frame_{t1}) 三元组数据集任意简单 2D 游戏训练一个以动作嵌入为条件的小型视频 DiT展示不同动作产生不同的下一帧。关键术语术语常见说法实际含义世界模型“可学习的模拟器”给定状态和动作预测未来观测的模型视频 DiT“时空 Transformer”具有 3D 分块和分离式注意力的扩散 Transformer潜在动作“推断的控制”从帧对推断的离散或连续动作潜变量用于条件化下一帧生成分离式注意力“先时间后空间”每个块两次注意力操作——先跨时间再跨空间——以控制 O(N^2) 复杂度物体恒常性“物体保持真实”视频模型必须学习的场景属性食物、玻璃器皿是经典失败模式FVD“Fréchet Video Distance”视频版的 FID主要视觉质量指标逆动力学模型“从观测到动作”给定状态下一状态输出连接它们的动作闭环机器人执行Cosmos-Drive“NVIDIA 驾驶模拟”用于 RL 和评估的开源自动驾驶世界模型
返回列表