controlnet 是 stable diffusion web ui 中功能最强大的插件。基于 controlnet 的各种控制类型让 stable diffusion 成为 ai 绘图工具中最可控的一种。想要sd整合包和各种模型插件的小伙伴看文末扫码获取噢~
ip adapter 就是其中的一种非常有用的控制类型。它不仅能够实现像 midjourney 一样的“垫图”功能,还能用来给肖像人物换脸。
ip adapter 的很多老的模型都可以用来换脸,如 plus face。然而,ip adapter 不断推出了更新的模型,持续为我们带来惊喜。通过我的亲身测试,我发现新的 face id plus v2 模型在换脸效果上远胜以往。
我尝试将好莱坞女星 angelina jolie 的脸部特征融合到了由 midjourney 生成的多个图片中,包括一名中世纪女战士、一幅文艺复兴时期的美女肖像,以及一位女王的形象,效果都非常令人满意。
准备工作
我们主要利用 control net 中的 ip adapter 来进行换脸,同时使用 openpose 保持原图人物的头部姿势。
相对于 control net 的其他控制类型,ip adapter 是后来才有的。如果你的 control net 版本较旧,可能需要更新以支持 ip adapter 功能。
我们需要下载以下内容:
-
open pose 模型
-
ip-adapter faceid plus v2 模型和 lora
其中 ip adapter 用来换脸,open pose 用来保持住原图人物的头部姿势。lora 可以提升面部 id 的一致性。
这些文件都可以在 hugging face 上找到,接下来我将介绍如何下载和安装。
💡本文介绍的模型在这个云平台上可以直接使用,不需要自己下载模型。这是该云平台的详细介绍:
下载模型和lora
获取 open pose 模型
1️⃣ 首先,访问 huggingface 网页 (https://huggingface.co/lllyasviel/controlnet-v1-1/tree/main),定位到 control net 模型的下载页面。这里列出了所有 control net 的基础模型及其配置文件。
2️⃣ 在页面中向下滚动,搜索包含“open pose”关键词的文件。
3️⃣ 你会发现有两种文件类型:以 .pth
结尾的是模型文件,而以 .yaml
结尾的则是模型的配置文件。通常,.yaml
配置文件已经在 control net 安装时包含在内,因此我们主要关注的是下载 .pth
结尾的模型文件。
4️⃣ 点击下载按钮开始下载所需的 .pth
文件。
5️⃣ 下载完成以后,放在 stable-diffusion-webui\extensions\sd-webui-controlnet\models
文件夹。
下载 ip adapter 需要的 face id 模型和 lora
1️⃣ 继续访问另一个huggingface 下载页面 (https://huggingface.co/h94/ip-adapter-faceid/tree/main),寻找 ip adapter face id plus sd15 和 sd15 lora 文件。这些文件专为 sd 1.5 的模型设计,提供了良好的性能和对 control net 其他控制类型的支持。
2️⃣点击下载按钮,开始下载这些文件。注意,sd15 代表这些文件适用于 sd 1.5 版本的模型,而不是 sdxl 版本。
3️⃣lora 文件特别用于提升面部 id 的一致性,对于提高换脸效果的自然度非常关键。
4️⃣下载完成以后,以.bin
结尾的模型文件放在 stable-diffusion-webui\extensions\sd-webui-controlnet\models
文件夹。
5️⃣ 以.safetensors
结尾的lora文件放在 stable-diffusion-webui\models\lora
文件夹。
🚩如果因为网络问题无法下载,这是模型的百度网盘下载链接:https://pan.baidu.com/s/1x70uu79l8ikb9iouzfvwpq?pwd=hu1b
🚩这是lora的百度网盘链接:https://pan.baidu.com/s/1hddya1w3gjukyomarvq5nq?pwd=fob0
安装 insightface
如果你在使用faceid的过程中可能会遇到终端提示no module named 'insightface'
的错误,如下图所示。
这时候你需要安装 insightface。stable diffusion 很多换脸的插件都会用到它,比如 reactor。
github 上有个 issue (https://github.com/cubiq/comfyui_ipadapter_plus/issues/162)专门讨论这个问题。用户mmoneer
给出了如下解决方案:
1️⃣下载预编译的 insightface 软件包,如果python版本为3.10,那么下载地址是:(https://github.com/gourieff/assets/raw/main/insightface/insightface-0.7.3-cp310-cp310-win_amd64.whl)。python 3.11版本的下载地址是:https://github.com/gourieff/assets/raw/main/insightface/insightface-0.7.3-cp311-cp311-win_amd64.whl。如果因为网络问题无法下载,这是百度网盘下载链接:https://pan.baidu.com/s/1ng_i3fejhstcfg0e_oe8va?pwd=5pmq。
2️⃣下载后将其放入 stable-diffusion-webui 的根文件夹("webui-user.bat "文件所在文件夹)
3️⃣在 webui的根目录分别运行cmd
和.\venv\scripts\activate
。
4️⃣ 升级一下pip:python -m pip install -u pip
。
5️⃣取决于你的python版本,运行下面两个代码的其中一个:pip install insightface-0.7.3-cp310-cp310-win_amd64.whl (对于3.10) 或者 pip install insightface-0.7.3-cp311-cp311-win_amd64.whl (对于3.11)。
换脸实操
在开始换脸操作之前,准备工作是必不可少的。这不仅包括了模型的下载和安装,也涉及到被换脸图片的预处理。接下来,我会详细介绍从准备头像到在 web ui 中进行换脸的整个流程。
准备头像
1️⃣选择了好莱坞明星 angelina jolie 的头像作为换脸的源图片。但发现原图偏亮,这可能会导致换脸后的图像在脸部区域过亮。
2️⃣为了解决这个问题,我使用 ps 对头像的亮度进行了调整,将其降至平均水平,并对脸部的高光区域进行了调暗处理。
选择模型
1️⃣图片处理完毕后,进入 stable diffusion 的 web ui 界面。
2️⃣在这里,需要选择一个适合进行写实风格生成的 sd 1.5 模型。我个人选择的是 cyber realistic
模型,但大家可以根据自己的需求选择其他模型,比较不同模型的效果。
3️⃣在提示词区域暂时不输入任何内容,直接转向我们之前下载的 lora 文件,这个文件用于增强脸部的一致性。
4️⃣ 点击“lora”选项,选择我们下载的 face_id_plus_v2_sd15_lora
文件。选中后,lora 将会被添加到提示词输入框中。
5️⃣接着,通过按住 ctrl 键并使用向下方向键,调整 lora 的权重,建议设置在 0.5 到 0.7 的范围内。
局部绘制设置
1️⃣接下来的步骤是点击“局部绘制”选项,这一功能允许 stable diffusion 专注于重绘特定的面部区域。
2️⃣上传想要被换脸的图片,然后使用画笔工具在人物的脸部区域进行标记。为了更好地实现融合效果,标记的区域可以适当大一些。
通过上述步骤,我们完成了换脸操作的所有准备工作,包括头像的预处理和在 web ui 中的设置。下一步,我们将进入实际的生成过程,利用 stable diffusion 的强大功能,为 angelina jolie 创建全新的面孔。
局部重绘的参数设置
进行局部重绘时,正确的参数设置可以显著提升换脸效果的自然度和细节。以下是详细的参数调整指南:
-
蒙版模糊度:增加蒙版模糊度有助于减少换脸后图像中可能出现的生硬接缝。这一步骤是为了确保脸部与原图更加平滑地融合。
-
采样方法:选择与写实模型相匹配的采样方法,以便生成的图像贴合预期风格。
-
采样步数:适当增加采样步数可以改善生成图像的质量,使细节更加丰富和精确。
-
宽度和高度:保持与原图相同的宽度和高度,以确保图像的一致性。
-
提示词引导系数:设置在6到8之间,以平衡图像内容与生成的一致性。
-
重绘强度:调整到0.4-0.6之间,控制重绘区域的强度,以达到理想的换脸效果。
设置第一个controlnet: ip-adapter
接下来是 ip-adapter 的配置,这一步骤确保了换脸操作可以准确地识别和应用面部特征。
-
启用 control net:在 web ui 中找到 control net 设置并展开,勾选“启用”选项。
-
完美匹配像素:选择此项以提高生成图像的精确度。
-
上传独立控制图像:点击上传区域,从文件浏览器中选择 angelina jolie 的头像作为控制图像。
-
选择控制网络类型:在“控制网络类型”选项中选择 ip adapter。
-
预处理和模型选择:确保预处理选择为“ip_adapter_face_id_plus”,并选择相应的“ip_adapter_face_id_plus_v2_sd”模型。这一步骤关键在于保证预处理器与模型相匹配,以免 ip adapter 功能失效。
-
预览效果:点击形状像爆炸一样的按钮,预览 ip adapter 的效果,确认没有问题。
设置第二个 control net: openpose
在完成了首个 control net 的配置后,我们进入到设置第二个 control net 的步骤,这次是为了利用 openpose 保持人物头部姿势的自然和一致性。这一步骤对于确保换脸后的图像在姿势上与原始图像保持一致非常关键。
-
启用 control net unit 1:在 web ui 中找到并展开“control net unit 1”的设置部分,确保勾选“启用”以激活此单元。
-
上传独立控制图像:点击上传区域,从文件浏览器中选择要被换脸的图片作为控制图像。
-
选择控制网络类型为 open pose:在“控制网络类型”中选择 openpose,这是为了捕捉并保持原始人物的头部姿势。
-
预处理和模型选择:对于预处理,选择最基础的“openpose”选项。对于模型,选择与 open pose 相关的“sd15 openpose”模型。
-
预览 open pose 效果:点击预览按钮(形状像爆炸一样的图标),查看 openpose 的效果,确保骨骼图正确生成,没有问题。
生成图片
完成两个 control net 的设置之后,我们准备好生成最终的图片了:
-
向上滚动页面,找到并点击“generate”按钮开始生成过程。
-
等待过程完成,你将看到换脸效果呈现出来,其中包括面部的角度和光线的自然融合。
结果评估与调整
-
生成的图像中,angelina jolie 的特征——如弯曲的睫毛、蓝绿色的眼睛和性感的嘴唇——都得到了精准的呈现。
-
如果在最终的图像中仍存在一些细微的问题,我们可以使用 photoshop 进行进一步的调整,以达到完美的效果。
通过细心配置 open pose 和 ip adapter 的 control net,我们能够确保换脸效果不仅在视觉上令人满意,而且在姿势和表情上也与原图保持高度一致,从而实现了高质量的换脸效果。
文章使用的ai绘画sd整合包、各种模型插件、提示词、ai人工智能学习资料都已经打包好放在网盘中了,有需要的小伙伴文末扫码自行获取。
写在最后
aigc技术的未来发展前景广阔,随着人工智能技术的不断发展,aigc技术也将不断提高。未来,aigc技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,aigc技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,aigc技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。
感兴趣的小伙伴,赠送全套aigc学习资料和安装工具,包含ai绘画、ai人工智能等前沿科技教程,模型插件,具体看下方。
一、aigc所有方向的学习路线
aigc所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、aigc必备工具
工具都帮大家整理好了,安装就可直接上手!
三、最新aigc学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、aigc视频教程合集
观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

发表评论