SAM轻量级改进Fast-SAM论文解读Fast Segment Anything

现已总结SAM多方面相关的论文解读,具体请参考该专栏的置顶目录篇

一、总结

1. 简介

发表时间:2023年6月21日

论文:arxiv.org/pdf/2306.12156.pdficon-default.png?t=N7T8https://arxiv.org/pdf/2306.12156.pdf

代码:CASIA-IVA-Lab/FastSAM: Fast Segment Anything (github.com)icon-default.png?t=N7T8https://github.com/CASIA-IVA-Lab/FastSAM

 2. 摘要       

任意分割模型SAM突出的问题是与Transformer (ViT)模型(SAM体系结构的主要部分)相关的大量计算资源需求。因此提出了一种具有相当性能的基本任务的加速替代方法。
        通过将任务重新表述为全实例分割提示引导选择两个阶段,发现具有实例分割分支的常规CNN检测器也可以很好地完成该任务。
        通过仅在SA-1B数据集的2%(1/50)上直接训练该CNN检测器,以高50倍的运行时速度实现了与SAM方法相当的性能,大大减少了计算和资源需求,从而实现了实时应用。

3. 贡献

(1)首次提出了将CNN检测器应用于分割任务的研究,引入了一种新颖的、基于CNN的实例分割任务YOLOv8-seg解决方案,该解决方案在保持性能的同时显著降低了计算需求。
(2)在四个基准上对FastSAM和SAM进行比较评估,可以深入了解该方法在分割任何领域中的优缺点。
(3)评估FastSAM在四种应用场景中的性能,并分析其优点和局限性。

4. 不足

        FastSAM的框生成具有显著的优势,但FastSAM的掩码生成性能低于SAM。我们发现FastSAM具有以下特性。
(1)低质量的小尺寸分割掩码具有较大的置信度得分。我们认为这是因为置信度分数被定义为YOLOv8的bbox分数,与掩模质量的关系不强。修改网络来预测掩码IoU或其他质量指标是一种改进方法。
(2)一些微小物体的掩码往往在方框附近。此外,大型物体的掩码在边界框的边缘可能会有一些伪影。这是YOLACT方法的弱点。通过增强掩码原型的容量或重新制定掩码生成器,有望解决这个问题。
(3)只使用了SA-1B数据集的1/50,因此通过使用更多的训练数据可以进一步提高模型的性能。
(4)FastSAM仍然存在一些可以改进的弱点,比如评分机制和实例掩码生成范例。

二、Fast-SAM模型结构

        在大多数实际应用中,分割任务都可以有效地分为两个阶段。第一阶段涉及检测和分割图像中的所有物体,类似于全光分割过程。第二阶段依赖于提供的提示,将感兴趣的特定对象从分割的全景图中分离出来。该任务的解耦大大降低了其复杂性,从而提供了对任何模型提出实时分割的可能性。
        因此FastSAM将分割任务解耦为两个连续的阶段,即全实例分割提示引导选择。前一个阶段是基础,第二个阶段本质上是面向任务的后处理。与端到端变压器不同,整体方法引入了许多与视觉分割任务相匹配的人类先验,如卷积的局部连接和与接收域相关的对象分配策略。这使得它适合于视觉分割任务,并且可以更快地收敛于更少的参数。
        如下图所示,使用YOLOv8-seg对图像中的所有对象或区域进行分割。然后使用各种提示(点提示、框提示和文本提示)来识别感兴趣的特定对象,文本提示符基于CLIP。

1. 全实例分割

        第一阶段是基于一种配备实例分割分支的卷积神经网络(CNN)检测器YOLOv8-seg的实现,它生成图像中所有实例的分割掩码,采用YOLOv8-x模型作为其架构的主要部分。YOLOv8Seg目的是准确地检测和分割图像中的每个对象或区域,而不管对象的类别。原型和掩模系数为快速指导提供了大量的可扩展性。训练编码器和解码器结构,以各种提示和图像特征嵌入作为输入,掩码系数作为输出。
        YOLOv8的骨干网和颈部模块用C2f模块代替了YOLOv5的C3模块。更新后的Head模块采用了解耦结构,分离了分类和检测头,并从基于锚点到无锚点的转变。
        YOLOv8-seg应用YOLACT原则进行实例分割,它首先通过骨干网络(CNN Backbone)特征金字塔网络(FPN)从图像中提取特征,整合不同大小的特征。输出包括检测分支和分割分支,分割和检测并行计算。检测分支(Detect Branch)输出类别和边界框,而分割分支输出k个原型(FastSAM中默认为32个)以及k个掩码系数。分割分支(Mask Branch)输入高分辨率特征图,保留空间细节,并包含语义信息,通过一个卷积层进行处理,放大,然后再通过两个卷积层来输出掩码。掩码系数类似于检测头的分类分支,范围在-1到1之间。将掩模系数与原型相乘并求和,得到实例分割结果。

2. 提示引导选择

        第二阶段,使用各种提示来识别感兴趣的特定对象,输出与提示符相对应的感兴趣区域,主要涉及点提示、框提示和文本提示的使用。
        点提示:点提示包括将选中的点与从第一阶段获得的各种掩码相匹配。目标是确定点所在的掩码。与SAM类似,使用前景/背景点作为提示符,在前景点位于多个掩码的情况下,背景点可以用来过滤掉与手头任务无关的掩码。通过使用一组前景/背景点,能够在感兴趣的区域内选择多个掩码。这些掩码将合并为一个掩码,以完全标记感兴趣的对象。此外,还利用形态学操作来提高掩码合并的性能。
        框提示:框提示包括将选中的框与第一阶段的各种掩码对应的边界框之间执行IoU匹配。目的是通过选定的框识别IoU得分最高的掩码,从而选择感兴趣的对象。
        文本提示:文本提示选择使用CLIP模型提取文本的相应文本嵌入,然后确定各自的图像嵌入,并使用相似度度量将其与文本提示符的图像嵌入相似度最高的掩码的内在特征相匹配。

三、实验流程

        首先分析FastSAM的运行时效率,目标是测试FastSAM和SAM在功能上的相似性。然后,我们用四个零任务进行实验,以及实际场景中的应用程序、效率和部署。(1)低级:边缘检测,(2)中级:对象建议生成,(3)高级:实例分割,最后(4)高级:使用自由格式文本输入分割对象。我们的实验还进一步验证了FastSAM在实际应用和速度方面的能力。

        实现细节:除特别说明外,以下条件适用:(1)FastSAM采用YOLOv8-x模型作为其架构的主要部分,输入大小为1024;(2) FastSAM的训练在SA-1B数据集的2%上进行;(3)我们使用默认的超参数设置训练模型100 epoch,除了边界框回归模块中的reg max从16更改为26以预测大型实例。

        FastSAM与SAM的比较分析:如下图所示,(a)单个NVIDIA GeForce RTX 3090上FastSAM和SAM的速度比较。(b)在BSDS500数据集上的边缘检测比较。(c) Box AR@1000对COCO数据集上的FastSAM和SAM进行目标建议的评估。在AR1000下实现了63.7,比在32× 32点提示输入下的SAM高1.2分,但在单个NVIDIA RTX 3090上运行速度快50倍。

 1. 运行时效率评估     

 下表报告了SAM-H、SAM-B两种版本和FastSAM在单个NVIDIA GeForce RTX 3090 GPU上六种提示符(包括三种点提示和三种框提示)下的参数量和运行速度。可以看出,FastSAM在所有提示数上都超过SAM,且FastSAM的运行速度不会随着提示符的变化而变化。FastSAM实现了与SAM相当的性能,运行速度比SAM (32×32)快50倍,比SAM (64×64)快170倍。

2. 各方面性能对比

2.1 zero-shot边缘检测

        使用BSDS500数据集对边缘检测的基本低级任务进行评估。从FastSAM的全实例分割阶段的结果中选择掩码概率图,然后对所有掩码概率图进行Sobel滤波生成边缘图。最后,以边缘NMS步骤结束。
        结果:如下图所示,通过定性观察,可以明显看出,尽管FastSAM的参数明显更少(只有68M),但它产生了一个总体上很好的边缘图。与标注数据ground truth相比,FastSAM和SAM都倾向于预测更多的边,包括一些在BSDS500中没有注释的逻辑边。如下表所示,使用SAM获得了类似的性能,特别是更高的R50和更低的AP。
        指标:
        
ODS(optimal dataset scale):称为全局最佳、固定轮廓阈值,数据集固定比例 、检测指标数据集尺度上最优,简单说就是为所有图像设置同样的阈值,即选取一个固定的阈值η应用于所有图片, 使得整个数据集上的F-score最大;
        OIS(optimal image scale):称为单图最佳、每幅图像的最佳阈值、图片尺度上最优,简单说就是在每一张图片上均选取不同使得该图片F-score最大的阈值η。
        AP:平均准确率,是PR曲线的积分(即PR曲线下方的面积)。由于PR曲线很难积分,通常在PR曲线上采样求均值。

2.2 zero-shot目标候选框生成

        长期以来,目标候选框生成一直是许多计算机视觉任务的基本预处理步骤,RCNN系列目标检测方法采用了选择性搜索方法,而最近提出的开放世界检测器UniDetector采用了OLN方法。虽然RPN被大多数现有的对象检测器所使用,但它只能生成学习类别的对象建议,限制了它在开放词汇识别任务中的应用。因此,zero-shot目标候选框生成是非常重要的。
        直接使用FastSAM第一阶段生成的边界框作为目标候选框。为了评估性能,按照现有的评估策略,在LVIS和COCO数据集上进行了测试。除此之外,根据SAM的实验设置,还使用第一阶段的全实例掩码来测试掩码建议的准确性。FastSAM和SAM采用的是zero-shot,即它没有经过对象建议生成的训练,也没有访问LVIS图像或注释。
        结果:
        
下表给出了在COCO验证集上各种方法的平均召回率(AR)。
        其中,EdgeBoxes、Geodesic、Sel.Search和MCG是不需要训练的方法;DeepMask和OLN-Box是在COCO训练集中对VOC类别进行训练的监督方法,然后在所有类别上进行测试。相比之下,SAM和FastSAM实现了完全的zero-shot转移。从表中可以看出,SAM和FastSAM在AR10精度上不如之前的有监督方法,如OLN。然而,在AR1000中,我们的方法明显优于OLN。这是因为以前的方法是在COCO中对某些类别进行训练的,导致在推理过程中对这些类别有更高的置信度。然而,由于SAM和FastSAM都是zero-shot,这导致不同类别之间的置信水平平衡,从而召回了COCO中不存在的更多类别
        更多的比较可以在下图中看到。


        下表报告了VitDet-H、SAM和FastSAM在LVIS v1数据集上的bbox AR@1000结果。
        FastSAM大大超过了计算最密集的SAM模型SAM-H E64,超过5%。然而,与在LVIS数据集上训练的VitDet-H相比,它存在不足。产生这些结果的原因是在我们的训练过程中,我们使用了真实框信息作为监督信号,而SAM只使用掩码作为监督信号,其推理时的bbox是通过从掩码中提取外框来生成的。

        下表报告了VitDet-H、SAM和FastSAM在LVIS v1数据集上的mask AR@1000结果。
         FastSAM的掩码候选框生成在Recall上相对较低,这主要是由于FastSAM对小尺寸对象的分割掩码不够好。

2.3 Zero-Shot实例分割

        与SAM方法类似,FastSAM利用ViTDet生成的边界框(bounding box, bbox)作为提示符来完成实例分割任务。选择具有最高交集/联合(IoU)的掩码,bbox作为预测掩码。
        结果:如下表所示,在此任务中,FastSAM未能实现高AP。推断这主要是因为分割掩码精度或基于框的掩码选择策略。完全监督的ViTDet优于SAM,但在高质量的LVIS掩模上差距缩小

2.4 带有文本提示的Zero-Shot目标定位

        通过自由格式文本分割对象。本实验旨在展示FastSAM处理类似SAM的文本提示的能力。与SAM不同的是,FastSAM不需要修改培训程序。它直接通过CLIP的文本编码器运行文本,然后使用生成的文本嵌入在推理时找到最相似的掩码
        结果:如下图所示,FastSAM可以根据文本提示很好地分割对象。然而,文本到掩码分割的运行速度并不令人满意,因为每个掩码区域都需要输入到CLIP特征提取器中。如何将CLIP嵌入提取器结合到FastSAM的骨干网中,仍然是一个关于模型压缩的有趣问题。

3. 现实世界的应用

        评估FastSAM在不同应用场景中的性能,并分析其优点和局限性。我们展示了使用点提示、框提示和一切模式的FastSAM分割的可视化,并将其与SAM和ground truth进行比较。

3.1 异常检测

        使用MVTec AD数据集进行评估。
        如下图所示,FastSAM几乎可以分割与SAM相似的所有区域,但与SAM相比精度较低。此外,FastSAM背景掩码并没有完全覆盖整个背景。

3.2 显著目标分割

        使用ReDWeb-S数据集进行评估。
        显著目标分割的目的是从图像中分割出最引人注目的对象,这个任务是类不可知论的。如下图所示,FastSAM与SAM只有很小的区别,因为它分割的与任务无关的背景物体较少。通过点引导选择,FastSAM与SAM分割结果基本一致,只是在边缘处丢失了少量细节。通过框提示选择,一个边框无法选择多个对象。

3.3 建筑提取

        使用 【Fully convolutional networks for multisource building extraction from an open aerial and satellite imagery data set】提出的数据集进行评估。
        如下图所示,FastSAM在分割规则形状物体方面表现良好,但与SAM相比,与阴影相关的区域分割较少。在FastSAM-point的阴影区域中定位一个点。然而,在此基础上合并仍然可以获得建筑物的正确掩码。这表明我们的方法可以在一定程度上抵抗噪声的干扰。

3.4 大型目标生成

        FastSAM运行速度快使其成为工业应用的一个很好的选择,如道路障碍物检测,视频实例跟踪和图像处理。在一些图像上,FastSAM甚至可以为大型目标生成更好的掩码,如下图所示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值