Skip to content

ControlNet

ControlNet 由 Lvmin Zhang、Anyi Rao 和 Maneesh Agrawala 在论文 Adding Conditional Control to Text-to-Image Diffusion Models 中提出。

通过 ControlNet 模型,你可以提供一个额外的控制图像来条件化和控制 Stable Diffusion 生成。例如,如果你提供一个深度图,ControlNet 模型将生成一张保留深度图空间信息的图像。这是一种更灵活和准确的方式来控制图像生成过程。

论文的摘要如下:

我们提出了 ControlNet,一种神经网络架构,用于向大型预训练的文本到图像扩散模型添加空间条件控制。ControlNet 锁定生产就绪的大型扩散模型,并重用其深度和强大的编码层,这些编码层通过数十亿张图像预训练,作为强大的骨干网络来学习各种条件控制。神经架构通过“零卷积”(零初始化的卷积层)连接,这些层从零开始逐步增长参数,并确保微调过程中不会受到有害噪声的影响。我们使用 Stable Diffusion 测试了各种条件控制,例如边缘、深度、分割、人体姿态等,使用单个或多个条件,有或没有提示。我们展示了 ControlNet 的训练在小规模(<50k)和大规模(>1m)数据集上都很稳健。大量结果表明,ControlNet 可能有助于更广泛的应用,以控制图像扩散模型。

该模型由 takuma104 贡献。❤️

原始代码库可以在 lllyasviel/ControlNet 找到,你可以在 lllyasviel 的 Hub 个人资料中找到官方的 ControlNet 检查点。

StableDiffusionControlNetPipeline

[[autodoc]] StableDiffusionControlNetPipeline - all - call - enable_attention_slicing - disable_attention_slicing - enable_vae_slicing - disable_vae_slicing - enable_xformers_memory_efficient_attention - disable_xformers_memory_efficient_attention - load_textual_inversion

StableDiffusionControlNetImg2ImgPipeline

[[autodoc]] StableDiffusionControlNetImg2ImgPipeline - all - call - enable_attention_slicing - disable_attention_slicing - enable_vae_slicing - disable_vae_slicing - enable_xformers_memory_efficient_attention - disable_xformers_memory_efficient_attention - load_textual_inversion

StableDiffusionControlNetInpaintPipeline

[[autodoc]] StableDiffusionControlNetInpaintPipeline - all - call - enable_attention_slicing - disable_attention_slicing - enable_vae_slicing - disable_vae_slicing - enable_xformers_memory_efficient_attention - disable_xformers_memory_efficient_attention - load_textual_inversion

StableDiffusionPipelineOutput

[[autodoc]] pipelines.stable_diffusion.StableDiffusionPipelineOutput

FlaxStableDiffusionControlNetPipeline

[[autodoc]] FlaxStableDiffusionControlNetPipeline - all - call

FlaxStableDiffusionControlNetPipelineOutput

[[autodoc]] pipelines.stable_diffusion.FlaxStableDiffusionPipelineOutput