controlnet |
您所在的位置:网站首页 › controlnet预处理模型跟huggingface › controlnet |
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个手指🤦🏻♀️),负面提示词也很难解决,我之后会专门写一篇文章介绍怎么修复。 接着了解一下各个参数及其意义: ControlNet包含多个应用模型,这小节介绍几个主要的模型。这节的内容大部分来自于延伸阅读链接5,我觉得比我之前的写的好,所以直接替换了。 OpenPose 姿势识别通过姿势识别,达到精准控制人体动作。除了生成单人的姿势,它还可以生成多人的姿势,此外还有手部骨骼模型,解决手部绘图不精准问题。以下图为例:左侧为参考图像,经 OpenPose 精准识别后,得出中间的骨骼姿势,再用文生图功能,描述主体内容、场景细节和画风后,就能得到一张同样姿势,但风格完全不同的图。 Canny 模型可以根据边缘检测,从原始图片中提取线稿,再根据提示词,来生成同样构图的画面,也可以用来给线稿上色。 跟 Canny 类似,但自由发挥程度更高。HED 边界保留了输入图像中的细节,绘制的人物明暗对比明显,轮廓感更强,适合在保持原来构图的基础上对画面风格进行改变时使用。 涂鸦成图,比 HED 和 Canny 的自由发挥程度更高,也可以用于对手绘线稿进行着色处理。 通过分析图片的线条结构和几何形状来构建出建筑外框,适合建筑设计的使用。 通过对原图内容进行语义分割,可以区分画面色块,适用于大场景的画风更改。 适用于三维立体图,通过提取用户输入图片中的 3D 物体的法线向量,以法线为参考绘制出一副新图,此图与原图的光影效果完全相同。 通过提取原始图片中的深度信息,可以生成具有同样深度结构的图。还可以通过 3D 建模软件直接搭建出一个简单的场景,再用 Depth 模型渲染出图。 输入图片,选取一个区域,使其变清晰的模型。 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 |