Stable Diffusion 系统教程 | 强大的ControlNet 控制网

2023年的2月13日,一款名叫ControlNet的插件横空出世,AI绘画变得更加可控

ControlNet直译过来很简单,就叫做控制网,开发者是一名华裔,毕业于苏州大学,目前在斯坦福做读博士一年级,大佬大佬!

在controlNet之前,基于扩散模型的绘画是极为难控制的,平时自嗨画画其实没有一点问题,随机就随机一点,但是对于一些特定要求的岗位的同学来说,这种抽卡式缺乏稳定性的模型很难真正提高效率。

1 ControlNet的作用结构

​ 根据一些额外信息控制扩散生成走向,业内人士称为微调,通俗点说就是大模型你不是随机吗,那我给你一些指引信息,让你乖乖听话朝着我期望的方向走

​ 这时候有好奇的小伙伴就要问到了,那他和图生图有什么区别吗?我直接输入图片不也可以达到同样的效果吗?其实从某种意义上来说是的,但我举如下一个例子你就明白了

​ 比如我现在要生成一个有着特定姿势的图片,我固然可以通过一张自己期待的姿势的图片输入,模型可能会了解到这个姿势,但与此同时,这种图片除了姿势的其他信息如画面颜色,风格,人物特征也会被网络捕获到,因而就可能会产生意外的化学反应,但是用ControlNet可以提取人体关键点(如下图),这样的话模型只会了解到纯粹的需要生成的姿势而不会混杂其他信息,可控性就会增强了

2 ControlNet的安装和使用

ControlNet本质是一个插件,所以类似于之前插件的安装(看之前的这篇插件安装的文章)

不同于一些插件,ControlNet还需要搭配不同的模型来使用,来实现特定的功能

最推荐的安装方式,是将ControlNet的扩展文件夹放在根目录下的extensions文件夹内,可以省下很多麻烦

然后在扩展选单里重新加载WebUI 界面,就可以在文生图和图生图里面看到了

下载一个ControlNet模型(一般是pth和yaml文件)之后移动到ControlNet的扩展文件夹中

3 基本使用方式

点开ControlNet控制网。输入一张图片,我们在这里期望输出的图片模仿我们输入图片的姿势

2023年的2月13日,一款名叫ControlNet的插件横空出世,AI绘画变得更加可控

ControlNet直译过来很简单,就叫做控制网,开发者是一名华裔,毕业于苏州大学,目前在斯坦福做读博士一年级,大佬大佬!

在controlNet之前,基于扩散模型的绘画是极为难控制的,平时自嗨画画其实没有一点问题,随机就随机一点,但是对于一些特定要求的岗位的同学来说,这种抽卡式缺乏稳定性的模型很难真正提高效率。

1 ControlNet的作用结构

​ 根据一些额外信息控制扩散生成走向,业内人士称为微调,通俗点说就是大模型你不是随机吗,那我给你一些指引信息,让你乖乖听话朝着我期望的方向走

​ 这时候有好奇的小伙伴就要问到了,那他和图生图有什么区别吗?我直接输入图片不也可以达到同样的效果吗?其实从某种意义上来说是的,但我举如下一个例子你就明白了

​ 比如我现在要生成一个有着特定姿势的图片,我固然可以通过一张自己期待的姿势的图片输入,模型可能会了解到这个姿势,但与此同时,这种图片除了姿势的其他信息如画面颜色,风格,人物特征也会被网络捕获到,因而就可能会产生意外的化学反应,但是用ControlNet可以提取人体关键点(如下图),这样的话模型只会了解到纯粹的需要生成的姿势而不会混杂其他信息,可控性就会增强了

2 ControlNet的安装和使用

ControlNet本质是一个插件,所以类似于之前插件的安装(看之前的这篇插件安装的文章)

不同于一些插件,ControlNet还需要搭配不同的模型来使用,来实现特定的功能

最推荐的安装方式,是将ControlNet的扩展文件夹放在根目录下的extensions文件夹内,可以省下很多麻烦

然后在扩展选单里重新加载WebUI 界面,就可以在文生图和图生图里面看到了

下载一个ControlNet模型(一般是pth和yaml文件)之后移动到ControlNet的扩展文件夹中

3 基本使用方式

点开ControlNet控制网。输入一张图片,我们在这里期望输出的图片模仿我们输入图片的姿势

我们从网上找一张

图片上传

选择预处理器(OpenPose就是提取姿势的),并选择相应的模型

其他参数先维持不变

加入我们期望的场景提示词,如在森林里

1 cute girl, forest, smile,

SFW, (masterpiece:1.2), best quality, masterpiece, highres, original, extremely detailed wallpaper, perfect lighting,(extremely detailed CG:1.2)

生成

更改一下提示词

1 cute girl, city, smile,

SFW, (masterpiece:1.2), best quality, masterpiece, highres, original, extremely detailed wallpaper, perfect lighting,(extremely detailed CG:1.2)

可以看出姿势完全不变

同时它还会附加给我们一张骨骼图

3.1 参数详解

Control Weight

决定这个控制效应在图片中呈现出来的强度,维持默认1不变

Starting Control step

ending Control step

什么时候加入ControlNet影响,默认的0到1表示全程生效,缩短影响,可以赋予图像更多的自由度

ControlMode

提示词影响和ControlNet之间倾向于哪一个,一般维持默认Balanced即可,二者兼顾

核心就是控制强弱

缩放模式

会在导入图片和你生成图片分辨率不匹配的时候起作用

3.2 代表性ControlNet模型应用

3.2.1 Open Pose姿态

上面讲到的只是OpenPose的基本的身体整体骨骼的刻画

选择不同的预处理器可以获得对手部,脸部更精确的刻画

比如我们使用openpose_face,可以看到获得了更精细的脸部特征骨骼图

3.2.2 Depth 深度

适合富有空间感的多层次场景

3.2.3 canny 边缘检测

通过边缘来进行绘画输出,超级强大!!!

比如我们这里用Canny检测器,可以生成几乎一模一样的

可以实现线稿上色

相关推荐
分布式存储与RustFS7 分钟前
RustFS的边缘计算优化方案在5G MEC场景下的实测数据如何?
人工智能·5g·开源·边缘计算·rustfs
2501_9248905215 分钟前
商超场景徘徊识别误报率↓79%!陌讯多模态时序融合算法落地优化
java·大数据·人工智能·深度学习·算法·目标检测·计算机视觉
SalvoGao36 分钟前
空转学习 | cell-level 与 spot-level的区别
人工智能·深度学习·学习
初岘39 分钟前
自动驾驶GOD:3D空间感知革命
人工智能·3d·自动驾驶
什么都想学的阿超1 小时前
【大语言模型 15】因果掩码与注意力掩码实现:深度学习中的信息流控制艺术
人工智能·深度学习·语言模型
码蛊仙尊1 小时前
当我们想用GPU(nlp模型篇)
人工智能·自然语言处理
学习3人组1 小时前
手写数字识别代码
人工智能·python
Codebee2 小时前
Qoder初体验:从下载到运行OneCode可视化设计器的完整实战指南
人工智能
双向332 小时前
高并发AI服务部署方案:vLLM、TGI、FastChat性能压测报告
人工智能
JANGHIGH2 小时前
在自动驾驶中ESKF实现GINS时,是否将重力g作为变量考虑进去的目的是什么?
人工智能·机器人·自动驾驶