Stable Diffusion教程!ControlNet安装与通用参数讲解

时间:2023-07-15
B站视频:av785790283
类别:AIGC
水平:入门
观众:2.0w
设计师入站必刷的宝藏频道,掌握设计真本领与AI并肩 👉 立即点击

当视频无法加载时请刷新页面,
或前往PC获得最佳体验。

Stable Diffusion教程!ControlNet安装与通用参数讲解

教程作者: 野鹿志(授权转载)

ControlNet插件下载地址:https://github.com/Mikubill/sd-webui-controlnet

ControlNet模型下载地址:https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main

交作业:微博搜索话题 #优设每日作业# 进入话题页即可发布作业

一、关于教程

嗨,好久不见,有快一个月没有更新了,因为最近比较忙,但是又不忍心停更,所以只能晚上抽时间写文,大家且读且珍惜吧,前面我们已经花了9篇文章将 Stable Diffusion 的入门内容介绍完了,如果还没有看的鹿友墙裂推荐阅读。

从今天开始我们将进入 Stable Diffusion 进阶必学插件,ControlNet 的学习。

虽然 ControlNet 总体学习起来难度不大,但是内容还是挺多的,为了控制文章的篇幅以及视频的时长,应该会分好几期来分享。当然更新频次方面我自己也多多抓紧,尽量更新快一点,希望广大鹿友多多支持。

二、教程分享

01 ControlNet的概述

正式学习之前我们先来回顾上一篇文章结尾处对SD各项功能的总结:

  • 文生图:通过提示词生成图片。
  • 图生图:文生图的基础上添加喂图端口,进一步控制出图。
  • 绘图:图生图加上手绘模式,可编辑输入的原图。
  • 局部重绘:图生图的局部控制。
  • 局部重绘手涂蒙版:局部重绘加上手绘模式,可编辑输入的原图。
  • 局部重绘上传蒙版:对局部重绘蒙版的精准绘制。
  • 批量处理:局部重绘的批量处理。

通过以上的总结可以看出,目前SD已经能够从很多方面控制出图,但你会发现这种程度的控制是远远不够的。

我这里用自己的照片举例吧,例如我现在有这样一张图:

Stable Diffusion教程!ControlNet安装与通用参数讲解

然后我希望生成的图片都摆出和我一样的姿势,按照我们之前学习过的内容,你可能首先会想到使用图生图的功能。

首先我们可以在提示词中输入如图所示的提示词:

Stable Diffusion教程!ControlNet安装与通用参数讲解

可以看到当我们在重绘幅度不高的情况下,也能一定程度上还原这个动作:

Stable Diffusion教程!ControlNet安装与通用参数讲解

但由于图生图识别的是原图的颜色,因此生成的图片始终和原图有些类似,包括衣服和背景。

而如果我们想要和原图差异大一点,一旦提高重绘幅度,动作就很难保持:

Stable Diffusion教程!ControlNet安装与通用参数讲解

可能需要不断的抽卡才能得到一张合适的图片,而结合ControlNet,例如Scribble这种模式,我们可以把图片转换为草图,并且又能一定程度上保证它的轮廓:

Stable Diffusion教程!ControlNet安装与通用参数讲解

这样我们就可以在较高重绘幅度的同时,基本保证姿势的不变:

Stable Diffusion教程!ControlNet安装与通用参数讲解

总结一句话,ControlNet就是进一步通过其他维度来控制出图的准确度。

截止到写文的时间2023年7月5日,ControlNet一共有14个模型:

Stable Diffusion教程!ControlNet安装与通用参数讲解

并且还有很多预处理器:

Stable Diffusion教程!ControlNet安装与通用参数讲解

另外ControlNet的更新相当频繁,据我观察每2到3天好像就会更新一次,在我写这篇文章的时候,它都已经又更新了:

Stable Diffusion教程!ControlNet安装与通用参数讲解

02 ControlNet的安装

安装ControlNet和普通插件一样,可以通过网址安装:

Stable Diffusion教程!ControlNet安装与通用参数讲解

地址:https://github.com/Mikubill/sd-webui-controlnet

也可以在可用中搜索ControlNet,我由于已经安装过了,所以不会有显示:

Stable Diffusion教程!ControlNet安装与通用参数讲解

最后就是用离线压缩包安装,需要将压缩包解压到SD安装目录的extensions里,离线压缩包我文后也会分享给大家:

Stable Diffusion教程!ControlNet安装与通用参数讲解

安装完毕之后你就可以在文生图和图生图的界面看见ControlNet的选项卡了:

Stable Diffusion教程!ControlNet安装与通用参数讲解

插件安装完毕以后,默认情况下模型这一栏是没有的,因此就需要安装ControlNet模型:

Stable Diffusion教程!ControlNet安装与通用参数讲解

前面提到了目前ControlNet官方模型有14个,就是这些以pth结尾的文件,文后同样会打包分享给大家:

Stable Diffusion教程!ControlNet安装与通用参数讲解

地址:https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main

下载以后请解压到ControlNet的models文件夹里。

另外这个文件夹里本身包含了所有yaml配置文件,通常情况下你只用下载pth结尾的文件即可,当然你将官网的yaml文件下载放进去替换也可以。

下载完模型之后记得在ControlNet的模型栏位点刷新:

Stable Diffusion教程!ControlNet安装与通用参数讲解

当你在第一次选择预处理器的时候,其实系统是会自动进行一个预处理器模型的下载:

Stable Diffusion教程!ControlNet安装与通用参数讲解

但很多时候会因为网络问题下载失败而导致ControlNet用不了,因此建议大家手动安装一下预处理模型,模型同样文后会分享给大家。

需要在ControlNet的annotator这个文件夹里,新建一个downloads的文件夹,然后把如图所示的文件夹全部拷贝进去:

Stable Diffusion教程!ControlNet安装与通用参数讲解

安装完毕以后我建议大家在设置中,把ControlNet的最大数量改为3或者5,这样大家就可以多个预处理器同时使用,对出图进行叠加控制:

Stable Diffusion教程!ControlNet安装与通用参数讲解

03 ControlNet通用参数

虽然ControlNet有很多预处理器和模型,但大部分参数属于通用参数。

首先是加载图片的区域,可以是一张正常的图片,会根据你选择的预处理器提取相应的信息。

也可以直接使用骨骼图,深度图或轮廓图等,这个我们以后再细说:

Stable Diffusion教程!ControlNet安装与通用参数讲解

下方可以点击创建新的空白画布:

Stable Diffusion教程!ControlNet安装与通用参数讲解

可以设置画布的宽高尺寸之后,然后点击创建:

Stable Diffusion教程!ControlNet安装与通用参数讲解

创建之后你就可以直接在画布上绘制草图了,不过这个功能应该很少用到:

Stable Diffusion教程!ControlNet安装与通用参数讲解

创建画布的旁边是使用ControlNet读取电脑摄像头所拍摄到的画面,我没有摄像头,所以暂时也没用过这个功能:

Stable Diffusion教程!ControlNet安装与通用参数讲解

下面一个功能,看提示是反转摄像机的意思,没用过:

Stable Diffusion教程!ControlNet安装与通用参数讲解

当你在ControlNet中上传图片以后,点击第四个按钮,那么SD出图的尺寸将自动设置为和你上传的图相同:

Stable Diffusion教程!ControlNet安装与通用参数讲解

激活启用按钮,ControlNet才能生效,低显存优化,建议显卡缓存只有4G的情况下激活:

Stable Diffusion教程!ControlNet安装与通用参数讲解

我们使用ControlNet生成信息图的时候,信息图的宽高比要尽量和出图的设置相近。

因此例如出图的尺寸设置为768*1024,在ControlNet中上传的图片最好也是同样的宽高比:

Stable Diffusion教程!ControlNet安装与通用参数讲解

而当我们选择一种预处理器的时候,可以手动设置预处理器的分辨率,数值越大生成的信息图尺寸越大越精确,但消耗的资源也会越多,反之亦然。

因此当我们出图尺寸设置为768*1024,但是预处理器分辨率设置为512的时候,生成的信息图尺寸就被调整为了512*683:

Stable Diffusion教程!ControlNet安装与通用参数讲解

勾选这个完美像素选项,它会自动帮你匹配合适的预处理器分辨率,可以看到这个时候我们生成的信息图尺寸就变成了768*1024:

Stable Diffusion教程!ControlNet安装与通用参数讲解

ControlNet需要同时选择预处理器以及对应的模型才能起作用,默认情况下是全部,需要你手动选择,很不方便:

Stable Diffusion教程!ControlNet安装与通用参数讲解

因此你可以直接选择你想要控制的类型,这样它就只会显示该类型下的预处理器,并且自动匹配对应的模型:

Stable Diffusion教程!ControlNet安装与通用参数讲解

接下来三个参数,控制权重不用多说,后面两个参数分别是控制的起始及结束步数,单位为百分比。

例如当我的采样迭代步数为20,起始控制步数为0.5,代表着ControlNet从第10步才开始起作用:

Stable Diffusion教程!ControlNet安装与通用参数讲解

下面有三种控制模式,官方的算法写的很玄乎,但其实就是字面的意思,均衡、提示词更重要和ControlNet更重要:

Stable Diffusion教程!ControlNet安装与通用参数讲解

画面缩放模式和图生图中的缩放模式一样,当ControlNet中上传图的宽高比和出图设置不同时,会根据不同的选择方式调整图片尺寸,这里就不再赘述了:

Stable Diffusion教程!ControlNet安装与通用参数讲解

最下面这个参数字面意思看是将生成的图自动发送回ControlNet中,但经过我测试好像暂时没有什么效果,暂且略过吧:

Stable Diffusion教程!ControlNet安装与通用参数讲解

最后再补充一个漏说的知识点,前面我们提到了ControlNet中可以直接上传信息图,比如骨骼图,轮廓图等。

在图片输入框的下方会提示,当你的图片为白色背景黑色边缘时,预处理器需要选择为反转

Stable Diffusion教程!ControlNet安装与通用参数讲解

例如我这里上传了一个白色背景黑色描边的文字轮廓图,控制类型选择为canny,这是专门提取轮廓信息的预处理器。

预处理器中选择反转,反转这个预处理在所有的线条类控制里都有:

Stable Diffusion教程!ControlNet安装与通用参数讲解

选择完毕之后记得点击爆炸图标,前面忘记说了,使用ControlNet在确定预处理器和模型之后一定要点一下这个图标,点击之后就可以看到我们的图片轮廓被提取出来了:

Stable Diffusion教程!ControlNet安装与通用参数讲解

然后再在提示词中输入你想要的提示词,就能很轻松的得到一个艺术字的效果了:

Stable Diffusion教程!ControlNet安装与通用参数讲解

Stable Diffusion教程!ControlNet安装与通用参数讲解

以上就是今天想要分享给大家的所有内容。本来想再单独介绍一下canny处理器的参数的,但是今天的篇幅感觉已经够长了,我们以后再分享吧~

欢迎关注「野鹿志」的微信公众号:

Stable Diffusion教程!ControlNet安装与通用参数讲解

想要来「优优自学团」和500位小伙伴一起交流学习进步吗?
添加管理员微信:uisdc5 备注「优优自学团」(无备注不通过哦)

学完这篇教程的人还在学…

附件下载

文件名 文件大小 提取码 下载来源
ControlNet23G6666 点此复制 登录下载
6 收藏 19

非特殊说明,本站 UiiiUiii.com 上的教程均由本站作者及学员原创或翻译,原作品版权归属原作者,转载请联系 @优优教程网 授权。

转载时请在文首注明,来源 UiiiUiii.com 及教程作者,并附本文链接。谢谢各位编辑同仁配合。UiiiUiii 保留追究相应责任的权利。

复制本文链接
img

发表评论 已发布 2

还可以输入 800 个字
yzm
 
 
加载更多评论
没有更多评论了

优优教程网 365 天打卡计划

点击 #优设每日作业# 进入微博超话页面,上传并发布你的练习作业,话题微博格式【 优优教程网365打卡计划 – DAY 01 】,优秀作业将有机会被 @优优教程网 官方微博转发点评。

/

支持键盘 ← → 键翻阅图片