在AI绘画中准确操控图片是一件比较困难的事情,不过随着 ControlNet 的诞生,这一问题得到了很大的缓解。
今天我就给我们共享一个运用Stable Diffusion WebUI + OpenPose ControlNet 仿制相片人物姿态的办法,作用能够参阅上图。
OpenPose 能够操控人体的姿态、面部的表情,有时候还能够解决坏手的问题(不要抱太大希望,下文会有介绍)。
OpenPose能够直接仿制一张图片的人体姿态,就像题图相同,也能够经过骨架图生成人体图片(什么是骨架图?下文会有介绍)。
下面咱们就以“文生图”为例,来看下怎么运用 OpenPose 。
装置ControlNet
一般的 Stable Diffusion WebUI 整合包或许镜像都现已装置了这个插件,假如你的还没有装置,需要先装置它。现已装置好的跳过这一末节即可。
办法是翻开 Stable Dissusion WebUI 前端页面,进入“扩展插件”-“从网址装置”,在“扩展插件的git仓库网址”中输入:github.com/Mikubill/sd…,然后点击“装置”,待装置完成后重启 SD WebUI。各种 ControlNet 模型和预处理器一般会在首次运用时主动下载装置。
假如拜访github不畅,也能够经过其他方法下载插件包和对应的模型,然后自己布置到 stable-diffusion-webui 中。文章最终提供了我收拾的插件包和各种模型。
详细布置途径如下:
- ControlNet插件:/extensions
- ControlNet模型:/extensions/sd-webui-controlnet/models
- ControlNet预处理器:/extensions/sd-webui-controlnet/annotator/downloads
留意需替换 为你自己的SD WebUI布置途径,假如你的 SD WebUI 发动命令中配置了模型的途径,或许做了文件夹的软链接,也需要依据实际情况进行调整。搞不明白的能够联系我。
装置成功后,在“文生图”、“图生图”界面的下方会出现 ControlNet 区域,点击右侧的翻开按钮,下边有4个ControlNet单元,也便是咱们能够一起运用4个ControlNet模型操控出图的作用,一般也就够了。
假如你的 ControlNet 只需1个单元,或许你想修正这个单元的数量,能够到“设置”中调整,如下图所示,找到“多重操控网:最大模型数量”,更改之后别忘了重启。
仿制图片姿态
进入“文生图”界面,只需要挑选一个你喜爱的大模型,填写简单的提示词就能够了。文章最终提供了我收拾的模型合集,有爱好的能够参阅运用。
然后在页面下方的 ControlNet 中设置 OpenPose,依照下图所示的步骤操作:
- 这儿只需要设置1个 ControlNet 单元,挑选第一个就行了。
- 上传你要仿制姿态的图片。
- 启用这个 ControNet 单元,一般挑选图片后会主动勾选。
- 选中“完美匹配像素”,让 ControlNet 主动核算一个合理的内部图片处理空间,涉及底层技术细节,无脑勾选就行了。
- Control Type 挑选 OpenPose。
- 预处理会主动带出,不用修正。它是用来从参阅图片中提取骨架图的。
- 模型会主动带出,不用修正。它是在生成图片时依据骨架图操控人体姿态的。
- 这个按钮能够将参阅图片的尺寸带到“文生图”参数中,假如参阅图片的高宽没有超越 1024 ,主张运用,超越1024的出图会比较慢,能够依照图片比例手动设置“文生图”中的高宽参数。
最终点击“生成”就等着出图吧。这儿会输出两张图片,一张是运用大模型加OpenPose生成的图片,另一张是依据参阅图片生成的骨架图,咱们能够把这个骨架图仿制出来,今后继续运用或许共享给他人运用。
留意看这个骨架图中是有一点手的形状的,所以理论上,假如咱们在骨架图中描绘了手的形状,生成图片中的手是会遭到必定束缚的。再来一张总统挥手的相片,这只手看着还不错,不过也是生成了很多张之后挑选出来的。
生图参数:
a man in a suit waves from a plane window as he stands on the deck of a plane with his hand up, Beeple, sunglasses, a stock photo, american romanticism
Negative prompt: EasyNegative,bad hands,bad fingers
Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 289185078, Size: 656×432, Model hash: c0d1994c73, Model: realisticVisionV20_v20, Denoising strength: 0.7, Clip skip: 2, ControlNet 0: “preprocessor: openpose_full, model: control_v11p_sd15_openpose_fp16 [73c2b67d], weight: 1.5, starting/ending: (0, 1), resize mode: Crop and Resize, pixel perfect: True, control mode: Balanced, preprocessor params: (512, -1, -1)”, Hires upscale: 2, Hires upscaler: Latent, TI hashes: “EasyNegative: c74b4e810b03”, Version: v1.5.1
运用骨架图姿态
在上一末节咱们运用 OpenPose 时,先提取了图片人物的骨架图,然后运用骨架图生成的图片,所以只需有骨架图就能生成图片了。这关于发明太便利了,毕竟没有那么多的图片能够参阅。
这儿为了演示便利,直接运用上一末节提取的骨架图。咱们只需要更改 ControlNet 这儿的设置,如下图所示:
- 上传相片运用骨架图。
- 预处理器设置为None,由于咱们不需要再从相片中提取人物的骨架图。
其他参数都不变,直接生成就好了。
发明骨架图
骨架图从哪里来?这儿介绍一个网站、两个插件,都能够生成或许获取骨架图。
Avatar Pose Maker
这是一个制作骨架图的网站,能够调整人体的姿态、拍照的视角,也能够下载他人制作好的骨架图。
拜访地址:avatarposemaker.deezein.com/
翻开的页面如下图所示,我简单说下几个操作区域:
- 这儿挑选你要调整的身体部位
- 这儿设置详细身体部位的参数,能够调整姿态。
- 这儿能够调整人物的视角,是正面、侧面,仍是仰视、俯视等等。
- 这儿下载你发明的骨架图相片
- 这儿能够随机生成很多人体姿态。
- 这儿能够进入查看他人共享的姿态,有标签说明姿态是什么意义,挑选下载就好了。
OpenPose Editor
这是 Stable Diffusion WebUI 的一个插件,插件拜访地址:github.com/fkunn1326/o…,插件装置办法参阅上文的“装置ControlNet”。
装置成功后,咱们能够在一级页签中看到“OpenPose Editor”,这个插件的运用比较简单,能够在绘图区域这儿直接调整人物的姿态,然后下载图片备用,或许直接发送到文生图、图生图等运用。
这儿贴出我这个骨架图的出图作用:
生图参数:
eastern girl,18 years old, standing, waving left hand, balck hair, long straight hair, blue eyes, white shirt, blue jeans, trees, blue sky, cloud
Negative prompt: EasyNegative, bad hands, bad fingers, malformed
Steps: 30, Sampler: DPM++ 2M Karras, CFG scale: 7, Seed: 1995058330, Face restoration: CodeFormer, Size: 512×512, Model hash: 15012c538f, Model: realisticVisionV51_v51VAE, Denoising strength: 0.7, Clip skip: 2, ControlNet 0: “preprocessor: none, model: control_v11p_sd15_openpose_fp16 [73c2b67d], weight: 1, starting/ending: (0, 1), resize mode: Crop and Resize, pixel perfect: False, control mode: Balanced, preprocessor params: (-1, -1, -1)”, Hires upscale: 2, Hires upscaler: Latent, TI hashes: “EasyNegative: c74b4e810b03”, Version: v1.5.1
3D Openpose
这是又一个Stable Diffusion WebUI的插件,拜访地址:github.com/nonnonstop/…,不会装置的同学请参阅上文的“装置ControlNet”。
装置成功后,咱们能够在一级页签中看到“3D Openpose”,这个插件功能比较强大,咱们能够在一个3D的环境中调整人物的形态,可是操作上也会比较复杂,我们能够自己体会下。
- 双击骨架图中的关节部位能够调整这个关节的方向。
- 鼠标滑动能够调整人物的视角和大小。
- 特别支持了四肢的深度图、边缘检测图,用于优化四肢的生成,也能够单独只生成手。
调整好后,点击“生成”。
生成后的预览图如下,第一张是骨架图,后边几张是用来画四肢的辅佐图。
能够直接发送到文生图和图生图,也能够下载后备用。直接发送感觉不太好用,主张先下载再上传。ControlNet的设置方法和上文直接运用骨架图生成图片相同,留意不需要挑选预处理器。
假如咱们希望对四肢进行专门的修正,能够运用画四肢的辅佐图。这儿挑选边缘检测这个ControlNet,留意仍是不要挑选预处理器,发动操控步数和完毕操控步数我们能够依据实际情况调整,文生图中不要从0到1,会影响图片的结构,图生图中能够运用部分绘图修手修脚。
尽管咱们专门对四肢进行了处理,可是出图的作用仍是经常出现变形的四肢,作用是有的,但和希望的差距还比较大。下边是两个例子:
- 文生图带修手:
- 先文生图,再图生图部分修手:
资源下载
假如你下载插件和模型不便利,能够运用我收拾的资源包,重视大众号:萤火遛AI(yinghuo6ai),发消息:插件,即可获取下载地址。
以上便是本次共享的主要内容,假如有问题欢迎沟通交流。
假如你还没有运用过Stable Diffusion WebUI,能够先看这几篇文章,了解下怎么运用:
手把手教你在本机装置Stable Diffusion秋叶整合包
手把手教你在云环境炼丹(布置Stable Diffusion WebUI)
SDXL 1.0出图作用直逼Midjourney!手把手教你快速体会!