SuperAPI AI 工具集

ControlNet

ControlNet 是一种神经网络结构,用于为扩散模型(如 Stable Diffusion)添加额外条件控制。它通过复制神经网络块的权重为“锁定”副本和“可训练”副本,让可训练副本学习条件,锁定副本保留原模型,从而在不破坏预训练扩散模型的前提下实现条件控制。其核心创新是“零卷积”,即权重和偏置初始化为零的 1×1 卷积,训练前输出为零,不会造成失真。ControlNet 支持多种条件输入,如 Canny 边缘、M-LSD 直线、HED 边界、用户涂鸦、人体姿态、语义分割、深度图、法线图等,并提供 9 个 Gradio 应用演示。它可复用 Stable Diffusion 编码器作为强大骨干,计算高效,支持低显存模式,并可通过插件与其他社区模型结合。

访问官网

工具介绍

ControlNet 是论文《Adding Conditional Control to Text-to-Image Diffusion Models》的官方实现,旨在为扩散模型(如 Stable Diffusion)添加额外条件控制。其核心是一种神经网络结构,通过复制神经网络块的权重为“锁定”副本和“可训练”副本,让可训练副本学习条件,锁定副本保留原模型,从而在小型图像对数据集上训练也不会破坏生产就绪的扩散模型。

主要能力:ControlNet 支持多种条件输入,包括 Canny 边缘、M-LSD 直线、HED 边界、用户涂鸦、伪造涂鸦、人体姿态、语义分割、深度图、法线图等。它提供 9 个 Gradio 应用演示,并支持“猜测模式”(非提示模式),在该模式下,即使移除所有提示,ControlNet 编码器也能尝试识别输入控制图的内容。此外,ControlNet 可组合多个模型实现多条件控制,并支持在任意社区模型(SD1.X)上使用。

使用方式:用户需创建 conda 环境,从 Hugging Face 页面下载所有模型和检测器,将 SD 模型放入“ControlNet/models”,检测器放入“ControlNet/annotator/ckpts”。然后可通过提供的 Gradio 应用或 A1111 WebUI 插件使用。训练 ControlNet 与训练简单 pix2pix 一样容易,甚至更简单。

适用场景:适用于需要精确控制图像生成结果的场景,如根据边缘图生成图像、根据姿态生成人物、根据深度图生成场景等。也适用于艺术创作、图像编辑、风格迁移等。

限制:部分模型(如动漫线稿)因潜在风险暂未发布。Gradio 界面存在一些定制困难。低显存模式适用于 8GB GPU 或更大批量。训练需要一定计算资源。