面部细化(FaceDetailer)节点

admin2024-11-222839

“面部细化”节点用于修复生图时人像不自然不清晰的情况。

插件

地址:https://github.com/ltdrdata/ComfyUI-Impact-Pack

路径:新建节点-Impact节点-简易-面部细化

白色框选部分是ksampler采样器的功能,其他部分是识别遮罩的设置,大部分时候都不需要修改保持默认即可。

检测说明(非必要可跳过)

Impact Pack 的探测器包括三种主要类型:BBOX、 SAM和SEGM
BBOX:代表 Bounding Box,它将检测区域捕获为矩形区域。使用 bbox/face_yolov8m.pt 模型,您可以获得面部矩形区域的掩模。
SAM:使用 Segment Anything 技术生成轮廓蒙版。它不能单独使用,但是当与 BBOX 模型结合使用来指定检测目标时,它可以为检测到的对象创建精细的轮廓掩模。
SEGM:代表分割,它以轮廓的形式捕获检测区域,当使用 segm/person_yolov8n-seg.pt 模型时,您可以获得人体形状的轮廓蒙版。

检测加载器一共有三个模型

bbox/face_yolov8m.pt BBox检测用于识别面部建议用这个

bbox/face_yolov8m.pt BBox检测用于识别手部,但是效果不佳修复之后依然是鸡爪。

segm/person_yolov8m-seg.pt Segm用于检测全身的模型不建议

模型存放路径: \ComfyUI\models\ultralytics

这里着重介绍一下SAM模型,如果之前用过Segment Anything/inpaint anything的朋友应该很熟悉,SAM加载器一共有三个模型

sam_vit_h_4b8939.pth 2.38G
sam_vit_l_0b3195.pth 1.16G
sam_vit_b_01ec64.pth 357M

存放路径:\ComfyUI\models\sams (模型在文末网盘)
模型越大检测效果越好(并不绝对),相应的对显存要求也会更高,大家按照自己显存大小选择即可,下面是我分别测试的结果

路径:新建节点-Impact节点-检测

下面我们简单搭建一个工作流来看看各个检测器的区别

可以从图中看出来区别了, BBox检测出来的是矩形、SAM结合BBOX可以更加细化把脸部检测出来,Segm检测出来全身、因此在实际实用中我们通常都是用SAM结合BBOX来做面部检测。

如果只是简单的用来修复面部用下面这个工作流就行,因为面部细化这个节点已经自带采样器以及vae编码的功能了,这两个节点就可以省去了

也可以直接接入到基础文生图工作流中

可以看一下,效果还是挺明显的,损坏的面部已经被修复了。

网友评论