SAMLoader (Pipe)

节点功能:该节点作为细节修复流程中的分割组件,与 SAM (Segment Anything Model) 相关,用于图像分割任务。

输出参数

参数名称说明
sam_pipe包含已加载 SAM 模型及其分割参数的管线结构,供后续 DetailerFix 使用。

控件参数

参数名称说明
model_name选择用于分割的 SAM 模型名称,模型需位于 sams 文件夹中。
device_mode指定模型推理设备模式。可选值:AUTO、Prefer GPU、CPU。
sam_detection_hintSAM 模型的检测提示方式,用于引导 mask 推理。 center-1:中心点引导单目标; - horizontal-2:水平双目标; - vertical-2:垂直双目标; - rect-4:矩形四点; - diamond-4:菱形四点; - mask-area:根据已有掩码面积计算; - mask-points:从掩码中采样正负点; - mask-point-bbox:mask 周边框引导; - none:无提示,直接使用原始 mask。推荐根据具体任务选择。
sam_dilation对 SAM 生成的掩码进行扩张或腐蚀操作(负值为腐蚀)。控制分割区域边界,默认 0。大于 0 可扩大掩码,负值用于收缩边缘。
sam_thresholdSAM mask 的置信度阈值,取值范围为 0~1。默认 0.93,表示仅保留高置信度区域。适当降低可提升召回率,但风险是引入伪掩码。
sam_bbox_expansion在 bbox 基础上进行额外扩张像素,增强覆盖范围。
sam_mask_hint_threshold引导提示点的置信度阈值,控制 hint mask 生成。
sam_mask_hint_use_negative是否使用负提示点辅助 mask 引导。 False:不使用负提示。 Small:使用 mask 中的小区域作为负样本。 Outter:使用外围区域作为负样本。推荐 Small 提升精度。

该节点使用以下3个模型,其他模型会报错。


b、h、l 这三种分割模型按体积依次增大,同时其检测精度也相应提升。模型越大,通常能够提供更高的分割质量和细节还原能力。


选项行为应用场景
center-1中心点分割一个区域头像/物体中心特写
horizontal-2水平两个区域对称布局,如双眼、双肩
vertical-2垂直两个区域上下结构,如头部+躯干
rect-4四个矩形区域全局结构引导
diamond-4对角线结构引导分割复杂分布下的粗引导
mask-area使用已有掩膜作为参考区域用于复用外部掩膜
mask-points使用 mask 上的多个点进行点引导细粒度 mask 提取
mask-point-bboxmask 点结合 bbox 方式多策略融合分割
none不启用任何 hint,使用默认处理基础分割流程


sam_threshold:用于控制掩膜的置信度阈值,值越高,生成的掩膜越精准。


参数作用配合逻辑
sam_mask_hint_threshold控制从原始掩膜中提取提示点的置信度下限。值越高,所提取的提示点越靠近掩膜中心用于筛选“哪些点是高可信的正向提示点”以及“掩膜边界附近哪些点可作为负向点”
sam_mask_hint_use_negative控制是否启用负向提示点(在掩膜外围添加“非目标区域”的点)若启用,会根据 sam_mask_hint_threshold 过滤掉可信度不够的区域并围绕其外围自动采样 negative points

假设你有一个遮住眼睛的掩膜图:

设置 1:

sam_mask_hint_threshold = 0.7
sam_mask_hint_use_negative = "Small"
表示从掩膜内部选择置信度 ≥0.7 的区域生成正向提示点,在掩膜边缘外圈生成一小圈负向点,引导 SAM 更精准地区分眼睛与脸部。

设置 2:

sam_mask_hint_threshold = 0.9
sam_mask_hint_use_negative = "Outter"
更严格筛选正向点,并使用更大范围的负向引导,适合背景复杂、人脸遮挡等高干扰情境。
修复目标建议设置
眼睛、嘴巴等小区域threshold = 0.7 ~ 0.8, use_negative = Small
人脸遮挡、前后景接壤threshold = 0.85 ~ 0.95, use_negative = Outter
图像结构清晰,无干扰threshold = 0.6 ~ 0.8, use_negative = False