超高相似度换脸:IP-Adapter+Instant-ID一起上
在上一篇文章中,我们探讨了如何使用LoRA模型和Adetailer插件来实现换脸效果,达到了与斯嘉丽本人极高的相似度。如果您对训练真人LoRA模型感兴趣,欢迎回顾我之前的文章。
尽管LoRA模型的效果卓越,但其训练过程较为复杂。因此,本篇文章将向您介绍一种无需LoRA即可实现高相似度换脸的方法。我使用这种方法得到的换脸效果虽然相较于LoRA有微小的下降,但整体表现依然出色。
众所周知,ControlNet中的IP-Adapter和Instant-ID可以用于换脸,但有时它们的相似度不够高。我将介绍的方法结合了这两者的优势,比单独使用它们能够获得更高的人脸相似度。
如果你喜欢看视频教程,那么我非常欢迎你观看本文所对应的视频(B站同名帐号):
另外,我在这个云平台上运行SD,推荐一下:
WebUI Forge的介绍
本篇文章将使用WebUI的进阶版本——WebUI Forge。相比于旧版WebUI,WebUI Forge在性能上有显著提升,甚至超过了ComfyUI,并增加了许多实用的新功能。例如,ControlNet引入了新版的IP-Adapter,预处理器也有所不同。
Instant-ID的预处理器也跟老版本的WebUI里的不一样。
这些变化是我们选择WebUI Forge的原因之一。我发现,在老版本的WebUI中同时使用IP-Adapter和Instant-ID的效果非常差。
要安装WebUI Forge的话,可以访问其GitHub主页(https://github.com/lllyasviel/stable-diffusion-webui-forge)。上面有详细的安装步骤。
我为大家下载了一键安装包。下载地址是https://pan.baidu.com/s/1HGp5eYb-a0OsRrNOOO5sTg?pwd=j425。
解压之后,使用run.bat
这个文件来运行,使用update.bat
这个文件来更新。保持更新很重要,可以避免老版本的Bug。
换脸基础设置
1️⃣选择SDXL底模
首先,打开WebUI Forge的界面,我们需要选定一个SDXL的底模作为我们的起点。选择SDXL模型是因为Instant-ID当前仅对此模型提供支持,确保了我们能够利用最新技术实现换脸。
2️⃣局部绘制和上传照片
接着,进入到图生图的界面,并选择“局部绘制”选项。这一步骤是准备将我们想要进行换脸的照片上传至平台。上传照片后,涂抹脸部区域以指定将要更换的部分。记得,涂抹的区域应略大于实际的脸部区域,以便我们有足够的空间调整人物的脸型,这是一个关键步骤,确保最终效果的自然和谐。
3️⃣调整蒙版模糊度和使用Soft Inpainting
完成脸部区域的标记后,滚动到页面下方进行进一步的设置:
- 蒙版模糊度:稍微增加蒙版模糊度,这样可以有效防止换脸后边缘出现明显的接缝,提升最终效果的自然度。
- Soft Inpainting:勾选“Soft Inpainting”选项。这是WebUI Forge提供的一个新功能,它能够柔化边缘,避免在重绘过程中产生接缝,是提高换脸质量的重要工具。
4️⃣填写提示词和选择采样器
- 提示词:填写描述脸部区域的提示词,这将帮助模型更好地理解我们的换脸需求。
- 采样器选择:仔细选择一个适合的采样器。不同的采样器可能会对换脸效果产生显著影响。如果发现选定的采样器生成的图片效果不佳,不妨尝试更换采样器。
5️⃣调整宽高和重绘强度
最后,点击“三角尺”图标自动将宽高设置为原图尺寸,以保持图像比例的一致性。同时,适当调低“重绘强度”以确保换脸后的脸部与原图能够自然衔接。重绘强度设置过高可能导致不自然的效果,因此,根据生成的图像再做微调是非常必要的。
在成功安装并进入WebUI Forge界面后,接下来的步骤是配置ControlNet以实现精确的换脸效果。ControlNet的设置是核心过程之一,涉及到IP-Adapter和Instant-ID的应用。这部分指南将详细介绍如何正确配置ControlNet以及相关组件。
设置第一个ControlNet(使用IP-Adapter)
1️⃣启用ControlNet:首先,展开“ControlNet Integrated”选项,并启用第一个ControlNet。
2️⃣选择IP-Adapter:在ControlNet配置中,选择IP-Adapter作为工具。预处理器和模型应已预设选择,无需进一步配置。如果你没有这个模型的话,可以看看我之前介绍IP-Adapter的文章。
3️⃣上传控制图像:勾选“Upload independent control image”并上传一张斯嘉丽的大头照作为参考。选择适当的头像至关重要,因为不同的头像可能会直接影响换脸效果的质量和准确性。
4️⃣调整权重:向下滚动并适当调整权重。需要注意的是,没有固定的权重设置标准,需要根据具体情况和效果进行调整。
5️⃣添加LoRA提示词:在提示词区域添加LoRA,以配合IP-Adapter使用。虽然这对最终效果的影响不大,但适当的调整可以微调细节。
设置第二和第三个ControlNet(使用Instant-ID)
继续设置第二个和第三个ControlNet,这些步骤是为了使用Instant-ID技术优化换脸效果。这部分配置关键在于下载和安装正确的模型,以及精确地调整设置以适应特定的换脸需求。
下载和安装Instant-ID模型
1️⃣访问GitHub页面:所有必要的模型下载链接和安装指南都可以在指定的GitHub页面(https://github.com/Mikubill/sd-webui-controlnet/discussions/2589)上找到。这些信息提供了详细步骤,确保用户能够顺利进行配置。
2️⃣下载模型:根据链接直接下载所需的Instant-ID模型。或者,访问我提供的度盘链接:https://pan.baidu.com/s/1dfX4v9O1uGZALsHpnDolHA?pwd=hjk2。
3️⃣模型重命名与放置:
- 将下载得到的第一个模型重命名为
ip-adapter_instant_id_sdxl
。 - 第二个模型重命名为
control_instant_id_sdxl
。 - 确保将这些模型文件放置在WebUI Forge的根目录下的
models/ControlNet
文件夹中。
设置第二个ControlNet
1️⃣启用ControlNet:在WebUI Forge界面中,展开第二个ControlNet的设置,并勾选启用。
2️⃣配置选项:
- 控制网络类型:选择”Instant-ID”。
- 预处理器:选择
instant_id_face_keypoints
,它专门用于识别人脸的五个关键点,这对于精确的脸部特征匹配至关重要。 - 模型:选择
control_instant_id_sdxl
,这是之前下载和重命名的模型。
设置第三个ControlNet
1️⃣预处理器选择:选择InsightFace (Instant-ID)
,这是另一种用于识别脸部特征的预处理器。
2️⃣模型选择:此处选择ip-adapter_instant_id_sdxl
模型,确保与第二个ControlNet的配置相互补充。
3️⃣上传不同的头像:为了利用IP-Adapter和Instant-ID的组合优势,上传一张与第一个ControlNet不同的斯嘉丽大头照,这样可以在不同的控制网络中利用不同的脸部特征,以达到更精确的效果。
4️⃣权重调整:权重的调整没有固定标准,应根据生成的图像效果进行适当调整。这一步是试错过程的一部分,旨在找到最佳的设置组合,以实现尽可能自然和精确的换脸效果。
通过这些步骤,您可以利用WebUI Forge中的高级功能和ControlNet技术,实现高度精确的换脸效果。重要的是要细心调整每个设置,并根据需要进行适当的试错,以确保最终效果满足您的要求。
运行与优化
1️⃣启动过程:确认所有设置正确无误后,开始运行换脸过程。这可能需要一段时间,因为系统需要依次运行三个ControlNet。
2️⃣检查终端:在此过程中,定期查看终端以确认是否有任何错误信息。这可以帮助及时发现并解决可能出现的问题。
3️⃣查看结果:一旦图像生成完成,回到WebUI界面查看。
结语
通过细致的优化和调整,您将能够实现高度相似且自然的换脸效果。WebUI Forge提供的工具和功能非常强大,能够帮助您克服细节上的挑战,实现精确的换脸。希望这篇文章能帮助您轻松实现换脸效果。
分享完毕,感谢阅读🤗 欢迎点赞,收藏,评论
更多免费原创教程,🚀关注公众号:Vito的AI力量
对AI绘图感兴趣的,欢迎加我微信vito_chat入群交流。