SAMPromptEncoder 类keras_hub.layers.SAMPromptEncoder(
hidden_size=256,
image_embedding_size=(64, 64),
input_image_size=(1024, 1024),
mask_in_channels=16,
activation="gelu",
**kwargs
)
Segment Anything Model (SAM) 的提示编码器。
提示编码器生成三种类型的提示的编码:- 点提示:图像上的点以及指示点是在前景(掩码的一部分)还是背景(不是掩码的一部分)的标签。- 框提示:一组格式为 [(x1, y1), (x2, y2)] 的边界框,用于确定图像中掩码的位置。- 掩码:可以输入掩码来细化输出掩码的位置编码。
首先,将点提示和框提示连接起来,并使用随机空间频率生成位置编码。点表示为点位置的位置编码与两个学习到的嵌入之一的总和,这两个嵌入指示点是在前景还是背景。框由一对嵌入表示:(1)其左上角的 the positional encoding 与表示“左上角”的 learned embedding 相加;(2)使用指示“右下角”的 learned embedding 的相同结构。框和点编码被称为“prompt_sparse encodings”。如果提供了掩码提示,则使用卷积神经网络将其下采样以生成“dense encodings”。如果不提供掩码提示,则使用嵌入层代替来生成“no mask”嵌入。
参数
256。(64, 64)。(1024, 1024)。16。"gelu"。