论文名称:Fast Segment Anything
论文地址:http://export.arxiv.org/pdf/2306.12156
代码地址:GitHub - CASIA-IVA-Lab/FastSAM: Fast Segment Anything
1. 关键内容
- 基于YOLOv8-seg实现了FastSAM,它比SAM快50倍,且训练数据只有SAM的1/50,同时运行速度不受point输入数量的影响
- FastSAM定义Segment Anything Task(SAT)为根据提示进行语义分割任务,提示指:前景|背景点、bounding boxes、mask、text;
- 将SAT分解为2阶段,第一阶段为对输入图像的全景实例分割,第二阶段为根据提示输入对全景实例分割结果进行稀疏化选择
2. 实验效果
在4种级别的任务上进行zero-shot对比:边缘检测、目标Proposal、实例分割、提示输入分割
2.1 边缘检测:将模型的全景实例分割结果用sobel算子得到边缘,FastSAM与SAM性能相近,都倾向于预测更多的边(数据集中没有标注的边)
2.2 目标Proposal:在coco上对比了SAM、ViTDet、OLN和FastSAM,FastSAM与SAM略差,但其是zero-shot transfer,而OLN在voc上进行预训练
2.3 实例分割:使用ViTDet [23]生成的边界框(bbox)作为提示符来完成实例分割任务,FastSAM比SAM差一些。具体原因见第6节的讨论部分
2.4 提示输入分割:与SAM性能类似,但是运行效率有些底下(这主要是受CLIP模型的影响)
3. FastSAM
3.1. Overview
下图展示了所提出方法Fast SAM的结构,该方法由全实例分割和输入引导选择构成。第一阶段依赖于基于卷积神经网络(CNN)的检测器的实现。它生成图像中所有实例的分割掩码。然后在第二阶段,它输出与提示相对应的感兴趣区域。通过利用CNN的计算效率,前一个阶段是基础,后一个阶段是任务导向处理的精髓。不同于端到端的transformer,这个方法对于视觉分割任务,引入了很多人类先验知识,例如conv的局部连接,目标感受野的局部相关性。这使它适合于视觉分割任务,可以在更少的参数上收敛更快。FastSAM可以在不太损失性能质量的情况下,可以实现实时的segment anything模型。
3.1 All-instance Segmentation
在FastSAM中,我们直接使用YOLOv8-Seg方法进行全实例分割阶段。YOLOv8-Seg检测分支负责输出物体类别和边界框信息,而分割分支则输出k个原型(在FastSAM中默认为32)以及对应的k个掩模系数。这两个任务是同时进行的。分割分支输入高分辨率特征图,保留了空间细节和语义信息。该特征图经过卷积层处理,上采样后再经过两个卷积层,最终输出掩模。与检测分支的分类分支类似,掩模系数的取值范围在-1到1之间。实例分割的结果是通过将掩模系数与原型相乘并相加得到的。
3.2 Prompt-guided Selection
在使用YOLOv8成功地对图像中的所有对象或区域进行分割之后,分割任何物体任务的第二阶段是使用各种提示来识别感兴趣的特定对象。这主要涉及使用点提示、框提示和文本提示。点提示。
3.2.1 点提示
包括将所选点与从第一阶段获得的各种掩模进行匹配。目标是确定点所在的掩模。与SAM类似,我们采用前景/背景点作为提示。在前景点位于多个掩模的情况下,可以利用背景点来过滤与当前任务无关的掩模。通过使用一组前景/背景点,我们能够在感兴趣的区域内选择多个掩模。这些掩模将合并为一个掩模,以完全标记感兴趣的对象。此外,我们利用形态学操作来提高掩模合并的性能。
3.2.2 框提示
框提示涉及在所选框和从第一阶段对应于各个掩模的边界框之间执行交并比(IoU)匹配。目的是确定与所选框具有最高IoU分数的掩模,从而选择感兴趣的对象。
文本提示在文本提示的情况下,使用CLIP 模型提取文本的相应文本嵌入。然后确定相应的图像嵌入,并使用相似度度量将其与每个掩模的内在特征进行匹配。然后选择与文本提示的图像嵌入具有最高相似度分数的掩模。
通过精心实施这些提示引导的选择技术,FastSAM可以可靠地从分割图像中选择特定的感兴趣对象。
4. Discussion
FastSAM的框生成具有显著优势,但我们的掩模生成性能低于SAM。可能有以下原因:
- 低质量的小尺寸分割掩模具有较大的置信度分数。我们认为这是因为置信度分数被定义为YOLOv8的bbox分数,与掩模质量没有强烈关联。改变网络以预测掩模IoU或其他质量指标是改善这一问题的一种方式。
- 一些微小尺寸对象的掩模倾向于近似正方形。此外,大型对象的掩模可能在边界框的边缘具有一些伪影。这是YOLACT方法的缺点。通过增强掩模原型的能力或重新构造掩模生成器,预计可以解决这个问题。
5. Conclusion
在本文中,我们重新考虑了segment of anything task和相应模型结构的选择,并提出了一个比SAM-ViT-H (32×32)运行速度快50倍的替代解决方案。实验结果表明,FastSAM可以很好地解决多个下游任务。尽管如此,FastSAM仍有几个弱点可以加以改进,比如评分机制和实例面具生成范式。这些问题都留待进一步研究。