Stability AI 开源视频生成全家桶 从视频到 4D 的进化之路

Stability AI 的 generative-models 仓库最近又更新了。这个项目从最初的 Stable Diffusion XL 开始,一步步扩展到视频生成领域,最新版本已经能做到从一段视频生成 4D 内容。

正文顶部截图

从单张图片到动态 4D

这个仓库最核心的产品线,是 Stability AI 的视频生成模型系列,从简到繁分为四个阶段。

第一阶段是 Stable Video Diffusion(SVD),能把一张图片变成一段 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 处理。引导器(如无分类器引导)和采样器分离成独立模块,采样器不再依赖具体模型。

训练方面采用了连续时间框架,离散时间模型只是连续时间的特例。损失函数的加权、网络的预条件处理、训练时的噪声级别采样,都设计成独立可配置的组件。

README区域截图

上手门槛不算高

项目提供了多种使用方式。最简单的入口是 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,几条命令就能跑起来。

对刚接触这个领域的开发者来说,这个仓库是一份不错的学习材料。从基础的条件扩散模型到多视角视频生成,所有代码都是开源的,配置和实现都能直接读。不管是想跑跑效果,还是想理解视频生成模型的技术细节,都能找到对应模块。

,配置和实现都能直接读。不管是想跑跑效果,还是想理解视频生成模型的技术细节,都能找到对应模块。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐