保持人物姿势AI换脸:stable-diffusion教学之ControlNet+lora

作者:yasden

本文介绍用ControlNet固定人物姿势,利用lora换脸的方法。本文信息量非常大,建议收藏备用。

stable diffusion这款免费的AI作图软件可以保持人物姿势,一键轻松给人物换脸,包括保持人物服装换脸:

图片[1]-保持人物姿势AI换脸:stable-diffusion教学之ControlNet+lora-卡咪卡咪哈-一个博客

也可以保持人物姿势和面部不变,一键更换衣服(见下图):

对于淘宝商家来说,你给模特拍一套衣服,就可以给她换成无数套其他衣服,节省了模特更换衣服的时间,摄影师拍一套衣服就可以了,stable diffusion多么高效。

题外话:请不要纠节于AI画人物手指会出错,这个问题是有办法解决的(你自己训练一个手部lora不就好了),本文不探讨AI画人物手指不好这个问题。

图片[2]-保持人物姿势AI换脸:stable-diffusion教学之ControlNet+lora-卡咪卡咪哈-一个博客

广告

可御可甜 有颜有料 惩罚整蛊任你选 >>进入直播间与主播亲密互动
×

AI加快技术革新的步伐已经来了,再不学习就要落后了。

注:4090是目前最快的消费级AI画图显卡,如果你没有显卡,照样可以使用stable-diffusion这款AI画图软件。

没有显卡的朋友,安装并使用stable-diffusion这款AI画图软件的教程请看下面的链接:

https://post.smzdm.com/p/a90r8dk5/ 

12GB的3060是比较中端的AI画图显卡:

 不同显卡的AI出图速度,可以参考下面这篇文章:

https://post.smzdm.com/p/an384nn3/

本教程要实现目的:利用ControNet的openpose来保持人物姿势不变进行AI换脸作图。

说明:我一开始使用stable-diffusion也是利用中文插件,后来发现,使用中文插件之后,看中文单词不好理解更深入的功能,不是中文插件翻译的不好,是直接用英文理解某些功能会更透彻,毕竟这个软件是外国人编写的。要想获得进一步的提升,在stable diffusion的道路上走得更远,个人建议还是使用英文版更好(或者两台电脑,一台用中文插件,一台用英文原版;或者中文使用一段时间后换回英文原版)。本教程使用英文版界面(我会用中文进行说明,保证阅读本文畅通无阻),其实英文版界面和中文版没差异的,反正按钮都在同一个位置,无论是否使用中文插件,按钮的位置都不会变化。

第一步:安装ControNet

点击软件最右侧的Extensions, 然后点击下面那一行的Available按钮,最后点击Available下面的黄色按钮Load from(见下图的1、2、3):

图片[3]-保持人物姿势AI换脸:stable-diffusion教学之ControlNet+lora-卡咪卡咪哈-一个博客

如果你没有手动修改过Load from右边的网址,就能看见下图的界面。

往下拉,找到sd-webui-controlnet malipulations这一行(见下图),点击右侧的install按钮进行安装:

图片[4]-保持人物姿势AI换脸:stable-diffusion教学之ControlNet+lora-卡咪卡咪哈-一个博客

广告

美女秀场 真人直播 >>进入直播间与主播亲密互动
×

 

重启就能使用ControlNet了,如果重启后没有反应,就退出终端,然后重新运行下面的命令重新启动stable-diffusion:

python3 launch.py –xformers

重启后,可以发现,种子那一栏下方,有个ControlNet 1.1.219的字样(见下图),代表ControlNet安装成功了。

图片[5]-保持人物姿势AI换脸:stable-diffusion教学之ControlNet+lora-卡咪卡咪哈-一个博客

ControlNet如何设置呢?看下图的1、2、3、4步,这是设置ControlNet的步骤,在3那里可以调节ControlNet的通道数量,通道数量在4那里调节。调好之后,重启UI即可。

图片[6]-保持人物姿势AI换脸:stable-diffusion教学之ControlNet+lora-卡咪卡咪哈-一个博客

如果你将ControlNet的通道数量调成3个,就可以在图生图或者文生图的界面看见3个通路(见下图)。

图片[7]-保持人物姿势AI换脸:stable-diffusion教学之ControlNet+lora-卡咪卡咪哈-一个博客

第2步、安装openpose

点击软件最右侧的Extensions, 然后点击下面那一行的Install from URL按钮,将openpose的网址贴进去下图3的位置,然后点击黄色的Install按钮,重新启动UI就能看见openpose了。

图片[8]-保持人物姿势AI换脸:stable-diffusion教学之ControlNet+lora-卡咪卡咪哈-一个博客

点击OpenPose Editor就能打开openpose的界面了(见下图):

图片[9]-保持人物姿势AI换脸:stable-diffusion教学之ControlNet+lora-卡咪卡咪哈-一个博客

openpose界面的使用方法见下图,点击下图1的“OpenPose Editor”按钮就能打开openpose界面,可以在下图2这个方框手动调节人物姿势。下面右下方部位有4个选项,分别有不同功能。

图片[10]-保持人物姿势AI换脸:stable-diffusion教学之ControlNet+lora-卡咪卡咪哈-一个博客

例如,你可以调成下图的人物姿势:

图片[11]-保持人物姿势AI换脸:stable-diffusion教学之ControlNet+lora-卡咪卡咪哈-一个博客

第3步、下载controlnet模型(部分模型的名称见下图),并保存到stable-diffusion-webui-master/models/ControlNet目录下。

要使用openpose这个模块,必须下载control_sd15_openpose.pth文件(下载地址请自行查找),并保存到stable-diffusion-webui-master/models/ControlNet目录下。

图片[12]-保持人物姿势AI换脸:stable-diffusion教学之ControlNet+lora-卡咪卡咪哈-一个博客

第4步、固定人物姿势的AI画图方法

先点击“OpenPose Editor”按钮,打开openpose界面:

图片[13]-保持人物姿势AI换脸:stable-diffusion教学之ControlNet+lora-卡咪卡咪哈-一个博客

第一步调节人物姿势,第2步将姿势发送到文生图(或图生图):

图片[14]-保持人物姿势AI换脸:stable-diffusion教学之ControlNet+lora-卡咪卡咪哈-一个博客

然后在下图的1位置输入“正提示词”,2的位置输入“负提示词”,3是开始AI画图的“Generate”按钮(点3开始画图之前,先要设置controlnet)。

图片[15]-保持人物姿势AI换脸:stable-diffusion教学之ControlNet+lora-卡咪卡咪哈-一个博客

在对上去的第2张图,将人物姿势发送到“文生图”后,就会在下图1的位置出现一个人物姿势。然后下面的enable打钩,代表使用controlnet;下图Preprocessor的位置“不选”(也就是填“none”),右侧的模型选control_sd15_openpose,这些全部选完之后,点击上图3的“Generate”按钮,就能按照下图1的姿势,生成类似的图像(见下图2)。

图片[16]-保持人物姿势AI换脸:stable-diffusion教学之ControlNet+lora-卡咪卡咪哈-一个博客

需要注意:AI每次生成的图像(见上图2的位置),不一定每次生成的图像都和上图1完全保持一样的姿势,AI也会有自己的算法(需要我们手动调节各种参数,包括提示词优先还是controlnet姿势优先、正负提示词等,或者一次让AI生成十几张图像,从中挑选自己满意的一张)。

第5步、固定人物姿势,更换人脸的AI画图方法:用controlnet固定人物姿势,用lora模型给人物换脸

如何生产类似下图的,固定人物姿势,换不同脸的照片呢?请看下文。

图片[17]-保持人物姿势AI换脸:stable-diffusion教学之ControlNet+lora-卡咪卡咪哈-一个博客

下图是一张用stable diffusion生成的AI图片:

图片[18]-保持人物姿势AI换脸:stable-diffusion教学之ControlNet+lora-卡咪卡咪哈-一个博客

将上面这张图片拖到PNG Info窗口,就能看到下图的界面:

图片[19]-保持人物姿势AI换脸:stable-diffusion教学之ControlNet+lora-卡咪卡咪哈-一个博客

怎么将这张图片拖到PNG Info窗口呢?将图片拖到下图1的位置,然后点击下图2发送到“图生图”:

图片[20]-保持人物姿势AI换脸:stable-diffusion教学之ControlNet+lora-卡咪卡咪哈-一个博客

这时候,上面这张用stable diffusion生成的AI图片的所有原始信息就会出现在“图生图”的界面里面了(见下图),包括正负提示词,lora,种子等信息都能看到(见下图)。如何替换不同的lora来换脸呢?第一步将正提示词包含的lora信息删除(如果原图有使用lora的话,将它删除,删除方法是在下图1的位置寻找lora这个短语,看见lora那句话就删掉)。将不同的lora添加进去的方法是点击右侧“Generate”黄色按钮下方的红色按钮,然后点击下图3的位置就能使用不同的lora了。

选用不同的lora模型可以给人物换不同的脸,请特别注意这一点。

注意:stable diffusion这个软件刚装好是没有任何的lora模型的,你要在网上下载别人训练好的lora模型(你也可以自己训练lora模型),然后保存到stable diffusion目录下的models/lora文件夹里面,然后点击下图3那一行的Refresh按钮,才能看见你下载好的lora模型。

图片[21]-保持人物姿势AI换脸:stable-diffusion教学之ControlNet+lora-卡咪卡咪哈-一个博客

在上图的界面往下拉,如果所有参数都设置好之后,点击上图的黄色的Generate按钮,就能在下图看见换脸后的照片了。参数怎么设置呢?首先,在下图的“原图”的位置,应该有一张你想要换脸的原图,也就是刚才你在PNG Info界面发送过来的原图,如果这里没有图片,就将那张原图拉到下图的“原图”的位置上。下图1位置的那个sampling method(也就是采样方法)是可以自己调节的,请根据需要自行修改使用不同的采样方法(不同的采样方法出图略有差异)。

下图2位置的Denoising strength是一个重点需要调节的地方,这个参数调成越靠近0就和原图越接近,越靠近1就和原图差异越大。

再往下拉,下图1位置是调节Denoising strength的地方,怎么调我刚才已经说了。下图2的“种子”,如果固定住它(也就是不改变,PNG Info发送过来是什么种子,就保持不变),就能保持和原图比较一致,如果你调成-1,就会和原图有一些差异。如果你搞不明白,下图2的种子就先不要改变它。将原图拖到下图3的位置,这样controlnet才能识别原图的人物姿势。下图4的enable要打勾,这样才打开并使用controlnet的功能。下图5的Preprocessor选择openpose_hand(也可以选其他的带openpose的preprocessor),也就是保持人物姿势特别是手部姿势不动,下图6的Model选择control_sd15_openpose模型。下图7可以调节成balanced平衡模式,或者提示词优先模式,或者controlnet优先模式。根据需要选择即可。

这些参数都选好之后,点击黄色的Generate按钮,一张换脸图就产生了。不同的lora可以换成不同的脸。lora模型请自行下载。

全文完,谢谢观看。

阅读更多显卡精彩内容,可前往什么值得买查看

    THE END
    喜欢就支持一下吧
    点赞15 分享
    评论 抢沙发
    头像
    欢迎您留下宝贵的见解!
    提交
    头像

    昵称

    取消
    昵称表情代码图片

      暂无评论内容