当前位置:   article > 正文

【文生图系列】如何在Stable Diffusion Webui中使用ControlNet_stable diffusion webui controlnet

stable diffusion webui controlnet

ControlNet

ControlNet是一个神经网络结构,通过添加额外的条件控制扩散模型。给定任务条件,ControlNet能够提升已训练好的图像扩散模型。对于任意一个神经网络块,如下图所示, x , y x,y x,y为神经网络中的特征,蓝色虚线框为ControlNet。ControlNet由zero convolution和神经网络块组成,其中zero convolution为 1 × 1 1 \times 1 1×1的卷积,weight和bias的初始值为0,神经网络块为原神经网络块的复制品,原模型中的神经网络块在训练过程中被冻结,只有ControlNet中的复制品进行训练。 c c c是我们想要添加到扩散网络中的额外条件。
在这里插入图片描述

Stable Diffusion + ControlNet

Stable Diffusion生成的图片随机性太强,即使精心设计提示词,生成的图片仍不能满意。将ControlNet应用到Stable Diffusion模型中,用来控制stable diffusion模型的图片输出。ControlNet能够复用stable diffusion的编码器,将其作为一个强大的鲁棒的backbone用来学习不同的控制条件。
在这里插入图片描述

安装ControlNet插件

  1. 在Stable Diffusion Webui找到扩展(Extensions),选择从网址安装(Install from URL),输入网址https://github.com/Mikubill/sd-webui-controlnet.git,点击下载,然后等待下载sd-webui-controlnet项目。
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/6b307b6c7d914154910a74378f9702f1.png
  2. 然后返回已安装(Installed)界面,点击检查更新(Check for Updates),等待一段时间,加载下载的sd-webui-controlnet项目。再然后点击应用并重启用户界面(Apply and restart UI)按钮,重启用户界面。
    在这里插入图片描述
  3. 返回文生图(txt2img)界面,在随机种子下面,多了ControlNet的选线,点击右面的三角进行展开。
    在这里插入图片描述
    ControlNet展开界面如下所示:
    在这里插入图片描述
  4. 在ControlNet展开页面中,找到模型选项,即使更新,还是None,没有模型。所以还需要从huggingface中下载模型到stable-diffusion-webui/models/ControlNet文件下。
    在这里插入图片描述
    目前huggingface中有ControlNetControlNet-v1-1两个版本。预训练的模型为Annotators,在进行预训练计算时,会自动下载,不过,如果网不是很好,就会报ConnectionError错误。
    下图是ControlNet模型界面的截图,模型都比较大。ControlNet-v1-1包含更多模型和yaml文件,相比于ControlNet,模型会小一些。
    在这里插入图片描述
  5. 设置ControlNet Unit的个数。默认只有一个Unit。设置–>ControlNet–>设置Multi ControlNet的最大网络数量,我设置了3,ControlNet将有三个Unit。然后保存设置并重启Webui。
    在这里插入图片描述

bug

Stable Diffusion的模型是v2-1_512,ControlNet和Stable Diffusion图像尺寸大小均是512,进行图片生成时,报下述运行错误。
在这里插入图片描述
解决方案:下载Stable Diffusion V1.5版的预训练模型,即可。

例子展示

首先,输入提示词“a cute dog”,大模型选择Stable Diffusion v1.5版的预训练模型,先不启用ControlNet,点击生成按钮,生成一张可爱的小狗照片。
在这里插入图片描述
下面,文生图的参数保持不变,在ControlNet Unit中上传图像,启用ControlNet,控制类型选择Canny,如下图所示。允许预处理查看(Allow Preview),点击预处理旁边的闪电标志,就能看到上传图片的轮廓图。补充提示词,然后点击生成按钮,就能返回一张可爱的小狗图片和轮廓图。
在这里插入图片描述
下表是不同模型生成图的对比,加入ControlNet之后的Stable Diffusion模型的生成图与参考图动作形态比较相似。

SD V1.5SD+ControlNet参考图控制类型
在这里插入图片描述在这里插入图片描述在这里插入图片描述Canny

参考

  1. stable diffusion webui
  2. ControlNet
  3. Adding Conditional Control to Text-to-Image Diffusion Models
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/801867
推荐阅读
相关标签
  

闽ICP备14008679号