Stable Diffusion安装ControlNet与下载模型
稳定扩散(Stable Diffusion)是一种通过加入额外条件来控制神经网络结构的扩散模型。最近,推出了ControlNet v1.1版本,该版本在AI生成图片方面更加精准。
相比于内置的”图生图”技术,ControlNet能够更好地让AI以指定的动作生成图片。此外,结合3D建模作为辅助,可以解决单纯使用文本生成图片时手脚、脸部表情不准确的问题。
ControlNet的用途还包括上传人体骨架线条,通过ControlNet生成完整的人物图片。或者上传素色的3D建模,让ControlNet生成室内布置家具。
ControlNet的开发者是Lvmin Zhang,Mikubill则负责开发扩展功能,使我们可以在Stable Diffusion中使用ControlNet生成图片。
安装ControlNet与下载模型
首先切换至Extensions页面,点击”Install From URL”,然后输入URL”https://github.com/Mikubill/sd-webui-controlnet.git”,点击”Install“。接着在终端中按下CTRL+C,关闭Stable Diffusion WebUI。
然后从lllyasviel/ControlNet v1.1下载以.pth结尾的模型文件,这些文件总共约占用18GB的空间。不需要下载.yaml文件。目前v1.1版本是测试版,之后会合并到主保存库中。
将这些模型文件放到stable-diffusion-webui/extensions/sd-webui-controlnet/models文件夹中。
重新启动Stable Diffusion WebUI。
各个模型的用途
ControlNet目前提供以下模型,您可以根据需求选择下载需要的模型。
Anime Lineart:用于侦测线条,在生成的图片中也会保留原始线条,适用于处理动漫图像。
Canny:用于侦测图片边缘,效果比较模糊,不如Scribbles完整。
Depth:用于侦测输入图片的深度图。
Illumination:用于侦测输入图片的光源和照明效果。
Inpaint:类似于”内补绘制”,使用50%随机遮罩和50%随机光流遮罩进行训练。
Instruct Pix2Pix:模型文件名为ip2p,类似于”图生图”,但是使用了50%的指示提示词和50%的叙述提示词进行训练。由于是ControlNet,使用此模型时不需要调整CFG Scale。
根据原作者的说法,使用”使其成为X”的提示词生成的图像效果比”使Y成为X”要好。
Lineart:用于侦测线条,适用于处理线稿,生成的图片也会保留原始线条。
M-LSD:用于侦测输入图片的直线。
Normalbae:
Openpose:使用OpenPose技术侦测输入图片中人物的动作,不一定会保留线条。
Scribbles:用于侦测线条,侦测到的线条质量介于Soft Edge和Lineart之间。
Segmentation:模型文件名为seg,将侦测到的图片对象切割成一个个色块进行处理,例如将房子切割成一个色块,将天空切割成另一个色块。
Shuffle:将输入图片的概念转移到生成的图片中。
作者给出的例子是,输入一张灰色的装甲图片,生成的钢铁人盔甲也会是灰色的。
Soft Edge:用于侦测图片边缘,效果比较柔和,像是用炭笔涂过的。
Tile:输入一张图片,选取其中的一个区域,使其变得清晰。
参数解释
安装完成后,WebUI界面中会出现”ControlNet”按钮。
点击该按钮后,会显示以下选项:
Single Image:上传单张图片。
Batch:处理多张图片。在”Input Directory”中填写待处理图片所在的路径。
Open New Canvas:清除图片,开启新的画布。
使用电脑镜头:在”Open New Canvas”选项下面有四个按钮。
从左到右依次是:添加画布、使用电脑镜头拍照上传、未知、还原上次算图设置。
Enable:在生成图片时激活ControlNet,必选。
Low VRAM:生成图片时使用ControlNet会占用更多的VRAM,此选项可降低VRAM的使用量。
Pixel Perfect:由ControlNet自动决定预处理器的分辨率。
Allow Preview:允许预览生成图片的结果,会显示该模型侦测到的线条或骨架。
Preprocessor 预处理器:通常预处理器和模型两者要保持一致。
预处理器会对上传的图片进行处理,例如Scribbles会将彩色图片转换成线稿。如果您的图片不需要处理,则可以将预处理器设置为空。
Run Preprocessor(爆炸图标):运行预处理器,预先处理图片。
Model 模型:设置生成图片时使用的ControlNet模型。
Control Weight:ControlNet在生成图片时的权重。
Starting Control Step:ControlNet开始参与生成图片的步骤。
Ending Control Step:ControlNet结束参与生成图片的步骤。
Preprocessor Resolution:预处理器的分辨率。
如果不确定要设置多少,请勾选”Pixel Perfect”让ControlNet自动决定。
Control Mode (Guess Mode):在生成图片时控制AI平衡两者(Balanced),还是更偏重于您的提示词(My prompt is more important),还是更偏重于ControlNet(ControlNet is more important)。
[Loopback] Automatically send generated images to this ControlNet unit:自动将生成的图片传回此ControlNet运算单元。
是的,如果您的电脑的VRAM足够大,您可以在Settings → ControlNet中激活多个ControlNet运算单元。
Multi ControlNet:一个ControlNet效果不够好,您是否考虑过激活第二个、第三个ControlNet呢?
默认安装后只会使用一个ControlNet,但是叠加多个ControlNet有助于生成更好的图片。例如同时使用Open Pose和Depth生成人体,并防止手绘歪斜。
要激活Multi ControlNet,请进入Settings → ControlNet,拖动滑块设置要激活的ControlNet数量。
实际操作
以改绘一个人物姿势为例。
在安装完成后,WebUI界面中会出现”ControlNet”按钮。
在文生图页面填入提示词后,点击下方的ControlNet按钮,勾选Enabled激活ControlNet,并上传图片。勾选Low VRAM可降低VRAM的占用。
接着选择要使用的预处理器和模型,两者要保持一致。预处理器会对上传的图片进行处理,例如Scribbles会将彩色图片转换成线稿。如果您的图片不需要处理,则可以将预处理器设置为空。
以Scribbles为例,选择预处理器后,点击右上角的Generate按钮即可生成结果,并附上侦测到的线条。如下图所示,右边的贞德的姿势确实与左边的02十分类似。
这就是ControlNet的一些基本使用方法和参数解释。通过ControlNet,AI能够更加精准地生成图片,满足不同需求。在使用过程中,您可以根据具体情况选择合适的模型和参数,以获得最佳的生成效果。
最新推荐
-
AIDA64怎么设置游戏帧数显示
AIDA64怎么设置游戏帧数显示?AIDA64是一款能够测试软硬件系统信息的工具,详细的显示出电脑的每一个 […]
-
中望cad捕捉点怎么设置 中望cad捕捉点设置
中望cad捕捉点怎么设置?中望cad是一款图纸制作软件,能够进行二维制图和三维制图的图形设计软件,在日常的 […]
-
夜神模拟器设置扬声器怎么设置 电脑夜神模拟器没有声音
夜神模拟器设置扬声器怎么设置?夜神模拟器采用类手机界面视觉设计的PC端桌面软件,采用多内核技术,具有同类模 […]
-
wps如何设置超链接到另一页 wps超链接到另一个表格sheet
wps如何设置超链接到另一页?wps是一款强大的办公软件,支持用户对表格或者文档进行自定义的编辑,同时也可 […]
-
mac os显示器怎么快速黑屏
mac os系统想要快速关闭显示器使其黑屏,也就是进入睡眠状态,该怎么进入呢?有两种方法,详细请看下文介绍。
-
excel如何制作文件夹侧标签 excel做文件夹侧面标签
excel如何制作文件夹侧标签?excel表格不止方便用户对数据进行编辑操作,同样支持用户进行一些文字图形 […]