保留面部特征,创造真实皮肤质感 (ComfyUI工作流)
如果你一直在尝试使用生成AI来创作肖像,可能会遇到一个常见问题:皮肤通常看起来过于光滑,几乎像塑料一样。

这种缺乏细节的现象让人很容易看出这是由AI生成的,从而降低了其真实感。
在这篇文章中,我们将探讨如何通过我开发的ComfyUI工作流来解决这个问题。
比较AI生成的皮肤纹理
为了更好地理解这个问题,让我们仔细看看几个AI生成的肖像示例。在第一个示例中,如果我们放大一下人物的脸部,可以看到她的皮肤缺乏细致的细节。这使得图像呈现出一种人造的、塑料般的外观,这正是AI生成的明显特征。

这是另一个示例,使用Flux模型的fp8版本创建。虽然这个版本确实包含了一些皮肤细节,但它们仍然感觉不自然,无法完全捕捉到真实人类皮肤的复杂性。

即使是像PixelWave这样高级的模型,皮肤纹理仍然可能看起来略显不足,存在改进的空间。这些示例突显了当前AI模型的一个关键局限性:它们往往难以生成真正逼真的皮肤纹理。尽管像Flux和PixelWave这样的模型令人印象深刻,但它们并不足以解决这个问题。这就是ComfyUI工作流的用武之地。
介绍ComfyUI工作流
我们将使用的ComfyUI工作流旨在解决现有AI模型的不足。该工作流基于SD1.5模型,不仅在GPU资源上高效,而且生成的皮肤纹理感觉更加自然和生动。

让我们看一些前后对比的例子,看看这个工作流可以带来怎样的变化。
在第一个示例中,我们从一张典型的过于光滑、塑料般的皮肤图像开始。

在经过工作流处理后,皮肤纹理变得更加粗糙和自然。为了进一步增强真实感,我使用了LoRA添加了雀斑,为图像增添了额外的真实感。

在另一个示例中,放大人物的眼睛可以看到睫毛的细致细节。


鼻子上的雀斑也增强了图像的真实感。


最棒的是这个工作流允许你根据自己的喜好自定义雀斑的数量。
现在你已经看到了这个工作流能够实现的效果,让我们逐步讲解如何使用它。
下载这个工作流:https://www.liblib.art/modelinfo/160ee2f0dd754e1eb3ad90f3e2d47a5a
视频教程和模型安装:
发电解锁其他进阶工作流:https://afdian.com/a/myaiforce
节点组1:设置工作流
要开始使用ComfyUI工作流,我们将首先关注第一个节点组。这一步主要是为生成真实的皮肤纹理奠定基础。以下是开始的步骤:
- 运行工作流以加载模型: 一旦第一个节点组激活,运行工作流以加载所需的模型。这个工作流的配置非常高效,因为它仅依赖于一个checkpoint模型:epicphotogasm。这个模型基于SD1.5,可以创建真实的皮肤纹理。
- 引入LoRA: 在工作流的右侧,你会注意到系统中加载了两个LoRA。这些LoRAs在增强皮肤真实感方面起着关键作用:
- 第一个LoRA:负责生成雀斑,为皮肤增添自然的人类特征。
- 第二个LoRA:专注于为图像添加额外的细节,进一步增强其真实感

随着模型和LoRA的加载,第一个节点组现在已完全配置。这为接下来的步骤做好了准备,在这些步骤中,我们将微调提示词并进一步完善图像。接下来,我们进入第二个节点组!
节点组2:配置提示词
第二个节点组主要是为采样过程设置提示词。这一步确保生成的图像与您的创意愿景和原始肖像紧密对齐。以下是有效配置提示词的方法:
- 运行工作流以生成提示词: 首先在第二个节点组内运行工作流。这将激活两个节点,根据上传的肖像自动生成提示词。这些提示词包括与之前加载的LoRAs相对应的特定触发词。例如,你可能会看到“freckles雀斑”或“details细节”等词,这些词对指导AI生成真实的皮肤纹理至关重要。
- 优化正面提示词: 虽然负面提示词已经预配置,但正面提示词需要一些微调,以确保生成的图像尽可能与原始肖像匹配。以下是操作步骤:
- 从‘Show Any’节点复制文本。
- 将其粘贴到‘Positive’节点中。
- 调整提示词以强调特定特征。例如,将光标放在“雀斑”这个词的末尾,按住Control键,然后按上箭头键以增加其权重。这个调整使得雀斑的生成在最终图像中更加有效和显著。
- 检查并完善提示词: 一旦提示词经过微调,花一点时间来检查它。确保触发词及其权重设置正确,以达到所需的细节和真实感水平。提示词准备就绪后,你就可以继续进行工作流的下一步了。
这种配置确保AI准确理解你的目标。让我们继续进入下一个节点组!
节点组4:重绘肖像以实现真实细节
第四个节点组是核心——重绘上传的肖像以增强其真实细节。这一步聚焦于细化皮肤纹理,并确保面部特征保持完整。以下是如何使用这个节点组的步骤:
- 设置输入参数: 在运行工作流之前,确保‘input’参数设置为2。这确保你的原始肖像正确配置以进行进一步处理。需要注意的是,Image 1来自我们之前跳过的第三个节点组,所以请记住这一点。
- 运行工作流并评估皮肤纹理: 一旦输入设置完成,运行工作流以查看皮肤纹理的效果。这个组包含两个ControlNet节点以保持面部特征的完整性:
- 第一个ControlNet最初设置为Canny,但为了获得更好的结果,应改为LineArt。
- 第二个ControlNet设置为Tile,帮助保留图像的整体结构。更新设置后,重新运行工作流以应用调整。
- 第一个ControlNet最初设置为Canny,但为了获得更好的结果,应改为LineArt。
- 引入放大模型: 在这一步,我加载了一个放大模型以增强图像质量。虽然SkinDiffDetail模型不会放大图像,但它擅长添加皮肤纹理。这为重绘过程中生成高度真实的皮肤创造了良好的基础。
- 评估结果: 花一点时间来评估皮肤纹理的质量。雀斑和细致的细节显著增强了肖像的真实感。然而,为了理解SkinDiffDetail模型的影响,我们暂时绕过‘Upscale Image’节点。
- 没有SkinDiffDetail模型,皮肤看起来更光滑,但缺少使其看起来自然的细致细节。
- 重新激活‘Upscale Image’节点并重新运行工作流以比较差异。
- 没有SkinDiffDetail模型,皮肤看起来更光滑,但缺少使其看起来自然的细致细节。
- 处理虚构的细节: 放大后,你可能会注意到人物脸上的一些纵向条纹。这些线条可能显得不自然且分散注意力。
为了找出原因,让我们检查原始图像。
- 在原始图像中,这些纵向条纹存在,但明显不那么突出。这是AI生成图像的常见问题,模型可能会夸大或引入虚构的细节。
- 即使没有纵向条纹,来自Flux等模型的假皮肤纹理等其他瑕疵仍然可能出现。
- 优化原始图像: 为了解决这些问题,我们将使用第三个节点组来细化原始图像。激活该组并运行工作流以平滑皮肤并去除任何残留的虚构细节。这一步确保为进一步增强提供一个更干净、更自然的基础。
节点组3:皮肤平滑处理
第三个节点组专注于平滑皮肤并消除在早期处理步骤中可能出现的任何虚假的细节。这一步确保为进一步的优化提供一个。以下是其工作原理:
- 运行工作流并评估结果: 首先在第三个节点组内运行工作流。当过程完成时,你会注意到它有效地平滑了皮肤并去除了任何残留的虚假细节,例如不自然的线条或纹理。
- 设置输入参数: 现在皮肤已经被平滑处理,是时候进入第四个组。在此之前,确保‘Input’参数在‘Image Input Switch’节点中设置为1。这确保工作流处理正确的图像以进行下一步。一旦完成,重新运行工作流以应用更改。
- 评估改进效果: 运行工作流后,你会看到皮肤纹理显著改善。先前明显的纵向条纹现在完全消失,导致外观更加干净和自然。这是增强肖像真实感的重要一步。
- 识别剩余问题: 虽然皮肤看起来很好,但仍有一个小问题需要解决:人物眼睛的瞳孔不如原始图像中那么圆
- 这种细微的差异可能会影响肖像的整体真实感。别担心——这个问题将在下一个节点组中解决,我们将专注于细化特定的面部特征。
节点组5:优化面部
第五个节点组是我们优化面部的地方,以确保肖像尽可能看起来真实。这一步专注于保留眼睛和嘴巴等关键区域的完整性,同时增强整体细节。
- 运行工作流并生成遮罩: 首先运行工作流。在‘Preview Bridge’节点中,你会看到‘PersonMask’节点生成了一个遮罩。这个遮罩定义了图像中将被细化的区域,作为细节转移的来源。
- 自定义遮罩设置: 为了确保遮罩专注于正确的区域,我禁用了‘background’选项,从而完全排除背景。此外,我启用了‘face’、’body’、’hair’和‘clothes’的选项,以增强这些区域的细节。你可以根据自己的偏好和肖像的具体需求自定义这些设置。
- 排除问题区域: 如果你在前一个组的结果中注意到眼睛或嘴巴有任何问题,可以通过在‘Preview Bridge’节点中涂抹这些区域来排除它们。这确保这些特征保持忠于原始图像,而其他区域则被细化。
- 再次运行工作流: 调整遮罩后,再次运行工作流以应用更改。这个组的关键组成部分是“Image Detail Transfer”节点,它将前一组生成的皮肤细节转移回原始图像。其工作原理如下:
- 前一组的图像通过“Image Contrast Adaptive Sharpening”节点进行锐化,然后导入到“Image Detail Transfer”节点的“source”端口。
- 遮罩被引入到“mask”端口,指示应转移细节的区域。
- 为了在眼睛与图像其余部分之间创建无缝过渡,使用“Mask Blur”节点应用模糊效果。
- 评估最终结果: 在“Image Comparer”节点中检查最终结果。你会注意到大多数皮肤区域现在都有真实的细节,而眼睛和其他排除的区域则基本保持不变。这确保面部特征不变。
- 解决剩余问题: 尽管结果显著改善,但眼睛仍可能显示一些不真实的细节。别担心——这个问题将在下一个组中解决,我们将使用放大处理进一步提升这些区域。


结语
我鼓励你下载这个工作流,尝试各种参数,看看它如何提升你的AI人像。
我希望这个工作流能为你的创意过程带来很大的价值。希望你能享受到使用这个工作流的乐趣,并创造出令人惊艳的作品!