Stable Diffusion面部修复神器ADetailer:告别AI绘画脸崩难题
1. 从“脸崩”到“脸稳”:一个困扰SD玩家的经典难题
如果你玩Stable Diffusion(SD)有一段时间了,尤其是热衷于生成全身人像,那你大概率经历过这个令人沮丧的时刻:你精心构思了构图,调整了复杂的提示词,满怀期待地点击生成,结果出来的图——身材、服装、光影都堪称完美,唯独那张脸,要么五官扭曲得像毕加索的抽象画,要么模糊得如同打了马赛克,甚至直接多长了一只眼睛。这种“脸崩”现象,几乎是每个SD玩家从新手进阶到高手路上必须跨过的一道坎。
为什么SD在画全身图时,人脸总是容易“翻车”?这背后其实有非常明确的底层逻辑。SD模型在生成图像时,会先将你的提示词和一张随机噪声图,通过一个称为“去噪”的过程,一步步转化为最终图像。在这个过程中,模型需要同时处理画面中所有元素的信息。当你的构图是全身像时,人脸在整张画面中所占的像素面积可能只有不到5%。对于模型来说,它需要在这极其有限的像素空间内,同时处理好五官的比例、对称性、表情、光影等极其复杂的细节,这本身就是一项超高难度的任务。模型有限的“注意力”被身体、背景、服装等大面积元素分散,导致分配给面部细节的“计算资源”严重不足,最终生成的脸部自然就容易出现各种畸变和模糊。
在过去,解决这个问题通常意味着繁琐的后处理:要么在生成后,把脸部区域裁剪出来,用“图生图”功能配合面部修复模型重绘,再贴回去;要么在生成时使用高分辨率修复,并叠加复杂的负面提示词来约束。这些方法不仅操作步骤多,效果不稳定,而且极大地破坏了创作流程的连贯性。直到一个名为ADetailer的插件出现,它几乎以一己之力,将我们从手动修脸的苦海中解放了出来,实现了真正意义上的“一键修复”。今天,我们就来彻底拆解这个神器,让你从此告别“脸崩”,轻松产出每一张都五官精致的全身美图。
2. ADetailer 核心原理:为何它能“定点增强”?
在深入操作之前,我们必须先理解ADetailer(全称After Detailer)究竟做了什么。它不是一个独立的AI模型,而是一个运行在WebUI内部的“自动化处理流程控制器”。你可以把它想象成一个拥有火眼金睛和灵巧双手的智能修图助理。它的工作逻辑清晰而高效,主要分为三步:检测、裁剪、重绘。
第一步:人脸检测。当SD完成初步的图像生成后,ADetailer会立刻介入。它调用一个预先训练好的目标检测模型(默认通常是YOLO或类似架构),快速扫描整张图片,精准定位出画面中所有人脸区域的边界框。这一步的关键在于“精准”,插件能识别出正面、侧面甚至部分被遮挡的脸,确保不遗漏,也不过界。
第二步:区域裁剪与隔离。根据检测到的边界框,ADetailer会将每一张脸从原图中单独裁剪出来,形成一个独立的、放大的脸部特写图。这个裁剪过程通常会包含一些边缘余量,以确保完整的脸部特征。此时,原始全身图中模糊扭曲的脸,被转化为了一个待处理的、目标明确的“脸部问题”。
第三步:定向重绘。这是ADetailer的核心魔法。它会自动启动一个针对裁剪后脸部区域的“图生图”任务。这个任务有以下几个关键点:
- 专用模型:它不使用你生成全身图的主模型,而是调用一个专门为修复面部而优化的模型,例如
face_yolov8n.pt或mediapipe_face_full。这些模型在面部细节数据上训练得更充分,理解五官结构和皮肤质感的能力远超通用大模型。 - 继承提示词:ADetailer会智能地继承你生成全身图时使用的正面提示词和负面提示词中与面部相关的部分(如“美丽的蓝色眼睛”、“微笑的嘴唇”),并忽略掉“金色长发”、“红色礼服”等与脸部无关的描述,确保重绘方向与你的原意一致。
- 高精度重绘:在重绘这个小小的脸部区域时,ADetailer会使用更高的“重绘幅度”和更精细的采样步骤,集中所有“算力”来攻克面部细节这一单一目标。
完成重绘后,插件会将修复好的、高清的脸部图像,无缝地贴回原图的对应位置,并自动进行边缘融合,使得最终成品看起来天衣无缝。整个过程完全自动化,无需你手动框选、切换模型或调整参数,真正实现了“一键解决”。
3. 手把手集成与配置:让ADetailer在你的WebUI中跑起来
理解了原理,接下来就是实战环节。ADetailer的安装非常简便,目前主流的Stable Diffusion WebUI(如AUTOMATIC1111或Forge)都支持通过扩展市场直接安装。
3.1 安装步骤
- 打开你的SD WebUI,进入“扩展”选项卡。
- 选择“可用”子选项卡,然后点击“加载自”按钮,加载扩展列表。
- 在搜索框中输入“adetailer”,你通常会找到名为“Adetailer”的扩展,作者是“BingSu”。
- 找到后,直接点击右侧的“安装”按钮。等待安装完成。
- 安装完毕后,回到“已安装”子选项卡,点击“应用并重启用户界面”。重启后,你就能在文生图或图生图页面的底部,看到ADetailer的设置面板了。
3.2 核心参数详解:调参的艺术安装只是开始,发挥ADetailer最大威力的关键在于理解并调整其参数。面板上的选项看似繁多,但核心的就那么几个。
模型选择 (ADetailer Model):这是最重要的设置。不同的检测模型擅长不同的部位。
face_yolov8n.pt:最通用、最稳定的人脸检测模型,适用于绝大多数亚洲和欧美人脸,是新手首选。face_yolov8s.pt:比n版更大一些,检测精度可能略有提升,但速度稍慢。mediapipe_face_full:由Google开发,在检测侧脸、夸张表情或部分遮挡的脸时有时表现更鲁棒。person_yolov8n-seg.pt:这个模型不是用来检测脸的,而是检测整个人体并分割。如果你发现生成的人物手部也经常畸形(比如六指琴魔),可以启用第二个ADetailer单元,使用这个模型来专门修复手部。
提示:对于纯面部修复,无脑选
face_yolov8n.pt即可。如果遇到侧脸检测失败,再尝试mediapipe_face_full。
检测置信度阈值 (Detection Threshold):默认值0.3。这个值决定了插件“认为”某个区域是人脸的严格程度。值调高(如0.5),检测会更严格,可能漏掉一些模糊或小的脸;值调低(如0.2),检测会更敏感,但也可能把一些类似人脸的非人脸区域(如装饰图案)错误地框选进来进行重绘,导致画面被破坏。通常保持默认即可。
重绘幅度 (Denoising Strength):这是控制“改变程度”的核心参数,默认值0.4。它直接影响重绘后脸部与原图脸部草稿的差异度。
- 值太低(<0.3):改变太小,可能无法修正严重的扭曲,只是让模糊的脸变清晰一点,但畸形依旧。
- 值在0.4-0.6:甜点区间。能有效修正畸形,同时较好地保持原图的发型、脸型轮廓和基本神态。
- 值太高(>0.7):改变会非常剧烈,重绘后的脸可能和原图判若两人,甚至引入新的不协调感(比如发型突变)。
实操心得:从0.4开始尝试。如果修复力度不够,逐步增加到0.5;如果发现脸型、发型变化太大,则降低到0.35。这个参数需要与你使用的面部修复模型、采样器配合微调。
蒙版模糊与填充 (Mask Blur & Mask Padding):
- 蒙版模糊:在贴回修复脸时,对边缘进行模糊处理,使其与原图融合更自然。默认值4通常够用,增加到8-12可以让融合更柔和,适合写实风格。
- 蒙版填充:在检测框的基础上向外扩展多少像素进行重绘。默认值32。适当增加(如到64)可以确保重绘区域包含足够的头发发梢、耳朵等边缘部分,避免出现“脸是新的,头发边缘是旧的”的割裂感。但不宜过大,否则会重绘到颈部甚至衣服。
提示词继承与定制: ADetailer默认会继承全局提示词。但你可以在其专属的“正面提示词”和“负面提示词”框中,输入只针对脸部的描述。例如,在全局提示词中你写的是“一个穿着铠甲的武士”,在ADetailer的正面提示词中可以追加“sharp focus, detailed eyes, perfect symmetry”,在负面提示词中加入“blurry, deformed iris, crooked nose”。这样,插件在重绘脸部时,会将这些针对性的要求置于更高优先级。
4. 实战全流程:从“崩坏”到“完美”的案例拆解
让我们通过一个完整的案例,来看看ADetailer如何化腐朽为神奇。假设我们的目标是:生成一张“一位女剑客在竹林月光下回眸的全身像”。
4.1 未使用ADetailer的原始生成
- 正面提示词:
masterpiece, best quality, 1girl, solo, beautiful Chinese female swordsman, wearing ancient warrior attire, holding a jian sword, in a bamboo forest under moonlight, looking back over shoulder, ethereal, dramatic lighting, detailed background - 负面提示词:
(deformed iris, deformed pupils, semi-realistic, cgi, 3d, doll, cartoon), ugly, bad face, blurry, extra limbs - 参数:DPM++ 2M Karras采样器,20步,分辨率 832x1216(一个常见的全身像比例)。
- 结果:不出所料,身体姿态、服装、竹林背景和月光氛围都非常出色,但脸部严重崩坏,眼睛大小不一,嘴巴扭曲。
4.2 启用ADetailer进行修复我们保持所有全局参数不变,只是在底部展开ADetailer面板,进行如下设置:
- 勾选“启用”。
- 模型选择:
face_yolov8n.pt。 - 检测阈值:0.3。
- 重绘幅度:0.45(我们希望有较强的修正力)。
- 蒙版模糊:4,蒙版填充:48(为了更好处理回眸时的侧脸和发丝)。
- ADetailer正面提示词追加:
perfect face, symmetrical features, detailed eyes, sharp gaze, natural skin texture。 - ADetailer负面提示词追加:
asymmetric, cross-eyed, blurry face, plastic skin。
点击生成。这次你会观察到生成过程分为两个阶段:第一阶段是正常的全身图生成,你会看到那张熟悉的脸崩图;但紧接着,画面会快速闪烁一下,进入第二阶段,此时图像中心会聚焦在检测到的脸部区域进行快速重绘。最终,一张全新的图片呈现出来:背景、身体、服装与第一阶段完全一致,但那张脸已经被替换为一张五官精致、眼神锐利、皮肤质感自然的完美面孔。回眸的神态得以保留,但所有畸形消失无踪。
4.3 多人物场景与复杂构图处理ADetailer的强大之处在于它能处理画面中的多张脸。如果你生成的是“一群朋友在聚会”的全身照,插件会自动检测到每一张脸,并逐个进行重绘。你不需要做任何额外设置。这对于创作漫画分镜、多人海报等场景是革命性的。
对于复杂构图,比如脸被扇子、头发轻微遮挡,或者极端侧面,有两点需要注意:
- 模型选择:尝试切换到
mediapipe_face_full,它对非常规角度的脸检测能力更强。 - 重绘幅度:对于遮挡情况,可能需要稍微提高重绘幅度(如0.5),让模型有更多“想象力”去补全被遮挡的部分。但同时要警惕过度重绘导致人物特征改变。
5. 进阶技巧与疑难排坑:成为ADetailer专家
当你掌握了基础操作后,下面这些进阶技巧和问题解决方案,能帮你处理更棘手的场景,并优化输出效果。
5.1 人脸与手部修复双管齐下SD不仅容易崩脸,也容易崩手。我们可以启用ADetailer的第二个处理单元。
- 在ADetailer面板,找到并勾选“启用单元2”。
- 在单元2的模型中选择
hand_yolov8n.pt(专门检测手部)或person_yolov8n-seg.pt(检测并分割整个人体,通常能包含手部)。 - 为单元2设置单独的重绘幅度(手部修复通常需要更高的精度,重绘幅度可以比脸部稍低,如0.35-0.4,以免手部姿势被改变)。
- 在单元2的提示词中,可以加入
perfect hands, five fingers, natural pose等描述。 这样,一次生成就能同时自动修复脸和手,效率翻倍。
5.2 控制修复区域,避免“过度治疗”有时,ADetailer可能会错误地将画框中的人物肖像画、雕塑的脸也检测出来并进行重绘,导致画面被意外修改。或者,你希望保留原图中某些特定的脸部风格(比如故意做的卡通变形脸)。此时,你可以:
- 提高检测阈值:从0.3提升至0.5或更高,让检测标准更严格。
- 使用“排除区域”提示词:在ADetailer的负面提示词中,加入对非目标脸部特征的描述,例如
painting, sculpture, doll face, mask,可以在一定程度上引导模型避开对这些内容的重绘。 - 最根本的方法:如果构图中有明确的非真人脸部元素,最好的实践是在生成前就于全局负面提示词中对其进行约束。
5.3 修复后肤色/光影不匹配的解决方案这是ADetailer使用中最常见的问题之一:修复后的脸部肤色与脖子的肤色有细微差异,或者脸部光影与身体的光照方向不符。
- 肤色不匹配:主要原因是在重绘时,面部模型对肤色的理解与主模型有偏差。解决方案是在ADetailer的正面提示词中明确肤色。例如,如果原图是亚洲人肤色,就加入
light skin tone, warm skin tone, East Asian skin。同时,可以稍微降低重绘幅度(如0.38),让重绘后的脸部更多继承原图的底色。 - 光影不匹配:这是因为脸部在独立重绘时,其光照是“重新计算”的,可能忽略了原图的光源方向。解决方法是在ADetailer的正面提示词中重申光照条件。例如,原图是“左侧光”,就在提示词里加上
light from left, shadow on right side of face。这能极大地引导面部重绘模型生成符合整体场景的光影。
5.4 与其它修复方法的对比与协同ADetailer并非唯一解,了解其边界很重要。
- VS 高分辨率修复 (Hires. fix):Hires. fix是通过先低分辨率构图,再放大并补充细节的方式来提升整体质量,它对修复面部有一定帮助,但不够精准,且计算量巨大、速度慢。ADetailer是精准的“外科手术”,只处理问题区域,效率极高。最佳实践是结合使用:用较低的基线分辨率(如512x768)配合ADetailer快速出图,确定满意的构图和面部后,再启用Hires. fix进行整体画质提升。
- VS 后期手动重绘:手动重绘控制精度最高,但耗时耗力。ADetailer在95%的场景下都能达到满意效果,是效率与质量的最佳平衡点。剩下5%的极端情况,再交给手动精修。
5.5 性能优化与生成速度启用ADetailer会增加生成时间,因为它额外运行了检测和重绘步骤。时间增加多少取决于你使用的检测模型和重绘参数。
face_yolov8n.pt是最快的模型,通常只会增加2-5秒的生成时间。- 如果启用了手部或全身检测,时间会增加更多。
- 重绘幅度越高、采样步骤越多,重绘阶段耗时也越长。 对于追求效率的批量生成,建议先使用默认参数进行测试,找到一个效果和速度的平衡点。在批量跑图时,稳定的、可接受的效果比追求极致参数更重要。
掌握了ADetailer,你相当于为你的Stable Diffusion装备了一个全自动、智能化的“面部质检与精修车间”。它解决的不仅仅是一个技术痛点,更是解放了创作者的精力,让我们能更专注于构图、光影和故事表达本身。从今天起,放心大胆地去生成那些充满张力的全身镜头吧,因为你知道,无论角度多么刁钻,画面多么复杂,都有一双可靠的手在背后,为你守护每一张脸的完美。
