大家好,我是每天分享AI应用的萤火君!
最近我一直在研究AI写真技术,前两篇文章介绍了使用 ControlNet-InstantID 和 IPAdapter-FaceId 生成真实人脸的技术,它们分别适用于SDXL和SD15,原理都是提取人物的面部特征,然后在生成图片时使用这些面部特征,从而实现特定人物的照片生成。
本文将继续分享另一种常见的AI写真技术:换脸大法,所谓换脸就是将照片中人物的面部特征更换为特定人物的面部信息。如果我们已经有了一些模版图片,不想或者不能再拍摄或者生成,使用换脸大法是个不错的选择。
本文使用的工具是 ReActor,它可以集成到 Stable Diffusion WebUI 和 ComfyUI中,用起来还是比较方便的,而且使用ReActor处理的图片,面部贴合比较自然,图片清晰度也很好。
注意本文目的是分享AI写真技术,切勿用于非法用途。
效果展示
老规矩,先看效果。
大家猜猜这是谁?请在评论区留言,前10名猜对同学可免费领取本人SD全面实战教程。
安装部署
ReActor 作为插件可以集成到 Stable Diffusion WebUI 和 ComfyUI 中,本文主要以 Stable Diffusion WebUI 为例进行讲解,ComfyUI仅提供工作流。
基础环境
本地安装
Stable Diffusion WebUI 和 ComfyUI 自身的安装这里不再介绍了,有条件的同学可以看我这篇文章:
Stable Diffusion WebUI:
ComfyUI:
云平台镜像
因为现在高性能显卡的价格不菲,为了方便体验,我最近在云平台上做了一个镜像,一键启动,不用安装插件、不用下载模型,可以直接体验本文介绍的方法,建议大家先在云环境低成本的试试,真正能创造价值了,再考虑购买显卡、本地部署。
云平台地址:https://gpu.spacehpc.com/user/register?inviteCode=04204432,平台有赠送额度,不需要充值即可使用几个小时。
注册成功后,创建实例时,选择镜像请依次点击:“镜像市场”->“更换”->“AI绘画”->“萤火遛AI-Stable Diffusion”。
待实例显示“运行中”,即可通过点击“应用WEB-UI”在浏览器打开使用界面,如果打开的页面是空白的,请稍等10秒再试,程序首次启动可能会慢一些。
如果状态显示“启动失败”请点击开机,再次启动。
安装插件
- Stable Diffusion WebUI 中安装 ReActor:https://github.com/Gourieff/sd-webui-reactor
- ComfyUI 中安装 ReActor:https://github.com/Gourieff/comfyui-reactor-node,通过管理器或者直接下载到插件目录都可以。
安装成功之后,不要忘了重启程序。
重启一般会自动安装其它依赖程序包,如有问题请留言。
下载模型
这个插件依赖一些面部识别和面部交换模型,需要下载到相关的目录中。
面部识别模型:https://github.com/deepinsight/insightface/wiki/Model-Zoo
放到 SD WebUI 或者 ComfyUI 根目录下的 models/insightface/models/buffalo_l 目录中,如下图所示:
面部检测模型:https://huggingface.co/ezioruan/inswapper_128.onnx/blob/main/inswapper_128.onnx
放到 SD WebUI 或者 ComfyUI 根目录下的 models/insightface 目录中,如下图所示:
访问 Github 或者 Huggingface 不便的同学,请发消息“AI写真”到公/众\号“萤火遛AI”,即可获取相关程序。
使用 ReActor
SD WebUI
我们在 SD WebUI 中安装 ReActor 成功后,可以在“文生图”、“图生图”和“高清化”等几个页面的下方看到ReActor 的功能区块。
上传待替换图片
我们先来看一个简单的换脸例子,在WebUI中进入“高清化”(有的翻译为“扩展功能”)页面:
这里直接上传一张图片,我们将要替换其中的人物面部信息。
下边的 Upscale 是放大图片的意思,是可选的,也可以不选择,其中:
3、选择放大模型,这个 R-ESRGAN 4x+ 是针对真实图片的。
4、缩放比例,这里2就是放大2倍。
设置 ReActor
在页面的下方找到 ReActor 区块。
按照下图中的顺序,上传一张人脸图片,用于替换上图中的人脸。
有几个参数简单介绍下:
1、面部遮罩修正:优化面部拼接的边缘,更贴合融洽。这是相比其它换脸工具做的更好之处。
2、替换图片和被替换图片中可能有多张人脸,也可能有多种性别,这里可以用来确定替换的人脸是哪一张。
3、面部修复:俗称修脸,让替换后的人脸更清晰、自然。Restore Face Visibility 一般默认为1,CodeFormer Weight让人脸更自然,值越小越自然,但是越偏离人物面部特征,值越大越接近替换图片中的面部特征。
最后点击生成就可以了,这个替换速度还是很快的。
在文生图和图生图中使用
这个插件完全可以在“文生图”和“图生图”中使用,它会在图片生成之后,再替换其中的人脸部分。
以 文生图 为例,正常填写相关参数:
然后设置 ReActor 的相关参数即可:
ComfyUI
在ComfyUI中使用这个插件也很简单,而且我们还可以对换脸之后的图片进行更多的优化处理。
这里用到的插件主要是 https://github.com/Gourieff/comfyui-reactor-node,换脸之后使用了一些面部细化技术,让肤色和表情更加自然。
教程制作不易,AI写真的 ComfyUI 工作流目前仅发布在我的AI绘画小册,有兴趣的同学可以点击链接或下方扫码进入:https://xiaobot.net/post/03340243-9df6-4ea0-bad6-9911a5034bd6
后续优质内容也会首先发布在这个小册,快人一步,及早加入。
资源下载
AI写真用到的大模型、LoRA模型、修脸修手模型、ControlNet插件和模型,以及生成的图片(可提取提示词等生成参数),我都已经整理到了网盘中,需要的同学,请发消息“AI写真”到公/众\号“萤火遛AI”,即可领取。
以上就是本文的主要内容。后续还有多篇关于AI写真的教程,以及各种风格照片的生成参数分享,如有兴趣,请及时关注,以免错过重要信息。