文章目录Stability AI 开源视频生成全家桶 从视频到 4D 的进化之路从单张图片到动态 4D底层架构的重新设计上手门槛不算高从 SDXL 到 SV4D 2.0Stability AI 开源视频生成全家桶 从视频到 4D 的进化之路Stability AI 的 generative-models 仓库最近又更新了。这个项目从最初的 Stable Diffusion XL 开始一步步扩展到视频生成领域最新版本已经能做到从一段视频生成 4D 内容。从单张图片到动态 4D这个仓库最核心的产品线是 Stability AI 的视频生成模型系列从简到繁分为四个阶段。第一阶段是 Stable Video DiffusionSVD能把一张图片变成一段 14 帧或 25 帧的视频。这是基础能力给定一张静态图模型推断出画面接下来可能发生的运动。第二阶段是 SV3D从单张图片生成环绕视角的多帧画面。输入一张物体图片模型输出 21 帧不同角度的视图相当于绕物体旋转一圈。这个模型分两个版本SV3D_u 没有视角控制SV3D_p 可以指定俯仰角和方位角路径。第三阶段是 SV4D把输入从图片换成了视频。给定一段 21 帧的视频模型输出 40 帧的多视角新视频5 帧 x 8 视角。这意味着你不再满足于看到物体在动还能从任意角度观看它的运动。第四阶段是今年 5 月刚发布的 SV4D 2.0相比前代有质的提升。它不需要像前作那样依赖 SV3D 先合成首帧的多视角而是直接从视频生成 48 帧12 帧 x 4 视角的高质量输出。在运动细节的清晰度和时空一致性上明显更好而且对真实世界视频的泛化能力更强。底层架构的重新设计除了模型本身的演进这个仓库的代码架构也做了不少改动。和早期的 ldm 代码库相比现在的实现更模块化。扩散模型的核心类从 LatentDiffusion 改名为 DiffusionEngine减少了大量子类继承。所有类型的条件输入向量、序列、空间条件以及任意组合统一用 GeneralConditioner 处理。引导器如无分类器引导和采样器分离成独立模块采样器不再依赖具体模型。训练方面采用了连续时间框架离散时间模型只是连续时间的特例。损失函数的加权、网络的预条件处理、训练时的噪声级别采样都设计成独立可配置的组件。上手门槛不算高项目提供了多种使用方式。最简单的入口是 Gradio 或 Streamlit 演示一条命令就能启动交互界面。对需要编程调用的用户每个模型都提供了独立的采样脚本。以最新的 SV4D 2.0 为例下载模型权重后一行命令就能运行python scripts/sampling/simple_video_sample_4d2.py --input_path assets/sv4d_videos/camel.gif --output_folder outputs输入支持 GIF、MP4 格式的视频文件也支持图片序列文件夹。脚本里还有一些实用选项比如低显存环境下可以控制同时编解码的帧数或者降低视频分辨率。对背景嘈杂的真实场景视频可以用 SAM2 或 Clipdrop 先分割前景物体再运行效果更好。从 SDXL 到 SV4D 2.0仓库还包含了 SDXL 系列模型base 和 refiner以及 SDXL-Turbo 的代码。SDXL 是 Stability AI 在图像生成领域的重要节点1024 分辨率、双模型架构base refiner在当时是开源图像生成的天花板。SDXL-Turbo 则用对抗扩散蒸馏技术把生成速度推到极致。整个项目使用 Hatch 构建工具进行 Python 打包配置文件驱动的方式组织代码。训练和推理的配置项通过 YAML 文件组合不同的模型、训练策略、数据集可以灵活搭配。安装过程也比较标准Python 3.10 虚拟环境加 PyTorch 2.0几条命令就能跑起来。对刚接触这个领域的开发者来说这个仓库是一份不错的学习材料。从基础的条件扩散模型到多视角视频生成所有代码都是开源的配置和实现都能直接读。不管是想跑跑效果还是想理解视频生成模型的技术细节都能找到对应模块。配置和实现都能直接读。不管是想跑跑效果还是想理解视频生成模型的技术细节都能找到对应模块。