SparseControlNetModel
SparseControlNetModel 是 AnimateDiff 的 ControlNet 实现。
ControlNet 由 Lvmin Zhang、Anyi Rao 和 Maneesh Agrawala 在 Adding Conditional Control to Text-to-Image Diffusion Models 中提出。
SparseCtrl 版本的 ControlNet 由 Yuwei Guo、Ceyuan Yang、Anyi Rao、Maneesh Agrawala、Dahua Lin 和 Bo Dai 在 SparseCtrl: Adding Sparse Controls to Text-to-Video Diffusion Models 中提出,用于在文本到视频扩散模型中实现受控生成。
论文的摘要如下:
近年来,文本到视频(T2V)的发展,即根据给定的文本提示生成视频,取得了显著进展。然而,仅依赖文本提示通常会导致由于空间不确定性而产生的模糊帧组合。因此,研究社区利用密集结构信号(例如每帧深度/边缘序列)来增强可控性,但其收集相应增加了推理的负担。在这项工作中,我们提出了 SparseCtrl,以实现对时间上稀疏信号的灵活结构控制,仅需一个或几个输入,如图1所示。它引入了一个额外的条件编码器来处理这些稀疏信号,同时保持预训练的T2V模型不变。所提出的方法兼容各种模态,包括草图、深度图和RGB图像,为视频生成提供了更实用的控制,并促进了故事板、深度渲染、关键帧动画和插值等应用。广泛的实验表明,SparseCtrl 在原始和个性化的T2V生成器上都具有良好的泛化能力。代码和模型将在 此链接 公开发布。
加载 SparseControlNetModel 的示例
import torch
from diffusers import SparseControlNetModel
# fp32 variant in float16
# 1. Scribble checkpoint
controlnet = SparseControlNetModel.from_pretrained("guoyww/animatediff-sparsectrl-scribble", torch_dtype=torch.float16)
# 2. RGB checkpoint
controlnet = SparseControlNetModel.from_pretrained("guoyww/animatediff-sparsectrl-rgb", torch_dtype=torch.float16)
# For loading fp16 variant, pass `variant="fp16"` as an additional parameter
SparseControlNetModel
[[autodoc]] SparseControlNetModel
SparseControlNetOutput
[[autodoc]] models.controlnet_sparsectrl.SparseControlNetOutput