SAMLoader (Pipe) 节点:ComfyUI-Easy-Use 的 SAM 模型加载器(samLoaderForDetailerFix)
SAMLoader (Pipe) 将 SAM(Segment Anything Model)checkpoint 与 Detailer Fix 工作流使用的检测提示和遮罩处理选项整合在一起。
sam Loader For Detailer Fix
SAMLoader (Pipe) 将 SAM(Segment Anything Model)checkpoint 与 Detailer Fix 工作流使用的检测提示和遮罩处理选项整合在一起。它是普通 SAM 加载器的管道版本:不直接输出原始 SAM 模型,而是生成一个 PIPE_LINE,同时携带模型和分割设置,从而让下游的 EasyUse Detailer Fix 节点能够应用一致的基于 SAM 的精细化处理。
输入
model_name
选择要加载的 SAM checkpoint。下拉列表会列出 ComfyUI 模型目录中可用的 SAM checkpoint。
device_mode
选择用于 SAM 推理的设备。AUTO 让 ComfyUI 自动选择设备,Prefer GPU 在 GPU 可用时使用 GPU,否则回退到 CPU,CPU 则强制 CPU 执行。在低显存系统上使用 CPU 可减少内存压力。
sam_detection_hint
控制 SAM 运行之前根据现有遮罩或检测结果生成哪种提示。选项:
center-1:使用中心处的单个点。horizontal-2:沿水平线使用两个点。vertical-2:沿竖直线使用两个点。rect-4:使用四个矩形角点。diamond-4:使用四个菱形角点。mask-area:将遮罩区域本身用作提示。mask-points:使用从遮罩中采样的点。mask-point-bbox:使用从遮罩中采样的点外加一个边界框。none:禁用点和遮罩提示;SAM 仅依赖边界框提示。
sam_dilation
对用于 SAM 检测的遮罩执行的膨胀操作,单位为像素。正值会展开遮罩,负值会腐蚀或收缩遮罩。使用正膨胀值可添加周围上下文,使用负膨胀值可收紧松散的遮罩边缘。
sam_threshold
从 0 到 1(默认 0.93)的阈值,用于将 SAM 预测遮罩转换为二值遮罩。较高的值只保留最强的 SAM 预测,较低的值会接受更多区域。
sam_bbox_expansion
在将检测到的边界框传递给 SAM 之前,将其展开的像素数。较大的值可为 SAM 提供更多周围上下文,0 则保持检测到的边界框不变。
sam_mask_hint_threshold
当遮罩提示处于激活状态时使用的阈值,范围为 0 到 1(默认 0.7)。高于此值的像素会被视为遮罩提示的前景。较低的值会包含更多已生成的提示遮罩。
sam_mask_hint_use_negative
控制是否以及如何向 SAM 提供负面遮罩或点提示:
False:不提供负面提示。Small:在目标周围提供小范围的负面提示区域。Outter:在目标外部的外围区域提供负面提示。
Outter 拼写保留自节点的选项列表。
输出
PIPE_LINE
一个 pipeline,包含已加载的 SAM 模型以及已配置的检测提示、膨胀、阈值、边界框展开、遮罩提示阈值和负面提示设置。将此管道传入接受 PIPE_LINE 输入的 Detailer Fix 节点。这不是原始的 SAM_MODEL 输出,因此不能直接连接到期望普通 SAM 模型的节点。
使用说明
- 默认设置针对典型的 Detailer Fix 精细化调优:
AUTO设备、center-1提示、无膨胀、0.93阈值、无边界框展开、0.7遮罩提示阈值以及无负面提示。 - 如果 SAM 遮罩遗漏了细薄或微小的结构,请降低
sam_threshold或添加较小的正sam_dilation值。 - 如果遮罩渗入背景,请提高
sam_threshold、应用负sam_dilation值,或将sam_mask_hint_use_negative设为Small或Outter。 - 当检测到的边界框裁切到主体时,
sam_bbox_expansion非常有用:将其展开可让 SAM 在细化遮罩之前看到更多物体边界。
评论
使用 GitHub 登录后即可参与讨论。