controlnet

您所在的位置:网站首页 controlnet预处理模型跟huggingface controlnet

controlnet

#controlnet | 来源: 网络整理| 查看: 265

controlnet前言​

在ControlNet出现之前,AI绘画更像开盲盒,在图像生成前,你永远都不知道它会是一张怎样的图。ControlNet 的出现,真正意义上让AI绘画上升到生产力级别。简单来说可以用ControlNet精准控制AI图像的生成效果。

ControlNet就是在大型扩散生成模型的基础上,再加上一个结构,使得扩散生成模型能够接受一个新的“图像输入”。并且对模型的输出起到控制作用,使其与输入图像类似。

在实际的AI绘图,用户要解决2个关键问题:

图像的精准控制。例如确定背景、结构等图像的风格控制。例如确定动作、表情等

无论你使用再准确的提示词再好的微调模型也是无法实现的。而通过ControlNet的应用模型,可以让这2个问题获得解决。所以不仅是常见的人物画像,在建筑、室内、产品图、平面设计、海报等等领域都可以提高生产力甚至做出设计师难以做出的效果。

安装​

需要先安装扩展,点击「Extensions」Tab下的「Install from URL」子Tab,然后输入: https://github.com/Mikubill/sd-webui-controlnet,再点击「Install」,在提示安装完成后,点击「Apply and restart UI」按钮重启UI。

接着需要下载应用模型。我使用了最新的ControlNet-v1-1-nightly的模型:

wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11e_sd15_ip2p.pth -P ~/workspace/stable-diffusion-webui/models/ControlNetwget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11e_sd15_shuffle.pth -P ~/workspace/stable-diffusion-webui/models/ControlNetwget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11e_sd15_tile.pth -P ~/workspace/stable-diffusion-webui/models/ControlNetwget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11e_sd15_depth.pth -P ~/workspace/stable-diffusion-webui/models/ControlNetwget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11f1e_sd15_tile.pth -P ~/workspace/stable-diffusion-webui/models/ControlNetwget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11f1p_sd15_depth.pth -P ~/workspace/stable-diffusion-webui/models/ControlNetwget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_canny.pth -P ~/workspace/stable-diffusion-webui/models/ControlNetwget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_inpaint.pth -P ~/workspace/stable-diffusion-webui/models/ControlNetwget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_lineart.pth -P ~/workspace/stable-diffusion-webui/models/ControlNetwget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_mlsd.pth -P ~/workspace/stable-diffusion-webui/models/ControlNetwget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_normalbae.pth -P ~/workspace/stable-diffusion-webui/models/ControlNetwget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_openpose.pth -P ~/workspace/stable-diffusion-webui/models/ControlNetwget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_scribble.pth -P ~/workspace/stable-diffusion-webui/models/ControlNetwget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_seg.pth -P ~/workspace/stable-diffusion-webui/models/ControlNetwget https://huggingface.co/lllyasviel/ControlNet-v1-1/blob/main/control_v11p_sd15_softedge.pth -P ~/workspace/stable-diffusion-webui/models/ControlNetwget https://huggingface.co/lllyasviel/ControlNet-v1-1/blob/main/control_v11p_sd15s2_lineart_anime.pth -P ~/workspace/stable-diffusion-webui/models/ControlNetwget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_softedge.pth -P ~/workspace/stable-diffusion-webui/models/ControlNetwget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15s2_lineart_anime.pth -P ~/workspace/stable-diffusion-webui/models/ControlNet

这些模型文件都在1.3G左右,文件比较大,可以按需下载。

解决安装报错问题​

我在安装这个插件时,发现报错了:

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

需要安装Mac开发工具再重新安装:

➜ xcode-select --install➜ cd ~/workspace/stable-diffusion-webui➜ venv/bin/pip install svglib fvcore初体验​

我们通过一个李多惠的照片在txt2img模式下生成图片作为例子:

这个招聘的动作其实是复杂的,用提示词不可能表达出来,现在有了ControlNet就非常容易还原,下面是用canny、openpose这个两个不同的应用模型,加上对应大模型和提示词最终生成的图:

Counterfeit:

ReV Animated:

可以看到每个图都固定对了动作,衣服结构、头发等细节也都非常还原。

另外这次我们只讨论动作是不是正确,手部问题一直是AI绘画的难点(SD很难理解人应该有5个手指🤦🏻‍♀️),负面提示词也很难解决,我之后会专门写一篇文章介绍怎么修复。

接着了解一下各个参数及其意义:

Single Image。上传单张图片。Batch。处理多张图片。Input Directory填写的是待处理的图片所在路径。Enable。在生图时激活ControlNet,必选。Low VRAM。生图使用ControlNet会吃更多VRAM,此选项可降低VRAM使用量。它是建议8G以下显存开启,我16G也会开启。Pixel Perfect。由ControlNet自动决定Preprocessor分辨率。Allow Preview。允许预览生图结果,会显示该模型侦测的线条或骨架。一会我们会展开Preprocessor 预处理器。Preprocessor是先将上传的图片处理过一轮,例如Scribbles会将彩色图片转成线稿。通常Preprocessor和下面Model二者要一致,但如果你的图片不需要处理(例如已经在PS里处理过了),Preprocessor可留空。Model。设置生图的时候使用哪个ControlNet模型。Control Weight。ControlNet在生图时的权重。Starting Control Step。开始参与生图的步数。Ending Control Step。结束参与生图的步数。Preprocessor Resolution。预处理器的分辨率。当然我也建议勾选上面的「Pixel Perfect」让ControlNet自动决定。Control Mode。控制生图时,要AI平衡二者(Balanced),或是偏重你的提示词(My prompt is more important),还是偏重ControlNet (ControlNet is more important)。Resize Mode。当生成图和原图的尺寸不一致时选择调整模式。应用模型介绍​

ControlNet包含多个应用模型,这小节介绍几个主要的模型。这节的内容大部分来自于延伸阅读链接5,我觉得比我之前的写的好,所以直接替换了。

OpenPose 姿势识别​

通过姿势识别,达到精准控制人体动作。除了生成单人的姿势,它还可以生成多人的姿势,此外还有手部骨骼模型,解决手部绘图不精准问题。以下图为例:左侧为参考图像,经 OpenPose 精准识别后,得出中间的骨骼姿势,再用文生图功能,描述主体内容、场景细节和画风后,就能得到一张同样姿势,但风格完全不同的图。

Canny 边缘检测​

Canny 模型可以根据边缘检测,从原始图片中提取线稿,再根据提示词,来生成同样构图的画面,也可以用来给线稿上色。

HED 边缘检测​

跟 Canny 类似,但自由发挥程度更高。HED 边界保留了输入图像中的细节,绘制的人物明暗对比明显,轮廓感更强,适合在保持原来构图的基础上对画面风格进行改变时使用。

Scribble 黑白稿提取​

涂鸦成图,比 HED 和 Canny 的自由发挥程度更高,也可以用于对手绘线稿进行着色处理。

Mlsd 直线检测​

通过分析图片的线条结构和几何形状来构建出建筑外框,适合建筑设计的使用。

Seg 区块标注​

通过对原图内容进行语义分割,可以区分画面色块,适用于大场景的画风更改。

Normal Map 法线贴图​

适用于三维立体图,通过提取用户输入图片中的 3D 物体的法线向量,以法线为参考绘制出一副新图,此图与原图的光影效果完全相同。

Depth 深度检测​

通过提取原始图片中的深度信息,可以生成具有同样深度结构的图。还可以通过 3D 建模软件直接搭建出一个简单的场景,再用 Depth 模型渲染出图。

Tile​

输入图片,选取一个区域,使其变清晰的模型。

Multi ControlNet​

缺省安装后只会使用一个ControlNet,但是叠加多个有助于生成更好的图片,所以可以开启多个ControlNet的组合使用,对图像进行多条件控制。例如对一张图像的背景和人物姿态分别进行控制,那可以配置 2 个 ControlNet,第 1 个 ControlNet 使用 Depth 模型对背景进行结构提取并重新风格化,第 2 个 ControlNet 使用 OpenPose 模型对人物进行姿态控制。此外在保持 Seed 种子数相同的情况下,固定出画面结构和风格,然后定义人物不同姿态,渲染后进行多帧图像拼接,就能生成一段动画。

要激活Multi ControlNet,需要进入「Settings」,在左侧菜单栏选择「 ControlNet」,拖动拉杆,设置要激活的ControlNet数量(我设置成了3):

设置后需要重启webui。

延伸阅读​https://arxiv.org/abs/2302.05543https://github.com/lllyasviel/ControlNethttps://github.com/lllyasviel/ControlNet-v1-1-nightlyhttps://github.com/Mikubill/sd-webui-controlnethttps://www.uisdc.com/stable-diffusion-2


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3