IP Adapter 新模型为任何人做写真,比 Roop 和 Reactor 更像!

深入探讨如何将这一强大工具用于生成具有高度个性化特征的人物肖像,保持脸部一致性的同时,创造出各种不同风格的形象。

这个模型也可以在 Stable Diffusion 的云平台上使用。

# IP-Adapter应用广泛

在上一篇文章中,我们使用了 WebUI 图生图中的局部重绘功能,通过这个功能,我们成功地将好莱坞女神Angelina Jolie的脸融合到了Midjourney生成的图片上。

图片

其实,这个新模型也可以在 WebUI 文生图中发挥作用。我们可以用它来生成各种风格不同的人物肖像,并且保持脸部的一致性。

比如说,我用同一张 Angelina 的头像作为参考图给到 IP Adapter。通过修改不同的提示词,就能生成 Angelina 的各种风格的照片。

图片

我试了另一个换脸插件 Reactor。它的效果和 Roop 差不多,我感觉都比不上 IP Adapter 的这个模型。

这是用 Reactor 生成的几张 Angelina 的照片。我感觉和 Angelina 本人并不像。

图片

我还试了近期比较热门的另一个用来换脸的 ControlNet。就是小红书开发的 InstantID。这是用 InstantID 生成的照片。

图片

虽然和 Angelina 本人比较像,但图像质量比较差,脸部缺乏细节,而且高光和阴影都太强烈。

通过对比这几个工具的效果,我还是更偏爱 IP-Adapter的这个新模型。

本文将介绍它配合 SDXL 模型的安装和使用。

# 安装模型和Lora

图片

1. 更新ControlNet

  • 确保ControlNet为最新版本:这是因为只有最新版本的 ControlNet 才包含了IP-Adapter 的选项。如果你正在使用的版本较旧,那么首先需要进行更新。
  • 更新步骤:在 WebUI 的“扩展插件”标签页中,点击“检查更新”,然后选择“应用并重启用户界面”。重启完成后,ControlNet 应当更新至最新版本。

图片

2. 下载IP-Adapter新模型

  • 模型名称ip-adapter-faceid-plusv2_sdxl。下载链接:https://huggingface.co/h94/IP-Adapter-FaceID/tree/main。
  • 存放位置:下载完成后,将模型文件放置在WebUI根目录\extensions\sd-webui-controlnet\models文件夹内。

3. 准备Lora模型

  • Lora模型:此模型对于保持脸部一致性尤为重要。下载链接同上。
  • 存放位置:将Lora模型放在WebUI根目录\models\Lora文件夹中。

如果你对如何放置这些文件有疑问,可以参考我们上一篇文章的说明。

👉 这个 Stable Diffusion 新模型换脸效果真不错!

# 案例实操

完成上述准备工作后,就可以开始使用 IP-Adapter 结合SDXL模型生成图像了。我们先测试下提示词生成的图像的效果。

选择模型和设置参数

1️⃣选择SDXL模型

  • 模型选择:我们选用了AlbedoBase模型,因为它在生成图像的效果上表现出色。
  • VAE设置:将VAE(变分自编码器)设置为自动,以自动优化图像的质量和细节。

2️⃣输入提示词

  • 提示词定义:精确地定义你想要生成的图像内容。例如,本次我们使用的提示词是描述一个日落时分,身穿牛仔服装的年轻女子在西部小镇的场景。

3️⃣选择采样方法

  • 采样方法:根据选定的模型选择合适的采样方法。我们选择了DPM++ SDE Karras,这是一种高效的采样方法,能够提升生成图像的质量。

4️⃣设置图像尺寸

  • 宽度和高度:我们将图像的宽度和高度都设置为1024像素,以确保生成的图像具有较高的分辨率和细节。

5️⃣调整提示词引导系数

  • 引导系数:设置为7,这是一个平衡值,既能保证提示词的引导作用,又不至于过度影响图像的自然生成。

图片

6️⃣指定图片风格(可选)

  • SDXL Styles插件:通过安装SDXL Styles插件,我们能够方便地为生成的图片指定特定的风格。本次选择的是“photographic”(摄影风格),旨在生成接近真实摄影的效果。

图片

参数设置完成后,我们点击WebUI界面的Generate(生成)按钮,开始生成图像测试一下提示词的效果。

图片

在成功生成了一张高质量的图像之后,我们现在将进一步探索如何使用 IP-Adapter结合 Lora 模型,以生成更加贴近特定人物特征的定制化肖像。我们将专注于通过精确调整,生成一张更像 Angelina Jolie 的照片。

加入Lora以提升相似度

Lora是一个关键组件,能够显著提高生成图像与特定人物相似度的能力。接下来的步骤将引导你如何利用Lora优化人物肖像的生成过程。

1️⃣添加Lora到提示词

  • 操作步骤:在WebUI的Lora标签页中,使用搜索功能查找并添加我们预先下载好的Lora。输入“face”作为关键词,找到对应的Lora后点击添加到提示词窗口中。

图片

2️⃣调整Lora权重

  • 权重调整:通过按住 Control 键同时敲击向下方向键,调整Lora的权重。推荐将权重设置在0.5到0.7之间,以确保生成图像既保持了Angelina的特征,又避免过度夸张。

图片

3️⃣调整采样步数

为了进一步提升生成图像的质量和人物特征的拟合度,我们需要对采样步数进行调整。

  • 采样步数:在“生成参数”设置中,将采样步数增加到50。这一调整有助于提高生成图像的细节质量和整体的相似度。

图片

通过以上步骤的调整,我们可以生成更加符合特定人物特征的图像,这在进行人物肖像创作时尤其有价值。

设置ControlNet

ControlNet的正确配置对于实现高质量的换脸效果至关重要。请按照以下步骤确保一切设置正确:

1️⃣选择合适的照片

  • 照片选择:选择一张Angelina Jolie的头像照片进行换脸。选择照片时,请确保照片是没有表情的正面头像,且光线分布均匀,这将有助于生成更自然、更精确的换脸效果。

图片

  • 点击并上传 Angelina 的头像照片

图片

图片

2️⃣配置ControlNet选项

  1. 完美匹配像素:勾选此选项,以确保换脸效果在像素级别上的完美匹配。
  2. 允许预览:启用预览功能,这样在最终生成之前,你可以预览换脸效果,确保一切按照预期进行。

3️⃣选择控制网络和预处理

  • 控制网络类型:在控制网络类型中选择IP-Adapter
  • 预处理选择:选择ip-adapter_face_id_plus作为预处理选项。请确保你已经安装了相应的预处理器,否则可能需要更新ControlNet版本以匹配。
  • 模型选择:选择ip-adapter-faceid-plusv2_sdxl模型,确保预处理器与模型相匹配,避免出现错误。

4️⃣预览效果

  • 在所有设置调整完成后,点击预览图标(通常是一个爆炸图标),查看预览效果,确保一切设置正确,没有问题。

图片

5️⃣注意事项

所有换脸工具,包括Roop、Reactor和InstantID,基本上都是基于InsightFace的模型。如果计划将生成的图像用于商业用途,需要注意获取相应的使用许可。

在使用 IP-Adapter FaceID 时,你可能会遇到终端提示No module named 'insightface'的错误,如下图所示:

图片

这时候你需要安装 InsightFace。

GitHub 上有个 Issue (https://github.com/cubiq/ComfyUI_IPAdapter_plus/issues/162)专门讨论这个问题。用户`MMoneer`给出了如下解决方案:

  1. 获取 Insightface 软件包:首先下载适合您的 Python 环境的预编译 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. 激活虚拟环境:启动命令行界面(CLI),执行".\venv\scripts\activate "命令激活 Stable Diffusion 的虚拟环境。这一步将为安装新软件包做好准备。

  4. Pip 升级:为避免安装过程中出现任何兼容性问题,请使用python -m pip install -U pip命令升级 pip 安装工具。这样可以确保 pip 是最新版本,能够处理最新的软件包。

  5. 安装 InsightFace:通过安装 InsightFace 软件包完成设置。选择与您的 Python 版本相对应的命令:对于 Python 3.10,使用 pip install insightface-0.7.3-cp310-cp310-win_amd64.whl;对于 Python 3.11,使用 pip install insightface-0.7.3-cp311-cp311-win_amd64.whl

微调 IP-Adapter

在使用IP-Adapter进行定制化换脸创作过程中,我们可能会遇到一些挑战,比如生成的人物面貌特征过于夸张。幸运的是,通过微调 ControlNet中 的“结束控制的步数(Ending Control Steps)”,我们可以有效控制这一效果,使生成的图像更加自然、逼真。下面,我们将探讨如何通过调整步数来优化换脸效果。

1️⃣检查生成效果

在进行任何调整之前,先生成一张图像并检查其效果。如果发现人物特征过于夸张,意味着我们需要调整IP-Adapter的运行步数。

2️⃣初始调整

  • 步数调整为0.8:首先,将“结束控制的步数”从默认值(通常为1)调整为0.8,然后重新生成图像。这一调整旨在减少夸张的效果,使图像更加符合预期。

3️⃣进一步微调

  • 降低步数至0.7:如果初次调整后的效果仍不完全满意,可以将步数进一步降低到0.7,再次检查生成效果。

4️⃣效果对比

  • 步数为1与0.8的对比:通过比较,我们可以看到降低步数确实能够减少图像的夸张效果,使人物特征更加自然。

图片

  • 步数为0.8与0.7的对比:继续降低步数,可以进一步微调图像,以达到更理想的效果。

图片

5️⃣微调建议

在进行步数调整时,建议逐步进行,每次调整后都仔细检查生成的图像效果。这种方法允许我们找到最佳的步数设置,以确保生成图像既保留了目标人物的特征,又避免了过度夸张的问题。

如果在调整过程中效果仍不满意,可以继续微调“结束控制的步数”,直到找到最适合你项目需求的设置。

通过细致的调整和比较,我们可以充分利用IP-Adapter的强大功能,创造出既精确又自然的定制化换脸图像。这一过程虽然可能需要一些试错,但最终将大大提高你的创作质量和满意度。

# 结论

本篇文章展示了如何使用 IP-Adapter 新模型 与SDXL模型结合,生成具有高度个性化特征的人物肖像。通过适当的设置和调整,我们能够创造出既保持脸部一致性又风格多变的人物形象,为创意提供了广阔的空间。

记得准备好所需的模型和插件,按照步骤操作,你也可以创造出令人惊叹的作品!

THE END