Advertisement

论文阅读 PA-SAM: Prompt Adapter SAM for High-Quality Image Segmentation

阅读量:

论文阅读 PA-SAM: Prompt Adapter SAM for High-Quality Image Segmentation


论文地址:https://arxiv.org/abs/2401.13051

代码地址:https://github.com/xzz2/pa-sam


一、提出背景

图像分割作为计算机视觉的关键问题,在图像编辑、医学成像以及自动驾驶等多个领域均有广泛应用。Segment Anything Model(SAM)已被成功应用于多种实际场景,并且无论是在哪些图像分割任务中均展现出卓越的效果。然而,在许多实际应用场景中 SAM仍面临mask预测质量方面的挑战 事实上 SAM已经被证明无法达到高质量分割性能这一结论尤其表现在复杂物体如网球拍与椅子等具粗糙边界特征的对象上 同时也未能有效处理细节部分如风筝线与昆虫触角等区域

二、动机

尽管SAM展现出在分割任务中的卓越能力,在实际应用中其分割质量的程度仍然受到输入到掩膜解码器的提示这一关键因素的影响。当缺乏详细指导时,SAM难以实现高质量的分割效果。

亟需研发一种可以直接向SAM传递具体数据并优化其掩模解码器特性的网络系统。从直觉上看,在当前技术条件下最直接的方法是在注释中加入附加的具体标记(如额外的数据点或更为精准的位置标记),以增强模型对图像的理解能力。基于这一思路,在不依赖人工干预的情况下探索模型能否自动提取关键细节,并通过这些细节显著提升SAM分割性能

该研究将一种新型的提示驱动适配器整合到SAM框架中,并命名为Prompt-Adapter Segment Anything Model(PA-SAM)。该系统旨在通过优化机制提升原有SAM模型的段掩码性能。通过专有算法训练该适配器以适应不同场景,在这一过程中系统能够有效提取图像细节,并根据不同的提示类型动态调整解码策略。这种改进显著提升了SAM模型的整体分割精度。实验结果表明,PA-SAM算法无论在高质量、零拍、开集分割等方面都要优于其他基于SAM的方法。

三、本文创新

如图所示, 为了捕获细节, SAM引入了一种基于提示引导的自适应增强模块(Prompt Adapter), 通过适应性细节增强和关键点挖掘, 旨在调查图像中的不确定性区域, 并将低层次详细信息整合到密集型提示(dense prompts)和稀疏型提示(sparse prompts)中, 从而帮助SAM更好地理解和学习图像细节. 相比之下, 在传统的自适应增强模块中(Prompt Adapter), 其主要区别在于其不直接优化图像特征而是专注于优化提示特征来提取关于网络焦点区域的关键信息.

E为图像编码器服务;D负责生成遮罩;PE处理提示信息;F整合特征模块;PA适配提示信息

在这里插入图片描述

专注于研究图像不确定区域:通过学习细化标记与不确定标记之间的关系来实现这一过程的转变,并使模型能够更加敏锐地捕捉到具有挑战性的区域中的图像细节。

**困难点挖掘:论文还开发了一种基于Gumbel top-k操作的应用,旨在帮助模型专注于难以区分的部分,并最终提升图像分割的效果。

在整个训练阶段中,在PA-SAM架构中固定了SAM组件,在仅专注于提示适配器(Prompt Adapter)的情况下,该系统成功实现了在生成高质量分割图的同时保持了原始SAM强大的目标定位能力。

论文的方法在经过严格筛选的高质量数据集HQSeg-44K上实现了卓越的性能表现。相较于以往方法,在MIU指标达到1.7%的同时,BmIoU指标显著提升至2.7%,显示出更高的性能水平。该方法证实了其在zero-shot分割任务以及广泛使用的公共分割数据集上的卓越分割能力。

四、PA-SAM模型架构解读

以高质量细节信息为目标的研究者们提出了一种创新方法:将图像细节转化为多粒度的提示特征并传递给掩膜解码器。具体而言,则是以一种不确定性驱动的方式对SAM进行微调。基于上述理念,则构建了一个可训练且高效的快速适配器,并将其整合到原始SAM架构中。该系统框架如图所示:PA-SAM通过结合图像特征与密集提示,并同时引入稀疏提示进行处理,在其后续处理流程中,在掩膜解码器中分别应用了所提出的新型适配器来转换图像特征与稀疏提示至密集提示形式。

在这里插入图片描述

PA-SAM的整体架构示意图展示了其独特的设计框架。在训练过程中,为了优化模型性能,SAM相关的参数设置为不可训练状态,并专注于对mask prediction模块内部的prompt adapter和image upsampling module进行参数优化。在推理环节中,则仅将mask prediction子模块的输出作为最终预测结果依据。

1. 图像编码器(Image Encoder)

首先,输入图像 I 经过 Image Encoder模块进行处理(Image Encoder),其输出结果即为图像的关键特征表示。该模块负责提取图像的基本特征,在经过位置嵌入处理后连接到 Mask Decoder模块进行后续运算。值得注意的是,在 PA-SAM 系统中该特定模块被冻结(图中标注为蓝色雪花符号),这意味着其参数在整个训练过程中未被更新。这种设计的好处是可以显著降低计算开销的同时有效利用了预训练模型提取的关键特征。

此外,在对图像的特征信息经过位置嵌入机制处理后,输出至 解码器(Decoder) ,用于后续的数据处理步骤。

2. 掩膜编码器(Mask Encoder)

掩膜编码器(Mask Encoder)接受分割掩膜信息(图中标为 "Mask"),将其转化为特征向量,并传递给解码器。这一过程有助于模型掌握大致位置的信息。这一模块同样处于固定状态,并保持预训练的状态。

(疑问:这个Mask是GT还是怎么生成的?)

3. 提示编码器(Prompt Encoder)

该编码器负责对额外的提示信息进行编码。例如框选(Box)和关键点(Point)。经此编码后提供的提示信息则被传递至解码器Mask Decoder以便于其协助引导整个解码过程完成。

问题:Box和Point是否需要额外输入或由代码自动生成?从代码中未显式处理这部分信息,并未接受来自外部数据源的数据参与这一过程,则这些自动生成的Box和Point是否存在?

4. 提示适配器(Prompt Adapter)

作为 PA-SAM 系统的核心组件之一,该提示适配器模块定位在图示界面右下方区域.在 Mask Decoder 的工作流程中,经由该模块接收原始图像 I 以及其梯度信息 ∇I,从而生成两种类型的具体提示——密集型和稀疏型,并将这两种类型的提示反馈回 Mask Decoder 进行进一步处理.

密集提示 PA dense prompts:基于梯度信息的设计使得适配器能够利用梯度信息来补偿原始特征中丢失的边界和细节信息;从而帮助模型聚焦于更为细致的特征(边界及其局部细节)。

稀疏提示PA sparse prompts则通过聚焦于粗略的大范围结构信息来提升模型在全局层面的分割能力

梯度信息 ∇I 表征图像像素变化的程度,在此过程中高值往往对应于图像对象边界,在这些区域中通常呈现较为丰富的细节特征。接收这些 梯度信息 ∇I 的主要目标是用于捕获图像中的边缘特征及其详细细节。这一过程将有助于促进 Prompt Adapter 能够聚焦于识别与处理图像中的细粒度差异及其边界特征。

从Mask Decoder 到 Prompt Adapter,再从Prompt Adapter 到 Mask Decoder:

这是一个双向循环的过程,在其运行过程中会不断利用提示适配器提供的反馈机制,并以便Mask Decoder能够实时地接收并整合Prompt Adapter发送的信息。从而提升了模型在细节处理与全局信息整合方面的能力,在特别关注复杂边缘与区域划分的问题上表现突出。多轮互动能够让解码阶段中的注意力得到灵活地调节,并有助于使模型更加精准地完成分割任务

从下到上三个箭头分别表示提示信息在不同层次上的编码过程:第一条箭头:提示编码器将输入提示信息编码为低级特征并直接馈入到初始解码层中进行处理;第二条箭头:中间层次输出的特征会持续传递至后续解码步骤以辅助解码器逐步完善分割区域;第三条箭头:高级特征则会在最终阶段被用于进一步优化分割边界以达到更高精度的效果。

5. 解码器(Mask Decoder)

改写说明

(1) Self Attention (Self Attn.) * 功能 :通过自注意力机制使Decoder Embeddings中的各个位置能够与其他位置的信息交互以获取整体语义信息。* 输入 :Decoder Embeddings中的各个位置的信息端.* 输出 :经过自注意力处理后的输出中整合了更加全面的图像信息。

(2) Token to Image Attention (Token to Image Attn.) 作用:Token到Image注意力机制通过将提示特征与图像特征进行关联,在此基础上进行加权融合以强化模型对提示所指区域的关注程度

MLP(多层感知机)的作用:MLP(通常由多个全连接层和激活函数构成)主要负责特征转换与非线性组合。该模型能够进一步对Token to Image Attention处理后的特征进行加工,并增强其对复杂特征关系表达的能力。

  • 输入:经过Token to Image Attention后得到的特征。
  • 输出:经非线性变换后的特征表示,在表达能力上较之前有显著提升。

Image to Token Attention (Image to Token Attn.)

该解码器通过建立提示信息与图象特征间的双向互动关系 ,主要借助于Token到图象注意机制以及图象到Token注意机制来实现从指示性描述到视觉元素的具体转化,并在此基础上完成了从视觉元素反馈至指示性描述的双向验证,在最终结果中整合了全面且细致的信息内容以支撑高质量分割遮蔽图案的有效生成。

6. 掩膜预测模块(Mask Prediction Module)

该系统的核心组件包括一个掩膜预测组件(Mask Prediction Component),其主要功能是接收解码器输出结果经过嵌入层处理后的向量表示,并进一步生成最终分割掩膜。在图像分割任务中,该组件通过密集提示机制与稀疏提示机制的结合,在不同层次上提取关键特征信息。具体而言,在图像分割过程中有效处理不同层次细节特征,并在此基础上实现更为精准的图像分割效果。该组件采用了多损失函数优化策略,在训练过程中不断调整参数以最小化预设目标函数值。

  • Loss SAM :对应于原始SAM任务的损失函数。
    • Loss PA :与PA-SAM新增提示适配模块相关的损失函数,并旨在进一步提升分割细节的质量。
7. Decoder Embeddings 到 Mask Prediction Module

通过Decoder Embeddings生成的特征被 fed 到 Mask Prediction Module,并用于输出最终分割掩膜。该模块通常通过融合解码器产生的细节特征来生成高分辨率(pixel-level)分割掩膜。

8. Mask Prediction Module 到 Loss SAM

Mask Prediction Module生成的分割掩膜会被真实标签(Ground Truth)所对照,并用于计算SAM Loss。该损失指标被用来评估预测掩膜的质量,在模型训练过程中起到优化作用。

五、提示适配器Prompt Adapter解读
在这里插入图片描述

这张图概述了Prompt Adapter 在提示生成与优化过程中所涉及的核心内容。重点在于通过生成密集提示(PA Dense Prompts)与稀疏提示(PA Sparse Prompts)来实现对这些流程的支持。

首先介绍多种Token:

多种Token用于传递不同种类的提示信息以指导模型在分割任务中聚焦于特定图像区域或特征

1. PA Dense Prompt Token

PA Dense Prompt Token 表示密集提示,在捕获图像整体区域信息方面发挥重要作用。这些Token有助于模型生成粗粒化的分割掩膜,并为其后续细化过程提供基础。

2. IoU Token
  • IoU Token (Intersection over Union Token)用于衡量模型预测结果与真实标签之间的重叠程度,并有助于优化训练过程中的掩膜与真实边界的匹配一致性。该IoU Token能够在模型内部生成反映预测质量的相关提示信息,并指导模型调整生成掩膜的边界位置以提高准确性。
3. Point &Box Token

该Token用于指示分割目标的位置,在模型中可以通过框选(Box)或关键点(Point)的形式来定位分割目标的位置。该Token帮助明确目标的大致位置,并指导模型专注于该区域进行分析与处理。

4. Mask Token
  • Mask Token 用于标识目标区域的分割掩膜信息;通常是从输入图像中的初始分割掩膜中获取。这种机制有助于模型更准确地识别并解析这些区域;从而能够更加精确地生成最终的分割结果
5. Static Token
  • Fixed Token 用于编码静态背景信息,并有助于模型区分背景区域与前景区域。该Token的存在使模型得以避免将背景区域误判为前景区域,并从而提高分割精度。
6. Refined Token、Uncertain Token、新点Token
  • Refined Token 用于生成细化后的分割结果;它是从初始粗粒度分割掩膜中进一步优化得到的信息。
  • Uncertain Token 则用于表示模型在某些区域中的不确定性信息;这些通常出现在模型处理边缘或复杂区域时。
  • 新增特征点Token 则是由Gumbel Top-k PointSampler生成;它们代表了分割区域中的细节部分,并有助于捕捉到掩膜中的精细结构。

然后介绍整个Prompt Adapter的工作流程:

1. CRM模块生成图像特征
  • 图像依次经过CRM模块(Contextual Region Mining),该模块主要负责提取或识别关键背景区域数据。
    • CRM模块输出的图像特征(Image Feature)包括了目标区域及其周边环境的具体背景特征,并为其后续操作提供依据。
2. Token到图像的Attention机制
  • 图像特征被导入Prompt Adapter的核心模块中,在随后完成**基于Tokens的空间注意力机制(Token to Image Attention)**操作。
    • 在这一阶段,在各个位置提取出的空间位置信息会被整合到各个Token中,并被用来生成PA Dense Prompt(Prompt Adapter密集提示),其中包括IoU Token、Point&Box Token等多种类型的提示Token。
    • 这些初步构建起来的基础密集提示则主要用于表征目标区域的基本信息。
3. 密集提示生成与交互过程

采用PA Dense Prompts时, Token到图像的Attention机制被用来实现图像特征的逐步提取细节.

密集提示Token随后被输入到多个

MLP层(多层感知机),从而生成多个分割掩膜层次:

  • Coarse层(粗粒化处理)代表了图像最初的大规模分割结果。
    • Refined层(详细化处理)在此基础上进一步细化了图像中的边界细节以及较小且集中化的区域特征。
    • Uncertain层(不确定性层次)能够帮助模型识别出某些分割区域存在的不确定性,并据此生成更加精确且稀疏化的提示信息。
4. 逐层生成和特征交互

这些分割掩膜经过逐层特征交互不断优化。每一层生成后的掩膜结果会被**点积操作(Point-wise product)**与Token特征进行深入整合,并进一步融合信息以实现更精细化的分割提示。
此外,在这一过程中每一层生成后的掩膜结果反向传播并持续提升其质量。

5. 稀疏提示生成:Gumbel Top-k Point Sampler
  • Gumbel Top-k Point Sampling Module 在这一阶段发挥关键作用:它接收来自粗、精细以及不确定性层级的分割信息,并选择top k 不确定点
    这些经过处理后的点生成稀疏提示(PA Sparse Prompts) ,其主要作用在于标识目标区域内的新点(new point tokens),以便在分割过程中更好地处理边界区域以及不确定区域。
    稀疏提示以特征点的形式被反馈给Mask Decoder 以提升最终的分割效果。
6. 稀疏与密集提示的回馈与整合
  • PA Dense Prompts与PA Sparse Prompts之间的协同作用使得模型能够并行获取密集上下文信息与稀疏精细提示,并在此基础上实现了更为精细与精确的分割效果。
  • 稀疏提示信息在分割任务中被用来优化边界细节特征提取过程;而密集提示则用于收集整体区域特征信息;两者相互配合形成了完整的特征提取体系。
六、实验
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

写在最后:

1.这篇文章单看论文来说整体很流畅,但结合代码来看就存在一些疑问:

(1)Mask Encoder接收的Mask是GT还是怎么生成的预测?

(2)是否需要额外输入或由代码自动生成?由于代码未显示这部分会生成Box及Point,并未接受来自外部额外的输入因此Box及Point是否存在?

(3)代码中没有生成预测掩码的部分。


欢迎各位留言或私信讨论。

全部评论 (0)

还没有任何评论哟~