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 模型 (SAM) 的 Prompt 编码器。
Prompt 编码器为三种类型的 prompt 生成编码:- 点 prompt:图像上的点,以及指示点是在前景(mask 的一部分)还是背景(不是 mask 的一部分)的标签。- 框 prompt:格式为 [(x1, y1), (x2, y2)] 的一批边界框,用于确定图像中 mask 的位置。- Mask:可以传递输入 mask 以优化输出 mask 的位置嵌入。
首先,点 prompt 和框 prompt 被连接起来,并使用随机空间频率生成位置编码。一个点表示为点位置的位置编码与两个学习到的嵌入之一的总和,这两个嵌入指示该点是在前景还是背景中。一个框由一个嵌入对表示:(1)其左上角的位置编码与表示“左上角”的学习到的嵌入相加,以及(2)相同的结构,但使用表示“右下角”的学习到的嵌入。框和点编码被称为“prompt_sparse 编码”。如果传递了 mask prompt,则使用卷积神经网络对其进行降采样以生成“dense 编码”。如果未传递 mask prompt,则改为使用嵌入层来生成“no mask”嵌入。
参数
256
。(64, 64)
。(1024, 1024)
。16
。"gelu"
。