切换主题

ComfyUI 高清放大与局部修复:Hires Fix、Upscale、Inpainting 与面部修复

Easton editorial illustration: large rounded image-editing canvas with a pixel-soft left region and a clean detailed right region, orange translucent inpaint mask over one small facial area, magnifier revealing restored pixels

"ComfyUI 官方图像放大教程说明了 Load Upscale Model、Upscale Image (Using Model) 与 upscale_models 目录的基础工作流。"

你生成了一张 768×1024 的角色图,构图和光影都满意,但远景里人物的脸有点糊。直接 4x 放大后,细节变硬,纹理像贴上去的;用 FaceDetailer 修完,脸又不像原来的人了。背景里的小瑕疵想改掉,inpaint 一下整个背景的色调都变了。

像素放大、潜空间二次采样、FaceDetailer、手动 inpainting 四条路线各有适用场景。这篇指南覆盖节点连线、参数语义、第一次任务示例,以及“放大后糊”“蒙版外被改”“修脸变脸”的排障方案。


什么是后处理提质:四条路线的边界

生成一张满意的图片后,通常会遇到三类问题:分辨率不够高、细节不够清晰、局部需要修改。ComfyUI 的后处理提质分为四条路线,每条路线负责不同的问题。

像素放大用 ESRGAN 等模型提高图像尺寸,通常不重新采样 prompt 或主动改变构图,但超分模型仍可能重建或添加纹理。它适合原图已经满意、只需要更大输出的场景。

潜空间二次采样把 latent 放大后重新采样,允许结构变化,适合想重新生成材质或增加细节的场景。

FaceDetailer 自动检测脸部区域并做局部修复,适合远景脸模糊的场景。手部或其他对象需要对应的 Detector、Detailer 或手动蒙版,不能把 FaceDetailer 当成万能修复节点。

手动局部重绘用 Mask Editor 画出要改的区域,让采样器重点重绘该区域。它适合修改 logo 边缘、背景小瑕疵或指定物体,但采样和合成仍可能影响蒙版外观感。

这四条路线各有边界:像素放大不负责身份一致性,FaceDetailer 修脸不等于换脸,手动 inpaint 也不保证蒙版外绝对不变。先判断问题属于“只变大、重新生成细节、修检测区域、改指定局部”中的哪一种,再选择路线。


像素放大:UpscaleModelLoader + Upscale Image using Model

像素放大是最基础的后处理路线。如果图已经满意,只想提高输出尺寸,这通常是破坏性最小的起点。

第一次放大任务

假设已经用文生图生成了 768×1024 的图片,想得到更大的输出。

第一步,从 Real-ESRGAN 仓库或可信模型来源下载适合当前图像类型的放大模型,例如 RealESRGAN_x4plus.pthRealESRGAN_x4plus_anime_6B.pth

第二步,把模型文件放到 ComfyUI/models/upscale_models/ 目录下。

第三步,刷新 ComfyUI 界面或重启,让系统重新扫描模型列表。如果仍找不到模型,检查路径、扩展名和 extra_model_paths.yaml

第四步,添加节点连线:UpscaleModelLoader 从模型列表选择刚放入的模型;Upscale Image (Using Model) 接收 upscale_modelimage;把文生图的输出图像接入它的 image 输入。

第五步,节点按模型支持的比例输出放大图。4x 模型通常输出四倍边长,但最终尺寸和资源占用仍要以节点结果为准。

常用放大模型选择

模型适用场景特点
4x-ESRGAN通用放大官方教程示例,适合作为基础对照
RealESRGAN_x4plus照片、真实场景面向通用图像修复,适合测试真实纹理
RealESRGAN_x4plus_anime_6B动漫、插画面向动漫图像,适合测试线条与色块
realesr-general-x4v3通用轻量模型方向较轻量,可用于批量对比

不要把某个模型写成“最佳放大模型”。效果会受图像类型、底模风格、压缩痕迹和放大比例影响。动漫图可以先测试 anime 模型,照片或真实场景可以先测试通用模型,再对比边缘、皮肤和细纹是否自然。

模型目录路径提醒

放大模型通常放在 upscale_models 目录,不是 upscale_modelUpscaleModelLoader 也能读取 extra_model_paths.yaml 配置的额外路径。模型列表没有更新时,先检查路径和文件,再刷新界面或重启。


潜空间放大 + 二次采样:LatentUpscale + KSampler

像素放大不重新理解 prompt,但如果想在放大后重新生成材质或细节,需要用潜空间放大加二次采样。这条路线把 latent 放大后重新送进采样器,denoise 决定保留原图还是重画。

LatentUpscale 参数语义

参数作用注意事项
upscale_method放大算法常见选项包括 nearest-exactbilinearbislerp
width / height目标尺寸一边设为 0 时可按另一边保持宽高比
crop裁剪方式常见选项为 disabledcenter

LatentUpscale 输出放大的 latent,后面还要接 KSampler。接近 1.0 的 denoise 会重新生成更多内容,细节可能增加,但构图、脸和服装也更容易漂移;接近 0.0 时更保留原图,新增细节有限。

denoise 没有所有模型通用的固定配方。只想补一点细节时,可以从较低值开始,固定 seed、sampler、steps、CFG、checkpoint 和 LoRA 权重,一次只调一个变量。若数值逐步提高后人物开始变脸或衣服纹理乱长,就回到上一个稳定值。

与像素放大的区别

路线改结构?增细节?适用场景
像素放大通常不主动改构图重建像素细节原图满意,只想提高尺寸
潜空间二次采样会,幅度取决于 denoise会重新生成细节接受一定变化,想重做材质或局部结构

潜空间二次采样不是简单放大。如果工作流已经用了 ControlNet、IPAdapter 或区域提示词,二次 pass 可能削弱上游约束。先保存原始输出和工作流,再单独测试二次采样分支。


FaceDetailer 面部修复:Impact Pack 的自动修脸

远景脸模糊是常见问题。FaceDetailer 是 Impact Pack 中把脸部检测和 Detailer 组合起来的节点,本质上会检测局部区域,再对裁剪区域执行 detail 或 inpaint。它能改善小脸细节,但不是身份一致性或换脸工具。

安装 Impact Pack

Impact Pack 是第三方 custom node,维护者建议通过 ComfyUI Manager 安装。打开 Manager 的 custom node 安装入口,搜索 ComfyUI-Impact-Pack,安装后重启 ComfyUI。

Impact Pack 更新频繁,节点结构和兼容要求会变化。当前 README 还说明,某些 Ultralytics Detector Provider 需要另外安装 Impact Subpack。旧工作流出现红色节点、缺少 detector 或参数不一致时,先按当前 Impact Pack README、Subpack 说明和 Manager 状态复核,不要照搬旧截图。

第一次修脸任务

假设文生图输出里远景脸有点糊。

第一步,从 Impact Pack 菜单添加 FaceDetailer

第二步,把工作流中的 imagemodelclipvae 和 detector 等必需输入接入 FaceDetailer。不同版本的输入可能变化,以当前节点和 README 为准。

第三步,先关注检测区域、guide_sizemax_sizenoise_maskinpaint_modelcycleguide_size 控制小区域 detail 时参考的目标尺寸,max_size 限制区域长边和显存占用。

第四步,从保守 denoise 开始。0.3–0.5 可以作为修脸的实践起点,但不是官方固定值;原脸越小、检测框越大,越要谨慎。

第五步,对比原图与修复图,确认脸部更清楚的同时,身份、表情、发型和背景没有被不必要地改写。

FaceDetailer 参数表

参数作用调整建议
guide_sizeDetailer 处理区域的参考尺寸从中等尺寸开始,太大会增加重画和显存压力
max_size限制处理区域的最大尺寸用来约束显存和过大的检测框
noise_mask是否对检测区域使用噪声蒙版通常作为开关理解,按当前节点版本复核
inpaint_model是否按 inpaint 模型路线处理使用专门 inpaint checkpoint 时再按工作流配置
cycleDetailer 循环次数先用 1 次,重复处理可能逐步偏离原脸

detector 决定检测哪些区域。如果 FaceDetailer 越修越怪,先检查 detector 是否圈中正确的脸,再缩小处理区域、降低 denoise 或 guide size。手部崩坏应使用手部 Detector/Detailer 或手动 inpaint,不能依赖 FaceDetailer 自动处理。

FaceDetailer 的边界

FaceDetailer 能改善脸部细节,但不承诺保留原始身份特征。如果目标是固定同一个真人身份,需要 FaceID、InstantID、ReActor 或 LoRA 等专门方案。涉及真人脸时,只使用授权或自有素材。


手动 Inpainting:只改局部,不破坏整体

如果只想改 logo 边缘、背景小瑕疵或某个手部细节,手动 inpainting 比自动检测更可控。蒙版告诉工作流重点修改哪里,但最终影响范围还取决于编码、conditioning、denoise 和合成方式。

Mask Editor 操作步骤

假设产品图背景有个小瑕疵要改。

第一步,把原图放进 Load Image,右键节点并选择 Open in MaskEditor

第二步,用画笔覆盖需要修改的区域。

第三步,用擦除工具修正画多的部分,并给边缘留下合理过渡空间。

第四步,点击 Save,让蒙版回到图片节点并传给后续 inpaint 路线。

两种常见 Inpainting 连线

原生工作流常见两种 conditioning 路线,不需要把它们机械地串成一条。

第一种使用 VAE Encode (for Inpainting):它接收 pixelsvaemaskgrow_mask_by,输出包含 noise mask 的 latent。把该 latent 接给 KSampler,再用 VAE Decode 输出图像。

第二种使用 InpaintModelConditioning:它接收 positive、negative、vae、pixels、mask,输出处理后的 positive、negative 和 latent,再分别接入 KSampler。这条路线适合需要专门 inpaint conditioning 的工作流。

KSampler 本身接收 model、positive、negative 和 latent 等采样输入;VAE 用在前后的编码与解码节点,不直接接入 KSampler。

grow_mask_by 的作用

grow_mask_by 会向外扩张蒙版,为 latent 边缘留出过渡空间。蒙版太紧容易形成硬边,太大又可能重画原本满意的区域。先从小幅扩张开始,观察接缝和背景变化,再逐步调整。

边缘接缝处理

如果蒙版边缘有接缝、亮度不一致或补丁感很重,可以适当增加 grow_mask_by、降低 denoise,并对蒙版做羽化。使用第三方 inpaint nodes 时,可以再测试 Expand Mask、Blur Masked 等预处理,但节点名和行为要以当前版本为准。


高级方案:Ultimate SD Upscale 与 comfyui-inpaint-nodes

像素放大和 latent 二次采样是基础路线,但超大图整张重采样容易占满显存,边缘接缝也可能需要更精细的蒙版预处理。下面两类 custom node 适合进阶控制,不是初学者的必选依赖。

Ultimate SD Upscale:分块放大

如果想把一张 1024×1536 的图放大到 4096×6144,整图二次采样很容易增加显存压力。Ultimate SD Upscale 会把大图分成 tile,对每块执行 img2img diffusion,再合成结果。

分块可以让单次处理尺寸更接近 diffusion model 的训练尺寸,并降低整图处理的硬件压力。代价是速度更慢,也可能出现 tile 接缝、局部纹理重复和各块风格不一致。

可以通过 ComfyUI Manager 搜索 ComfyUI_UltimateSDUpscale 安装。安装入口、节点菜单和参数可能随版本变化,按当前 README 与节点界面复核。

comfyui-inpaint-nodes:高级预处理

comfyui-inpaint-nodes 提供 Fooocus inpaint、LaMa、MAT 以及 mask expand、shrink、blur、fill 等工具。Fooocus inpaint 模型通常放在 ComfyUI/models/inpaint,但具体模型兼容性和 conditioning 路线以仓库当前 README 为准。

需求可测试的预处理
边缘接缝明显Expand Mask 加 Blur Masked
需要更精确的蒙版范围Shrink Mask 或 Expand Mask
蒙版区域缺少合理初始内容Fill Masked
移除物体或扩图LaMa、MAT 或对应 outpaint 工作流

denoise 不是万能参数。接近 1.0 会更彻底地重画蒙版区域,较低 denoise 会保留更多原内容,但具体行为还受所用模型和 conditioning 路线影响。若蒙版外发生变化,先核对连线和合成方式,再缩小 mask、降低 denoise 或调整过渡范围。


方案选型对照表:场景 × 路线

场景推荐路线原因替代方案
原图满意只想高清像素放大通常不改构图,只做像素层增强latent 二次采样(需要重做细节时)
想重新生成材质或细节潜空间二次采样denoise 控制保留与重画幅度Ultimate SD Upscale(超大图时)
远景脸模糊FaceDetailer自动检测脸部并局部 detail手动 inpaint(检测不准时)
手、物体或 logo 局部错误手动 inpaint 或对应 Detailer蒙版或 Detector 能限制处理区域返回生成阶段重做结构
高分辨率显存不够Ultimate SD Upscale分块 img2img 降低单块压力降低目标尺寸加像素放大
边缘接缝严重蒙版扩张与羽化给局部重绘留过渡区域缩小改动幅度并降低 denoise

四条路线的优缺点对比

路线优点缺点显存要求
像素放大快速、通常不改构图、模型选择多不能修正错误结构,可能产生假纹理低到中
潜空间二次采样可重做材质和细节,调整空间大denoise 需要微调,可能偏离原图中到高
FaceDetailer自动检测脸部,不用手动画脸部蒙版不保证身份一致性,可能过度修复中到高
手动 inpaint指定局部、控制范围清楚需要画蒙版,边缘和 conditioning 要调
Ultimate SD Upscale超大图可分块处理速度慢,可能出现 tile 接缝取决于 tile 与模型

不要一次叠加所有后处理节点。先用破坏性最小的路线解决当前问题,保存中间结果,再决定是否继续重采样或局部修复。


顺序推荐:放大、修脸、Inpaint 怎么排

后处理顺序会影响结果。普通角色图可以从“保守放大 → 修检测区域 → 手动改局部”开始,但这不是所有图都必须遵守的固定配方。

推荐顺序的原因

先保存原图和工作流。若只是尺寸不足,先做像素放大,因为它通常不会重新采样 prompt。

再检查脸、手和其他小区域。脸部问题可以用 FaceDetailer,手部或物体用对应 Detector/Detailer 或手动蒙版。放大后检测区域更大,通常更容易观察修复是否过度。

最后用手动 inpaint 处理 logo、边缘、背景瑕疵等指定区域,避免前面的全图步骤再次破坏局部修补。

二次 pass 的风险

如果工作流已经用了 ControlNet、IPAdapter 或区域提示词,潜空间二次采样和 Detailer 的局部采样可能削弱上游条件。姿势、线稿、发色、服装和参考身份都可能漂移。

必须做二次 pass 时,先固定 seed 和其余参数,保留原始条件,并从较低 denoise 开始。若上游结果比新增细节更重要,优先测试像素放大,再决定是否值得二次采样。

延伸阅读


常见失败:糊、变脸、接缝和蒙版外变化

现象常见原因处理
放大后变糊或过硬模型不适合图像类型,或连续放大过度换通用、照片或动漫方向模型做对照,减少连续处理
放大后脸不像二次采样 denoise 太高,或 Detailer 区域太大降低 denoise,缩小检测区域;身份问题回到专门方案
纹理乱长tiled upscale 或高 denoise 过度重画降低 denoise,减少 prompt 新信息,先用小图测试
蒙版边缘有接缝mask 太紧、缺少过渡或局部亮度变化调整 grow_mask_by,适当羽化,缩小修改幅度
蒙版外也变了mask/noise mask、conditioning 或合成路线不当核对连线,缩小 mask,降低 denoise
FaceDetailer 检测不到脸脸太小、角度特殊或 detector 不匹配先保守放大或更换 detector,不要用高 denoise 强修
放大模型不出现模型路径或扩展名不对,列表未刷新放到 upscale_models 或配置额外路径,刷新或重启
Ultimate SD Upscale 节点红custom node 未安装、版本或依赖不匹配用 Manager 核对安装和更新,复杂冲突单独排查
显存不足分辨率、tile、batch 或 Detailer 区域过大降低尺寸和 batch,限制 max_size,缩小 tile 或改用像素放大

下一步:该继续修,还是回到生成阶段

如果整体构图、人物身份、姿势和产品形状已经满意,只剩分辨率、小脸、小手或局部瑕疵,可以继续后处理。改动最好能用小检测框或小蒙版完成。

如果人物身份、姿势、服装、主体数量或产品结构本身都错了,继续叠加 denoise 和 inpaint 往往只会扩大不确定性。这时更适合回到生成阶段,修正 prompt、ControlNet、参考图或模型选择。

想长期稳定同一角色或产品,也不该靠反复 inpaint 硬修。后处理负责把一张已经基本正确的图收口,不负责替代身份资产、结构控制或训练流程。


结论

ComfyUI 的后处理提质可以拆成四条主线:像素放大、潜空间二次采样、FaceDetailer 面部修复和手动 inpainting。原图内容满意时先做像素放大;需要重新生成细节时再用 latent 二次采样,并从较低 denoise 开始;远景脸模糊时用 FaceDetailer,但不要把它当成身份一致性或换脸;指定局部错误则用手动蒙版和 inpaint conditioning 路线。

普通角色图可以按“保守放大 → 修检测区域 → 手动改局部”处理。若全图二次采样显存压力太大,Ultimate SD Upscale 能分块执行,但必须复查接缝和局部风格。每完成一步都对比原图并保存中间版本,比一次叠加所有后处理节点更容易找出变脸、假纹理和蒙版外变化的来源。

选择并执行 ComfyUI 后处理路线

先判断问题属于尺寸、细节、小区域缺陷还是指定局部修改,再用最小破坏性的路线逐步处理。

  1. 1

    步骤 1: 保留原始输出

    保存原图、工作流、seed、checkpoint、sampler、steps 和 CFG,后续一次只改一个变量。
  2. 2

    步骤 2: 判断是否只需要变大

    如果构图、身份和纹理已经满意,先用 UpscaleModelLoader 与 Upscale Image (Using Model) 做像素放大。
  3. 3

    步骤 3: 决定是否二次采样

    只有需要重新生成材质或细节时才使用 LatentUpscale 加 KSampler,并从较低 denoise 起步。
  4. 4

    步骤 4: 修复小脸或检测区域

    用 FaceDetailer 或其他 Detector 加 Detailer 处理小区域,限制 guide_size、max_size 和 denoise,避免重画整片背景。
  5. 5

    步骤 5: 为指定区域绘制蒙版

    在 Mask Editor 中只覆盖需要修改的位置,给边缘留适当过渡,再接 VAE Encode (for Inpainting) 或 InpaintModelConditioning 路线。
  6. 6

    步骤 6: 检查接缝和蒙版外变化

    若出现硬边、色温变化或补丁感,调整 grow_mask_by、羽化和 denoise,并核对 mask 与 noise mask。
  7. 7

    步骤 7: 处理超大图显存压力

    整图重采样放不下时,降低目标尺寸或使用 Ultimate SD Upscale 分块处理,并逐块复查接缝和纹理一致性。
  8. 8

    步骤 8: 比较并保留最小改动版本

    对比原图、像素放大、二次采样和局部修复结果,保留满足需求且结构偏移最少的版本。

常见问题

ComfyUI 里 Hires Fix 怎么做?
ComfyUI 通常把 Hires Fix 拆成低分辨率生成、放大 latent 或 image、再用 KSampler 低到中 denoise 二次采样。重点是控制二次采样幅度,不是寻找一个固定按钮。
Latent Upscale 和 Upscale Image (Using Model) 有什么区别?
Latent Upscale 放大的是 latent,后面需要继续采样,适合补细节或允许结构变化;Upscale Image (Using Model) 处理的是像素图,更适合内容已经满意、只想提高尺寸的情况。
ComfyUI 放大模型放在哪里?
官方教程和节点文档使用 ComfyUI/models/upscale_models;如果配置了 extra_model_paths.yaml,也能读取额外目录。模型放入后刷新界面或重启。
FaceDetailer 是换脸工具吗?
不是。FaceDetailer 检测脸部区域并对局部做 detail 或 inpaint,用来改善小脸细节;固定真人身份需要 FaceID、InstantID、ReActor 或 LoRA 等专门方案,并且只应使用授权素材。
Inpainting 为什么把蒙版外也改了?
常见原因包括 denoise 太高、mask 或 noise mask 连线不当、过渡区域过大,以及采样或合成影响整张 latent。先缩小 mask、降低 denoise,并核对 inpaint conditioning 路线。
FaceDetailer 修脸越修越怪怎么办?
先确认 detector 是否圈中正确区域,再缩小检测框或 guide_size,并降低 denoise。原脸像素太少时先做保守整体放大,不要靠高 denoise 强行重画。
Ultimate SD Upscale 适合什么时候用?
它适合目标尺寸很大、整图二次采样显存吃紧、普通像素放大细节不足的场景;代价是参数更多,也可能出现 tile 接缝和局部风格不一致。

17 分钟阅读 · 发布于: 2026年7月22日 · 修改于: 2026年7月21日

评论

使用 GitHub 账号登录后即可评论

Easton BlogEaston Blog