发表时间:2023.5.4
项目地址: https://github.com/ZrrSkywalker/Personalize-SAM
体验地址: https://huggingface.co/spaces/justin-zk/Personalize-SAM
论文地址: https://arxiv.org/pdf/2305.03048.pdf
在大数据预训练的驱动下,Segment Anything Model(SAM)已经被证明是一个强大和可提示的框架,彻底改变了分割模型。尽管具有普遍性,但在没有人工提示的情况下为特定的视觉概念定制SAM还没有被探索过,例如,自动将你的宠物狗分割成不同的图像。在本文中,我们提出了一种无训练的SAM个性化方法,称为PerSAM。只给定一个带有参考掩模的图像,PerSAM首先通过位置先验定位目标概念,并通过三种技术【目标引导注意( target-guided attention)、目标语义提示( target-semantic prompting) 和级联后细化(cascaded post-refinement)】将其分割到其他图像或视频中。
通过这种方式,我们有效地使SAM适应私域场景。为了进一步缓解掩模的模糊性,我们提出了一种有效的one-shot性微调变体,PerSAM-F。为了冻结整个SAM,我们为多尺度掩模引入了两个可学习的权值,在10秒内只训练2个参数以提高性能。为了证明我们的有效性,我们构建了一个新的分割数据集,PerSeg,用于个性化评估,并测试了我们的方法在视频对象分割具有竞争力的性能。此外,我们的方法还可以增强DreamBooth,个性化稳定扩散,实现文本到图像的生成,消除背景干扰,更好地进行目标外观学习。
基本解读
本质为SAM模型的二开利用,基于SAM强大的zero-shot适应能力,提出了one-shot应用。基于用于指定的image和mask生成特征,然后基于特征自动生成输入提示对后续的test image进行分割。期间包含了对one-shot SAM使用的迁移。
SAM的使用不足
1、SAM需要有精准定位(对于某些目标是耗时耗力)才能分割出指定目标。
2、使用SAM的text提示查找目标存在查找不精准的情况。
技术点
Target-guided Attention[基于与one-shot目标特征的余弦相似度图调节attention amp,涨点1.9%
]、
Target-semantic Prompting[基于与one-shot目标特征与提示输入相结合,涨点3.5%
]、
Cascaded Post-refinement[基于结果二次输入模型预测,涨点11.44%
]、
PerSAM-F[基于one-shot mask对尺度选择参数进行微调,涨点6.01%
]
PerSAM与PerSAM-F
1、PerSAM-F本质上与PerSAM差不多,只是PerSAM在barn、robot toy两个类别上掉点过于严重,从而导致显著的性能差异
2、SAM其实已经通过质量分来推荐不同尺度的目标了,具体可以查阅SAM论文解读
3、PerSAM-F其实是通过对选择目标尺度进行微调,修正SAM在zero-shot时潜在的不足(无法准确的区分出零件、部件与整体间的从属关系)
1. Introduction
视觉[11,30,51,63]、语言[4,10,43,50]和多模态[21,31,41]的基础模型已经获得了前所未有的流行,这归因于训练前数据和计算资源的大量可用性。它们在zeros-shot场景中表现出非凡的泛化能力,并可结合人类反馈,实现多种交互功能。受大型语言模型成就的启发,Segment Anything Model(SAM)[27]开发了一个精细的数据引擎,用于收集1100万像素的图像掩模数据,随后训练了一个强大的分割基础模型,称为SAM。它首先定义了一种新的可提示的分割范式,即以一个手工制作的提示符作为输入,并返回预期的掩码。SAM的可接受提示已经足够通用了,包括点、框、掩码和自由形式的文本,它允许在视觉上下文中分割任何东西。
然而,SAM在本质上失去了分割特定视觉概念的能力。想象一下,你打算在一个相册中裁剪你可爱的宠物狗,或者从你卧室的照片中找到丢失的时钟。使用SAM模型将是存在巨量的劳动密集和时间消耗。对于每张图像,您都需要在不同的姿态或上下文中定位目标对象,然后激活具有精确提示进行分割的SAM。因此,我们会问:我们能否个性化SAM,以一种简单而有效的方式自动分割独特的视觉概念?
1、SAM需要有精准定位(对于某些目标是耗时耗力)才能分割出指定目标。 2、使用SAM的text提示查找目标存在查找不精准的情况。为此,我们提出了PerSAM,一种无需训练的Segment Anything Model个性化方法。如图1所示,我们的方法仅使用one-shot数据就有效地定制了SAM,即用户提供的图像和指定个人概念的粗略掩模。具体来说,我们首先利用SAM的图像编码器和给定的掩码对在参考图像中的嵌入目标对象进行编码。然后,我们计算对象与新测试图像上所有像素之间的特征相似度。在此之外,选择两点作为正负对,它们被编码为提示标记,并作为SAM的优先位置。
-
Target-guided Attention. 我们通过计算出的特征相似度来指导SAM解码器中的每个 token-to-image cross-attention layer。这迫使prompt tokens主要集中在前景目标区域,以实现有效的特征交互。
-
Target-semantic Prompting. 使用高级目标语义输入到SAM,我们将原始的低级提示标记与目标对象的嵌入相结合,为解码器提供了更充分的视觉线索。
-
Cascaded Post-refinement. 对于更精细的分割结果,我们采用了两步后细化策略。我们利用SAM来逐步细化其生成的掩码。这个过程只需要额外花费100个ms。
在上述设计中,PerSAM在各种姿态或上下文下对独特的主题发挥了良好的个性化分割性能,如图2所示。然而,偶尔也会出现失败的案例,其中主要涉及部分与整体的从属关系问题,存在较大的模糊性
,例如,泰迪熊顶部的帽子,机器人玩具的头部,或罐子的顶部。这种模糊性给PerSAM在确定适当的掩模尺度时带来了挑战,因为局部部分和全局形状都可以被视为有效的掩模。
为了缓解这一问题,我们进一步引入了 微调变体:PerSAM-F。我们冻结整个SAM以保留其预先训练过的知识,并且在10秒内只对2个参数进行微调。详细地说,我们使SAM能够用不同的掩模尺度产生多个分割结果。对于不同尺度的目标要自适应地选择,我们对每个尺度采用可学习的相对权重,并进行加权总和作为最终的掩模输出。通过这种高效的one-shot性训练,PerSAM-F显示出更好的分割精度,如图2(右)所示。与使用 prompt tuning[29]或 adapters[19],模糊问题可以通过有效地权衡多尺度掩模来有效抑制。
此外,我们观察到,我们的方法也可以帮助DreamBooth[45]更好地微调稳定扩散[44],以实现个性化的文本到图像的生成,如图3所示。给定一些包含特定视觉概念的图像,例如,你的宠物猫,DreamBooth和其他工作,[28]将这些图像转换为单词嵌入空间中的标识符[V],然后用来表示句子中的目标对象。然而,该标识符同时包括给定图像中的背景的视觉信息,例如,楼梯。这不仅会覆盖生成的图像中的新背景,而且还会干扰目标对象的表示学习。因此,我们建议利用我们的PerSAM来有效地分割目标对象,并且只在few-shot图像中监督前景区域的稳定扩散,从而实现更多样化和更高保真度的合成。
PerSAM可以保护图像中的主体目标,让DreamBooth等模型可以更好的对背景和前景进行扩散生成
我们对本论文的贡献进行了总结如下:
• Personalized Segmentation Task. 从一个新的角度出发,我们研究了如何以最小的费用将分割基础模型定制为个性化的场景,即从一般目的到私人目的。
• Efficient Adaption of SAM. one-shot,我们研究了仅通过微调2个参数来调整SAM的下游应用程序,并提出了两个轻量级的解决方案: PerSAM和PerSAM-F。
• Personalization Evaluation. 我们标注了一个新的分割数据集,PerSeg,包含在不同的上下文中的不同类别。我们也测试了我们的方法在视频对象分割的竞争结果。
• Better Personalization of Stable Diffusion. 通过对few-shot图像中的目标对象进行分割,减轻了对背景的干扰,提高了DreamBooth的个性化生成能力。
2. Related Work
Segmentation in Vision. 作为计算机视觉中的一项基本任务,分割[23,24,34,36,55,60]需要对给定图像的像素级理解。研究人员探索了多个与分割相关的任务,如语义分割,将每个像素分类为预定义的类[1,5,7,47,54,61]集;实例分割,专注于对单个对象实例[18,49,52]的识别;全景分割,通过分配类标签和实例识别[26,32],结合语义和实例分割任务;交互分割,通过分割过程中的人工干预来细化[6,16]。最近,Segment Anything Model(SAM)[27]设计了一个快速的分割任务,并在许多图像分布上实现了很强的zeros-shot泛化。并发的SegGPT [53]和SEEM [63]也提供了各种分割场景的通用框架。在本研究中,我们引入了一种新的任务,称为个性化分割,旨在在任何看不见的姿态或场景中分割用户提供的对象。我们提出了两种方法,PerSAM和PerSAM-F,以有效地定制SAM进行个性化分割。
Foundation Models. 预训练的基础模型具有强大的泛化能力,可以适用于各种下游任务,具有良好的性能。在自然语言处理领域,BERT [10,38]、GPT系列[4,39,42,43]和LLaMA [58]都表现出了显著的上下文学习能力。这些模型可以在不需要训练的情况下转移到新的语言任务中,在推理过程中只需要一些特定于任务的提示。类似地,CLIP [41]和ALIGN [21],在使用对比损失的网络尺度图像-文本对上进行训练,在zeros-shot视觉学习任务中表现出卓越的性能。Painter[51]引入了一个视觉模型,该模型统一了架构,并提示自动完成不同的视觉任务,而不需要特定任务的头部。CaFo [59]级联不同的基础模型,并协作他们的预训练知识进行zeros-shot图像分类。SAM [27]提出了图像分割的第一个基础模型,该模型对10亿个掩码进行了预先训练,并以各种输入提示为条件,如点、边界框、掩码和文本。从另一个角度来看,我们建议针对特定的视觉概念进行个性化的基础分割模型,即SAM,它将一个多面手适应为一个只需要一个镜头的专家。我们的方法还可以帮助个性化的文本到图像的基础模型,即稳定扩散[44]和Imagen [46],通过从背景区域分割目标对象来提高生成质量。
Parameter-efficient Fine-tuning 在下游任务上直接调整整个基础模型可能会导致计算代价昂贵且内存密集型,这给资源受限的应用程序带来了挑战。为了解决这个问题,最近的工作主要集中在开发参数高效的方法[15,17,48,57]来冻结基础模型的权重,并附加小规模模块进行微调。提示调优[13,22,29,62]建议使用可学习的软提示和冻结模型来执行特定的下游任务,与完全模型调优相比,在规模和健壮的域转移方面实现更有竞争力的性能。低秩自适应(LoRA)[9,20]将可训练的秩分解矩阵同时注入到每个预先训练过的权重中,显著减少了下游任务所需的可学习参数的数量。适配器[19,56]被设计为插入原始变压器层之间,引入轻量级的mlp进行微调。LLaMAAdapter [14,58]提出了将新知识纳入基础模型,稳定早期训练。与现有的工作不同,我们采用了一种更有效的SAM自适应方法,或通过无训练的PerSAM,或PerSAM-F微调仅2个参数。这有效地避免了对one-shot性数据的过拟合。
3. Method
在第3.1节中,我们首先回顾了Segment Anything Model模型(SAM)[27],并介绍了个性化分割的任务定义。然后,我们分别在第3.2节和第3.3节中说明了我们的无训练PerSAM及其微调变体PerSAM-F的方法。最后,在第3.4节中,我们利用我们的方法来帮助 DreamBooth[45]更好地个性化稳定扩散[44],以实现文本到图像的生成。
3.1. Preliminary
A Revisit of Segment Anything. SAM定义了一个新的可提示的分割任务,其目标是为任何给定的提示返回一个分割掩码。使用带有循环中模型注释的数据引擎,SAM在1100万幅图像上被10亿个掩模完全预训练,实现了强大的泛化能力。SAM由三个主要组件组成,一个提示编码器、一个图像编码器和一个轻量级掩码解码器,我们分别表示为
E
n
c
P
Enc_P
EncP、
E
n
c
I
Enc_I
EncI和
D
e
c
M
Dec_M
DecM。作为一个可提示的框架,SAM将一个图像I和一组提示P[前景或背景点、边界框,或一个需要细化的粗糙掩码
]作为输入。SAM首先利用
E
n
c
I
Enc_I
EncI获取输入的图像特征,并利用
E
n
c
I
Enc_I
EncI将人类给定的提示编码为c维嵌入。
然后,将编码后的图像和提示输入解码器
D
e
c
M
Dec_M
DecM,进行基于注意力的特征交互。SAM通过将几个可学习标记
T
M
T_M
TM作为提示标记的前缀来构造解码器的输入标记。这些掩码标记负责生成最终的掩码输出。
PerSAM指出在SAM中,可以存在额外的编码提示(根据改提示可实现zero-shot迁移)
Personalized Segmentation Task. 尽管如此,SAM被推广到分割用户提示的任何东西,但它缺乏分割特定主题实例的能力。为此,我们定义了一个新的个性化分割任务。用户只提供一个参考图像,以及指示目标视觉概念的掩罩。给定的掩码可以是精确的分割,也可以是用户在线绘制的粗略草图。我们的目标是定制SAM,以在新的图像或视频中分割指定的主题,而不需要人工提示。对于模型评估,我们标注了一个新的数据集进行个性化分割,名为PerSeg。原始图像来自于主题驱动的扩散模型[12,28,45]的作品,其中包含了不同姿态或场景下的不同类别的视觉概念。在本文中,我们提出了两种有效的解决方案,PerSAM和PerSAM-F,我们具体说明如下。
3.2. Training-free PerSAM
Positive-negative Location Prior 图4显示了我们的无训练PerSAM的总体pipeline。首先,基于用户提供的图像IR和掩模Mr,PerSAM使用SAM获得目标对象在新的测试图像I上的位置。
具体来说,如图5所示,我们应用SAM的预先训练好的图像编码器来提取one-shot图像
I
I
I和测试图像
I
R
I_R
IR的视觉特征(
F
R
,
F
I
F_R,F_I
FR,FI),并使用用户输入的mask|
M
R
M_R
MR对one-shot图像特征进行截取进行点乘操作
,最后进行pool操作,最终得到one-shot目标的视觉特征,具体流程为:
T
R
=
P
o
o
l
i
n
g
(
M
R
◦
F
R
)
T_R = Pooling(M_R ◦ F_R)
TR=Pooling(MR◦FR),通过对
T
R
,
F
I
T_R,F_I
TR,FI做余弦相似度计算(其中$T_R,F_I$都进行了L2归一化
)可得到余弦相似度矩阵
S
∈
R
w
∗
h
S∈R^{w*h}
S∈Rw∗h。
之后,为了给SAM提供一个在测试图像上的先验位置,我们从S中选择两个相似度最高和最低的像素坐标,分别记为 P h P_h Ph和 P l P_l Pl。前者表示目标对象最有可能的前景位置,而后者反向表示背景。然后,将它们视为正负点对,并输入提示编码器。通过这种方式,SAM会倾向于分割正点周围的相邻区域,而丢弃测试图像上的负点的区域。
1、根据用户输入的mask提取出特定目标的编码特征 2、将目标编码特征与test图像的编码特征组个pw、ph的进行余弦相似度计算,得到 $S∈R^{w*h}$ 3、根据S的最大值和最小值选择出正点和负点,然后作为先验点输入给模型Target-guided Attention. 虽然已经采用了正-负先验,但我们进一步提出了对SAM解码器中的交叉注意机制的更明确的指导,它将特征聚集集中在前景目标区域内。如图6所示,公式5中计算出的相似度图S可以清晰地表示测试图像上目标视觉概念内的像素。鉴于此,我们利用S来调制每个标记到图像的交叉注意层中的注意映射。我们将原始attention中Softmax函数后的注意图表示为
A
∈
R
h
×
w
A∈R^{h×w}
A∈Rh×w,并通过以下机制对注意力图进行调整:
由于注意偏差,令牌必须捕获更多与目标主体相关联的视觉语义,而不是不重要的背景。这有助于在注意层中进行更有效的特征交互,并以无训练的方式提高了PerSAM的最终分割精度。
Target-semantic Prompting. 普通的SAM只接收包含低级位置信息的提示,例如点或框的坐标。为了整合更个性化的线索,我们建议额外利用目标概念的视觉嵌入TR作为PerSAM的高级语义提示。具体来说,我们明智地将嵌入到公式2中所有输入标记的目标嵌入,然后输入图6所示的每个解码器块,公式为:
R
e
p
e
a
t
(
T
R
)
+
C
o
n
c
a
t
(
T
M
,
T
P
)
Repeat(T_R) + Concat(T_M, T_P )
Repeat(TR)+Concat(TM,TP),其中,重复操作是单独执行的标记维度$T_M$到底是啥?二次修正后的bbox编码
。在简单的标记合并的帮助下,PerSAM不仅由低级的位置先验提示,而且还由具有辅助视觉线索的高级目标语义提示。
1、在原先解码器的提示输入之外,再加入了原始目标的特征图
Cascaded Post-refinement 通过上述技术,我们从SAM的解码器中获得了测试图像上的初始分割掩模,但其中可能包含一些粗糙的边缘和背景中的孤立噪声。为了进一步细化,我们迭代地将掩码反馈回SAM的解码器,进行两步后处理。在第一步中,我们通过初始掩码和之前的正负位置来提示SAM的解码器。然后,对于第二步,我们从第一步开始计算掩码的边界框,并用这个框提示解码器,以获得更准确的目标定位。由于我们只需要轻量级的解码器来进行迭代重构,而不需要大规模的图像编码器,因此后处理是有效的,而且只需要额外的100 ms。
1、使用初始掩码和之前的正负位置来提示SAM的解码器
1、使用SAM的解码器输出mask的bbox来再次迭代(额外消耗的100 ms)
3.3. Fine-tuning of PerSAM-F
Ambiguity of Mask Scales. 无训练的PerSAM可以在大多数情况取得令人满意的分割精度。然而,当一些目标对象包含层次结构,这导致了几个不同尺度的掩模被分割。如图7所示,平台顶部的茶壶由两部分组成:盖子和主体。如果正先验(用绿色星表示)位于身体上,而负先验(用红色星表示)不排除类似颜色的平台,则PerSAM在分割上是模糊的。 这种争议在SAM中也存在,它提出了一种同时生成三个尺度的多个掩模的替代方法,分别对应于一个对象的整体、部分和子部分。然后,用户需要手动从三个面具中选择一个,这是有效的,但会消耗额外的人力。相比之下,我们的个性化任务旨在定制SAM的自动对象分割,而不需要人工提示。这促使我们通过仅有效地微调少数参数,为SAM开发一种具有规模感知的个性化方法。
Learnable Scale Weights. 对于具有适当掩模规模的自适应分割,我们引入了一种微调变体,PerSAM-F。与只产生一个掩模的无训练模型不同,PerSAM-F首先是SAM输出三尺度掩模的解,分别记为M1、M2和M3。在此基础上,我们采用两个可学习的掩模权值,w1,w2,并通过加权求和计算最终的掩模输出为:
M
=
w
1
∗
M
1
+
w
2
∗
M
2
+
(
1
−
w
1
−
w
2
)
∗
M
3
M=w_1*M_1+w_2*M_2+(1-w_1-w_2)*M_3
M=w1∗M1+w2∗M2+(1−w1−w2)∗M3
其中
w
1
,
w
2
w_1,w_2
w1,w2都被初始化为1/3, 为了学习到最优的参数,我们对参考图像进行一次性微调,并将给定的掩模视为GT。请注意,我们冻结了整个SAM模型,以保留其预先训练过的知识,并且只在10秒内对w1,w2的两个参数进行微调。我们不采用任何可学习的提示或适配器模块,以避免过拟合的one-shot性数据。通过这种方式,我们的PerSAM-F有效地学习了不同视觉概念的最佳掩模尺度,并表现出比无训练的PerSAM更强的分割性能。
3.4. Better Personalization of Stable Diffusion
A Revisit of DreamBooth. 与个性化分割类似,Textual Inversion[12]、 DreamBooth[45]和后续工作[28]对预先训练的文本到图像模型进行微调,如 Stable Diffusion[44]和Imagen [46],以合成用户指示的特定视觉概念的图像。举个例子,给出3∼5的猫的真实照片,DreamBooth进行few-shot训练,并通过输入文本提示“猫”来学习生成这只猫。其中,[V]作为唯一标识符,表示单词嵌入空间中的特定cat。经过训练,个性化的DreamBooth能够在不同的环境下合成猫的新版本,比如“海滩上的猫”。或者是“大峡谷里的一只猫”。然而, DreamBooth计算了整个重建图像和地面真实照片之间的L2损失。如图3所示,这将把few-shot图像的冗余背景信息注入到标识符[V]中,覆盖新生成的背景,干扰目标对象的表示学习。
PerSAM-assisted DreamBooth. 在图8中,我们介绍了一种策略来缓解DreamBooth中的背景干扰。如果用户另外为任何一个少拍摄的图像提供了一个对象掩码,我们可以利用我们的PerSAM或PerSAM-F来分割所有的前景目标,并丢弃背景区域内像素的梯度反向传播。然后,只对 Stable Diffusion进行微调,以记忆目标物体的视觉外观,而不对背景进行监督,以保持其多样性。在此之后,persam辅助的DreamBooth不仅综合了具有更好的视觉对应关系的主题实例,而且还增加了在文本提示引导下的新上下文的可变性。
4. Experiment
我们首先在第4.1节中评估了我们的个性化分割方法,并在第4.2节中报告了视频对象分割的结果。然后在第4.3节中,我们展示了在背景mask的帮助下改进的梦亭[45]的文本到图像生成。最后,我们进行了消融研究,以研究第4.4节中每个成分的有效性
4.1. Personalized Evaluation
PerSeg Dataset. 为了测试个性化能力,我们构建了一个新的分割数据集,称为PerSeg。原始图像是从主体驱动的扩散模型(DreamBooth[45]、Textual Inversion[12]和 Custom Diffusion[28])的训练数据中收集的。PerSeg总共包含了40个不同类别的对象,包含生活场景、动物和建筑。在不同的姿态或场景中,每个对象都与5张∼7的图像相关联。默认情况下,我们将第一张图像视为用户提供的one-shot性数据,并通过对Union(mIoU)的平均交集度量来评估模型。
Experimental Details. 我们采用预先训练的SAM [27],以ViT-H [11]图像编码器作为分割基础模型。对于PerSAM,我们将所提出的目标引导注意和目标语义提示应用于SAM解码器中的所有三个transformer blocks,即两个regular block和final block。方程7中的平衡因子α被简单地设为1。对于PerSAM-F,我们进行了1000个阶段的批量训练。我们将初始学习速率设置为10−3,并采用带有余弦调度器的AdamW [37]优化器。请注意,为了更好地揭示微调的有效性,在PerSAM-F中我们没有应用目标引导的注意和目标语义提示。且,在训练过程中没有使用数据增强。
Performance 在表1中,我们报告了我们的方法和其他现有方法在PerSeg数据集上的分割结果。如图所示,微调后的PerSAM-F获得了最好的性能,并有效地提高了PerSAM在大多数视觉概念上miou提升为6.01%。 Visual Prompting [2], Painter [51], 和 SegGPT [53] 根据上下文进行学习,它们根据给定的提示图像分割任意对象。与SAM类似,最近的SEEM [63]是一个大规模的基于提示的模型,具有更强的交互性和组合性。它们也可以通过将one-shot性数据作为提示来进行个性化分割。我们的免费训练PerSAM可以比Painter、Visual Prompting有明显的优势。尽管SegGPT获得了与PerSAM-F可比较的结果,但它包含了许多参数,并经过了大量数据的专门训练,以进行个性化功能。相比之下,PerSAM-F只微调了2个可学习的权重,以有效地定制现成的SAM以供私人使用。更多的可视化信息如图11所示。
1、从上图中可以看到PerSAM-F本质上与PerSAM差不多,只是PerSAM在barn、robot toy两个类别上掉点过于严重,从而导致显著的性能差异
2、SAM其实已经通过质量分来推荐不同尺度的目标了,具体可以查阅SAM论文解读
3、PerSAM-F其实是通过对选择目标尺度进行微调,修正SAM在zero-shot时潜在的不足(无法准确的区分出零件、部件与整体间的从属关系)
4.2. Video Object Segmentation
Experimental Details. 除了只有一个对象的图像外,PerSAM和PerSAM-F还可以扩展到在视频帧中对多个对象进行分割。给定第一帧及其对象掩模,我们的方法可以个性化,同时分割和跟踪视频中的多个对象。我们选择了流行的DAVIS 2017 [40]数据集进行评估,并采用官方的J和F分数作为指标。对于PerSAM,我们将前2个最高相似度点视为正位置先验,并另外利用最后一帧的边界框和它们的中心点来提示解码器。这为目标跟踪和分割提供了更有效的时间线索。对于PerSAM-F,我们在第一帧上进行了800次周期的one-shot性微调,学习速率为e−4。我们遵循其他配置的个性化实验。
Performance. 在DAVIS 2017验证集上的视频分割结果如表2所示。与没有视频数据的方法相比,无训练的PerSAM大大超过Painter[51]25.7%,PerSAMF的+比没有集成策略的SegGPT [53]好1.9%。值得注意的是,我们的微调方法甚至可以比AGSS [33]和AGAME [25]的+高出4.5%和+1.9%的J&F分数,这两种方法都经过了大量视频数据的充分训练。结果充分说明了我们对具有多个视觉概念的时间视频数据的强泛化能力。在图9中,我们可视化了PerSAM-F在三个视频帧上的分割结果,其中我们的方法在多目标跟踪和分割方面显示了良好的性能。
4.3. PerSAM-assisted DreamBooth
Experimental Details. 我们利用预先训练的Stable Diffusion[44]作为基本的文本到图像模型。我们在DreamBooth[45]中遵循大多数模型超参数和训练配置,包括10−6的学习率、批大小1和200图像正则化数据集。我们在一个NVIDIA A100 GPU上,在5分钟内完成了1000次迭代。为了提高精度,我们采用PerSAM-F对目标对象进行分割,通过给定的图像掩模对进行单热微调。请注意,无训练的PerSAM也获得了类似的结果,为了简单起见,我们将其命名为“PerSAM-assisted”。
Performance 除了图3之外,我们还在图10中可视化了persam辅助的更多结果。对于躺在灰色沙发上的狗来说,DreamBooth的“丛林”和“雪”仍然是带有绿色和白色装饰的沙发。在PerSAM-F的帮助下,新生成的背景与沙发完全解耦,并很好地对应于文本提示符。另外两名被试对谷仓后山脉和桌旁沙发的背景干扰也得到了缓解。DreamBooth在最后一行中不正确的“橙色表”也表明,PerSAM-F可以提高目标的视觉外观学习,从而更好地个性化文本到图像模型。
4.4. Ablation Study
在表3中,我们研究了我们提出的在PerSAM和PerSAM-F中的组件在PerSeg数据集上的有效性。如图所示,我们首先从一个具有69.11 mIoU的基线模型开始,其中只有阳性位置输入到SAM。然后,我们分别添加负位置前和级联后细化,分割精度分别提高+3.63%,+11.44%。这构建了一个具有83.91% mIoU的竞争模型,已经比预先训练良好的Painter[51]和SEEM [63]更强。在此基础上,我们在SAM的解码器中引入了目标对象的高级语义,以指导交叉注意和提示机制。+1.91%和+3.50%的mIoU改善充分表明了我们的设计的意义。最后,通过高效的one-shot性微调,PerSAM-F将+评分提高了6.01%,达到了95.33%的mIoU,显示了优越的个性化能力。
5. Discussion
SegGPT和PerSAM之间的区别是什么? Painter [51]和后续的SegGPT [53]都采用了上下文学习框架,将传统的分割任务重新定义为图像着色问题。给定one-shot性提示,他们也可以实现类似于PerSAM的个性化分割,如表1所示。然而,它们包含354M可学习参数,并统一了一组不同的分割数据用于大规模训练。相比之下,我们的方法要么不需要训练,要么在10秒内只微调2个参数。我们的目标是以一种更有效的方式,以最低的成本定制一个现成的基础模型,即SAM,到私人使用。
1、回归PerSAM的本质,其在真实效果上与SegGPT应该相差无几
Can PerSAM Tackle Multi-object Scenarios? 如图9所示,表2中的视频对象分割任务需要在帧中分割和跟踪多个物体,例如一个人和他的自行车。对于多个视觉概念,我们分别在第一帧中编码和存储它们的目标嵌入。然后,对于后续的帧,我们只运行one-shot图像编码器来提取视觉特征,并独立提示不同对象的掩码解码器。通过这种方式,我们的PerSAM和PerSAM-F可以有效地个性化,以分割用户指定的多个视觉概念。
Robustness to Quality of the One-shot Mask? 为了与人类进行更强大的交互性,我们研究了当给定的one-shot性Mask具有低质量时,PerSAM和PerSAM和PerSAM-F的表现。在表4中,我们分别缩小和扩大了参考Mask的面积,并比较了在PerSeg数据集上的分割结果。当掩模小于目标对象的大小(收缩|Shrink)时,精细的PerSAM-F对SegGPT和PerSAM表现出更强的鲁棒性。这是因为目标中心周围的内部点不能全面地代表其所有的视觉特征,损害了所获得的目标嵌入,削弱了目标引导注意和目标语义提示的有效性。当掩模大于物体(放大|Enlarge)时,不准确的掩模大小会误导PerSAM-F的one-shot性训练。相反,尽管存在一些背景噪声,目标嵌入可以包含对象的完整视觉外观,这对PerSAM中的无训练技术影响很小。总的来说,我们的PerSAM-F表明我们比SegGPT对给定掩模的质量有更好的鲁棒性
1、对于mask偏大,PerSAM的效果略好,mask偏小PerSAM-F效果略好
2、SegGPT的预测效果受mask影响小
6. Conclusion
在本文中,我们提出了针对特定的视觉概念进行个性化的Segment Anything Model(SAM),并且只有one-shot性的数据。首先,我们引入了一种无训练的方法PerSAM,它在测试图像上预先计算一个位置,并采用了三种个性化技术:目标引导注意、目标语义提示和级联后细化。在此基础上,我们进一步提出了一个10秒的微调变体,PerSAM-F。仅通过2个可学习的参数,PerSAM-F就有效地缓解了掩码尺度的模糊性,并在我们的注释PerSeg数据集上取得了领先的性能。此外,我们还评估了我们的视频对象分割的方法,并验证了其帮助梦亭在微调文本到图像扩散模型的有效性。我们希望我们的工作可以激励未来的工作,以个性化的分割基础模型的参数效率的方法。