ComfyUI人脸修图工作流,化妆磨皮吊打PS

大家好,今天我将介绍一个最新搭建的工作流,旨在使用AI对人像进行修图。通过这个工作流,你可以看到修图前后的显著对比:不仅给照片中的女性画了眼线和眼影,涂了口红,还使她的皮肤变得更加光滑,质感也非常真实。同时,她的面貌特征没有被改变,这才是真正意义上的AI修图。

如果你喜欢看视频教程,那么我非常欢迎你观看本文所对应的视频(B站同名帐号):

工作流简介

在导入工作流之前,我们需要下载一个关键的Checkpoint。这是整个工作流的核心,能够帮助我们用AI给人物进行“化妆”。当然,我们也可以使用Photoshop来实现类似的效果,但如果想要达到比较真实的质感,需要非常高的技术以及大量的时间。

下载Checkpoint

我们需要从HuggingFace上下载Checkpoint,下载地址:https://huggingface.co/stabilityai/cosxl/tree/main

1️⃣ 注册并登录HuggingFace
确保你已经在HuggingFace上注册并登录。

2️⃣ 进入下载页面
我们要下载的Checkpoint是由开发Stable Diffusion的公司StabilityAI开发的。你需要提供一些个人信息并提交,才能进入到下载页面。

3️⃣ 下载Checkpoint
在下载页面中,只需下载下面的Checkpoint即可。

导入工作流

导入工作流后,可能会发现缺失一些节点。可以在ComfyUI管理器里安装这些节点。

也可以手动安装。

搭建基础工作流

1. 添加”Check加载器”

  1. 选择刚才下载的cosxl_edit Checkpoint。
  2. 添加”SAG自注意引导”节点,可以让Stable Diffusion在每次迭代生图过程中利用自注意引导提升图像质量。建议将缩放(Scale)数值设为1以下,模糊度(blur sigma)设为比Scale大的数值。

2. 加载图像并制作遮罩

  1. 添加”加载图像”节点,上传要修的图。
  2. 我们的第一轮目标是给图像添加一些金色的眼线。在眼线区域涂抹出一个遮罩,并添加”遮罩模糊”节点,模糊度设为2。
  3. 添加”遮罩到图像”节点,运行ComfyUI查看生成的遮罩效果。

3. 添加提示词和CFG引导

  1. 添加正负提示词,正面提示词输入”金色眼线”。
  2. 选择”高级自定义采样”采样器。
  3. 添加”随机噪波”节点,并将噪声种子部件转换为输入(convert the noise seed widget to input)。将其连接到”rgthree”开发的种子节点。
  4. 添加”双CFG引导”节点。配置正面CFG,将其值设为5,超过这个数值,生成的图可能会出现问题。配置负面CFG,建议范围为1.2-1.6,根据图片情况,可以调整此值。连接各个节点输入端。

4. InstructPixToPixConditioning

  1. 添加”InstructPixToPixConditioning”节点。它的作用是避免提示词大幅度改动其他区域,仅产生修图效果。将”InstructPixToPixConditioning”节点与”双CFG引导”连接。确保”InstructPixToPixConditioning”的负面条件(conditioning)输出端连接到”双CFG引导”第二个条件的输入端。双CFG引导”负面条件的输入端需要连接负面提示词。
  2. 从”高级自定义采样器”节点的”采样器”输入端拖出”K采样器选择”节点,选择后缀带有”ancestral”的采样器。
  3. 从”Sigmas”输入端拖出的”基础调度器”,选择”exponential”。
  4. 添加VAE解码器和”图像对比”节点。image_a端口连接修改后的图片(画了眼线)。image_b端口连接原始图片。
  5. 确保所有节点正确连接,尤其是CLIP节点。
  6. 运行工作流,生成一张测试图片。

5. 添加 “图像遮罩复合” 节点

发现金色眼线扩散到了其他地方,遮罩未能有效限制。因cosxl_editCheckpoint的特殊性,我们不能用它来搭建局部重绘的工作流,但可以通过遮罩限定眼线区域。接下来,我们将添加一个节点来进一步控制修改区域,并在指定区域内涂抹眼影。

  • 作用:实现类似于Photoshop中的蒙版操作。
  • 连接:
    • 原图像 (source):连接到刚才生成的图像。
    • 目标图像 (destination):连接到最开始上传的图像。

这个节点的作用类似于在Photoshop中将原图像放在上层,将目标图像放在下层,然后通过蒙版将对图像的修改限定在指定区域。

然后再添加 “图像对比” 节点,它的作用是对比修改前后的图像。将image_a端口连接到修改后的图像。将image_b端口连接到原始图像。

完成这些步骤后,我们再生成一张图,确保眼线被涂在指定区域。

6. 添加眼影

接下来我们再给她涂个眼影吧。把这张图复制一下。然后回到最开始的”加载图像”的节点,把图像粘贴过来。然后再做一个遮罩。遮罩模糊度我们设高一些。然后改一下提示词。把”双CFG引导”这里的CFG改小一些。然后再跑一张图。

进阶工作流:皮肤遮罩

在前面的步骤中,我们已经完成了眼线和眼影的添加。接下来,我们将详细讲解如何进行皮肤磨皮,使皮肤更光滑并且保持质感。这个过程涉及到一些高级节点配置,以确保面部皮肤的处理效果最佳。

1. 磨皮的重要性

磨皮是人像修图的关键步骤之一,但不能简单地重复之前的步骤。直接通过提示词如”光滑的皮肤”可能会导致不理想的结果。此外,手动为面部皮肤制作遮罩比较费时费力,因此我们将使用ComfyUI中专门为面部做遮罩的节点——FaceParse

2. 添加 FaceParse 节点

  • FaceParse:用于自动生成面部遮罩。
  • 模型输入端:从模型输入端拖出一个FaceParse模型。
  • 预处理器:需要连接一个预处理器。

3. 添加 ImageCropWithBBox 节点

  • 作用:裁剪面部图像。
  • BBox:即Bounding Box,用来识别面部区域并裁剪。
  • 连接
    • bbox输入端:连接到BBoxListItemSelect节点,选择第几个bounding box(默认index值为0)。
    • bbox_list输入端:连接到FaceBBoxDetect节点,控制bounding box的阈值和大小。选择nano版本的模型以减少资源消耗。

4. 连接预览图像节点

  • FaceParseImageCropWithBBox分别添加预览图像节点,确保正确处理。

5. 运行并检查结果

  • 运行工作流,检查面部处理结果。如果出现错误,确保图像端口连接正确。
  • 预期结果FaceParse生成彩色面部分割图,ImageCropWithBBox裁剪出面部图像。

6. 提取皮肤区域

  • FaceParsingResultsParser:从FaceParse拖出,用于提取面部皮肤区域。
  • 设置参数:仅打开”skin”开关,保持其他部位(如鼻子)关闭。

7. 平滑皮肤遮罩边缘

  • 添加”遮罩模糊生长”节点
    • 设置扩展大小和模糊半径,使皮肤遮罩的边缘过渡更平滑。
  • 预览遮罩效果:添加预览节点查看遮罩效果。

进阶工作流:局部重绘

1. 选择Checkpoint

2. 添加提示词

  • 提示词:写上“光滑的皮肤”。
  • K采样器
    • 采样步数:3步(Lighting版本的Checkpoint,速度极快)。
    • CFG值:设置为2。
    • 参考Checkpoint作者的推荐设置。
    • 降噪强度:设为0.4。

3. 连接节点

  • VAE编码:将要局部重绘的图进行VAE编码。
  • 潜空间噪声遮罩:进行设置并连接。
  • 输出图像节点:添加两个节点用于输出图像。

运行工作流,检查皮肤效果。我们会看到皮肤变得更细腻,显得年轻了10岁。

comfyui 10

进阶工作流:改变嘴唇颜色

1. 添加ColorAdjust节点

  • 作用:改变图像的对比度、明度、饱和度、色相。
  • 调整色相:改变嘴唇颜色。
  • 预览图像:添加预览节点查看效果。
  • 问题:整个面部区域都变了,需要限定变化区域。
  • 解决方案:像之前那样处理遮罩。

2. 复制之前的四个节点

  • 面部遮罩区域:选择上嘴唇和下嘴唇。
  • 调整遮罩大小和模糊度:因嘴唇面积小,需精确控制。
  • 运行工作流:生成遮罩并查看效果。

3. 添加图像遮罩复合节点

  • 作用:像之前的工作流一样,限定变化区域。
  • 连接并运行:处理嘴唇颜色。
  • 连接
    • 原图像(source):连接处理好的面部图像。
    • 目标图像(destination):连接原始图像。

4. 将修图结果放回原图

在之前的步骤中,我们已经添加了局部重绘的工作流,并实现了嘴唇颜色的调整。现在,我们将通过添加一个强大的节点ImageInsertWithBBox,将处理好的面部图像插入到原始图像中。最终,我们将整个工作流分为上下两部分,以便更灵活地进行调整。

  • 添加ImageInsertWithBBox节点:用于将处理好的图像插入到原始图像中。
    • bbox输入端口:连接到之前的BBoxListItemSelect节点。
    • 图像源:连接到未被裁剪过的原始图片。
    • 图像输入端:连接到处理过的图片。
  • 添加图像对比节点:用于查看最终效果。
    • image_a端口:连接到插入后的图像。
    • image_b端口:连接到原始图像。

完善工作流

整个工作流分为上下两个部分。上面的部分用的是CosXL,可以帮人物化妆。

化妆的流程可能会进行很多次,所以最好是在跑上面的工作流的时候,暂时把下面的先冻结一下。我们给下面的工作流编一个组。

然后再加入一个节点。通过这个开关就可以切换这个组的状态。

先对人物进行化妆,效果满意了,再把下面的组打开,处理面部的细节,这样就比较方便了。

结论

通过这个工作流,你可以轻松地实现高质量的人像修图,并灵活地进行局部调整和细节处理。希望这些步骤能帮助你提升修图效率,创造出更加惊艳的作品。感谢你的阅读,期待你在修图过程中取得更好的成果!

类似文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注