文章链接:
亮点直击
Segment Anything Model (SAM) 是一款基础模型,公用于图像宰割义务,以其在多样运行中的弱小泛化才干而知名。但是,它的出色性能随同着清楚的计算和资源需求,这使得在资源有限的环境(如移动设备)中启动部署变得具备应战性。为了处置这个疑问,曾经提出了多种 SAM 变体,以提高效率而不就义准确性。
本综述初次片面回忆了这些高效的 SAM 变体。咱们首先讨论推进该钻研的动机,而后引见 SAM 和模型减速中经常使用的**技术。接上去,深化剖析各种减速战略,并按方法启动分类。最后,提供了对这些方法的一致和片面的评价,评价它们在代表性基准上的效率和准确性,并对它们的全体性能启动明白比拟。
1 引言
基础模型的发生曾经彻底扭转了人工智能(AI)畛域。基础模型是大型神经网络,在海量数据上启动预训练,具备弱小的示意才干和出色的泛化才干,能够在各种义务中体现出色。在人造言语处置(NLP)畛域,最近盛行的钻研趋向是大型言语模型(LLMs),如OpenAI的GPT系列、Google的PaLM系列和Meta的LLaMA系列等,这些模型取得了清楚的开展。同时,视觉转换器(ViT)的成功初次将转换器架构引入计算机视觉(CV)畛域,为视觉基础模型(VFM)开拓了新纪元。像CLIP、LLaVA和Video-ChatGPT等视觉-言语基础模型旨在对齐视觉和言语模态,在泛滥下游视觉义务中体现出色。
最近,Meta提出了一种新型的基础模型,用于通用图像宰割,即 Segment Anything Model (SAM) 。SAM 齐全在他们提出的 SA-1B 数据集上启动训练,该数据集蕴含超越十亿个mask和一千一百万张图像,旨在经过任何揭示(例如点、框、mask和文本)成功有效的宰割。SAM 能够很好地泛化到宽泛的下游义务(如边缘检测、目的提议和实例宰割),只要提供适当的揭示。SAM 的发生惹起了钻研界的宽泛关注,并催生了少量关系上班,探求 SAM 在各种场景中的泛化才干,包括不同的图像宰割义务、视频剖析义务和 3D 视觉义务。随着 SAM 的庞大成功,更新版的 Segment Anything Model 2 (SAM 2)
虽然 SAM 在宽泛运行中取得了成功,原始的 Segment Anything Model (SAM),特意是 SAM-H,由于运转速度慢和计算老本高面临清楚的局限性。在资源受限或实时环境(如边缘设备和移动运行)中部署 SAM 时,这些应战尤为清楚。随着对在实践资源受限场景中部署机器学习模型的需求始终参与,SAM 的设计在宽泛经常使用中显得效率低下。这造成了对更轻量级、高效变体的迫切需求,这些变体可以在满足模型弱小宰割才干的同时应答这些限度。优化 SAM 以提高效率的应战进一步加剧,由于在实时运行、移动平台和嵌入式系统中对计算资源的需求越来越高。随着钻研界致力克制这些阻碍,片面了解在提高 SAM 效率方面的最新停顿变得至关关键。因此,展开一项详细的考查,以钻研提高 SAM 效率和裁减其在多样环境中的实用性的致力,是及时且必要的。
随着与 SAM 关系的钻研始终参与,已有若干考查从不同角度提供了概述。但是,这些现有的考查关键集中在 SAM 的下游运行上,并存在几项 局限性 :
为了处置这些无余,本文展开了本次考查,旨在片面回忆高效 Segment Anything 模型的开展,并公平地评价和比拟它们。
本考查的其他部分组织如下。在第2节中,咱们首先引见原始 SAM 的背景,而后回忆可以运行于提高 SAM 效率的高效视觉示意主干和模型紧缩技术。在第3节中,咱们依据目的和技术对现有方法启动分类,详细回忆每个类别。咱们还讨论了进一步减速 SAM 的几个潜在钻研方向。在第4节中,咱们对这些模型在效率、准确性和相应的掂量方面启动偏心评价。最后,在第5节中,咱们简明总结了本次考查。
2 初步概述
2.1 Segment Anything Model
Segment Anything Model (SAM) 是图像宰割畛域中的一个弱小基础模型,旨在经过基本的可揭示宰割义务,应用揭示工程来一致各种宰割义务。该名目的一个清楚奉献是 SA-1B 数据集,该数据集蕴含来自 1100 万张经过容许和隐衷包全的图像生成的超越 10 亿个masks。在如此丰盛和高品质的数据上启动训练,SAM 展现出弱小的鲁棒性和泛化才干。SAM 的庞大后劲迅速惹起了钻研人员对探求其在宽泛事实运行中的才干以及改良其架构以成功更高效或更准确宰割的兴味。
最近, Segment Anything Model 2 (SAM 2) 被提出作为继任者,专一于高效的可揭示视觉宰割 (PVS),实用于图像和视频。为了使 SAM 2 能够在视频中宰割任何内容,钻研人员在 SAM 的原始架构中引入了流式记忆机制。SAM 2 驳回两阶段训练:
与 SAM 相似,钻研人员开发了一个数据引擎,以创立一个用于视频宰割的大规模数据集,命名为 SA-V 数据集。该数据集最终搜集了 50,900 个视频中的 642.6K 个mask(视频中的对象宰割)。在本次考查中,将 SAM 2 视为高效的 SAM 变体,并将其归入评价和比拟中。
2.1.1 模型
SAM 由三个关键组成部分构成:图像编码器、揭示解码器和mask解码器,如下图 1(a) 所示。图像编码器是一个经过庞大修正的 MAE预训练视觉Transformer (ViT)。它将预处置后的图像作为输入,并为每张图像输入一个图像嵌入。揭示解码器用于嵌入揭示:点、框、mask和文本。这两个嵌入而后输入到轻量级mask解码器,该解码器基于两个修正过的Transformer解码器块和一些预测头,生成有效的mask。
基于 SAM 的架构,SAM 2 额外引入了流式记忆机制。详细来说,这个机制包括一个记忆编码器、一个记忆库和一个记忆留意模块。SAM 2 的结构如上图 1(b) 所示。经过记忆机制,SAM 2 能够逐帧处置视频。记忆编码器生成帧的预测记忆并将其发送到记忆库。记忆库存储最近的预测、揭示帧的特色图以及目的对象的初级语义消息(即对象指针)。记忆留意机制使来自图像编码器的图像嵌入与来自记忆库的消息充沛交互,从而失掉精细化的嵌入。除了记忆机制,SAM 2 还驳回 MAE 预训练的 Hiera作为图像编码器,这比 ViT-H 更高效,预期可以成功更快的速度。
2.1.2 义务
可揭示宰割义务被提出作为 SAM 的基转义务,其目的是依据任何给定的揭示(例如一个点、一个框、一个mask或文本)前往有效的mask。这个义务不只是 SAM 训练环节中的目的,也是使 SAM 能够处置各种下游义务的基础。另一个关键义务是全mask生成,它会对图片中的一切对象启动宰割。经过经常使用点网格对 SAM 启动揭示,并依据这些浓密的揭示预测mask来成功。全mask生成也是数据引擎最后阶段中的关键步骤,旨在增强 SA-1B 中mask的多样性。如下图 2 所示,可揭示宰割义务称为 Segment Anything (SegAny),而全mask生成义务则称为 Segment Everything (SegEvery)。这两个义务总结了 SAM 的宰割才干,并为优化 SAM 效率指明了两个钻研方向。在本次考查中,咱们遵照这两个定义,讨论基于 SAM 的高效变体在 SegAny 和 SegEvery 义务中的体现。
2.1.3 运行
由于 SAM 及其继任者 SAM 2 在少量零样本下游义务中展现了弱小的泛化才干,钻研界正深化探求它们在更多场景中的运行。
SAM 的一个关键运行畛域是 医学图像宰割 。依据[157]的说法,该畛域的上班可以分为两类。一类旨在测试 SAM 在 CT 图像、MRI 图像、病理图像等中的宰割性能。另一类则专一于经过微调、智能揭示或框架修正来提高 SAM 在这些义务中的顺应性。此外,像[35, 57]这样的钻研试图提高医学 SAM 方法的效率。SAM 还被运行于不共事实场景中的对象检测,包括土木基础设备缺陷评价中的裂痕检测和陨石坑检测,农业中的作物病虫害检测,意外检测和遥感。此外,Segment Anything 已被改编为 Edit Everything、Inpaint Anything和 Caption Anything来处置图像编辑义务。
除了图像宰割义务,SAM 还宽泛运行于各种视频义务。少量钻研集中于两个基转义务:视频对象宰割 (VOS)和视频对象跟踪 (VOT)。钻研人员还探求了 SAM 在生成关系义务中的运行,例如视频超分辨率和视频数据集标注生成。除此之外,SAM 还作为视频编辑义务中的一个两边工具被进一步应用。除了 2D 义务,SAM 还裁减到 3D 视觉畛域。钻研[100]将 SAM 运行于 3D 重建,而钻研[28]则将其运行于 3D 点云宰割。最近的上班[134]旨在实如今线设置下的任何 3D 物体的实时宰割。关于最近提出的 SAM 2,曾经有一些钻研探求其在图像和视频义务中的运行。一个盛行的趋向是将 SAM 2 运行于医学图像和视频义务。像[27, 99, 135]这样的钻研评价了 SAM 2 在 2D 和 3D 模态下医学图像中的体现,而一些其他钻研[75, 140]则测试了其在外科视频宰割义务中的体现。钻研人员还在寻觅更好地将 SAM 2 顺应医学义务的战略。此外,SAM 2 还被运行于一些特定的图像宰割义务,如数字病理语义宰割、网格部件宰割和太阳能电池板宰割。此外,一些钻研[70, 113]应用 SAM 2 在具备应战性的规模化视频对象宰割 (LSVOS) 义务中取得了良好的结果。
2.1.4 局限性
虽然 SAM 在各种义务中体现出色,但在实践运行中仍面临两个关键应战:
为了处置这些疑问,钻研如[49, 54]旨在经过应用高分辨率图像来改善mask品质,而其他钻研[131, 147, 161, 164]则专一于创立更高效的架构,以缩小 SAM 的期间和资源消耗。之前的考查[78, 100, 158]已讨论了提高 SAM 品质结果的最新停顿。在本次考查中,咱们专一于提高 SAM 效率的致力。
2.2 高效主干网络
SAM 的低效关键源于其重量级的图像编码器。SAM 图像编码器的尺寸详见表 1,并在前面小节中提供了 SAM 总参数的进一步预算,比如在 SAM-H 中,ViT-H 图像编码器蕴含大概 632M 个参数,而模型的总大小为 641M,这象征着图像编码器占模型参数的大部分。
即使在最小的变体 SAM-B 中,图像编码器仍占总参数的 90% 以上。因此,极速有效地减速 SAM 的一种方法是用更高效的主干网络交流大型图像编码器。这些高效的主干网络可以包括纯卷积神经网络 (CNN)、高效视觉Transformer架构以及最近的Transformer替代模型[87]。
2.2.1 高效视觉Transformer
提高视觉Transformer效率的致力理论可以分为两种方法:
从结构角度缩小计算老本,MobileViT是一种开创性的混合架构,发明性地将卷积神经网络(CNN)模块(MobileNetV2 模块)与Transformer模块集成到一个模型中。随后,像 [10, 62, 127] 这样的后续上班基本上遵照这个思绪,构建高效的混合结构视觉Transformer,这些Transformer已被宽泛用来替代 SAM 的重型图像编码器。在 [103, 161] 中,TinyViT 作为高效主干网络,而在 [162] 和 [159] 中,EfficientFormerV2 和 EfficientViT区分替代了 SAM 的原始图像编码器。另一个具备影响力的视觉Transformer设计,MetaFormer,将留意力机制形象为一个更宽泛的概念,称为 token mixer,可以经常使用各种 token mixer 成功与Transformer相媲美的性能。最便捷的变种 PoolFormer,经过经常使用池化操作作为 token mixer,而不引入额外的可学习参数,已被用作为 Lite-SAM开发轻量级图像编码器的基础架构。
钻研人员在优化留意力机制方面也取得了清楚停顿。观察到留意力机制中的 softmax 操作清楚参与了全体计算老本。在 EfficientViT 中,提出了一种陈腐的 ReLU 线性留意力机制,以更高效地成功全局感触场。这种高效的主干网络在中被进一步驳回以减速 SAM。留意力机制的改良还在配件层面上启动。FlashAttention经过切片、内核融合和重计算等技术清楚降低了计算老本,并被运行于 SAM 减速上班,以缩小内存需求并提高计算效率。
2.2.2 替代Transformer模型
虽然Transformer目前在言语和视觉畛域占据主导位置,但一些新提出的模型在效率和性能方面显示出了逾越Transformer的后劲。
接授权重关键值(RWKV)模型结合了递归神经网络(RNN)和Transformer的好处,随着序列长度的参与,成功了线性期间复杂度。RWKV 十分适宜处置长序列处置的应战。
为了促成全局消息交互,RWKV 用更高效的 WKV 操作符和输入门控机制替代了传统的具备二次复杂度的留意力机制。这些机制的公式如下:
其中 r, k, v 区分示意接纳的tokens、键和值的移位tokens,W示意权重。RWKV 也已裁减到视觉义务。视觉 RWKV (VRWKV) 模型在效率上体现出与视觉Transformer (ViT) 相当的性能。为了将 RWKV 从一维序列顺应到二维图像,引入了 Q-shift tokens,以在四个方向上融合邻域消息。在 [145] 中,一种基于 RWKV 的 SAM 变体经过驳回混合 MobileNetV2 块 和 VRWKV 块的高效主干,取得了出色的效率体现。
2.3 模型紧缩
模型紧缩涵盖一系列旨在缩小模型大小和计算复杂度的技术,使其在计算资源有限的实践运行中部署大型模型成为必要。模型紧缩和减速的四种关键方法是常识蒸馏、量化、剪枝和低秩合成。
2.3.1 常识蒸馏
常识蒸馏 (KD)最后被引入作为在资源受限环境中部署大型复杂神经网络的处置打算。其**概念是未来自较大、训练良好的模型(老师模型)的常识和表征才干转移到较小、更高效的模型(在校生模型)。
在将 KD 运行于减速 SAM 时,目的是从原始的较大 SAM 中提取常识,并将其教授给更高效的 SAM 类模型。鉴于 SAM 的编码器-解码器架构,KD 理论可以分为两种方法:蒸馏整个 SAM 模型或仅蒸馏图像编码器。大少数上班,如 [84, 103, 117, 147, 159],专一于仅蒸馏高效主干,同时保管原始 SAM 的揭示编码器和掩膜解码器。但是,其他方法,如 [162, 164],旨在经过监视编码器和解码器的输入来蒸馏整个模型。
2.3.2 量化
量化是将模型的高精度权重/激活值 X(例如 32 位浮点数)转换为低精度格局(例如 16 位浮点数、8 位整数)的环节。宽泛经常使用的一种量化函数是平均对称量化,其公式如下:
2.3.3 剪枝
模型剪枝经过消弭冗余的权重或衔接来缩小模型的大小和复杂性,同时尽量坚持精度。剪枝方法理论分为两种类型:结构化剪枝和非结构化剪枝 。结构化剪枝依据特定规范以组的形式删除参数,系统性地针对通道、层或块等子结构。相比之下,非结构化剪枝则专一于单个权重,理论造成稀疏和碎片化的网络。但是,由于残余网络结构的不规定性,非结构化剪枝或许在普通配件上并未带来有效的减速。在 [18] 中,运行结构化剪枝来减轻 SAM 的重量,经过移除少量冗余权重清楚缩小了模型的大小,同时保管了大部分 SAM 的才干。
2.3.4 低秩合成
3 SAM 的高效变体
本节回忆了自 SAM 遭到关注以来,为开发轻量级高效的 SAM 类模型所做的致力。这些上班旨在降低模型的高计算老本并成功高效性能,同时坚持 SAM 弱小的宰割才干和泛化才干。正如前面所述,SAM 处置了两个关键义务,包括 Segment Anything (SegAny) 和 Segment Everything (SegEvery)。因此,咱们区分讨论旨在改良每个义务的钻研:首先,关注减速 SegAny 义务,而后涵盖减速 SegEvery 义务的致力。值得留意的是,一些方法实用于这两个义务,将独自讨论这些奉献。此外,依据所驳回的技术将一切模型分类,并在下图 3 中出现方法论的分类。最后,概述了该畛域未来钻研的四个潜在方向。
3.1 减速 SegAny 义务
正如前面所剖析的,SegAny 义务的关键瓶颈在于 SAM 的庞大架构。一种间接的处置打算是用更高效的主干交流编码器。或许,驳回坚持与 SAM 相反宰割才干的不同架构也是一种方法。遵照这些战略的上班要么触及齐全从头开局训练轻量级模型,要么经常使用适宜的监视启动常识蒸馏训练模型。此外,一些钻研探求量化、剪枝或部分优化等方法,以间接紧缩 SAM,而不交流编码器或构建新架构。
3.1.1 从头开局训练
本小节聚焦于齐全从头开局训练 SAM 变体的上班。依据它们的架构,这些模型可以分为两种类型:与 SAM 架构不同的架构和相似 SAM 的架构。咱们将依照这种分类详细讨论每种类型。
FastSAM 是第一个不依赖于 SAM 原始编码器-解码器架构的 SAM 变体之一。为了成功更快的宰割,它将 SegAny 义务分为两个子义务:全实例宰割和基于揭示的选用。由于实例宰割已被许多基于 CNN 的方法有效处置,FastSAM 提供了比基于Transformer的 SAM 更高的效率。关于实例宰割,FastSAM 驳回 YOLOv8-Seg 模型,并经常使用 YOLACT 方法来优化性能。FastSAM 可以经常使用点、框或文本作为揭示,牢靠地预测感兴味的物体。除了减速 SegAny 义务外,FastSAM 还在 SegEvery 义务中体现出色,由于这可以与全实例宰割高效地成功。但是,作为 SAM 的早期高效变体,FastSAM 依然存在一些局限性,例如对较小物体生成低品质mask和生成边界不够平滑的mask。虽然存在这些缺陷,FastSAM 经过在该畛域引入基于 CNN 的架构标记着清楚的停顿。FastSAM 的架构如下图 4 所示。
基于 FastSAM 中 CNN 成功运行的基础,Varadarajan 等人引入了 SqueezeSAM,进一步用 U-Net 结构交流了 SAM 的基于Transformer的架构。U-Net 由用于特色提取的编码器和用于消息复原的解码器组成。SqueezeSAM 保管了普通的 U-Net 架构,但在 U-Net 的最低尺度处参与了两个Transformer层,以在速度和准确性之间取得平衡。此外,SqueezeSAM 还具备几个微观级别的优化,例如将输入通道限度在 256,经常使用 BatchNorm替代 LayerNorm以提高效率,并在编码器和解码器之间引入腾跃衔接。
SqueezeSAM 的一个共同应战在于处置揭示。与 SAM 在解码阶段经常使用揭示tokens不同,SqueezeSAM 驳回了早期融合战略,将编码的揭示作为额外输入通道,参与到输入编码器之前。该模型经常使用 SA-1B 数据集从头开局训练,数据增强技术用于处置低品质数据疑问。SqueezeSAM 关键设计用于摄影运行的部署,其中须要高效的交互式宰割。如图 5 所示,其上班流程包括生成清楚物体的初始mask,而后经过用户点击启动精细宰割。
EfficientSAM并没有引入全新的网络,而是保管了 SAM 的原始架构,但交流了图像编码器。他们经常使用 ViT-tiny 或 ViT-small 作为轻量级编码器,并应用基于 SAM 的 Masked Image (SAMI) 预训练战略从头开局从新训练。SAMI 是从 Masked AutoEncoder (MAE) 框架适配而来,该框架最后用于预训练 SAM 的原始图像编码器。SAMI 遵照编码器-解码器管道:编码器从未遮罩的图块中生成潜在特色示意,而解码器则重构遮罩图块的缺失嵌入。这个环节由重构损失监视,比拟 SAM 的 ViT-H 编码器生成的嵌入与 SAMI 管道生成的嵌入。预训练成功后,轻量级编码器从 SAMI 管道中提取并与 SAM 的其他组件集成,构成 EfficientSAM。最后一步是对整个模型在 SA-1B 数据集上启动微调,以进一步对齐和细化。SAMI 是一种通用的预训练方法,可以运行于训练任何用于 SAM 变体的主干。SAMI 和 EfficientSAM 的全体结构如下图 6 所示。
Xu 等人提出了 RAP-SAM,该模型旨在实事实时的通用宰割,包括全景宰割 (PS)、视频实例宰割 (VIS) 和交互式宰割(相当于 SegAny 义务)。RAP-SAM 保管了 SAM 的基本编码器-解码器架构,但结合了更高效的组件以增强性能。关于编码器,RAP-SAM 结合了特色金字塔网络 (FPN) 和可变形卷积 来从图像和视频中提取特色,同时经常使用揭示编码器嵌入视觉揭示。在解码器中,RAP-SAM 驳回三阶段管道,应用陈腐的基于池化的灵活卷积来细化masktokens。每个阶段生成的tokens以及来自编码器的特色图作为输入。首先,这些输入经过灵活卷积处置,而后应用多头自留意力 (MHSA) 和前馈网络 (FFN) 启动细化。在解码器之后,额外引入两个揭示适配器,以增强视觉揭示和宰割tokens之间的交互。最终mask是经过计算更新后的tokens和更新后的揭示之间的内积生成的。RAP-SAM 的架构如下图 7 所示。
最近,Ravi 等人引入了 Segment Anything Model 2 (SAM 2),这是对原始 SAM 的裁减。SAM 2 的目的是在图像和视频中提供高品质、实时的可揭示宰割。在图像宰割义务中,SAM 2 报告显示其准确性更高,并且效率比原始 SAM 提高了 6 倍。这一清楚停顿关键归功于其高效的图像编码器 Hiera,这是一种分层 ViT,经过去除冗余组件并应用 MAE 框架启动训练,从 MViTv2 中简化而来。Hiera 是一种精简的、纯Transformer基础的架构,在图像和视频义务中运转速度更快,准确性更高。
3.1.2 基于常识蒸馏的方法
从前面图 3 所示的分类法中,咱们观察到许多方法应用常识蒸馏,由于这种方法理论比齐全模型训练须要更少的期间和资源。在本节中,咱们回忆驳回高效主干作为图像编码器,同时应用常识蒸馏启动训练的 SAM 变体。咱们依据编码器类型将这些模型分为三类:具备 (i) 轻量级 ViT 编码器、(ii) 纯 CNN 编码器和 (iii) 修正过的留意力编码器的模型。咱们将依次引见每个类别。
(i) 轻量级 ViT 编码器 Zhang 等人初次尝试用更高效的 TinyViT 交流 SAM 的重型 ViT 编码器,构成名为 MobileSAM 的集成模型。如 [55] 所强调,训练 SAM 从头开局须要多天和 128 个 GPU。MobileSAM 将这一复杂性归因于同时优化编码器和解码器的应战。为了处置这个疑问,他们提出了一种仅编码器蒸馏战略,如下图 8 所示,旨在将 ViT-H 的视觉示意才干转移到 TinyViT。所经常使用的损失函数是两个编码器的输入图像嵌入之间的便捷均方误差 (MSE)。进一步微调揭示编码器或mask解码器是可选的,并且可以提高准确性。
与 MobileSAM 相似,起初的 ESAM应用 EfficientFormerV2作为其主干,旨在在 CPU 环境中改善性能,特意是在资源有限的医疗设备上。鉴于专家模型在医疗运行中理论优于 SAM,ESAM 驳回了一种陈腐的常识蒸馏 (KD) 战略,称为全体常识蒸馏 (HKD),以将常识从专家模型转移到 ESAM。HKD 包括两个组成部分:特色图蒸馏和输入mask蒸馏。关于特色图蒸馏,结合了三种不同的聚焦方法 来指点学习环节。关于输入mask蒸馏,ESAM 经常使用老师mask和在校生mask之间的均方误差 (MSE) 损失,辅以老师mask和实在mask之间的二元交叉熵 (BCE) 损失。为了进一步对齐专家模型和 ESAM 之间的特色图,提出了一种老师疏导模块 (TGM),如下图 9 所示。
Shu 等人对 MobileSAM 启动了剖析,发现仅编码器蒸馏或许造成清楚的性能降低。为了处置这个疑问,他们提出了更有效的全阶段常识蒸馏战略,称为 Hard Mining Full-Stage Knowledge Distillation,如下图 10 所示。
TinySAM 是一个新的 SAM 变体,其结构与 MobileSAM 相反,经过这种改良的 KD 战略启动训练。详细而言,该战略不只监视图像嵌入,还监视输入tokens和输入mask,均经常使用 L1 损失。为了进一步增强蒸馏环节,他们引入了艰巨mask加权战略,该战略对更难预测的mask调配更大的权重,从而提高学习效率。因子 H 的计算如下:
(ii) 基于 CNN 的编码器
来自 NVIDIA 的钻研人员基于 MobileSAM 引入了一种新的 SAM 变体,称为 NanoSAM。它旨在在 NVIDIA Jetson Orin 平台上实事实时性能,经常使用 NVIDIA TensorRT。NanoSAM 将基于 ViT 的编码器交流为纯卷积网络,详细为 ResNet18,同时保管了 MobileSAM 的其他组件。NanoSAM 从 MobileSAM 中启动蒸馏,两个模型都经常使用 TensorRT 启动从新训练以优化性能。MobileSAM 的图像编码器经常使用 FP32 精度启动优化,而 NanoSAM 的图像编码器则经常使用 FP16 精度以成功更快的口头。在 Jetson Orin Nano 和 Jetson AGX Orin 上的推理提前结果标明,NanoSAM 比 MobileSAM 快 5 倍,且准确性损失最小。
Wang 等人 开发了一种高效的 SAM 变体 RepViT-SAM,经常使用他们新提出的基于 CNN 的主干 RepViT作为图像编码器。RepViT 面前的**理想是将高效视觉Transformer (ViTs) 的有效设计准则集成到轻量级 CNN 中。这些设计准则运行于三个档次:块级、微观和微观。在块级,RepViT 分别了tokens混合器和通道混合器,缩小了裁减比,并参与了块的宽度。在微观设计中,驳回早期卷积作为输入干,深化下采样层 ,驳回更便捷的分类器,并调整各个阶段的块比例。在微观层面,仅经常使用 3x3 卷积,并且仅在奇数块中运行挤压与处罚层。RepViT-SAM 经常使用常识蒸馏启动训练,遵照 [147] 中的相反流程,与 MobileSAM 相比,推理速度提高了 10 倍。
与 RepViT-SAM 的开发同时,Zhou 等人观察到,MobileSAM在边缘设备(如手机)上部署时仍难以实事实时性能。为了处置这个疑问,他们引入了 EdgeSAM,该模型将基于 Transformer 的编码器交流为更轻量高效的纯 CNN 基础的 RepViT,旨在提高在资源有限设备上的性能。与 [162] 中的方法相似,Zhou 等人以为仅经常使用编码器蒸馏是不够的,由于它与义务有关,不能齐全捕捉模型的义务特定需求。为了克制这一疑问,他们提出了“循环中的揭示蒸馏”方法,为输入mask参与额外的监视。“循环中的揭示”是指一种灵活采样战略,迭代地从老师和在校生预测mask的非堆叠区域中采样新揭示。经过若干次迭代,累计损失被反向流传以更新编码器和解码器。为了进一步提高输入品质,EdgeSAM 提供了一个可选模块,从特定数据集中嵌入粒度先验。EdgeSAM 的蒸馏全体框架如下图 11 所示。
(iii) 修正过的留意力编码器
Zhang 等人引入了 EfficientViT-SAM,应用 EfficientViT作为图像编码器。EfficientViT 的关键好处是经常使用了 ReLU 线性留意力机制,该机制促成了全局消息交互,同时提高了配件效率。经过消弭不利于配件的 softmax 操作并用 ReLU 替代,留意力计算从新公式化如下:
Shen 等人引入了 FastSAM3D,这是一个专门为 3D 体积医学图像设计的高效宰割模型。该上班的关键奉献是开发了 3D 稀疏闪存留意力机制。这种陈腐的留意力方法结合了 3D 收缩留意力 裁减感触野)的好处和 FlashAttention以减速计算。FastSAM3D 经常使用修正过的 ViT-Tiny 作为图像编码器,从 ViT-Base 编码器蒸馏而来,确保在不斗争性能的状况下成成效率。作者成功了一种层级渐进蒸馏战略,以迭代地对齐两个编码器之间的特色图。
Yuan 等人的最新钻研 RWKV-SAM,在减速 SAM 方面代表了一个关键停顿,引入了盛行的线性留意力模型作为高效主干。在他们的钻研中,他们比拟了基于 RWKV 和 Mamba 的架构,选用基于 RWKV 的方法构建 SAM 的轻量版本。该主干是混合设计,前两层由来自 [97] 的移动卷积块组成,最后一层经常使用视觉 RWKV 块构建。有关 RWKV 的更多细节见第 2.2.2 节。此外,SAM 类架构中还归入了一个细化模块,经过融合每个阶段生成的不同档次的特色来增强mask品质。RWKV-SAM 的全体架构如下图 12 所示。该模型经常使用“蒸馏-微调”战略启动训练,首先将 SAM-H 中的常识蒸馏到主干,而后对整个模型启动微调。RWKV-SAM 显示出清楚的效率优化,同时坚持与 SAM 相当的宰割性能。
3.1.3 基于量化的方法
3.1.4 基于剪枝的方法
Chen 等人首先开发了一种有效的剪枝战略,以缩小 SAM 的规模和复杂度,失掉的模型称为 SlimSAM。如第 2.3.3 节所述,剪枝算法旨在以结构化或一般的形式删除冗余参数。在运行于 SAM 的重型编码器时,初始步骤触及预计权重和激活值的关键性,以确定哪些应被剪枝。评价关键性的**理想是评价给定参数有无的损失差异。SlimSAM 引入了扰动泰勒关键性方法,该方法经常使用一阶泰勒展开来近似参数的关键性,并引入高斯噪声N以防止梯度变为零。这个环节被公式化如下:
一旦参数的关键性被预计,便驳回一种称为交替剪枝的战略来口头结构化剪枝和后对齐。基于 ViT 的编码器首先被分为两个子结构:嵌入层和瓶颈层。该战略在修剪嵌入/瓶颈层以减小模型规模和对齐瓶颈/嵌入层以坚持模型品质之间交替启动,确保效率与性能的平衡。该环节的上班流程如下图 13 所示。
3.1.5 代码重构
由 PyTorch 团队开发的 Segment Anything Fast 模型(SAMfast)是 SAM 的重写版本,应用了纯原生 PyTorch 的优化。报告显示,SAMfast 比原始成功快 8 倍,同时坚持简直相反的准确性。这一改良是经过系统地识别瓶颈并运行针对性的优化成功的。最后,团队发现了造成同步阻塞的长函数调用,从而重写了相应的代码。另一个清楚的瓶颈是耗时的矩阵乘法,经过经常使用 bfloat16 精度来减轻这一疑问。启动这些调整后,团队应用
torch.compile
融合更小的操作,并驳回 PyTorch 的缩放点积留意力(SDPA)来减速 GPU 上的留意力计算。此外,经过集成经常使用 Triton 构建的新内核,进一步缩小了 GPU 的内存经常使用。当 SAM 经常使用批量预测方法时,不同大小的输入张量被一致为 NestedTensors,从而清楚提高了吞吐量。虽然启动了这些优化,矩阵乘法依然是一个关键瓶颈。为了处置这个疑问,团队成功了 int8 量化,并经常使用半结构稀疏性来近似矩阵乘法。有关逐渐优化环节的更多细节,倡导检查官网博客以失掉更多消息。
3.2 减速 SegEvery 义务
如第 3.1 节所述,SegAny 义务的关键效率瓶颈在于重型图像编码器。任何具备更轻量架构的 SAM 变体在实质上都能比原始 SAM 更快地启动宰割。但是,正如 Zhang 等人剖析的那样,SegEvery 义务的关键应战源于密集网格采样战略。该战略首先基于点网格预测少量mask,而后选用有效mask,这在计算上是低廉的。因此,设计一种更高效的采样战略以缩小预测mask的数量已成为减速 SegEvery 义务的**方法。另一种潜在处置打算是将 SegEvery 义务转换为另一个成熟的义务,例如全实例宰割,正如 FastSAM 所做的那样。在这一部分中,咱们将回忆专门提出优化采样战略以减速 SegEvery 义务的关系上班。
基于 SAM 的结构,Zhang 等人 提出了一个面向对象的揭示采样战略,以增强 SegEvery 义务的效率。这个名目名为 MobileSAMv2,独立于他们之前的上班,后者专一于减速 SegAny 义务。在 MobileSAMv2 中,钻研人员经常使用训练在 SA-1B 小子集上的 YOLOv8 模型启动对象发现。该模型生成少量对应于潜在对象的边界框。经过非极大值克制(NMS)过滤高度堆叠的框,残余的框作为框揭示经常使用。经过经常使用这些过滤后的框作为揭示,MobileSAMv2 消弭了过滤预测mask的须要——这是一个耗时更长的环节。最大揭示数设置为 320,新战略被报告为比传统的 32*32 网格采样战略快 16 倍。此外,MobileSAMv2 可以与 MobileSAM 集成,以创立一个一致模型,在 SegAny 和 SegEvery 义务中成功高效率。
Shu 等人观察到,经常使用密集点网格(例如,3232,6464)往往会生成少量冗余mask,这些mask在后处置环节中被过滤掉,这一操作会带来清楚的期间老本。实践上,网格中只要少数点即可生成置信度高的mask。为了处置这一低效疑问,他们提出了一种分层高效采样战略,逐渐选用用于mask生成的最佳点。该战略触及两轮揭示生成。在第一轮中,经常使用稀疏网格,只包括每边自动点的四分之一(约 1/4)。基于这些点生成mask,经过过滤后,仅保管高置信度mask作为最终预测。在第二轮中,运行更密集的网格,遵照自动性能。但是,位于已被高置信度mask笼罩区域的点被扫除,从而清楚缩小点的数量。两轮的预测结果随后被融合以生成最终输入。这一分层战略的流程如下图 14 所示。经过驳回这种两轮方法,采样环节变得愈加节俭期间和粗疏,从而在 SegEvery 义务中清楚减速,同时性能降低最小。
与前述一切上班不同,Fu et al.提出了一个专门为 SegEvery 义务设计的端到端训练管道,旨在开发一个能够更高效地启动全局宰割的 SAM 变体。他们的模型名为 Lite-SAM,保管了原始 SAM 的全体架构,但用更轻量化的处置打算交流了重型图像编码器。Lite-SAM 的架构概述如下图 15 所示。
Lite-SAM 驳回了一种称为 Lite-ViT 的 CNN-Transformer 混合结构,由 2、2、6 和 2 个 Lite-ViT 模块构成。Lite-ViT 的关键翻新在于多尺度池化模块 (MSPM),该模块作为传统留意力机制的替代打算。MSPM 从 PoolFormer 模块 适配而来,应用通道层归一化并将池化操作裁减到多个尺度。正如前面所讨论的,SAM 的另一个关键瓶颈在于耗时的网格采样战略。为了处置这个疑问,Lite-SAM 引入了一种智能揭示提议网络(AutoPPN)以提高采样效率。AutoPPN 以编码器生成的特色图作为输入,间接预测点和框揭示。为了确保高品质的揭示,Lite-SAM 经常使用了比 CNN 更弱小的基于 MSPM 的网络,并结合距离变换来预计点揭示的置信度。虽然 Lite-SAM 关键设计用于减速 SegEvery 义务,但由于其轻量化的图像编码器,它在 SegAny 义务中也显示出更高的效率。
3.3 未来钻研方向
经过对高效 SAM 变体的片面回忆,咱们概述了减速 SAM 的停顿。但是,依然存在进一步探求和翻新的时机。以下是几个潜在的未来钻研方向,提供初步见地,宿愿能够处罚读者为该畛域的继续开展做出奉献。
3.3.1 探求先进的架构
虽然的 SAM 变体经过驳回高效架构和模型紧缩技术展现了效率优化,但仍有很大的改良后劲。探求 Transformer 替代模型,如 Mamba、RetNet、KAN和 TTT,为设计更轻量化和高效的结构提供了令人兴奋的时机。这些模型或许在计算效率方面具备好处,同时不就义宰割准确性。除了替代模型外,进一步优化图像编码器和mask解码器中留意力机制的效率也是至关关键的。诸如线性留意力、低秩合成或结合卷积和基于留意力的设计的混合架构等方法应进一步钻研。处置计算和内存经常使用中的瓶颈将增强 SAM 在不同配件环境中的部署才干。
3.3.2 应用稀疏性和减速技术
在深度神经网络中观察到的固有稀疏性,即只要一部分参数对模型输入发生清楚奉献,提供了提高 SAM 效率的有宿愿的路径。剪枝、量化和结构稀疏等技术可以进一步降低 SAM 的计算需求。虽然在 [18] 中的初步稀疏化致力已显示出成功,但未来的钻研可以集中无了解 SAM 架构中稀疏性的散布和灵活个性上。这包括钻研可以在不影响性能的状况下被剪枝或稀疏化的 SAM 最优层或组件。此外,稀疏留意力机制、推理环节中的灵活剪枝以及低精度训练等技术应被探求,以在大型部署中平衡准确性和效率。经过将这些与先进的常识蒸馏技术结合,或许成功更紧凑、高效的 SAM 变体。
3.3.3 配件特定优化
对 SAM 启动针对特定配件平台的优化,包括 GPU、TPU、专业 AI 减速器(例如 NVIDIA 的 TensorRT 或 Google 的 Edge TPU)以及边缘设备,可以清楚优化性能和效率。配件感知模型优化技术,如操作符融合、量化感知训练和自定义 CUDA 内核,可以在现代配件平台上最大化吞吐量并降低提前。在边缘设备的高低文中,由于面临存储、计算才干和能量供应的极其限度,这些优化对实时运行(如无人机或物联网设备上的宰割)至关关键。未来的钻研可以探求分层云-边缘架构,将计算密集型义务卸载到云端,同时在边缘设备上运转轻量级模型。此外,应用公用 AI 配件(如现场可编程门阵列 (FPGA))或经常使用配件感知的神经架构搜查 (NAS) 和混合精度量化等技术,可以进一步优化 SAM,以成功低提前和资源受限环境中的有效运转,确保模型在不同配件平台上高效运作。
3.3.4 视频和多模态数据的高效宰割
视频和多模态义务处置复杂、灵活的环境,正迅速在泛滥实践运行中取得关系性。虽然一些初步致力,例如 SAM 2用于视频宰割和 MM-SAM用于多模态义务,曾经裁减了 SAM 的实用性,但效率依然是一个迫切疑问。视频数据蕴含期间冗余,而多模态数据理论体现出模态之间的关系性。经过期间聚合和跨模态特色共享等技术应用这些固有的冗余,或许清楚降低计算老本。未来的上班可以集中在应用时空留意力、为期间数据设计高效的内存机制和早期融合技术,以缩小模态特定计算的数量,从而优化 SAM 的运转复杂性。开发能够灵活顺应不同帧或模态冗余水平的框架,可以进一步推进实践运行中的计算效率。
4. 评价
在本节中,咱们系统比拟了前述 SAM 变体的效率和准确性。参考这些上班的试验,咱们选用大少数上班所口头的义务,并在其罕用数据集上启动评价,并经常使用相应的度量规范。咱们的评价在单个 24GB RTX 3090 GPU 和 14 个 vCPU 的 Intel(R) Xeon(R) Gold 6330 处置器 @ 2.00GHz 上启动。以下子节提供更多细节:第 4.1 节引见了用于评价的数据集和度量规范;第 4.2 和 4.3 节区分报告了效率和准确性的定量结果。
4.1 数据集和度量规范
钻研者们选用 COCO 2017和 LVIS v1作为评价数据集。COCO 是一个大规模数据集,旨在用于目的检测、宰割和标注,蕴含 330K 张图像和 150 万个目的实例,笼罩 80 个目的类别。LVIS 针对大词汇实例宰割启动了定制,特色超越 200 万个高品质的宰割掩膜,涵盖 1200 多个类别,在 164K 张图像中。为了启动评价,咱们经常使用两个数据集的验证集,COCO 蕴含 5000 张图像中的 36,781 个实例,LVIS 蕴含 19,809 张图像中的 244,707 个实例。为了评价效率,咱们首先测试几个软目的,如参数数量 (#Params)、浮点运算量 (FLOPs)、乘加运算量 (MACs) 和内存经常使用状况。咱们进一步计算有效失误率 (EER),这是一种更片面的评价,如 [86] 中所述。EER 定义为:
其中 N 是度量的数量,和区分示意被测试模型和参考模型的第 i 个度量。在咱们的评价中,参考模型设定为 SAM-H。除了这些度量之外,还报告模型的运转期间和吞吐量。为了评价准确性,经常使用均值交并比(mIoU)来评价 SegAny 义务,并经常使用均值平均精度(AP)来评价实例宰割义务。
4.2 效率比拟
首先报告 SAM 及其变体的效率结果。以 SAM 官网示例中的图像 groceries.jpg 作为输入,应用一个边界框作为揭示,经常使用工具 calflops 评价模型的参数数量、FLOPs 和 MACs。咱们还计算了 ERR 以启动片面比拟。结果如表 2 所示。在高效变体中,咱们观察到 EdgeSAM 的参数数量、FLOPs、MACs 及其相应的 EER 是最低的,而 EfficientViT-SAM-XL1 的这些数值是最高的,其 EER 比 SAM-B 高出 3%。与最重的 SAM-H 相比,一切变体在模型大小和计算量上都体现出清楚的降低。
还测量了模型在 SegAny 和 SegEvery 形式下的推理期间,经常使用来自 COCO 验证集的 100 张图像作为评价数据。在 SegAny 义务中,每张图像都揭示 50 个固定的边界框。
经过曲线图(如下图16所示)报告每10个边界框的累计期间。基于此,计算处置一个图像并经常使用一个边界框揭示所需的平均期间,并将其作为 SegAny 义务的推理期间报告。评价在 CPU 和 GPU 环境下启动,并同时记载 GPU 内存经常使用状况。此外,还测试了每个变体在 COCO 验证集上的吞吐量,经常使用实在的边界框。
结果总结在表3中。咱们的钻研发现,EfficientViT-SAM-L0 在 SegAny 义务中成功了最短的推理期间,与最重的模型 SAM-H 相比,在 GPU 上减速凑近 30 倍,而在 CPU 上简直减速 50 倍。EdgeSAM 也体现出令人印象深入的性能,其 CPU 提前为 259 毫秒,而 NanoSAM 在 GPU 上的提前为 20 毫秒,均凑近最佳结果。在 COCO 数据集的吞吐量测试中,NanoSAM 以每秒处置 27.9 张图像上游。其他两个变体,EfficientSAM-Ti 和 EfficientViT-SAM-L0,也展现了弱小的吞吐量,各自超越每秒 20 张图像。
关于 SegEvery 义务,报告经常使用不同点网格大小(1616、3232、6464)或公用采样战略生成图像一切mask所需的平均期间。结果在表4中出现。经常使用自动的 3232 网格,SAMfast-H 展现了最高的效率,提前为 848 毫秒——比 SAM-H 快两倍以上。EfficientViT-SAM-L0 在 1616 和 6464 网格上体现最佳,区分成功了 258 毫秒和 3938 毫秒的提前。幽默的是,咱们观察到在经常使用较低网格密度时,EfficientSAM-S 比 SAM-H 更慢,16x16 网格的提前为 1100 毫秒,32*32 网格的提前为 2290 毫秒。驳回替代采样战略的模型在效率上显示出清楚改善,特意是 FastSAM 记载了 196 毫秒的提前,而 MobileSAMv2 的提前为 173 毫秒。
4.3. 精度比拟
本小节报告了 SAM 及其变体在 SegAny 义务(经常使用点/框揭示)和实例宰割义务上的精度结果。我循了 [159] 中的评价框架,并经过引入其他评价模块启动了一致的变体评价。
为了评价 SegAny 义务,驳回两种类型的点作为揭示:
在 COCO 和 LVIS 上对变体启动了评价,并在下表 5 中报告了平均交并比(mIoU)。当经常使用中心点揭示时,SAM2-B+ 和 EfficientViT-SAM-XL1 在 COCO 上到达了 54.3% 的最高 mIoU,超越了 SAM-H 的 53.6% mIoU,而 SAMfast-H 也以 53.6% 的 mIoU 在 LVIS 上展现了变体中的最佳性能。在随机点揭示的设置下,EfficientViT-SAM-XL1 的体现优于 SAM-H,特意是在经常使用 3 个点揭示时,区分参与了 2.7% 和 0.7%。从数据集的角度来看,咱们观察到 LVIS 的结果普遍低于 COCO,尤其是关于 FastSAM 和 EfficientSAM-Ti,其在 LVIS 上的准确率降至 30% 以下。
此外,还评价了经常使用两种类型框揭示的 SegAny 义务的精度:
在 COCO 和 LVIS 上报告了 mIoU 的结果,如表 6 所示。咱们观察到 EfficientViT-SAM-XL1 在每种设置中都展现了最高的准确性,区分超越 SAM-H 1.5%、1.1%、1.9% 和 0.6%。SAMfast-H 和 EfficientViT-SAM-L0 在框揭示的宰割义务中也展现了凑近 SAM-H 的性能。
关于实例宰割义务,驳回了 ViTDet、YOLOv8、GrounddingDINO、Detic 和 H-Deformable-DETR 与 Swin-L 作为物体检测器,协助生成潜在物体的边界框,参考文献 [117, 159, 164]。评价了一切物体的平均精度(AP),以及小型、中型和大型物体的 AP。结果报告在上方表 7、8 和 9 中。与之前的结果相似,咱们发现 EfficientViT-SAM-XL1 在 COCO 数据集上总是以最高的 AP 体现(除 H-Deformable-DETR 外)。在将 ViTDet 作为检测器并在 LVIS 数据集上测试的设置下,SAMfast-H 以 44.5% 的 AP 超越了一切其他变体。
依据第 4.2 节和第 4.3 节的结果,进一步绘制了吞吐量-mIoU 散点图,以观察变体的效率-精度掂量。详细而言,选用了在 COCO 数据集上经常使用实在边界框作为揭示启动评价的吞吐量和 mIoU。结果如下图 17 所示。
5. 论断
在本次考查中,关键讨论和评价了关注于高效宰割恣意物体和宰割一切物体的清楚上班,这些方法旨在缩小资源消耗和降低提前。关于高效的 SegAny 义务,大少数上班驳回交流图像编码器或整个架构为轻量级替代打算的方法,随后启动从头训练或经过常识蒸馏的形式启动训练。其他上班则旨在应用量化、剪枝或部分优化等技术紧缩原始模型。关于高效的 SegEvery 义务,驳回有效且高效的采样战略生成揭示是至关关键的。
在详细回忆这些方法后,还概述了四个或许的未来钻研方向,这些方向或许推进该畛域的新趋向。此外,咱们在分歧的环境中评价了这些模型的效率、准确性及其相应的掂量,提供了公正而有价值的比拟。咱们的剖析标明,一些变体在特定场景中曾经超越了原始的 SAM,咱们置信它们的成功将处罚该畛域的进一步探求和翻新。
原文链接: