导读:本期聚焦于赵景明创作的《SD WebUI 局部重绘如何分区修复手部、面部与背景?》,敬请观看详情。手部画崩了、面部细节丢失、背景出现伪影,局部重绘总是越修越糟?问题往往不在模型,而在蒙版范围和重绘参数没有分区设置。本文围绕 Stable Diffusion WebUI 的局部重绘功能,拆分手部、面部、背景三类典型区域的分区修复策略。手部重点结合 ControlNet 深度约束与低模糊蒙版,降低手指变形;面部优先使用 ADetailer 自动检测,配合小范围手动修补保持五官协调;背景则采用大范围蒙版与高模糊边缘,避免纹理断裂。还会给出重绘幅度、蒙版模糊、全分辨率重绘等核心参数的推荐区间,并说明操作顺序。掌握分区思维后,可以精准替换问题局部,避免整图重画带来的风格偏移,提升修复效率与出图质量。

手部崩坏、面部五官漂移、背景出现异常伪影,是局部重绘中最容易翻车的三类区域。习惯性做法是画一张大蒙版然后把重绘幅度拉高,结果往往是脸修好了手又崩了,背景也跟着变脏。局部重绘的关键不在于重绘范围越大越好,而在于根据不同区域的纹理特征和结构约束,分别控制蒙版范围、重绘幅度和辅助模型。本文会在 Stable Diffusion WebUI 的 img2img 局部重绘流程中,拆解手部、面部、背景三类区域的分区修复策略,并给出可直接落地的参数组合。

SD WebUI 局部重绘如何分区修复手部、面部与背景?

一、先厘清局部重绘的核心参数与分区修复原则

局部重绘位于图生图标签页,核心参数包括蒙版模糊、蒙版模式、重绘区域、全分辨率重绘和重绘幅度。这些参数并不是固定值,需要根据修复区域的大小和结构复杂度调整。蒙版模糊决定蒙版边缘过渡的柔和程度,数值越大边缘越羽化,适合大范围背景修复;数值越小边缘越锐利,适合面部和手部这些需要保留清晰轮廓的区域。重绘幅度决定模型对蒙版内图像的重画程度,数值越高变化越大,但过高容易丢失原始结构。

分区修复的基本顺序是先修结构性强、细节要求高的区域,再处理大范围纹理。面部优于手部,手部优于背景。因为面部和手部如果先被背景重绘破坏,后面还需要再修一次。蒙版绘制时,面部区域应尽量贴合五官轮廓,只圈住需要修改的部分;手部区域要包含完整手掌甚至手腕,保留足够的上下文;背景区域则可以适当扩大,甚至覆盖部分相邻物体,让模型获得更多环境参考。

全分辨率重绘对于小区域修复非常关键。开启后模型会以原始分辨率重绘蒙版区域再缩放回去,能明显减少模糊和细节丢失。对于面部和手部建议开启;背景大面积重绘若显存不足可以关闭,转而使用较高的采样步数弥补。填充模式方面,建议使用原图填充而不是潜空间噪声,尤其是手部和面部修复,原图填充能保留更多原始色彩和明暗关系。

二、手部修复:结合深度约束和手部模型降低手指变形

手指数量错误、关节粘连、握持物体时穿透,是手部修复的主要难点。单纯提高重绘幅度,模型对手部结构的理解并不会提升,反而可能生成更怪异的姿态。手部修复的第一步是缩小蒙版范围,只覆盖手部及周边少量区域,避免模型重新绘制手臂和衣物。蒙版模糊建议设置在4到8之间,让边缘有适度过渡。重绘幅度控制在0.5到0.65,既能修复纹理,又不会完全破坏手势。

如果手部结构本身有严重问题,比如手指数量不对或方向错误,建议在局部重绘中挂载 ControlNet 的深度模型或手部姿态模型。ControlNet 的 depth 模块可以约束手部的大致轮廓,openpose_hand 模块则能显式给出关键点信息,适合手指姿态明确的画面。下面这段 Python 代码演示了通过 WebUI API 发起带深度 ControlNet 的局部重绘请求,主要参数包括 inpaint_full_res、denoising_strength 和 ControlNet 的 model 名称。

import requests
import base64

url = "http://127.0.0.1:7860/sdapi/v1/img2img"

# 读取原图并编码
with open("input.png", "rb") as f:
    img_b64 = base64.b64encode(f.read()).decode("utf-8")

# 读取蒙版,白色为需要重绘区域
with open("mask.png", "rb") as f:
    mask_b64 = base64.b64encode(f.read()).decode("utf-8")

payload = {
    "init_images": [img_b64],
    "mask": mask_b64,
    "inpainting_fill": 1,  # 原图填充
    "inpaint_full_res": True,  # 全分辨率重绘
    "inpaint_full_res_padding": 32,
    "denoising_strength": 0.55,
    "steps": 30,
    "cfg_scale": 7,
    "width": 512,
    "height": 768,
    "sampler_index": "DPM++ 2M Karras",
    "alwayson_scripts": {
        "controlnet": {
            "args": [
                {
                    "input_image": mask_b64,
                    "module": "depth",
                    "model": "control_v11f1p_sd15_depth",
                    "weight": 0.6,
                    "resize_mode": "Crop and Resize",
                    "low_vram": False
                }
            ]
        }
    }
}

r = requests.post(url, json=payload)
print(r.status_code)

实际 WebUI 界面操作时,可以先在局部重绘上传原图,用画笔把手部区域涂成白色蒙版,然后在 ControlNet 下拉面板中启用深度图,控制权重建议从0.5到0.7起步。如果手部依然出现六指或关节粘连,再降回 img2img 原始图,使用手部修复 LoRA 重跑一次,负面提示词中加入 extra fingers、fused fingers、bad hands 等强化约束。手部修复通常需要多轮迭代,每次只改一个小问题,不要试图一次全部重画。

三、面部修复:用 ADetailer 自动检测配合手动蒙版修正

面部修复与手部不同,五官位置和相似度对整体观感影响极大,手动蒙版很难准确覆盖眼睛、鼻子、嘴巴各自的问题区域。ADetailer 扩展利用人脸检测模型自动定位脸部,并在检测框内单独重绘,重绘幅度通常只需0.3到0.45。模型可以选择 face_yolov8n.pt 或 face_yolov8s.pt,前者速度快,后者检测更稳。ADetailer 的优势在于自动贴合脸部轮廓,避免手动蒙版边缘过硬导致的肤色断层。

如果 ADetailer 重绘后仍然存在五官局部瑕疵,比如一只眼睛无神或嘴巴歪斜,再用手动局部重绘进行二次修补。此时蒙版只需覆盖单个五官,蒙版模糊设为2到4,重绘幅度0.35左右。开启全分辨率重绘,填充模式选择原图填充,采样步数20到25,CFG 值7。这样可以在尽量不改变其他五官的前提下修正局部。注意手动修补面部时不要同时修复多个五官,否则容易出现五官不协调。

当面部角度较大或有遮挡物时,ADetailer 可能检测不到人脸,可以切换到手动局部重绘并联用 ControlNet 线稿或深度模型。线稿模型能固定五官的位置关系,深度模型适合侧面轮廓。面部重绘的负面提示词建议加入 blurry face、deformed face、asymmetric eyes 等。完成面部修复后再进行背景和手部的处理,避免面部被后续重绘干扰。

四、背景修复:大范围蒙版与低幅度重绘保持环境一致性

背景伪影、纹理重复、物体边缘错位,通常由大范围重绘幅度过高或蒙版边界不当引起。背景修复不需要保留清晰轮廓,反而需要更高的蒙版模糊来让重绘区域与周围环境平滑过渡。蒙版模糊可以设置在8到16,重绘幅度0.6到0.75,采样步数25到35。填充模式推荐原图填充,避免潜空间噪声引入不协调的纹理。

如果背景中存在明显物体,如建筑、家具、植物等,蒙版应适当覆盖整个物体及其阴影区域,而不是只圈住异常部分。只圈局部会导致模型生成的新纹理与旧纹理在物体内部产生接缝。对于大范围背景修复,可以关闭全分辨率重绘以降低显存占用,或使用默认的重绘分辨率。提示词中补充背景描述,比如 intricate wallpaper、wooden floor、soft lighting 等,帮助模型理解环境。

下表汇总了手部、面部、背景三类区域在局部重绘中的推荐参数范围,便于快速设置。

区域蒙版模糊重绘幅度全分辨率重绘辅助控制
手部4-80.5-0.65开启ControlNet 深度/姿态
面部2-40.3-0.45开启ADetailer/线稿
背景8-160.6-0.75可选关闭原图填充/提示词约束

背景修复完成后,建议回到整体画面上检查边缘过渡,尤其是重绘区域与未重绘区域的交界处。如果出现明显色差,可以降低蒙版模糊后重新小范围重绘边缘,或者使用轻微的全图重绘统一色调。分区修复不是一次性流程,而是先修面部、再修手部、最后修背景的顺序叠加,每一步都只解决一类问题,最终才能稳定输出高质量画面。

SD WebUI局部重绘分区修复修改时间:2026-09-22 15:12:30

免责声明:已尽一切努力确保本网站所含信息的准确性。网站作品多为原创整理与精心创作,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们进行处理Email:chomcom@qq.com。
引用或转载本作品时,请注明当前出处:https://www.ipipp.com/html/0922/60524.html,基于非商业用途的前提下,欢迎转载或二创本作品。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。