港科&微软 | Semantic-SAM:多粒度的语义通用分割模型

Title: Semantic-SAM: Segment and Recognize Anything at Any Granularity
Paper: arxiv.org/pdf/2307.04…
Code: github.com/ux-decoder/…

导读

本论文介绍了Semantic-SAM,这是一个通用的图像分割模型,可以以任何所需的粒度对图像进行分割和识别。模型具有两个关键优势:语义感知和丰富的粒度。为了实现语义感知,论文整合了多个不同粒度的数据集,并对解耦的对象(object)和部分(Part)的分类进行训练。这使得论文的模型能够在丰富的语义信息中进行知识传递。为了实现多粒度的能力,论文提出了一种多选择学习方案,使每个点击点能够生成与多个真值掩码相对应的多个级别的掩码。值得注意的是,这是首次尝试在SA-1B、通用和部分分割数据集上联合训练模型。实验结果和可视化演示表明,论文的模型成功地实现了语义感知和粒度丰富性。此外,将SA-1B训练与其他分割任务(如全景分割和部分分割)相结合,可以提高性能。

贡献

本文的主要贡献如下:

  • **多粒度丰富性:**通过多选择学习方案,该模型能够在多个粒度上生成分割掩码,从对象的整体到细节部分,实现了对不同粒度的分割能力。这种多粒度丰富性使得模型能够更好地适应不同的分割任务和应用场景。

  • **语义感知性:**通过整合多个数据集和解耦的对象(object)和部分(Part)分类,该模型能够在语义信息上进行知识传递,实现了对丰富语义信息的感知能力。

  • 在多个数据集上进行了全面的实验,并展示了Semantic-SAM模型在语义感知和粒度完整性方面的优越性能。同时,通过对模型的多个方面进行实验和分析,证明了其鲁棒性和适用性。

方法

数据集整合

论文使用了七个包含不同粒度级别掩码的数据集,包括SA-1B、COCO全景、ADE20k全景、PASCAL部分、PACO、PartImageNet和Objects365。这些数据集提供了丰富的语义信息,涵盖了对象级别和部分级别的掩码以及类别标签。详细信息可参见表1,并在图2中展示了不同数据类型的数据分布。

Semantic-SAM

模型的整体流程如图3所示。在Semantic-SAM中,点击表示的统一格式的anchor boxes b = ( x , y , w , h ) b = (x, y, w, h) 分别被编码成K个内容嵌入和一个位置嵌入。内容嵌入表示为一组查询向量 Q = ( q 1 , . . . , q K ) Q = (q_1, ..., q_K) ,其中每个查询向量 q i q_i 由粒度级别嵌入 q i level q_i^{\text{level}} 和查询类型嵌入 q i type q_i^{\text{type}} 组成。位置嵌入通过正弦编码实现:

使用图像编码器的输出特征 F F 作为输入,Semantic-SAM的掩码解码器将输入图像上的点击表示为:

DeformDec ( , , ) \text{DeformDec}(\cdot, \cdot, \cdot) 是一个可变形解码器,它接受查询特征、参考框和图像特征,并输出查询特征。每个查询特征 o i = ( c i , m i ) o_i = (c_i, m_i) 包含预测的语义类别 c i c_i 和掩码 m i m_i ,用于构建概念识别损失和掩码预测损失。

Training

Recognize Anything

论文训练模型时使用了不同类型的数据,其中包括包含object-level注释的数据(如COCO数据集),同时也包含了object-level和 part-level注释的数据(如Pascal Part数据集),而SA-1B数据集没有语义注释,但包含了各种语义级别的掩码。

为了更好地传递不同粒度的语义信息,论文提出了一种分离object和part识别的方法。使用共享的文本编码器对object和part进行编码,以实现它们的分别分割。需要注意的是,不同类型的数据共享相同的格式,但损失函数的设计因数据类型而异

Segment at any granularity

为了赋予模型多粒度的分割能力,论文使用多对多的匹配方法,通过重新组织数据和使用匈牙利算法,使单个点击能够预测多个级别的掩码。对于盒状输入和通用分割,论文采用了类似的方法,通过添加噪声盒子和使用可学习的令牌作为提示,实现了盒状区域的掩码生成和通用分割。这种方法允许论文在训练过程中进行更准确的预测和匹配。

如图5所示,与以往的交互式分割模型相比,语义sam与以往的分割模型有两个方面的不同,首先,训练模型输出所有可能的分割掩模。其次,输出粒度更丰富,以生成不同的输出掩模

实验

分割性能

结果方面,主要是COCO Val2017和SA-1B的一个子集(包含1000张图像)刷一下:

Semantic Segmentation

在表5中,评估了SAM和Semantic-SAM在COCO Val2017上的模型的1次点击mIoU。在相同的设置下,Semantic-SAM的性能优于SAM。

对比了SAM和Semantic-SAM在单击时输出的粒度上的表现。

在图6中,Semantic-SAM与SAM进行比较,能够输出更好的分割质量和更丰富的粒度

论文还发现,每个点的内容Prompt(K=6个内容Prompt)嵌入学习对应于一个固定的粒度。如图7所示,当按照对应内容嵌入的特定顺序可视化掩码时,掩码在每行中始终按照从小到大的顺序排列。这证明了模型中的每个内容嵌入代表了一个语义粒度级别。

总结

本文介绍了Semantic-SAM,它可以以任何所需的粒度对任何物体进行分割和识别。除了进行通用的开放词汇的分割,Semantic-SAM展示了语义感知和丰富的粒度的优势。为了实现这些优势,论文在数据、模型和训练方面进行了改进,利用了多个粒度和语义级别的数据集、多选择学习的训练方法以及通用的建模框架。全面的实验和可视化验证了论文模型的语义感知和丰富的粒度。此外,Semantic-SAM是首次成功尝试在SA-1B和其他经典分割数据集上进行联合训练。实验结果还表明,使用SA-1B进行训练可以改善其他任务,如全景分割和部分分割。

猜你喜欢

转载自juejin.im/post/7258526520167219237