一文看懂:用ControlNet+Lora生成指定姿势的照片级AI美女(附视频)

新闻 1970-01-01
433

大家可能都听过最近AI绘画领域的又一次突破:ControlNet。

顾名思义,ControlNet是用来“控制”生成图的;在ControlNet出现之前,希望AI生成指定动作的人物图非常困难,而ControlNet技术的出现一举解决了这个难题,不仅能控制人物身体姿势,甚至可以控制手势。

如上所示,有了ControlNet这个神器,再加上ChilloutMix超写实模型和Lora亚裔美女模型,我们可以自由生成一个姿势自定义的AI女友了。

需要实践的朋友可以到文章最后看step by step的视频, 本文和大家展示一下生成流程是多么简单。

一句话概括: 本地部署Stable Diffusion后, 下载几个模型, 然后用插件所见即所得的调整身体姿势和手势, 其他事情都交给AI一键生成!

生成照片级模型需要以下的SD的三个模型:

首先是写真照片级生成模型ChilloutMix, 传送门:https://civitai.com/models/6424/chilloutmix

值得注意的是, ChilloutMix这个AI模型的影响太大, 导致作者放弃版权, 以及做了一些严肃的声明:

除了ChilloutMix, 还要下载Lora模型 Cute Girl mix 4 (https://civitai.com/models/14171/cutegirlmix4),

此外, 还需要一个已经下架的模型 Korean Doll Likeness V15, https://drive.google.com/file/d/1hjhXJoC9G-6LofTLW3c8AZpscArnu1v2/edit, 或者使用仍在网上的V10版 https://civitai.com/models/11619/korean-doll-likenesss

这里提醒一下, 如果使用以上这些模型生成真实明星图像,可能会有肖像权风险哦。

(三个模型下载好之后放入SD对应目录即可, 有需要的朋友可以在b站寻找SD部署的教学,也非常简单,本文略)

Prompt提示词编辑

接着我们来看看,给AI模型输入什么样的Prompt提示词,就可以生成足以假乱真的照片。

Prompt的第一部分, 用来提升画面品质, 可以看情况选其中几个,后面的1.0是权重,可以看情况微调: 

(masterpiece:1.0), (best quality:1.0), (ultra highres:1.0) ,(8k resolution:1.0),(realistic:1.0),(ultra detailed1:0), (sharp focus1:0), (RAW photo:1.0)

(杰作, 最佳品质, 超高分辨率, 8k分辨率, 逼真, 超细致, 锐焦, RAW照片)

Prompt的第二部分, 针对写实女性的画质提升:

1 girl,detailed beautiful skin, kind smile, solo, absurdres, detailed beautiful face, petite figure, detailed skin texture, pale skin, thigh gap, detailed hair, random hair style, detailed eyes, glistening skin,portrait photo,

(一个女孩,肌肤细致美丽,微笑善良,单人照,高分辨率,面容细致美丽,身材娇小,肌肤纹理细致,皮肤苍白,大腿之间有空隙,发型细节丰富,眼睛细节丰富,肌肤闪亮,肖像照片)

Prompt的第三部分, 一些自定义描述, 自由发挥:

(short sleeve shirts:1.1),(uniform:1.1),(pantyhose:1.2),(pleated skirt:1.1),ear rings ,futuristic, studio, (white background:1.4),

(短袖衬衫, 制服, 连裤袜, 百褶裙, 耳环, 未来派, 工作室, 白色背景)

负面提示词也很重要。

首先,特别要先放上 NSFW(即not suitable for work, 上班不要看),这样可以避免生成某些尴尬图片。

当然咯,如果你不尴尬,那尴尬的就是别人。

负面prompt的第一部分也是提升画面品质:

(Easy Negative:1.4), (worst quality: 1.4), (low quality: 1.4), (normal quality: 1.4)

负面提示词第二部分,避免各种瑕疵:

lowers,monochrome,grayscales,skin spots, acnes, skin blemishes, age spot,6 more fingers on one hand,deformity, bad legs, error legs, bad feet, malformed limbs, extra limbs,

(降低、单色调、灰度、皮肤斑点、痤疮、皮肤瑕疵、老年斑、一只手上多6个手指、畸形、不好的腿、错误的腿、不好的脚、畸形的肢体、额外的肢体)

提示词整体如下,模型如图所示使用ChilloutMix:

直接点击生成, 效果已经杠杠的:

如果换一个风格的模型, 比如二次元风格, 如下切换到anythingV3这个有名的手绘模型, 提示词不变:

结果就是对应的二次元风格美女:

一文看懂:用ControlNet+Lora生成指定姿势的照片级AI美女(附视频)

姿势控制入门

好了, AI美女点击可得, 那怎么控制美女的姿势呢?

简单的说就是给AI模型一张骨骼姿势照片即可。

最简单的方式是直接使用已有的pose图,比如从CIVITAI网站搜索POSE,带有pose标签的资源就是姿势图集,例如:

https://civitai.com/models/13647/super-pose-book-vol1-controlnet

一文看懂:用ControlNet+Lora生成指定姿势的照片级AI美女(附视频)

下载pose资源后, 把一幅姿势骨架图片拖动到SD界面controlNet的image区:

AI生成图就会以指定骨架生成对应动作了, 就这么简单:

同样的姿势, 我们多点几下按钮:

一文看懂:用ControlNet+Lora生成指定姿势的照片级AI美女(附视频)

简单的自定义姿势

当然,对于有追求的同学来说,预设的几个姿势图肯定不够:我们希望可以自定义美女人像的姿势。

这里就用到SD自定义姿势骨架的插件OpenPose Editor或者Posex了:

一文看懂:用ControlNet+Lora生成指定姿势的照片级AI美女(附视频)

OpenPose Editor(左) 和PoseX(右)

OpenPose Editor和Posex都是让用户自行定义姿势骨架的插件,区别是OpenPoseEditor出现比较早,基于2d平面;而Posex基于3D。但使用上两者都是直接拉动骨架节点,和真三维软件去旋转xyz轴控制是不同的。

除了这两个骨架编辑软件,还有一个神器 Depth map Library手部深度图库,它可以实现对角色手部动作的控制!

为了同时控制身体姿势以及手部姿势,需要同时使用两个ControlNet的UI。可以在SD的控制面板里调整Multi ControlNet的数量为2 (注: 所有的SD设置以及插件安装的过程略, step by step的过程有兴趣请见最后视频 )

如上图左边所示,在OpenPose Editor里加载一张背景图做参考, 手动拖动人物骨架到满意的地步, 点击发送就把设置好的姿势骨架图发送给主界面了。

接着,用Depth map library找到一个手部深度图片放到姿势骨架右手腕的匹配位置,如下图:

把调整好位置的手势图输出并导入到第二个controlNet中,就OK了:

以下是未使用手势图controlNet(左)和使用之后(右)的对比:

一文看懂:用ControlNet+Lora生成指定姿势的照片级AI美女(附视频)

非常明显, 左图的手势是随机的, 右图手势已经被控制。

不过,即使有ControlNet的加持,AI生成图的手势和姿势还是有一定随机性;比如把手势ControlNet的权重调整到0.5,可以看到手势出现变形:

一文看懂:用ControlNet+Lora生成指定姿势的照片级AI美女(附视频)

但如果权重调整为更高的0.75,手势是强制固定了,身体骨架又有可能被拉长变形:

一文看懂:用ControlNet+Lora生成指定姿势的照片级AI美女(附视频)

所以,为了得到完美的AI姿势人像图,还是需要微调权重数值去不断抽卡。

尽管还不能保证100%的出图效率,但有了全身姿势和手部姿势的两个controlNet, AI人像生成已经比之前幸福太多了。由几十张生成图得到一张SSR, 也就是一分钟的功夫而已。

使用完全2D的OpenPose自定义骨架有个问题,一旦骨架被拉升到不合理的水平,AI出图就会变形或者被AI完全忽略姿势约束,如下图,AI生成图无视过度变形的姿势骨架:

一文看懂:用ControlNet+Lora生成指定姿势的照片级AI美女(附视频)

基于3D的Posex在这点上稍微好些, 打开Posex的页面可以看到,这是一个3D环境,可以鼠标转动镜头:

有3D环境的约束, 通过Posex去自定义的骨架相对不会出现2D的OpenPose这样姿势过度变形的情况,但单独的骨架图片加上单独的手势图,最终还是可能产生一些不合理的结果。

为了实现最完美的效果,我们祭出3D软件大法。

真3D的高级姿势控制

除了以上的初级姿势插件,有3D经验的同学了可以直接使用3D软件来完全控制角色,效果会更好。

比如,熟悉Blender的同学可以用OPii OpenPose Blender RIG(下图左),熟悉Daz Studio的同学可以选择DazStudioG8_OpenPoseRig(下图右)

而更直接的方式是,选择online 3D OpenPose Editor,直接安装插件在SD打开:

一文看懂:用ControlNet+Lora生成指定姿势的照片级AI美女(附视频)

最方便的是,在这个插件里可以同时调整身体姿势和手部姿势, 然后一键点击,  就可以把身体姿势图和手部姿势图同时发送给ControlNet进行后续操作了。

当然,对于3D人物而言,姿势骨架本身的手工调整才是最头痛的。

让人喜出望外的是,3D OpenPose Editor这个插件居然可以支持导入参考图(Detect From Image)去自动匹配骨架!如下所示:

这要点100个赞啊!果然懒惰才是人类进步的源泉(笑)

此外,这个编辑器提供了相当丰富的选项来调整各部分骨骼的细节:

其实吧,对于普通同学而言,前面的配图自动输出姿势的功能就秒杀一切了:)

但对专业人士来说,这些自定义选项可是相当方便,可以生成一些身体比例和人类不同的奇幻生物骨架, 如以上的牛头人。。。

我们用3D Openpose 编辑器生成一个随机动作,然后点击"Send to txt2img"发送到主界面,如之前所说,这个发送是同时把身体姿势图和手部姿势深度图都传过去了,完美!

控制身体的ControlNet-0和控制手势的ControlNet-1都接收到了生成的姿势图:

一键出图! 不出意外,人物姿势被控制得很好:

再回到3D OpenPose Editor,我们略作调整,把右手放下,左手调整个装可爱的样子:

再出图!AI女友会对你装可爱了:

后记

虽然本文和视频略长,但实际上,在部署好SD,下载好所需模型和必要插件后,只需简单的在3D OpenPose编辑器里调一下姿势和手势, 然后AI就可以一键生成对应姿势的AI美女人像了。

在越来越完善的绘画AI面前,“眼见为实”这个成语恐怕是越来越不成立了,只有想象力才是边界。

本文结束前, 一起欣赏照片级AI美女人像的效果吧。

注:本想着录制一集ControNet视频,恰好发现有个油管视频已经整理得很好,就引用该视频的图了。

相关文章