1、简介

这期将详细讲解如何在ComfyUI中进行面部修复和图像放大,接下来我会分享给大家一个工作流,这个工作流一共可以分为两个部分
第一个是面部修复的过程
第二个是通过像素清晰度提升的流程

2、准备

整个流程需要安装安装三个节点插件,分别是ComfyUI-Impact-Pack、ComfyUI-Impact-Subpack和ComfyUI_UltimateSDUpscale插件,插件的安装方式直接在网站上通过插件名搜索就行了。

模型准备:

Checkpoints模型niji-动漫二次元加强版_2.0.safetensors · sjidnd/LIb_damoxing at main
ESRGAN_4x.pthhttps://huggingface.co/ffxvs/upscaler/resolve/f8edf6d7f286acdd70178a6ff0c736fc592e818e/ESRGAN_4x.pth
sam_vit_b_01ec64.pthhttps://huggingface.co/datasets/Gourieff/ReActor/tree/main/models/sams
face_yolov8m.pthttps://huggingface.co/Bingsu/adetailer/resolve/main/face_yolov8m.pt

提示词:

正向提示词:

(best quality, masterpiece),1 girl,beautiful girl

负向提示词:

EasyNegative,naked,nsfw,text,paintings, sketches, (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)), skin spots, acnes, skin blemishes, age spot, (outdoor:1.6), manboobs, backlight bad_prompt_version2 bad-hands-5, EasyNegative,worst quality,low quality,, (worst quality, low quality:1.4), (fuze:1.4), (worst quality:1.1), (low quality:1.4:1.1), lowres, bad anatomy, bad hands, text,(deformed:1.3),(malformed hands:1.4),(poorly drawn hands:1.4),(mutated fingers:1.4),(bad anatomy:1.3),(extra limbs:1.35),(poorly drawn face:1.4),(signature:1.2),(artist name:1.2),(watermark:1.2), bad-artist, embedding:bad-hands-5, 

素材图:

原图:

污染图:

3、脸部细化修复

脸部细化修复采用的是ComfyUI-Impact-Pack 插件的FaceDetailer,通过FaceDetail对图像中人脸的细节进行增强,利用Ultralytics YOLO检测SAM分割模型来检测和优化面部区域,确保图像中的人脸能够以高精度和清晰度渲染。

这里先搭建一个文生图的工作流,先准备一个基础的工作流流程,然后将FaceDetailer替换进来,而FaceDetailer结合了检测、分割和图像生成技术来自动改善图像中的面部质量,所以把文生图的K采样器就可以去掉了

还是给大家看一下生成图像的效果吧

可以看出嘴角被我涂抹的黑色没有了,并且显示出来了嘴角,效果还不错。

FaceDetailer这里需要注意的是:

guide_size:我调整为256,这个是用于面部增强的参考线尺寸

guide_size_for:保持默认值吧,还是设置bbox保持用Ultralytics YOLO模型检测脸部

max_size:最大尺寸设置成768

其他的可以保持默认也可以进行调整,调整指南可以去看我网站上的节点详情

4、图像放大

4.1 通过像素放大的方式对图像进行放大

通过PixelKSampleUpscalerProvider(专用图像放大器Iterative Upscale (Latent/on Pixel Space)分步迭代的方式逐步放大潜在空间图像。

工作原理是:首先将潜在表示转换为像素空间,执行放大操作,然后将像素转换回潜在空间。此过程可以精确控制图像分辨率和细节增强。分步迭代的每个步骤中都进行采样以提高质量。

下面的工作流图片是在脸部修复的工作流的基础上加入像素放大的工作流

看看结果:

这里是对图片进行对比,包含图片分别是:原图(未污染)、原图(污染)、脸部修复图、像素放大图、像素放大+脸部修复图

最终图像:

注意:这里需要注意的是PixelKSampleUpscalerProvider的去噪强度参数denoise,默认的是1.0,denoise过大会导致去噪过度和原图有区别,越小和原图保持的越相同

4.2 通过tile分块的方式放大图像

通过切分图像为多个 tile,逐个 tile 进行重绘处理,再智能拼接,这里用到了ComfyUI_UltimateSDUpscale插件的Ultimate SD Upscale节点

这样的好处可以节省显存,对于大图片的处理在现存不足的情况下非常合适

在上边脸部图像修复的工作流的基础上,加入tile分块放大的工作流

这里的到的最终图片:

5、整个过程中的中间图

在整个过程中其实包含了3个工作流,分别是图像脸部修复、像素方式图像放大和分块方式图像放大,下面我们来对图像进行比较,看看图像的效果

因为我们用一张污染图作为原图进行脸部修复,第一次修复的时候可能会存在修复缺陷,当放大后再次修复,这个脸部大概率就会修复好