Stable Diffusion脸部修复:ADetailer插件原理与实战调参指南
2026/9/9 7:23:45 网站建设 项目流程

1. 项目概述:从“脸崩”到“一键修复”的救星

在AI绘画,特别是使用Stable Diffusion生成全身人像时,你是否也经历过这样的绝望瞬间:精心构思的构图、华丽的服饰、完美的光影,一切看起来都那么美好——直到你把目光聚焦到人物的脸上。一张扭曲、模糊、五官错位甚至长出“克苏鲁”式触手的脸,瞬间让整幅作品沦为废稿。这个被圈内戏称为“脸崩”的问题,几乎是所有SD玩家从新手进阶到高手路上必须翻越的一座大山。

“脸崩”的根源,在于Stable Diffusion模型的工作原理。SD模型在生成图像时,会将整张画布划分为多个潜在空间区域进行处理。当生成分辨率有限(例如常见的512x512或768x768)的全身图时,分配给面部的像素区域可能只有几十甚至十几个像素点。对于模型而言,在如此有限的“画布”上精确描绘出复杂的五官结构、皮肤质感和表情细节,是一项极其困难的任务。它就像让一位画家在一枚邮票上画一幅肖像,细节的丢失和扭曲几乎是必然的。更棘手的是,即便你通过高清修复(Hires. fix)放大图像,模型也只是在已有扭曲的基础上进行“脑补”和细化,往往会让错误变得更加根深蒂固。

手动修复?那意味着你需要将脸部区域裁剪出来,导入图生图,重新写提示词,调整重绘幅度,生成数十张候选图,再挑选最合适的进行后期合成。这个过程繁琐、耗时,且对新手极不友好。而今天要深入探讨的ADetailer插件,正是为了解决这一痛点而生。它并非一个简单的“美颜”滤镜,而是一个基于检测模型和局部重绘的自动化工作流引擎。它能智能识别图像中的人脸(以及手部、身体等),自动将其分割出来,调用你指定的模型进行高精度重绘,最后无缝融合回原图。简单来说,它把上面那个繁琐的“手动修复”流程全自动化了,真正实现了“一键解决”。

本指南将不仅教你如何安装和使用ADetailer,更会深入剖析其背后的运作机制、参数设置的底层逻辑,并分享大量从实际创作中积累的、在官方文档里找不到的调参心得和避坑技巧。无论你是刚被“脸崩”困扰的新手,还是希望提升出图效率和质量的老手,这篇文章都将为你提供一套完整、可靠的解决方案。

2. ADetailer插件核心机制深度解析

要真正用好一个工具,必须理解它背后的原理。ADetailer(Automatic Detailed)插件的工作流程可以拆解为四个核心环节:检测、分割、重绘、融合。每一个环节的选择和参数设置,都直接影响最终输出的质量。

2.1 检测模型:决定“修哪里”的侦察兵

ADetailer的核心第一步是检测需要细化的区域。它内置并支持调用多种预训练的检测模型,最常见的是face_yolov8n.pt(用于人脸)和hand_yolov8n.pt(用于手部)。这里的“YOLOv8n”指的是“You Only Look Once”版本8的nano小型化模型,它以速度和精度的平衡著称。

  • 为什么是YOLOv8?相比早期的检测器,YOLOv8在保持高速度的同时,对小目标的检测能力更强。这对于在低分辨率全身图中定位可能只占几十像素的人脸至关重要。插件作者选择它,正是看中了其效率和精度的完美结合。
  • 模型选择策略:除了默认的人脸和手部模型,社区还提供了针对特定场景的模型,如全身人物检测、特定服装检测等。如果你的画面中有多个小尺寸人脸(如远景人群),使用默认模型可能漏检。此时,可以尝试更敏感的模型,或在提示词中强化对脸部的描述(如“clear face”, “detailed eyes”),为检测器提供上下文线索。
  • 检测置信度阈值:这是一个关键参数。阈值设得太高(如0.7),插件可能只检测到那些非常明显、确信度高的脸,而忽略侧脸、模糊脸或小脸。阈值设得太低(如0.2),则可能把一些类似人脸的非人脸区域(如装饰图案、云朵)也错误地框选进来,导致不必要的重绘甚至破坏画面。通常,0.3-0.5是一个比较稳妥的起步范围。

2.2 分割与蒙版:划定“手术”的精确边界

检测到目标后,ADetailer会生成一个围绕该区域的边界框。但直接用一个方形框去重绘会导致两个问题:一是会重绘到背景,二是方形边缘在融合后可能产生不自然的接缝。因此,插件会进一步在边界框内进行语义分割,生成一个精确贴合目标(如脸部轮廓、发际线)的蒙版。

  • 分割模型的作用:这个步骤确保了只有真正的“脸部”像素被送入重绘流程,背景被完美保护。这对于处理复杂发型(如飘散的发丝)或脸部与背景交界模糊的情况尤为重要。
  • 蒙版膨胀与收缩:这是最容易被忽视但极其重要的微调参数。Mask dilation(蒙版膨胀)会让蒙版区域向外扩展几个像素,Mask erosion(蒙版收缩)则让其向内收缩。
    • 何时使用膨胀?当发现重绘后的脸部边缘与原图背景有轻微的白边或色差时,说明蒙版抠得太“紧”了,一些边缘像素没被重绘到。适当膨胀(如2-4像素)可以让重绘区域稍微覆盖到边缘,实现更平滑的融合。
    • 何时使用收缩?如果重绘后,人物的发梢或脸部最外侧的轮廓出现了不自然的“被吃掉”或变形,说明蒙版可能包含了太多背景或头发末梢。适当收缩(如1-2像素)可以保护这些精细结构。

2.3 重绘引擎:执行“换脸”手术的核心

这是ADetailer最强大的部分。它本质上在后台自动为你运行了一个小规模的“图生图”任务。

  • 模型选择:你可以为ADetailer指定一个与主模型不同的专用重绘模型。这是解决“脸崩”的灵魂所在。通用的大模型为了兼顾万物,在人脸细节上必然有所妥协。因此,强烈建议专门为ADetailer配置一个擅长绘制亚洲或欧美面孔的写实人像大模型,或直接使用诸如epiCRealismRealistic Vision这类以真实感人脸见长的模型。让专业的模型做专业的事,效果立竿见影。
  • 提示词工程:ADetailer允许你为脸部重绘设置独立的正面和负面提示词。这里的提示词应该极度精简且聚焦于脸部特质。例如:
    • 正面提示词perfect face, detailed eyes, symmetrical features, smooth skin, beautiful detailed lips(完美脸庞,细节丰富的眼睛,对称五官,光滑皮肤,美丽精致的嘴唇)
    • 负面提示词deformed, blurry, bad anatomy, disfigured, poorly drawn face, mutation, mutated, extra limb, ugly(畸形,模糊,解剖结构错误,毁容,画工差的脸,突变,多余肢体,丑陋)
    • 关键技巧:避免在ADetailer提示词中加入与全局构图、场景、服装相关的描述。这些由主生成流程负责。ADetailer的提示词应像手术刀一样精准,只针对脸部品质。
  • 重绘幅度与步数Denoising strength(去噪强度,即重绘幅度)控制“手术”的激进程度。太高(>0.5)会导致生成的脸部与原始姿势、角度偏离太大,甚至换了一个人;太低(<0.3)则可能修复力度不足,残留扭曲。对于常规修复,0.35-0.45是甜点区。Steps(步数)则控制重绘的采样次数,通常无需设置过高,20-30步在配合良好模型的情况下已能产出高质量结果。

2.4 融合与后处理:让修复“天衣无缝”

重绘生成的新脸部图像,需要与原始全身图进行融合。ADetailer在这里提供了Inpaint Padding(内补边缘)选项。

  • 原理:这个参数控制重绘区域周边多大范围的像素会参与融合计算。较大的Inpaint Padding(例如32-64像素)意味着融合算法能看到更多的上下文信息,有助于生成更协调的过渡区域,特别是肤色和光影的匹配。如果修复后脸部与脖子、头发交界处显得生硬,尝试调大这个值。
  • 融合模型:在WebUI的“设置”->“修复”中,有一个“蒙版模糊”参数,它也会影响ADetailer的融合边缘平滑度。与Inpaint Padding协同调整,可以获得最自然的边缘。

注意:ADetailer的执行顺序是在主模型生成完成之后,高清修复(Hires. fix)之前。这意味着,如果你同时开启了ADetailer和Hires. fix,ADetailer会先修复脸部,然后Hires. fix再对整张图(包括已修复的脸部)进行放大和细节补充。这个顺序通常是合理的。

3. 从安装到精通:完整实操流程详解

理解了原理,我们来一步步完成从零开始到产出完美作品的整个过程。

3.1 插件安装与环境准备

ADetailer插件可以通过WebUI的“扩展”选项卡轻松安装。

  1. 打开你的Stable Diffusion WebUI,切换到“扩展”标签页。
  2. 选择“从网址安装”,在“扩展的git仓库网址”中输入:https://github.com/Bing-su/adetailer
  3. 点击“安装”按钮。等待命令行提示安装成功。
  4. 返回“已安装”标签页,点击“应用并重启用户界面”。重启后,你将在文生图或图生图页面的生成按钮下方,看到一个折叠的“ADetailer”面板。

除了插件本身,为了获得最佳效果,我强烈建议你提前准备以下资源:

  • 一个优质的人像大模型:如前所述,这是关键。去你常用的模型网站,搜索“portrait”、“realistic”、“beautiful face”等关键词,下载一个口碑好的模型,将其放入你的stable-diffusion-webui/models/Stable-diffusion目录。
  • 一个专用的脸部Lora(可选但推荐):如果你希望固定某种特定的脸部风格(如某位明星的脸型、某种妆容风格),可以训练或下载一个对应的Lora模型。在ADetailer中调用Lora,可以让你所有作品的脸部风格保持极高的一致性。

3.2 基础参数配置与第一次修复

让我们从一个最简单的例子开始。假设我们使用一个通用模型生成了一张512x768的全身像,脸部崩坏了。

  1. 展开ADetailer面板:在文生图页面,找到并展开“ADetailer”面板。
  2. 启用并选择模型:勾选“启用”,在“模型”下拉菜单中,选择face_yolov8n.pt
  3. 设置基础参数
    • 检测置信度阈值:保持默认0.3。
    • 去噪强度:设置为0.4。
    • 重绘步数:设置为25。
    • Inpaint Padding:设置为32。
  4. 配置提示词和模型
    • ADetailer提示词:在“正面提示词”和“负面提示词”输入框(通常紧挨着模型选择框下方)中,填入我们前面设计的精简版脸部提示词。
    • ADetailer模型:点击旁边的模型选择按钮,从列表中选择你事先准备好的那个专用人像大模型这是效果提升最关键的一步!
  5. 生成:保持你的主模型和全局提示词不变,点击生成。等待片刻,你会发现,在生成过程中,进度条会走两遍。第一遍是生成全身像,第二遍就是ADetailer在自动检测并重绘脸部。完成后,一张脸部清晰、细节丰富的图像就诞生了。

3.3 进阶参数微调与多部位处理

一次成功不代表次次成功。面对复杂场景,我们需要更精细的控制。

场景一:画面中有多个人脸默认设置可能只检测和修复最明显的那张脸。你需要:

  • 调整检测置信度阈值到更低的0.25,提高检测灵敏度。
  • 在全局正面提示词中,明确人物的数量和关系,如two girls, standing side by side,这能为检测器提供上下文。
  • 如果重要的人脸还是漏检,一个“笨”但有效的方法是:分两次处理。第一次用ADetailer修复检测到的人脸,保存图片;第二次以保存的图片为输入,手动在漏掉的人脸上画蒙版,使用图生图局部重绘,或者再次运行ADetailer(此时其他已修复的脸可能会被再次检测到,可通过设置更高的置信度阈值来避免)。

场景二:修复手部等其他部位ADetailer的强大之处在于可扩展性。你可以同时启用多个检测单元。

  1. 在ADetailer面板,点击“创建额外区域”或类似的按钮,添加第二个处理单元。
  2. 在第二个单元中,模型选择hand_yolov8n.pt
  3. 为其设置独立的提示词,例如正面提示词:perfect hands, five fingers, detailed knuckles, realistic,负面提示词:deformed hands, missing fingers, extra fingers, fused fingers
  4. 甚至可以为其指定另一个擅长绘制手部的模型(如果有的话)。这样,一次生成就能同时自动修复脸和手。

场景三:控制修复区域的强度与范围

  • 蒙版精度:如果发现重绘后发际线奇怪,调整Mask erosion(收缩)1-2像素,让蒙版不要包含太多头发。
  • 融合度:如果脸部与周围肤色不融,增大Inpaint Padding到48或64,让融合算法有更多参考信息。
  • 重绘激进度:如果修复后表情变了,降低去噪强度到0.35;如果修复力度不够,则提高到0.45。

3.4 与其它功能的协同工作流

ADetailer不是孤立的,它与SD WebUI的其他功能可以形成强大合力。

  • 与ControlNet协作:这是产生质变的组合。你可以使用OpenPose或Depth ControlNet先严格控制好全身的姿势和构图,确保生成一张构图完美但可能“脸崩”的图。然后由ADetailer负责“换”上一张好看的脸。两者分工明确,效果叠加。
  • 与高清修复(Hires. fix)的配合:如前所述,ADetailer先执行,Hires. fix后执行。建议的流程是:用较低基础分辨率(如512x768)快速出图并完成ADetailer脸部修复,然后启用Hires. fix,将整张图放大2倍。这样,高清修复是在一张“脸部已正确”的基础上添加细节,事半功倍。一个关键设置:在Hires. fix的“重绘幅度”设置上,如果修复后的脸部已经很完美,你可以尝试将重绘幅度调低(如0.2-0.3),以避免高清修复过程对脸部进行过多不必要的“二次加工”。
  • 与LoRA/Textual Inversion的配合:你可以在ADetailer的提示词中,加入特定的LoRA触发词或TI词,让重绘出的脸部带有特定的风格特征。例如,你有一个“碧眼LoRA”,就在ADetailer正面提示词中加入其触发词,这样生成的脸就会是蓝眼睛,而不会影响全局人物的发色或服装颜色。

4. 常见问题排查与实战心得

即使理解了所有原理和步骤,在实际操作中依然会遇到各种“妖魔鬼怪”。下面是我从大量实践中总结出的问题清单和解决方案。

4.1 问题速查表

问题现象可能原因解决方案
脸部完全没被修复1. ADetailer未启用。
2. 检测置信度阈值过高。
3. 人脸角度过于极端(如全背面)。
1. 检查面板是否勾选“启用”。
2. 逐步调低置信度阈值(如0.4 -> 0.25)。
3. 在全局提示词中强调脸部方向,或考虑手动重绘。
修复后换了个人(五官全变)去噪强度过高。去噪强度从0.4-0.5降低至0.3-0.35。
脸部修复了,但发色/瞳色变了ADetailer使用的模型风格与主模型差异太大,或提示词冲突。1. 尝试使用与主模型同系列的人像变体模型。
2. 在ADetailer负面提示词中加入change hair color, change eye color
脸部边缘有白边或色差蒙版不够贴合,融合不自然。1. 适当增加Mask dilation(2-4)。
2. 大幅增加Inpaint Padding(48-64)。
3. 在WebUI设置中调大“蒙版模糊”半径。
修复区域出现重复元素(如双下巴)原始生成的脸部结构异常,ADetailer在异常基础上重绘。1. 先尝试更低的去噪强度(0.3)。
2. 如果不行,关闭ADetailer,先用图生图低重绘幅度(0.2-0.3)简单修复原图脸部结构,再用ADetailer处理。
同时处理脸和手,但只有一个生效多个ADetailer单元冲突或资源限制。1. 检查每个单元是否都正确启用了模型。
2. 如果显存不足,考虑分两次生成:先修脸,保存图片,再开新单元修手。

4.2 核心避坑指南与心得

  1. 模型隔离是金律:务必为ADetailer准备一个独立的高质量人像模型。千万不要偷懒使用主模型来重绘,否则效果大打折扣。这个专用模型是你“脸部银行”里最重要的资产。
  2. 提示词宜精不宜多:ADetailer的提示词范围要小,目标要准。堆砌大量形容词不如“perfect face, symmetrical, detailed eyes”这几个核心词有效。避免引入场景、光照、服装等全局描述。
  3. 参数调整有顺序:遇到问题时,按以下顺序排查和调整:检测置信度(确保找到脸)->去噪强度(控制改变程度)->蒙版膨胀/收缩(控制修复区域)->Inpaint Padding(控制融合度)。不要同时改动多个参数。
  4. 善用“仅蒙版”预览:在ADetailer高级设置中,通常有“预览蒙版”或“仅输出蒙版区域”的选项。在调整蒙版膨胀收缩参数时,先开启这个功能,生成一张只显示蒙版区域的图,可以直观地看到你的调整是否精确覆盖了脸部,避免盲目调试。
  5. 批量处理时的稳定性:当进行批量生成时,由于每张图的人脸大小、角度不同,固定的置信度阈值可能不适用。一个技巧是:为批量生成设置一个稍低的置信度阈值(如0.25),以确保绝大多数脸能被检测到,即使偶尔误检一两个背景,因为去噪强度设置合理,对整体画面影响也微乎其微。
  6. 不要过度依赖:ADetailer是强大的辅助,但不能替代扎实的基本功。良好的构图提示词、正确的采样器、合适的步数,是生成好图的基石。ADetailer是用来“锦上添花”和“急救”的,而不是“无中生有”。如果原始生成的构图和姿势就很有问题,ADetailer也无力回天。

最后,我个人的体会是,ADetailer插件将AI绘画的工作流从“生成-不满意-全部重来”的粗放模式,推进到了“生成-局部优化-成品”的精细化模式。它节省的不仅仅是时间,更是创作过程中的挫败感,让你能把更多精力投入到构图、光影和故事性的构思上。开始可能会觉得参数繁多,但一旦你理解了每个参数背后的逻辑,并建立起自己的常用参数预设,它就会变成一个无声而高效的合作伙伴,默默帮你处理好那些繁琐的细节,让你的创意得以完美呈现。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询