稳定视频扩散
稳定视频扩散是在 稳定视频扩散:将潜在视频扩散模型扩展到大型数据集 中由 Andreas Blattmann、Tim Dockhorn、Sumith Kulal、Daniel Mendelevitch、Maciej Kilian、Dominik Lorenz、Yam Levi、Zion English、Vikram Voleti、Adam Letts、Varun Jampani、Robin Rombach 提出。
论文中的摘要是
我们介绍了稳定视频扩散——一种用于高分辨率、最先进的文本到视频和图像到视频生成的潜在视频扩散模型。最近,针对 2D 图像合成训练的潜在扩散模型通过插入时间层并在小型、高质量视频数据集上微调它们,已转变为生成式视频模型。然而,文献中的训练方法差异很大,该领域尚未就视频数据整理的统一策略达成一致。在本文中,我们识别并评估了成功训练视频 LDM 的三个不同阶段:文本到图像预训练、视频预训练和高质量视频微调。此外,我们证明了精心策划的预训练数据集对于生成高质量视频的必要性,并提出了一种系统的整理过程来训练强大的基础模型,包括标题和过滤策略。然后,我们探讨了在高质量数据上微调我们的基础模型的影响,并训练了一个文本到视频模型,该模型与闭源视频生成具有竞争力。我们还表明,我们的基础模型为下游任务(如图像到视频生成和适应摄像机运动特定 LoRA 模块)提供了强大的运动表示。最后,我们证明了我们的模型提供了强大的多视图 3D 先验,可以作为微调多视图扩散模型的基础,该模型以前馈方式联合生成物体的多个视图,在计算预算的一小部分内优于基于图像的方法。我们将在此 https URL 发布代码和模型权重。
小贴士
视频生成非常占用内存,减少内存使用量的一种方法是在管道 UNet 上设置 enable_forward_chunking
,这样您就不会一次运行整个前馈层。将它分解成循环中的块更高效。
查看 文本或图像到视频 指南,了解更多关于某些参数如何影响视频生成以及如何通过减少内存使用量优化推理的信息。
StableVideoDiffusionPipeline
class diffusers.StableVideoDiffusionPipeline
< 源代码 >( vae: AutoencoderKLTemporalDecoder image_encoder: CLIPVisionModelWithProjection unet: UNetSpatioTemporalConditionModel scheduler: EulerDiscreteScheduler feature_extractor: CLIPImageProcessor )
参数
- vae (
AutoencoderKLTemporalDecoder
) — 变分自动编码器 (VAE) 模型,用于将图像编码和解码到潜伏表示中。 - image_encoder (CLIPVisionModelWithProjection) — 冻结的 CLIP 图像编码器 (laion/CLIP-ViT-H-14-laion2B-s32B-b79K)。
- unet (
UNetSpatioTemporalConditionModel
) — 一个UNetSpatioTemporalConditionModel
,用于对编码的图像潜在表示进行去噪。 - scheduler (EulerDiscreteScheduler) — 用于与
unet
结合对编码的图像潜在表示进行去噪的调度器。 - feature_extractor (CLIPImageProcessor) — 用于从生成图像中提取特征的
CLIPImageProcessor
。
使用 Stable Video Diffusion 从输入图像生成视频的管道。
该模型继承自DiffusionPipeline。 检查超类文档以了解为所有管道实现的通用方法(下载、保存、在特定设备上运行等)。
StableVideoDiffusionPipelineOutput
class diffusers.pipelines.stable_video_diffusion.StableVideoDiffusionPipelineOutput
< 源代码 >( frames: Union )
Stable Video Diffusion 管道的输出类。