Personalize Segment Anything Model with One Shot(PerSAM)

Personalize Segment Anything Model with One Shot
SAM代码:https://github.com/ZrrSkywalker/Personalize-SAM
SAM论文:https://arxiv.org/pdf/2305.03048.pdf

1 概述

PerSAM作为一种无需训练的Segment Anything Model的个性化方法,仅使用一次性数据,即用户提供的图像和粗略的掩码来高效地定制SAM。具体而言,PerSAM首先利用SAM的图像编码器和给定的掩码来编码参考图像中目标对象的嵌入。然后,PerSAM计算目标对象与新测试图像上所有像素之间的特征相似性。在此基础上,PerSAM选择两个点作为正负对,将其编码为提示标记,并作为SAM的位置先验。在处理测试图像的SAM解码器中,我们引入三种技术,以充分发挥其个性化潜力,而无需参数调整。

  • Target-guided Attention。我们通过计算的特征相似性来引导每个token在SAM的解码器中映射 cross-attention层。这迫使prompt tokens主要集中在前景目标区域,以进行有效的特征交互。
  • Target-semantic Prompting。为了更好地为SAM提供高级目标语义,我们将原始的低级提示token与目标对象的embedding 相融合,这为解码器提供了更充分的视觉线索来进行个性化分割。
  • Cascaded Post-refinement。为了获得更精细的分割结果,我们采用了两步后细化策略。我们利用SAM逐步完善其生成的掩码。这个过程只需要额外花费100毫秒。
    在这里插入图片描述

2 PerSAM

在这里插入图片描述

2-1 Training-free PerSAM

无需训练的PerSAM的整体流程如下:

  • 首先,在用户提供的图像IR和掩码MR的条件下,PerSAM利用SAM获取新测试图像I上目标对象的位置先验。具体来说,我们使用SAM的预训练图像编码器提取I和IR的视觉特征,得到 F I = E n c I ( I ) F_{I} = Enc_{I}(I) FI=EncI(I) F R = E n c I ( I R ) F_{R} = Enc_{I}(I_{R}) FR=EncI(IR),其中 F I F_{I} FI F R F_{R} FR 都是 R h × w × c R^{h×w×c} Rh×w×c的张量。
  • 然后,我们利用参考掩码 M R M_{R} MR F R F_{R} FR中提取目标视觉概念内像素的特征,并通过平均池化得到全局视觉嵌入 T R T_{R} TR,即 T R = P o o l i n g ( M R ◦ F R ) T_{R} = Pooling(M_{R} ◦ F_{R}) TR=Pooling(MRFR),其中 ◦ ◦ 表示逐元素相乘。
  • 利用目标嵌入 T R T_{R} TR,我们计算 T R T_{R} TR和测试图像特征 F I F_{I} FI之间的余弦相似度 S S S,得到位置置信度图 S = F I T R T S = F_{I}T^{T}_{R} S=FITRT
  • 接下来,为了为SAM提供测试图像上的位置先验,我们从 S S S中选择具有最高和最低相似度值的两个像素坐标,分别表示为 P h P_{h} Ph P l P_{l} Pl P h P_{h} Ph代表目标对象最可能的前景位置,而 P l P_{l} Pl则表示背景位置。然后,我们将 P h P_{h} Ph P l P_{l} Pl作为正负点对输入到提示编码器中,得到 T P = E n c P ( P h , P l ) T_{P} = Enc_{P} (P_{h}, P_{l}) TP=EncP(Ph,Pl),其中 T P T_{P} TP R 2 × c R^{2×c} R2×c的张量,用作SAM解码器的提示令牌。通过这种方式,SAM倾向于在测试图像上分割与正点周围相连的区域,同时忽略负点。
  • 目标引导的注意力机制(Target-guided Attention),通过计算得到的相似度图S,我们可以清楚地指示测试图像上目标视觉概念内的像素。我们利用S来调节每个令牌到图像的交叉注意力层中的注意力图,使得注意力集中在前景目标区域内。
  • 目标语义提示(Target-semantic Prompting),为了融入更个性化的线索,我们还将目标概念的视觉嵌入 T R T_{R} TR作为高级语义提示,与输入令牌逐元素相加后输入到每个解码器块中,进一步增强分割精度。

在这里插入图片描述
其中 Positive-negative Location Prior,Target-guided Attention 和 Target-semantic Prompting 如下:
在这里插入图片描述

通过以上技术,我们从SAM的解码器中获得了测试图像上的初始分割掩码,然而,该掩码可能包含背景中一些粗糙的边缘和孤立的噪声。为了进一步改进,我们采用了级联后处理的方法进行两步处理。在第一步中,我们使用初始掩码和之前的正负位置先验来提示SAM的解码器。然后,在第二步中,我们根据第一步的掩码计算出一个边界框,并将该边界框作为额外的提示信息输入解码器,以获得更准确的目标定位。由于我们只需要进行迭代改进而不需要大规模的图像编码器,因此后处理非常高效,仅需要额外的100毫秒。

2-2 Fine-tuning of PerSAM-F

为了实现适应性分割并生成适当比例的掩码,我们引入了一种微调变体PerSAM-F。与无需训练的模型只生成一个掩码不同,PerSAM-F首先参考SAM的解决方案,输出三个比例的掩码,分别表示为M1、M2和M3。此外,我们采用两个可学习的掩码权重w1和w2,并通过加权求和计算最终的掩码输出,即M = w1 · M1 + w2 · M2 + (1 - w1 - w2) · M3;其中w1和w2的初始值都设为1/3。为了学习最优权重,我们在参考图像上进行一次微调,并将给定的掩码视为真值。需要注意的是,我们冻结整个SAM模型以保留其预训练知识,只微调w1和w2这两个参数,时间限制在10秒内。为避免在一次性数据上过拟合,我们没有采用任何可学习的提示或适配器模块。通过这种方式,我们的PerSAM-F可以高效地学习适用于不同视觉概念的最佳掩码比例,并展现出比无需训练的PerSAM更强的分割性能。
在这里插入图片描述

3 Experimental

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/shanglianlm/article/details/131760464
今日推荐