ControlNet 基础介绍
1. 发展起源
ControlNet 的概念最早被提出,源自今年 2 月的一篇名为《Adding Conditional Control to Text-to-Image Diffusion Models》 的论文,文中介绍了可以额外引入一个框架来附加多种空间语义条件控制 SD 模型的生成过程。同日论文的作者 Lvmin Zhang 也在 GitHub 上将相关源代码进行了开源,而这位张教授就ControlNet 的开源创作者。

Lvmin Zhang 本名张吕敏,2021 年毕业于苏州大学,目前是一名斯坦福大学计算机科学在读华裔博士,他的研究涉及计算艺术与设计、互动内容创作、计算机图形处理等领域,但他个人最喜欢的是动漫。作为一名老二次元爱好者,早在 2018 年他便创立一个分享艺术创作技术的非商业研究小组,专注于开发名为 Style2Paint 的动漫绘图软件,该研究小组在 2018 年的美国动漫博览会上还发表过 Deep Learning for Artists 的演讲(该博览会是世界上最大的两个动漫展之一)。
感兴趣的朋友可以去访问下张教授的 GitHub 主页:https://github.com/lllyasviel

ControlNet 迭代至今已有 14 种支持不同控制条件的官方模型,可以实现肢体表情、线稿描摹、深度结构等多个维度的控图效果,而且这些不同维度的模型还可以组合使用,像我们平时看到的制作艺术字、艺术二维码、线稿转 3D 等效果都是通过 ControlNet 来实现的。毫不夸张的说,ControlNet 是 AI 绘画界的革命性突破,它的存在可以说直接拉开了 Stable Diffusion 和其他 AI 绘图软件在控图上的巨大差距。

虽然 ControlNet 的出现是基于研究 Text-to-Image 文生图的控制效果,但它实际使用时更像是图生图,因为需要用到参考图来提供空间语义,甚至可以说熟练掌握了 ControlNet 插件,在多数场景下都可以替代图生图板块的大部分功能。
2. 运作原理
ControlNet 直译后的名字叫做控制网络,即通过调节神经网络来干预图像的去噪过程,使其按照既定方向生成稳定的图片。如果之前你有认真研读【模型篇】的教程,会发现它在影响神经网络行为的方式上和 HyperNetwork 有相似之处,都是在主模型外训练了一个小的循环神经网络来微调原模型。

3. 模型安装
第一步插件安装完成后,接下来你还需要安装用于控制绘图的 ControlNet 模型。前面提到 ControlNet 共提供了 14 种不同的控图模型,包括 11 个生产就绪模型和 3 个实验模型,每个模型大小都在 1.4G 左右,如果全部官方下载会需要很长时间,我也为大家打包好放在网盘里了。
官方 ControlNet 模型地址:https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main
在 ControlNet 更新到 V1.1 版本后,作者对所有标准的 ControlNet 模型都使用了标准模型命名规则进行重新命名,方便大家使用和管理。通过下面这张图我们可以通过模型名称快速了解当前模型的版本、类型等信息,进行快速定位。


有时候我们还会看到一些【control-*-fp16】命名的模型文件,特点是体积会比官方模型小一倍,在 700MB 左右。这里的 FP16 表示半精度浮点数,是一种常用的数据类型,多用于表示不同的数值精度和存储需求,因此使用【fp16】作为后缀代表的是由官方模型转化得到的半精度模型。相较于我们正常的 FP32 单精度,半精度模型可以有效减少存储空间和计算开销,经过测试它们的实际绘图效果和原模型并没有太大区别,也是不错的模型选择。
半精度模型下载地址:https://huggingface.co/webui/ControlNet-modules-safetensors/tree/main
4.关键参数解析


评论留言