SAM模型

SAM模型的Task、model、data 

Task:向模型输入图片以及分割提示,可以是点、框、文本,模型生成相应的分割掩膜。

图像编码器计算图像嵌入;提示编码器嵌入提示;mask decoder整合两者信息,输入最终的mask。

SAM模型的官方demo,可以更快理解交互式分割

Segment Anything | Meta AI (segment-anything.com)

提高模型的在新数据分布上面泛化能力,需要一个庞大的数据集训练模型。

我们的数据引擎有三个阶段:辅助手动,半自动和全自动。

在第一阶段,SAM协助注释者注释Mask,类似于经典的交互式分割设置。在第二阶段,SAM可以通过提示可能的对象位置来自动生成对象子集的Mask,注释器专注于注释剩余的对象,帮助增加掩码多样性。在最后阶段,我们用规则的前景点网格提示SAM,平均每幅图像产生约100个高质量的Mask。

Segment Anything Model 总体

图像编码器

我们使用MAE预训练的Vision Transformer(ViT)最低限度地适应于处理高分辨率输入

Prompt encoder

点和框采用位置编码,文本提示 CLIP,掩膜提示采用卷积嵌入,然后和图像嵌入逐元素求和。

mask decoder

映射图像嵌入、提示嵌入、output token to a mask.

基于这种需求:该设计采用了Transformer解码器块的修改,随后是动态掩码预测头。我们的改进解码器模块在两个方向上(提示到图像嵌入和相反)使用提示自注意和交叉注意来更新所有嵌入。在运行两个块之后,我们对图像嵌入进行上采样,并且MLP将输出token映射到动态线性分类器,然后动态线性分类器计算每个图像位置处的掩码前景概率。

提示的起义

对于有些提示存在歧义,模型输出3个mask,针对最小的损失函数,进行反向传播。

损失函数

mask预测的损失函数为 focal loss和 dice loss。

细节

image encoder

使用MAE预训练ViT,使其最低限度适应高分辨率图片;使用的是该ViT: ViT-H/16具有14×14窗口注意力和四个等间距的全局注意力块。经过Image encoder 是16倍的下采样,对输入图片进行预处理,重新缩放图像并填充短边获得的1024×1024的输入分辨率,下采样16倍率,就是64x64,然后1*1卷积和3*3卷积降低其通道数量,最终 256*64*64。

Prompt encoder

点 提示编码

一个点的位置信息通过位置编码与两个学习到的嵌入向量相结合,这些嵌入向量用于表示点是位于前景还是背景。

框 提示 编码

框的表示是通过两个嵌入对来构建的,每个嵌入对都包含了框的两个角的位置信息以及表示这两个角的方向的嵌入向量

Lightweight mask decoder

两层解码器通过交叉注意更新图像嵌入和提示token。

(1) self-attention on the tokens, (2) cross-attention from tokens (as queries) to the image em-
bedding, (3) a point-wise MLP updates each token, and (4) cross-attention from the image embedding (as queries) to tokens.

在交叉注意期间,图像嵌入被视为64^2  个256维向量的集合。每个自我/交叉注意力和MLP在训练时都有一个残差连接,层归一化和0.1的dropout 。下一个解码器层从前一层获取更新的token和更新的图像嵌入。我们使用两层解码器。

运行解码器后,我们使用两个转置卷积层对更新后的图像嵌入进行4倍上采样(现在它相对于输入图像缩小了4倍)。然后,token再次参与图像嵌入,我们将更新的输出token嵌入传递给一个小的3层MLP,该MLP输出与放大图像嵌入的通道维度匹配的向量。最后,我们预测一个Mask与空间逐点运算之间的放大图像嵌入和MLP的输出。

代码分割结果

分割所有:

  • 48
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值