我自己的原文哦~ https://blog.51cto.com/whaosoft/11474386
#HAFormer
融合 CNN 与 Transformer 的高效轻量级语义分割模型
HAFormer以最小的计算开销和紧凑的模型尺寸实现了高性能,在Cityscapes上的mIoU达到了74.2%,在CamVid测试数据集上的mIoU达到了71.1%,在单个2080Ti GPU上的帧率分别为10SFPS和118FPS。
在语义分割任务中,卷积神经网络(CNNs)和Transformer都表现出了巨大的成功。人们已经尝试将CNN与Transformer模型集成在一起,以捕捉局部和全局上下文交互。然而,在考虑计算资源限制时,仍有提升的空间。
在本文中,作者介绍了HAFormer模型,该模型结合了CNN的分层特征提取能力与Transformer的全局依赖建模能力,以应对轻量级语义分割挑战。具体来说,作者设计了一个分层感知像素激活(HAPE)模块,用于自适应多尺度局部特征提取。在全局感知建模过程中,作者设计了一个高效Transformer(ET)模块,简化了传统Transformer中的二次计算。此外,一个相关性加权融合(cwF)模块有选择地合并不同的特征表示,显著提高了预测准确性。HAFormer以最小的计算开销和紧凑的模型尺寸实现了高性能,在Cityscapes上的mIoU达到了74.2%,在CamVid测试数据集上的mIoU达到了71.1%,在单个2080Ti GPU上的帧率分别为10SFPS和118FPS。
源代码可在https://github.com/XU-GITHUB-curry/HAFormer获取。
I Introduction
语义分割涉及给给定图像中的每个像素分配标签的任务,这是计算机视觉中的基本密集预测任务,应用于自动驾驶[1],医疗保健[2],卫星遥感[3]等领域。先前的方法,如[4, 5],利用深度卷积神经网络(CNN)进行特征提取,结合特征金字塔结构以感知多尺度信息[6],以及注意力模块以感知全局上下文[7, 8, 9]。尽管这些方法已经取得了相当的准确度,但它们通常需要大量的计算资源,并且由于较深的网络堆叠以获得更大的感受野和更高的语义层次,其推理速度相对较慢。
为了适应计算资源有限的设备,最近的研究专注于开发轻量级的分割模型。例如,ERFNet[11]采用一维非瓶 Neck 减少计算量,而ICNet[13]利用不同分辨率的输入增强不同分支之间的信息流动。FBSNet[15]使用对称的编码器-解码器结构,带有空间细节分支和语义信息分支以细化上下文细节。通常,这些模型简化了基本模块结构以最小化计算成本。然而,在提高计算效率的同时,由于其局部限制和网络深度较浅,它们的分割准确度往往受到影响。
最近,Transformer 在计算机视觉社区中取得了显著的成功。受到这一进展的启发,研究行人开始将ViT[18]架构整合到解决语义分割挑战中。与CNN不同,Transformer 通过其广泛的全球注意力机制内在地提供了广阔的全局感受野。使用Transformer作为图像编码器的模型在全球上下文建模方面表现出色,与基于CNN的方法相比,在分割准确度上有了显著的提升。尽管UNETR[19]和其他方法[20, 21]基于Transformer编码器的最后一层进行预测,但它们往往忽略了图像中的较小尺度目标,影响了较小元素或像素的精确分类,如图1所示。SegFormer[22]引入了一个分层注意力模型,结合分层 Transformer编码器和轻量级多层感知机(MLP)解码器以增强分割精度。MPViT[23]有效地将多尺度特征输入整合到Transformer操作中,取得了令人印象深刻的结果。
这些方法优先考虑高的分割准确度,但常常忽视模型效率。首先,基于Transformer的方法缺乏归纳偏置,使得其训练缓慢且难以收敛。此外,它们通常需要更大的数据集和更长的训练时间,导致训练开销巨大。其次,由于多头自注意力(MHSA)操作耗时,导致推理速度变慢。随着高分辨率输入的计算负担加剧,尤其是MHSA的二次复杂度。此外,由于它们有限的精细局部建模能力,这些方法在捕捉细节和小目标方面可能存在困难。
在这项工作中,作者的目标是开发一个轻量级的语义分割模型,该模型同时利用CNN和Transformer,专注于最小化模型大小和计算需求。作者推出“HAFormer”模型,将Transformer的全局感受能力与 CNN 的局部感知优势结合起来,释放分层感知特征的力量。
本文的核心贡献有三方面:
- 作者提出了一种新颖的分层感知像素激活(HAPE)模块,利用分层和内容感知注意力机制来减少计算负担,同时从各种感受野下的像素中提取更深的语义信息。
- 作者开发了一种有效的特征融合机制,名为相关加权融合(cwF),以协同整合由CNN和Transformer学习的局部和全局上下文特征,有效提高准确度。
- 作者提出了一种有效的Transformer,分解,和矩阵,有效地解决了传统Transformer模型中的二次计算复杂性挑战。
在两个广泛使用的基准上进行的广泛实验表明,作者的HAFormer在分割准确度和效率之间取得了平衡。
本文的其余部分结构如下:第二节全面回顾了相关工作。第三节详细介绍了作者提出的HAFormer,重点关注其三个关键组成部分。第四节描述了详细的实验设置并呈现了评估结果,包括消融研究和讨论。最后,第五节通过总结关键发现和讨论未来方向来结束论文。
II Related Work
Hierarchical Methods in Semantic Segmentation
在密集预测任务中,准确分类多尺度和小目标目标是一个普遍的挑战。这在语义分割中尤为明显,其中小目标的分类可能会受到邻近较大目标的影响,导致误分类。分层方法通过使用不同膨胀率的卷积或不同速率的池化层有效地解决了这一挑战。然后将这些结果级联或连接起来,以整合来自不同尺度的信息。这种多尺度整合增强了感受野 Level ,减轻了来自不同局部区域大小的模糊性,并提高了目标细节处理能力。现有的分层方法可以分为整体分层结构或特定分层模块,总结如下:
分层结构。 一些方法采用了多尺度设计,具有处理不同分辨率输入或特征图的独特网络分支。遵循此方法的著名方法是ICNet[13],它融合了三个编码分支(低分辨率、中分辨率和高分辨率),各自擅长在不同尺度上提取细粒度信息,以增强输出中的边界信息。相比之下,HRFormer[24]有效结合了健壮的语义信息与精确的位置细节。而HSSN[26]是一种分层方法,它专注于分类如“人-骑车者-自行车”之类的目标,而不是解决小目标在像素级分类的挑战。其他方法,包括,通过并行多个分辨率分支并促进它们之间的连续信息交互,利用多尺度结构。
分层模块。 众多方法在架构的特定层中集成了分层模块,允许在特征图上使用不同的感受野。例如,在DeepLab[28, 29]和DenseASPP[6]中使用的ASPP模块,通过带孔卷积有效地从不同尺度提取特征,解决图像内外的目标尺度变化问题。PSPNet[30]因其金字塔池化模块而出众,该模块从四个尺度整合特征。通过从不同尺度收集和合并上下文信息,该模块生成了比仅全局池化更具有代表性和区分性的特征。使用此模块的模型可以增强对各种大小目标的识别能力。受到“更宽”模块[30, 31]的启发,在本研究中,作者证明利用多个不同的卷积核有效地增强了表达性,以最小的计算和参数开销提高了性能。
Vision Transformer in Semantic Segmentation
开创性的ViT [18] 为图像识别引入了一个纯粹的 Transformer 框架,将图像视为通过多层处理的图像块序列。后续模型如DeiT [32]、Fact [33]、CrossFormer [34] 和 DViT [35] 在图像处理任务上进一步取得了卓越表现。SETR [16] 是一种为分割定制的范式,它在编码器中使用纯Transformer模型,并搭配不同的CNN解码器组合,以实现最先进的结果。Swin-Transformer [17] 解决了冗余计算的问题,在一定程度上减轻了计算负担。然而,这些方法仍然需要大量的训练数据来匹配CNN的性能,这在需要详细标注的密集预测领域提出了挑战。基于Transformer的模型如 [23, 27] 已经认识到在密集预测任务中分层感知的重要性,并在其设计中融入了多尺度结构和金字塔模块。
近期研究注意到,Transformer通常会优先考虑全局长距离依赖关系,可能忽视了CNN所特有的局部连接和位移不变性等关键特征。因此,各种方法 [2, 36, 37, 38] 试图结合CNN和Transformer的优势。然而,这些努力在实时推理需求和低延迟能力之间难以平衡。轻量级技术如LETNet [39] 将Transformer定位为胶囊网络,而像TopFormer [40] 这样的方法则在解码器中将它作为一个辅助组件来增强边界恢复。尽管如此,有效结合全局和局部信息的确切解决方案仍然难以捉摸。
为了解决在结合CNN和Transformer时的高计算需求以及有效整合局部信息与全局背景的挑战,作者的HAFormer引入了高效Transformer (ET) 模块来管理计算复杂度,并提出了一个相关性加权融合(cwF)机制来调和来自CNN和Transformer的特征。
Attention Mechanisms in Semantic Segmentation
受到人类视觉感知的聚焦特性的启发,注意力机制强调显著特征,同时忽略不相关的特征。这些机制主要分为两类:通道注意力与空间注意力。在通道注意力方法中,SKNet [41]使神经元能够根据输入尺度动态调整其感受野大小。空间注意力方法,如非局部神经网络 [8],在语义分割中捕捉长距离依赖关系。然而,对所有位置之间的关系进行建模可能计算成本很高。非对称非局部神经网络 [9]试图减少计算成本,但它们仍然可能需要大量资源,特别是在处理高分辨率输入特征时。
研究者们已经探索了结合通道和空间注意力机制来从多个角度增强特征。例如,CBAM [7] 依次沿着两个独立维度(通道和空间)操作,生成注意力图,然后将这些注意力图与输入特征相乘以进行自适应特征优化。DANet [4] 和 CCNet [42] 并行整合通道和空间注意力,使用自注意力操作并将生成的特征结合起来。CAA [43] 解构了轴向注意力并整合了通道注意力以管理冲突并优先考虑特征。这些利用自注意力机制的方法已经显示出积极的结果。
一个普遍的挑战涉及到像素级的远距离建模,这会带来高昂的计算成本,使得它不适合在资源受限的情况下部署。本研究引入了一种轻量级模型,该模型优化了CNN的局部感知能力和Transformers的全局建模能力。作者通过在作者的提出的Efficient Transformer(ET)模块中使用空间缩减-线性投影和分割操作策略来处理计算复杂性问题。
III The Proposed Method
Overall Architecture
作者的HAFormer的整体架构如图2所示,该架构包括三个组件:一个带有层次感知像素激活增强的CNN编码器,一个高效的Transformer编码器,以及一个轻量级的解码器。
对于一个给定的输入图像 , 其尺寸为 , 模型首先使用 CNN编码器, 生成特征 。同时, 输入 在经过Transformer茎块处理后, 进入Transformer编码器, 得到特征嵌入 , 其中 表示标记数量, 表示每个标记的维度, 表示标记大小。随后, 作者新设计的相关性加权融合(cwF)模块有效地将这两种不同类型的上下文特征 和 协同起来。这种相关 CNN和Transformer特征的融合增强了边界信息与轻量级解码器分割头的恢复。
具体来说, 为了优化 编码器, 作者在 茎块中使用了三个 卷积层。在这种配置中, 最后一层具有 2 的步长, 从而得到特征图大小为 , 其中 表示输出通道数。相比之下, Transformer编码器中的Transformer茎块在提取特征表示的同时降低分辨率, 通过最小化计算负载, 为模型的轻量级设计做出贡献, 因为更高的分辨率意味着更多的计算。因此, 在Transformer茎块中, 作者使用了四个 卷积层, 步长为 2 , 得到输出特征大小为 。
Hierarchy-Aware Pixel-Excitation (HAPE) Module
采用同一层内具有不同 Kernel 大小的卷积,结合像素激活,有助于从不同大小的目标中提取特征。基于这一概念,并借鉴了如[30, 44]等作品,作者采用了多尺度策略来捕获不同感受野 Level 的独特像素特征。与ESPNet [12]中的逐层合并和Inception [45]中的拼接不同,作者的模块避免了冗余计算,在保持特征有效性的同时,使得网络更加精简。此外,为了进一步改善不同尺度上的像素表示,作者在本研究中引入了创新的层次感知像素激活(HAPE)模块。该模块增强了模型有效识别图像中各种大小目标的能力,最终降低了像素误分类率。
具体来说, 如图3所示, 给定一个特征输入 , 作者首先将其输入到一个 卷积层, 将其通道维度减少到 , 即输出特征图 表示为
这里, 表示一个 Kernel 大小为 的卷积操作。这种维度减少便于后续层次卷积层中的通道操作。
随后,作者执行四个并行的卷积操作,包括分解卷积和深度可分离卷积, Kernel 大小分别为3、3、5和7。此外,最后三个卷积层使用膨胀卷积来增强感受野,如图4所示。这一策略使得模型能够捕捉到跨各种尺度的图像特征,确保了全面和详细的信息提取。
上述过程可以表示为
其中 表示中间特征, 是一个核大小为 的1-D卷积操作, 表示膨胀率。为了简单起见, 方程中省略了一些激活和批量归一化操作。
一个关键元素在于像素激发模块(PEM), 它通过一种内容感知的空间注意力机制负责增强特征的表现力。如图3所示, 该过程首先将输入 送入全局平均池化 (GAP) 层, 生成 。随后, 对其进行 Reshape 和平展操作, 然后输入到 Softmax 函数中计算权重矩阵 。这个权重矩阵随后与输入特征相乘, 得到一个内容感知的注意力增强输出 。
这个过程可以表示为
以及
这里, Reshape 和 Reshape 分别表示 Reshape 操作及其逆操作, 是一个激活函数, 表示逐元素乘法。
最后, 采用残差结构保留原始特征, 得到最终输出 。四个卷积层被联合添加到一个 卷积中用于特征融合和通道恢复。模块内保持残差连接, 通道混洗操作有效地促进了通道间的信息交互, 表达为
其中 ,
其中 Shuffle 表示通道混洗操作, 而 是一个激活函数。
Efficient Transformer
传统的Transformer方法,如文献[17, 46]所示,对于轻量级和实时模型可能过大,尤其是在处理高分辨率输入时。这凸显了更高效Transformer的迫切需求。受文献[31, 47]的启发,作者的方法着重于在不显著损失图像细节的情况下,通过减少特征维度来降低计算成本。为此,作者引入了一种空间缩减线性投影方法,该方法首先将特征映射到一个具有降低维度的潜在嵌入空间,然后再用于多头自注意力计算。这种方法称为带有学习投影和分割操作的高效多头自注意力(eMHSA),如图5所示。
将输入特征表示为 , 其中 、 和 分别表示特征图中的通道数、高度和宽度。在 Reshape 操作之后, 得到一系列扁平的非重叠 Patch, 结果是 ,其中 表示 Patch 数(即输入序列长度), 每个 Patch 大小为 。随后, 这些 Patch 通过一个可学习的线性投影层 映射到一个潜在 维嵌入空间, 记作 。这个过程可以表示为
其中 表示第 个 Patch。请注意, 故意省略位置嵌入是为了允许不同输入大小更大的适应性。
随后, Transformers中的三个矩阵, 即 Query 、键 和值 , 通过它们的线性投影 、 和 得到。这可以表示为
此外, 多头自注意力中的头数 也是一个用户定义的参数, 确保每个头的维度等于 。此, 第 个头中的 、 和 的维度为 。在第 个头中, 和 通过一个因子 进行空间缩减,其中 是缩减比, 设置为 2 。然后, 由特征分裂操作产生的子标记与仅代表原始感知 的字段进行矩阵乘法, 其中 表示特征分裂的次数, 设置为 4 。这个过程可以描述为
因此, 空间分布变为 , 以及 。这个想法与组卷积的概念相似, 可以有效地减少内存消耗。因此, 第 个头中的自注意力计算为
以及
其中Concat .表示连接操作。
因此, eMHSA的最终输出表示为
其中 表示 中的头数, 而 作为一个线性投影来恢复维度。因此, 通过上述结构设计, 作者已经将复杂性从 降低到 。
值得注意的是,Transformer系列[16, 17, 23]也使用了一种自注意力机制,包括多头注意力。然而,它们的方法在捕捉特征间详细关系方面计算密集,这与作者的目标不符。
在MLP层中, 作者遵循文献[31,48] 中描述的方法, 用零填充位置编码替换固定大小的位置编码。此外, 作者在全连接(FC)层和前馈网络中的GELU之间引入了填充大小为 1 的深度卷积, 以捕获输入张量中的局部连续性。通过消除固定大小的位置嵌入, 模型在处理不同分辨率的输入时变得更加灵活。因此, 高效的MLP层的输出, 记作“ ”, 可以写成
其中 表示FC层操作, 代表GELU激活函数, 表示深度卷积, 是 eMLP 的输入。
Correlation-weighted Fusion
许多研究,如[2, 36, 40, 46],探讨了将Transformers和CNNs的特征整合在一起。例如,SegTransConv [36]提出了一种混合架构,串行和并行结合了Transformers和CNNs,但并未完全发挥两者的协同潜力。鉴于Transformers和CNNs在特征和计算机制上的明显差异,传统的逐元素加法或拼接操作可能不会产生最佳结果。因此,利用两者的互补优势对于提高提取特征的表现力以及解码过程中信息恢复至关重要。
在本文中,作者提出了一种有效策略来弥合这一差距。作者的方法通过相关加权整合无缝结合了由Transformers和CNNs提取的不同类型的特征。通过融合具有高相关性的CNN和Transformer特征,作者开发了一个新的相关加权融合(cwF)模块。
如图6所示, 和 分别表示来自Transformer和CNN的中介特征。首先, 将Transformer特征 Reshape 以匹配CNN特征 的相同形状, 然后进行这两个特征集的后拼接操作。为了降低计算成本, 采用深度可分离卷积进行通道维度降低。在全局平均池化(GAP)和Sigmoid操作之后, 计算表示为 的相关系数矩阵。然后将该矩阵与原始特征相乘得到 和 , 两者相加得到最终输出 。
这个过程可以表示为
其中 , Concat表示拼接操作, 表示大小为 的特征图被恢复到大小 。然后, 相关系数矩阵 可以计算为
其中 是Sigmoid函数, 表示全局平均池化操作, 表示具有 核大小的卷积操作。
因此, 结果cwF特征, 表示为 , 可以表示为
其中 是ReLU激活函数, 表示逐元素乘法。
值得注意的是,特征相关性也在CTCNet [38]中得到了探索,其中计算了来自Transformers和CNNs的特征之间的相关性。然而,在CTCNet中,该模块只是将相关性拼接在Transformer和CNN特征之后,这不能有效地对齐这两种类型的特征,可能导致由于特征不匹配而性能下降。
IV Experiments
为了定性和定量地展示作者的HAFormer及其各个模块的有效性,作者在基准数据集上进行了比较实验,并与现有最佳(SOTA)方法进行了比较。在本节中,作者首先概述了实验中所使用的数据集、损失函数、硬件平台配置和参数设置。然后,作者介绍了为验证各个模块有效性而进行的一系列消融实验。最后,进行了比较实验,以展示作者方法相对于SOTA方法的优越性。
Datasets
作者的HAFormer模型旨在解决街道场景中与尺度变化和上下文信息相关的挑战。Cityscapes [49] 和 CamVid [50] 数据集是街道场景分割研究中广泛使用的两个主要基准。因此,为了展示作者模型的效能,作者在这两个数据集上进行了系列的全面实证评估。
Cityscapes. 这个数据集包含5,000张高质量图像,这些图像在像素 Level 进行了标注。这些图像来自50个城市中的不同城市环境,分辨率为,主要描绘的是驾驶场景。数据集分为三个子集:2,975张用于训练,500张用于验证,1,525张用于测试。尽管数据集包括了34个类别的标签,但作者的研究特别关注19个基本语义类别。作者使用Cityscapes内置的工具调整标签以适应作者的研究需求。
CamVid. 这是剑桥大学发布的公共城市道路场景数据集。这些图像从驾驶视角捕捉,分辨率为,增加了观察目标的多样性。该数据集包含超过700张标注图像,适用于监督学习。CamVid数据集通常采用11个常见类别来评估分割准确性。这些类别全面代表了城市道路场景中的目标,使它们成为宝贵的研究资源。
8.1 该架构从零开始训练,不使用任何预训练模型。作者采用动量为0.9,权重衰减为的随机梯度下降(SGD),并使用“Poly”学习率策略进行优化。
对于Cityscapes, 初始学习率为 , 批量大小设置为 5 以最大化GPU内存使用。对于 CamVid, 初始学习率为 , 批量大小为 8 。按照现有做法, 作者应用数据增强技术, 包括水平翻转、随机缩放和随机裁剪, 以引入训练数据的多样性, 随机缩放比例从0.25到2.0, Cityscapes的裁剪大小为 , 持续1,000个周期。为了公平比较, 不进行后处理。
最后,按照现有做法,通过所有类别的平均交并比(mIoU)对性能进行定量评估,同时考虑参数数量、FLOPs、GPU使用和处理速度。
Ablation Studies
在本部分中,作者进行了一系列消融实验,以验证方法中每个模块的有效性。
HAPE模块的消融研究。
在作者的HAPE模块(见第三节-B)中,作者提出了四种并行的卷积操作,以全面捕捉不同层次上的图像特征。这之后是PEM,通过一种内容感知的空间注意力机制来增强特征表示能力。在本节中,作者分别展示了作者HAPE模块中的层次方法(记为“HM”)和PEM方法的有效性。
用于比较的 Baseline 模型结构为单线型(如图7所示),包含了标准的残差模块(RMs)。为了展示HM和PEM带来的性能提升,作者首先用HM模块替换 Baseline 模型的RM,省略PEM部分,然后包括HM和PEM模块以测试整个HAPE模块的有效性。
表1突显了HM的优越性能,相较于RM,mIoU分别提高了1.47%和1.53%。HM在提取健壮特征方面表现出色,有效地促进深层语义信息的提取。此外,多尺度结构显著增强了模型在特征提取和小目标识别方面的性能。引入PEM进一步将两个数据集上的分割精度分别提高了2.13%和2.74%。
在整个实验中,HM和HAPE中的膨胀卷积率均设置为1,以确保公平比较。图8还验证了将HAPE模块与Transformer模块集成时的有效性。
膨胀率的消融研究。 在本节中,作者探讨了选择的膨胀率如何影响分割性能。在模块数量保持一致的情况下,较大的膨胀率扩大了感受野,使模型能够感知更广泛的范围,因此对于全面特征提取至关重要。
表2显示的结果表明,将膨胀卷积中的膨胀率从全部1变为全部2(前两行)可以提高mIoU约0.5%。进一步地,通过在第二和第三阶段逐步增加膨胀卷积率,作者在两个数据集上观察到性能分别提升了1.21%和1.73%。因此,为了保留空间细节,在作者的方法中,作者在第一阶段和第四阶段分配三个模块,在第二阶段和第三阶段使用六个模块来捕捉网络深度内的复杂语义信息。这种策略优化了 Transformer 编码器的计算,提高了长距离依赖建模。
高效 Transformer 的消融研究。
如第三节C部分详细所述,作者在HAPFormer中的另一项关键贡献是高效 Transformer (ET)模块,该模块通过在计算自注意力之前将特征投影到最优的潜在嵌入空间来降低特征的维度。《表3》展示了ET模块与传统 Transformer (记为“TT”)在Cityscapes和CamVid数据集上在分割准确性和计算复杂性方面的性能提升。
如表3所示,ET设计在效率和准确性之间展示了优越的平衡。与传统 Transformer “TT”相比,ET在参数数量上减少了18%,计算负载降低了17%,而mIoU仅损失了0.4%。这使得模型在性能影响最小的同时更加高效,甚至提供更快的推理速度。此外,表4的结果也揭示了在整合通过 Transformer 学习的特征后,mIoU显著提升了2.16%。这强调了 Transformer 捕捉长距离依赖关系的卓越能力,这是仅凭CNN无法实现的。
另外,在所提出的HAPFormer中,ET层的数量故意限制为2,考虑到计算硬件的限制,并且在约束下力求实现最佳平衡。尽管堆叠更多的ET层可能会带来更好的准确度结果,如图8所示,当大于2时,性能提升幅度显著减缓。而且,在像Cityscapes这样的高分辨率数据集上添加过多的ET层可能会对参数、计算和推理速度产生负面影响,甚至可能导致过拟合。
相关加权融合的消融研究。 为了解决CNN和 Transformer 之间的特征不匹配问题,并确保在解码过程中有效恢复特征,作者在第三节D中引入了cw机制。《表4》比较了使用作者的cwF方法与其他两种融合技术(即逐元素加法和连接)获得的结果。该表显示了在整合CNN和 Transformer 特征时,使用这三种融合方法都能增强分割准确性。特别是,作者的cwF在使用一个ET层时比 Baseline 性能提高了2.38%,在使用两个堆叠层时提高了4.06%。
此外,从表4中作者可以观察到:(a) 与简单的逐元素加法融合方案相比,作者的cwF在两种情况下的性能分别提高了1.27%和1.90%,而在参数数量和FLOPs上仅略有增加;(b) 作者的cwF相对于计算成本较高的拼接操作,分别实现了0.84%和1.01%的mIoU增益,同时在参数数量上减少了大约5%,计算负载降低了15%。这些实验结果进一步证明了作者cwF的有效性。
Comparisons with SOTA Methods
在本节中,作者广泛评估并比较了作者的方法与一些最先进方法的表现和效率,以展示作者提出方法的优点。作者的评估主要关注三个关键方面:分割准确性、模型参数和浮点运算(FLOPs)。
在Cityscapes上的评估结果。 表5呈现了在Cityscapes测试集上与先进的语义分割方法的定量比较。每类结果的详细信息在表6中给出,可视化结果在图9中展示。为确保公平性,在测试期间未使用增强技术,其他网络的数据来自相关来源。当代的语义分割模型主要分为两类:一类强调更大尺寸和高精度,另一类优先考虑实时实用性,并在准确性和效率之间取得平衡。
虽然大型模型实现了高精度,但它们的FLOPs和速度落后于轻量级模型,这使得它们不适用于资源有限的设备上的实时处理。相比之下,像ENet [10],ESPNet [12],CGNet [53]和FPENet [59]这样的轻量级模型在计算上效率较高。尽管它们的参数数量减少了,但它们的整体性能尤其在准确性方面有所不足。在准确性方面,EFRNet-16 [66]与作者的结果相似。然而,值得注意的是,它的参数数量和GFlops是作者的两倍。显然,作者的模型需要更少的参数和计算,突出了作者方法的效率。
在CamVid上的评估结果。 为进一步验证作者模型的有效性和泛化能力,作者在表7上与其他轻量级方法在CamVid数据集上的比较。虽然MGSeg [64]在准确性上超过了作者的方法1.6个百分点,但其参数数量却是作者的22倍,这表明了不利的权衡。另一方面,SGCPNet [51]在速度上表现出色,但缺乏准确性。相比之下,作者的HAFormer在各个方面取得了更好的平衡。与Cityscapes相比,在CamVid数据集上的总体性能较低,这是由于其较小的尺寸和较低的分辨率,这突显了作者方法的强大泛化能力。图10中的可视化结果进一步展示了作者HAFormer的优势。
速度比较。 为确保公平比较,所有方法都在同一平台上执行,因为计算负载直接影响推理速度,而推理速度可能会根据设备的不同而变化。在作者的受控评估中,使用单个NVIDIA RTX 2080Ti GPU来测量模型执行时间。表8详细比较了作者的提出的HAFormer与其他轻量级方法的速度和运行时间。实验涉及用于评估的空间分辨率为,与官方代码的方法保持一致以确保公平性。表8展示了HAFormer令人印象深刻的速度,处理大小为的图像流时达到105 fps,使其成为最快的几种方法之一。尽管DABNet以139 fps的速度运行,但HAFormer的竞争力准确性74.2%对于自动驾驶等现实世界应用非常重要。在速度(105 fps)和准确性之间取得有效平衡,HAFormer成为了实际应用的强有力候选者。
V Conclusions
在本研究中,作者引入了HAFormer,这是一种新的轻量级语义分割方法。作者设计了分层感知像素激活模块(HAPE)以提取增强的分层局部特征。
此外,一个高效的Transformer模块能够在有限的计算负载下有效地捕获广泛的全球特征。
然后,作者融入了一种相关性加权融合(cwF)机制,以结合高相关的CNN和Transformer特征,从而改进表示学习。
通过在基准数据集上的大量实验,作者的方法显示了其有效性和泛化能力,突显了HAFormer在以下方面的能力:
#Face-Adapter
细粒度ID和属性控制的换脸/人脸再现适配器
相比于完全微调的人脸再现/交换模型,face - adapter在运动控制精度、ID保留能力和生成质量方面实现了相当甚至更好的性能。此外,Face-Adapter与各种StableDiffusion模型无缝集成。
文章地址:https://arxiv.org/abs/2405.12970
项目地址:https://github.com/FaceAdapter/Face-Adapter
01 导言
本文提出FaceAdapter,这是一种高效的轻量级适配器,专为预训练扩散模型的高精度和高保真的人脸再现/交换任务而设计。
人脸再现/交换任务本质上都涉及目标结构、ID和属性的组合,所以本文目标是充分解耦这些因素的控制,以便在一个模型中实现这两个任务。
具体来说,方法包括:
1)提供精确landmarks和背景的空间条件生成器,
2)即插即用的身份编码器,通过转换器解码器将面部嵌入转移到文本空间。
3)集成空间条件和详细属性的属性控制器。
相比于完全微调的人脸再现/交换模型,face - adapter在运动控制精度、ID保留能力和生成质量方面实现了相当甚至更好的性能。此外,Face-Adapter与各种StableDiffusion模型无缝集成。
亮点:
- 轻量适配器:即插即用,适用于预训练的扩散模型
- 新的空间条件生成器模块:预测必要的生成区域,与身份编码器和属性控制器协作,将重现和交换任务框架化为具有充分空间指导、身份和必要属性的条件修补任务
- 一个模型两个任务:允许简单的修改输入独立完成人脸再见和人脸交换两个面部任务并获取优越或竞争结果。
02 方法
先来看看Face-Adapter与其它方法的简约对比如下:
上图:Face-Adapter支持“一个模型两个任务”的方法,并在各种具有挑战性的场景下展示了鲁棒性。下图是Face-Adapter和全微调方法/目前adapters方法的对比。
Face-Adapter的具体架构如下:
Face-Adapter pipeline
由三个模块组成:1)空间条件生成器预测3D先验landmarks并自动适应前景蒙版,为控制生成提供更准确的指导。
2) Identity Encoder通过使用可学习的查询将人脸嵌入转移到文本空间,从而提高生成图像的身份一致性。
3)属性控制器具有(i)空间控制功能,将目标运动地标与来自空间条件生成器的不变背景相结合,以及(ii)属性模板来填充缺失属性。
2.1 空间条件生成器
空间条件生成器(SCG)来自动预测3D先验landmarks和不同前景区域的掩码,为后续的控制生成提供更合理和精确的指导。具体来说,该组件由两个子模块组成:
- 3D Landmark投影
3D面部重建方法用来提取源脸和目标脸的身份、表情和姿势系数。随后,将源的身份系数与目标的表情和位姿系数重新组合,重建一个新的三维人脸,并将其投影以获得相应的landmarks
- 适应区域预测器
引入了一种轻量级的适应区域预测器,用于面部重演和交换,自动预测模型需要生成的区域(适应区域),同时保持其余区域不变。对于面部再现,适应区域包括源图像头部在重演前后的区域。
2.2 身份编码
如IP-Adapter-FaceID和InstantID所证明的那样, 高层次语义的人脸嵌入可以确保更强健的身份保存。正如我们所观察到的, 在人脸再现/交换中不需要重型纹理编码器或额外的身份网络。只需调整一个轻量级映射模块, 将人脸嵌入映射到固定的文本空间中, 即可保证身份保持。具体来说, 给定一张人脸图像 , 通过预训练的人脸识别模型 获得人脸嵌入 。随后, 采用三层transformer 解码器 将人脸嵌入 投影到预训练扩散模型的固定文本语义空间中, 获得身份token。
Transformer解码器中指定的可学习查询 的个数 N (本文设 )约束了身份嵌入的序列长度, 保证其不超过文本嵌入的最大长度。通过这种方法, 预训练扩散模型的UNet不需要任何微调来适应人脸嵌入。
2.3 属性控制
- 空间控制
与ControlNet一致, 创建了U-Net的一个副本 , 并添加了空间控制 作为调节输入。空间控制图像 由目标运动标志 与自适应区域预测器 或 )得到的非自适应区域相结合得到
再现和交换任务都可以看作是利用给定的身份和其他缺失的属性内容,遵循提供的空间控制执行条件绘制的过程。
- 属性模板
考虑到身份和部分背景的空间控制,属性模板被设计来补充缺失的信息,包括灯光和部分背景和头发。属性嵌入 使用CLIP 从属性模板( 用于再现, 用于交换)中提取。为了同时获得局部和全局特征, 使用patch令牌和全局令牌。特征映射器模块也被构造为具有可学习查询 的三层transformer层 。
03 实验结果
- 人脸再现
- 人脸交换
#LightenDiffusion
超越现有无监督方法,引领低光图像增强新纪元!
本文提出了一种基于扩散的框架,LightenDiffusion,结合了Retinex理论的优势和扩散模型的生成能力,用于无监督低光图像增强。
论文链接:https://arxiv.org/pdf/2407.08939
git链接:https://github.com/JianghaiSCU/LightenDiffusion
亮点直击
- 提出了一种基于扩散的框架,LightenDiffusion,结合了Retinex理论的优势和扩散模型的生成能力,用于无监督低光图像增强。进一步提出了自我约束的一致性损失,以改善视觉质量。
- 提出了一个内容传输分解网络,在潜空间中执行分解,旨在获取富含内容的反射率图和无内容的照明图,以促进无监督恢复。
- 大量实验证明,LightenDiffusion在超越现有的无监督竞争对手的同时,与监督方法相比具有更好的泛化能力。
本文提出了一种基于扩散的无监督框架,将可解释的Retinex理论与低光图像增强的扩散模型相结合,命名为LightenDiffusion。具体而言,提出了一种内容传输分解网络,在潜空间而非图像空间中执行Retinex分解,使得未配对的低光和正常光图像的编码特征能够被分解成富含内容的反射率图和无内容的照明图。随后,将低光图像的反射率图和正常光图像的照明图作为输入,通过扩散模型进行无监督恢复,以低光特征为指导,进一步提出了自我约束的一致性损失,以消除正常光内容对恢复结果的干扰,从而提高整体视觉质量。在公开的真实世界基准数据集上进行了大量实验表明,LightenDiffusion在超越现有无监督竞争对手的同时,与监督方法相媲美,并且更具通用性,适用于各种场景。
方法
概述
本文提出的框架的整体流程如下图2所示。给定一个未配对的低光图像 和正常光图像 , 首先使用一个编码器 , 它由 个级联的残差块组成, 每个块使用最大池化层将输入按比例降采样 2 倍, 将输入图像转换为潜空间表示, 表示为 和 。然后, 设计了一个内容传输分解网络 (CTDN), 将这些特征分解为富含内容的反射率图 和 , 以及无内容的照明图 和 。随后, 和 作为扩散模型的输入, 结合低光特征的指导, 生成恢复的特征 。最后, 恢复的特征将送入解码器 进行重建,生成最终的恢复图像 。 。
内容传输分解网络
根据Retinex理论,图像 可以分解为反射率图 和照明图 , 即:
在上述情况下,符号 ⊙ 表示Hadamard乘积运算。其中,R代表应在各种照明条件下保持一致的固有内容信息,而L表示应该是局部平滑的对比度和亮度信息。然而,现有方法通常在图像空间内执行分解以获取上述组件,这导致内容信息未能完全分解到反射率图中,部分保留在照明图中,如下图3(a)所示。
为了缓解这个问题,引入了一个内容传输分解网络(CTDN),它在潜空间内执行分解。通过在这个潜空间中编码内容信息,CTDN促进了生成包含丰富内容相关细节的反射率图,并保持不受内容相关影响的照明图。如下图4所示,首先按照[14]的方法估计初始的反射率和照明图为:
当处理每个像素 时, 其中 是一个小常数, 用于避免零分母。估计的地图通过两个分支进行了细化。首先, 使用多个卷积块来获取嵌入特征, 即 。随后, 利用交叉注意力(CA)模块 来加强反射图中的内容信息。此外, 还采用了自注意力 (SA) 模块 来进一步提取光照图中的内容信息, 并将其补充到反射图中。最终输出的反射图 和光照图 可以表示为 和 。
如上图3(b) 所示,CTDN能够生成内容丰富的反射地图,充分展示图像的内在信息,并生成只显示光照条件的光照地图。
Latent-Retinex 扩散模型
一种直接获得理想情况下增强特征的简单方法是将低光特征的反射图(R_{low})与正常光图像的照明图(L_{high})相乘,即。然而,上述方法存在两个挑战:
- Retinex分解不可避免地会导致信息损失;
- 恢复的图像可能会呈现出现象,因为参考正常光图像的照明图仍包含顽固的内容信息。
虽然CTDN在大多数场景中通常是有效的,但在一些挑战性情况下,估计的照明图的准确性可能会受到影响。为解决这些问题,提出了一种Latent-Retinex扩散模型(LRDM),利用扩散模型的生成能力来补偿内容损失并消除潜在的意外现象。方法遵循标准的扩散模型,进行前向扩散和反向去噪过程以生成恢复的结果。
前向扩散。 鉴于未配对图像的分解组件, 将低光图像的反射图 和正常光图像的照明图 视为输入, 表示为 , 进行前向扩散过程。使用预定义的方差进度 , 逐步将 转化为服从高斯噪声 , 经过 T 步骤, 可以表述为:
在这里, 表示时间步 的噪声数据。通过参数重整化, 可以将多个高斯分布合并并优化, 从而直接从输入 得到 , 并将方程 (4) 简化为闭合形式: 其中 , , 且 。
逆去噪. 通过利用条件扩散模型提供的编辑和数据合成能力,旨在在低光图像的编码特征 的指导下, 逐渐将随机抽样的高斯噪声 逆向去噪到一个清晰的结果 ,从而保证恢复的结果与以 为条件的分布具有高保真度。反向去噪过程可以表述为:
其中, 是方差, 而 是均值。
在训练阶段, 扩散模型的目标是优化网络的参数 , 使得估计的噪声向量 接近高斯噪声, 具体表述为:
在推理过程中, 通过隐式采样策略从扩散模型学习的分布中获得经过逆向去噪处理的恢复特征 ,随后将其送入解码器生成最终结果 。然而, 正如上文所述, 如果估计的照明图仍包含内容信息,输入 可能会呈现出伪影, 这可能影响所学习的分布, 导致 受到干扰。
因此, 本文提出了一个自约束一致性损失 , 以使恢复的特征能够与输入的低光图像共享相同的内在信息。具体而言, 在训练阶段, 首先执行反去噪过程, 按照 的方法生成恢复的特征, 并根据传统的Gamma校正方法从低光图像的分解结果构建伪标签 作为参考, 其中 , 这里 是光照校正因子。因此, 的目标是约束特征的相似性, 以促使扩散模型重建 , 如下所示:
总体而言,低光图像恢复扩散模型(LRDM)的训练策略总结如下面算法 1 所示,用于优化的目标函数重写为 。
网络训练
本文的方法采用了两阶段的网络训练策略。在第一阶段中, 遵循 [10] 的方法, 利用SICE数据集中的配对低质量图像, 表示为 和 , 来优化编码器 , CTDN, 以及解码器 , 同时冻结扩散模型的参数。编码器和解码器通过内容损失 进行优化, 如下所示:
CTDN被优化使用分解损失 , 如 所述, 包括重建损失 , 反射一致性损失 , 和光照平滑损失 。 的目标是确保分解的组成部分能够重建输入特征, 表达式如下所示:
反射一致性损失 的目标是强制网络生成不变的反射率图像, 而光照平滑损失 则用于确保光照图像具有局部平滑性, 分别可以表达为:
在上述公式中,∇ 表示水平和垂直梯度,λg 是用来平衡结构感知强度的系数。用于优化CTDN的整体分解损失定义为 。
在第二阶段,收集了约180,000对未配对的低光/正常光图像对,用于在冻结其他模块参数的同时优化扩散模型。
实验
与现有方法的比较
将本文的方法与四类现有的低光图像增强(LLIE)方法进行比较:
- 传统方法:包括LIME、SDDLLE、BrainRetinex和CDEF。
- 监督方法:包括RetinexNet、KinD++、LCDPNet、URetinexNet、SMG、PyDiff和GSAD。这些方法在LOL训练集上进行训练。
- 半监督方法:包括DRBN和BL。
- 无监督方法:包括Zero-DCE、EnlightenGAN、RUAS、SCI、GDP、PairLIE和NeRCo。
需要注意的是,GDP和本文的方法的性能报告是五次评估的平均值。
定量比较. 首先在LOL和LSRW测试集上将本文的方法与所有比较方法进行量化比较。如下表1所示,LightenDiffusion在这两个基准上表现优于所有的无监督竞争对手。未能在LOL数据集上超过监督方法的原因是,它们通常在该数据集上进行训练,因此可以达到令人满意的性能。然而,本文的方法在LSRW数据集上超过了监督方法,在PSNR和SSIM上达到最高值,尽管在LPIPS方面稍逊色。为了进一步验证本文方法的有效性,还将提出的LightenDiffusion与比较方法在DICM、NPE和VV这三个未配对基准数据集上进行比较。如表1所示,无监督方法在这些未见过的数据集上表现出比监督方法更好的泛化能力,而本文的方法在所有三个数据集上均取得了最佳结果。这表明本文的方法能够生成视觉上令人满意的图像,并且能够很好地推广到各种场景中。
定性比较. 下图5中展示了本文的方法与竞争方法在配对数据集上的视觉比较结果。图中的第1至2行分别来自LOL和LSRW测试集。可以看到,先前的方法可能会产生曝光不足、色彩失真或噪声放大的结果,而本文的方法能够有效改善全局和局部对比度,重建更清晰的细节,并抑制噪声,从而产生视觉上令人愉悦的结果。
在下图6中,还提供了在未配对基准数据集上的结果。图中的第1至3行分别来自DICM、NPE和VV数据集。先前的方法在这些场景中往往表现出泛化能力较差,特别是第2行,在光源周围产生了伪影或者产生了过曝的结果。相比之下,本文的方法能够呈现正确的曝光和生动的颜色,证明了在泛化能力上的优势。
低光人脸检测
在DARK FACE数据集上进行实验,该数据集包含6,000张在弱光条件下拍摄的图像,并带有标注的标签用于评估,旨在研究低光图像增强(LLIE)方法作为预处理步骤在改善低光人脸检测任务中的影响。遵循文献 [12, 22, 40] 的方法,使用本文的方法以及其他10种竞争的LLIE方法来恢复图像,然后使用知名的检测器RetinaFace在IoU阈值为0.3的条件下进行评估,绘制精确度-召回率(P-R)曲线并计算平均精度(AP)。
如下图7所示,与未增强的原始图像相比,本文的方法有效地将RetinaFace的精度从20.2%提高到36.4%,并且在高召回率区域表现优于其他方法,这显示了本文方法的潜在实际价值。
消融实验
本节进行了一系列消融研究,以验证不同组件选择的影响。使用了前文中描述的实现细节进行训练,并在LOL和DICM数据集上展示了定量结果,如下表2所示。下面讨论详细的设置。
潜空间与图像空间比较:为了验证latentRetinex分解策略的有效性,进行了实验,分别在图像空间进行分解(即k=0),以及在潜空间的不同尺度进行分解(即k∈[1, 4])。如下图8(a)所示,在图像空间进行分解很难实现令人满意的分解效果,因为光照图可能会包含某些内容信息,导致恢复的图像出现伪影。相反,如下图8(b)-(d)所示,通过在潜空间进行分解可以生成仅表示光照条件的光照图,这有助于扩散模型生成视觉保真度高的恢复图像。此外,如上表2的第1-4行报告的结果显示,增加k可以提升整体性能和推理速度,但在k=4时会因特征信息丰富度大幅降低而导致轻微的性能下降,这对扩散模型的生成能力有不利影响。为了在性能和效率之间找到平衡,选择k=3作为默认设置。
Retinex分解网络。 为了验证CTDN的有效性,将其替换为三种先前基于Retinex的方法的分解网络,包括RetinexNet、URetinexNet和PairLIE,用于估计反射率和光照图。如上图8(e)-(g)所示,先前的分解网络无法获得无内容的光照图,导致恢复的结果具有模糊的细节和伪影。相比之下,本文的方法通过精心设计的CTDN网络架构,能够生成富含内容的反射率图和无内容的光照图,从而在比较中表现出显著的性能优势,如上表2所报告的结果。
损失函数。 为了验证提出的自约束一致性损失 的有效性, 进行了一个实验, 将其从用于优化扩散模型的目标函数中移除。如上表 2 的第 8 行所报告的结果显示, 移除 会导致整体性能下降。此外, 将采样步长S增加到50和100, 评估使用纯扩散损失训练的扩散模型的性能,即公式(5),因为扩散模型生成的结果质量随着 的增加而提高, 如下图9所示。与第11行的默认设置相比, 将采样步长增加到 100 能够产生与使用 训练的模型相媲美的性能,但推理速度减慢了将近 4 倍, 这证明了损失函数可以帮助模型实现高效和稳健的恢复。
结论
LightenDiffusion,这是一个基于扩散的框架,将Retinex理论与扩散模型结合,用于无监督的低光图像增强(LLIE)。技术上,提出了一个内容转移分解网络,它在潜空间内进行分解,以获取富含内容的反射率图和无内容的光照图,从而便于后续的无监督恢复过程。低光图像的反射率图和正常光图像的光照图在不同场景下作为输入用于扩散模型的训练。此外,本文提出了一个自约束一致性损失,进一步约束恢复的结果具有与低光输入相同的内在内容信息。实验结果表明,本文的方法在定量和视觉上均优于现有的竞争方法。
#基于事件相机的运动放大
本工作提出了一种双摄像头系统,由事件摄像头和传统的RGB摄像头组成,用于视频运动放大,包含来自事件流的时间密集信息和来自RGB图像的空间密集数据。这种创新的组合能够对高频运动进行广泛且经济高效的放大。
项目主页:https://openimaginglab.github.io/emm/
论文 (ECCV2024):https://arxiv.org/pdf/2402.11957
代码:https://github.com/OpenImagingLab/emm
数据集:https://drive.google.com/drive/folders/1ssEE1wvnBt4EZjxoCcfoIX8FzOsTIKN8
运动放大与事件相机
在现实世界中,有许多微小的运动对工业和医疗应用来说却有着重要的意义。比如,微小的眼动可以反应内心情感波动,脉搏跳动可以监测人体健康状况,物体震动可以反应材料的物理特性。这些小运动通常难以被人眼捕捉,因此我们需要运动放大技术来检测并可视化这些难以察觉的运动。(下面展示的视频是MIT CSAIL在2013年基于RGB的运功放大工作,视频来源:https://www.youtube.com/watch?v=W7ZQ-FG7Nvw)
在高频小运动放大过程中(眼球扫视的频率可以达到每秒100次),如果相机的帧率不够快,无法跟上运动的最快变化,就会出现“模糊”或“失真”的现象。因此,传统的相机系统不适合用于这种需要精细放大的高频小运动。然而,这些高速相机的特点是价格昂贵、需要大量存储空间,而且空间分辨率有限。虽然高速相机可以解决这个问题,但它们价格昂贵、存储需求大,而且空间分辨率有限。因此我们将目光放在了事件相机上。
事件相机(EVS)是一种新型仿生相机。它不像传统相机那样定时拍照记录每个像素的rgb信息,而是记录每个像素点的亮度变化。具体来说,时间相机每个像素独立工作,当检测到亮度变化超过阈值时,该像素会立即生成一个事件(event),记录下变化的时间和位置。这种处理信息的方式和人眼感知世界的方式类似,会重点记录图片中运动、变化的信息,这能大大降低数据冗余。同时,事件相机的时间分辨率非常高,可以达到微秒级别。这意味着它可以捕捉到非常快速的运动而不会出现模糊。
因此,从直观感受上,传统低帧率相机可以提供RGB信息,时间相机可以提供快速运动的信息,这两种相机的组合似乎是解决运动放大问题的最佳方案。同时,我们也分别通过公式推导和实验验证两种方式证明了事件相机+低帧率RGB相机的组合能给运动放大提供足够的信息,具体细节可以参考我们的论文。据我们所知,这是首个利用事件流和RGB 图像来放大高频运动的系统。
模型的设计
为了增强系统在各种复杂场景中的适应性,根据上文提到的公式,我们专门针对基于事件相机的运动放大任务设计了一个模型。我们的网络包括以下三个部分:1) 一个编码器(Encoder),用于提取纹理、形状和运动表示;2) 一个操控器(Manipulator),用于放大运动;3) 一个解码器(Decoder),用于重建高帧率的运动放大 RGB 视频。在编码器阶段,为了应对大帧数插帧的挑战并最小化伪影,采用了二阶递归传播(SRP)策略来提取特征。与之前的基于事件的插帧方法和运动放大方法相比,SRP 能更好地建模长期信息。在操控阶段,与传统的基于事件的插值方法不同,我们提取了与运动幅度具有线性关系的隐式运动表示。这种提取方法允许在测试阶段对运动表示应用时间滤波器,有效地滤除噪声并隔离运动信息,从而实现更清晰的运动放大。
模型框架图
数据集的构造
为了提供用于基于事件的运动放大的训练数据,我们开发了首个包含事件信号和 RGB 信号的亚像素运动数据集,称为 SM-ERGB(Sub-pixel Motion Event-RGB Datset)。该数据集包含一个合成的数据集(SM-ERGB-Synth)和一个实拍的数据集(SM-ERGB-Real),旨在为该领域建立 benchmark。在创建 SM-ERGB-Synth 时,我们参考了 LVMM [1] 中的方法,通过将前景贴图到背景场景上,构建了包含亚像素运动的 RGB 序列及其对应的ground-truth真实放大运动序列。SM-ERGB-Synth 中的事件信号是使用 V2E 事件模拟器 [2] 生成的。为了验证我们的方法在实际场景中的效果,我们还搭建了一个双摄像头系统(如下图所示),以捕捉高质量的实际测试集SM-ERGB-Real。SM-ERGB-Real 数据集重点关注展示小型高频运动的场景,例如 512Hz 的调音叉。我们的实验验证表明,基于 SM-ERGB 的模拟数据训练的方法在实际场景中具有强大的泛化能力,能够有效而准确地恢复物体的固有频率。
仿真数据集与相机系统
实验结果
在仿真数据集SM-ERGB-Synth,我们对不同方法进行了定量对比。从下表的数值结果中可以看出,我们提出的网络可以用最少的数据量得到最好的运动放大效果。
在真实拍摄的数据集SM-ERGB-Real上,我们进行了可视化对比。由下图可以看到,在110Hz的吉他弦上,我们的运动放大方法能恢复出正确的运动频率。
同时,在256Hz的音叉上,我们方法放大的波形和同步录制的声音波形具有很强的一致性。更多结果可以看我们的视频demo:https://www.bilibili.com/video/BV1ru4m1A76j/
#SegVG
视觉定位新SOTA!SegVG:将视觉定位的目标边界框转化为分割信号
- 论文:https://arxiv.org/abs/2407.03200
- 代码:https://github.com/WeitaiKang/SegVG
动机
视觉定位(Visual Grounding)旨在基于自由形式的自然语言文本表达定位图像中的目标物体。随着多模态推理系统的普及,如视觉问答和图像描述,视觉定位的重要性愈加凸显。已有的研究大致可以分为三类:两阶段方法、单 阶段方法和基于变换器(Transformer)的方法。尽管这些方法取得了良好的效果,但在注释的利用上仍显得不足,尤其是仅将框注释作为回归的真值样本,限制了模型的性能表现。
具体而言,视觉定位面临的挑战在于其稀疏的监督信号,每对文本和图像仅提供一个边界框标签。这与目标检测任务(Object Detection)存在显著不同,因此充分利用框注释至关重要,将其视为分割掩膜(即边界框内的像素赋值为1,外部像素赋值为0),可以为视觉定位提供更细粒度的像素级监督。
在本研究中,提出了一个名为SegVG的新方法,旨在将边界框级的注释转化为分割信号,以提供更为丰富的监督信号。该方法倡导多层多任务编码器-解码器结构,学习回归查询和多个分割查询,以通过回归和每个解码层的分割来实现目标定位。此外,为了解决由于特征域不匹配而产生的差异,研究中引入了三重对⻬模块,通过三重注意机制更新查询、文本和视觉特征,以确保它们共享同一空间,从而提高后续的目标检测效果。
综上,SegVG通过最大化边界框注释的利用,提供了额外的像素级监督,并通过三重对⻬消除特征之间的域差异,这在视觉定位任务中具有重要的创新意义。以下是来自论文中的相关图示,用以进一步说明视觉定位框架的不同:
方法
在本节中,介绍了SegVG方法的各个组件,按数据流的顺序进行说明,包括⻣干网络、Triple Alignment模块以及 Multi-layer Multi-task Encoder-Decoder。
⻣干网络
SegVG方法的视觉⻣干网络和文本⻣干网络分别处理图像和文本数据。视觉⻣干网络使用的是经过Object Detection任务在MSCOCO数据集上预训练的ResNet和DETR的Transformer编码器。文本⻣干网络使用BERT的嵌入层将输入文本转换为语言Token。在Token前添加一个[CLS] 标记,并在末尾添加一个[SEP]标记,随后通过BERT层迭代处理得到语言嵌入 。
Triple Alignment
Triple Alignment模块致⼒于解决视觉⻣⼲、⽂本⻣⼲和查询特征之间的域差异。该模块利⽤注意⼒机制执⾏三⻆形特征采样,确保查询、⽂本和视觉特征之间的⼀致性。输⼊的查询 被初始化为可学习的嵌⼊,包含⼀个回归查询和多个分割查询。这⼀过程按以下⽅式进⾏:
通过这种⽅式,Triple Alignmen模块能够在每⼀层迭代帮助三类特征实现有效地对⻬。
Multi-layer Multi-task Encoder-Decoder
Multi-layer Multi-task Encoder-Decoder是目标对接阶段的核心部分,旨在通过跨模态融合和目标对接同时执行边 框回归任务和边框分割任务。编码器部分融合了文本和视觉特征,每一层通过多头自注意力层(MHSA)和前馈网 络(FFN)过程实现提升。解码器部分则通过 bbox2seg范式将边框注释转化为分割掩码,分割掩码将框内的像素 标记为前景(值为1),而框外像素则标记为背景(值为0)。在每一解码层中,一个回归查询用于回归边框,多个 分割查询则用于对目标进行分割。
上述公式中,各种损失函数(如L1损失、GIoU损失、Focal损失和Dice损失)被结合用于驱动模型的训练过程,使 得模型在执行回归和分割任务时获得强化的反馈。通过将分割输出的信心值转化为Focal损失因子,可以有效地强调那些难以训练的数据样本,以进一步提升模型的 性能。整体而言,SegVG方法实现了对边框注释的最大化利用,并有效解决了多模态特征间的域差异问题,为视觉 目标定位任务带来了重要的改进和提升。
实验
在实验部分,研究者对所提出的SegVG模型进行了全面的评估,涉及多个标准数据集和不同的实验设置,以验证其 有效性和优越性。
指标与数据集
研究者采用的主要评估指标是交并比(IoU)和前1准确率,以评估预测边界框与真实边界框的匹配程度。使用的标 准基准数据集包括RefCOCO、RefCOCO+、RefCOCOg-g、RefCOCOg-umd以及Refer It Game等。
实施细节
研究中对数据输入进行了特别配置,使用640x640的图像大小,以及最大文本⻓度设定为40。当图像大小调整时, 会保持原始宽高比。模型的训练过程采用AdamW优化器,及其学习率和权重衰减参数。
定量结果
在定量实验中,SegVG模型在所有基准数据集中表现出色。例如,在RefCOCO+数据集上,其预先训练模型在各个子集上相较于之前的最先进模型取得了显著提升,分别达到了2.99%、3.7%和2.42%的准确率提升。在RefCOCOg 数据集上,SegVG同样取得了+3.03%、+2.31%和+3.24%的准确率提升。这些结果证明了结合Triple Alignment和Multi- layer Multi-task Encoder-Decoder后,模型在目标定位和准确性上的提升。
消融研究
进一步分析通过控制变量法对各个模块的有效性进行消融研究。研究显示,加入Triple Alignment模块后,可以有 效消除查询、文本及视觉特征之间的领域差异,进而促进后续的目标定位。此外,通过加入Multi-layer Multi-task 监督,能够迭代充分利用注释信息,从而增强查询表示的学习能力。
计算开销比较
研究者还对不同变压器模型的参数数量和GFLOPS进行了比较,以评估SegVG的计算开销。结果表明,SegVG的计 算成本处于合理范围,符合实际应用需求。
定性结果
在定性分析中,通过对比不同模型在目标检测中的表现,SegVG在初始解码层阶段就能准确识别目标位置,相较于 对比模型VLTVG而言,表现更加稳健。具体案例中,SegVG成功定位复杂背景下的目标,显示了其在多任务优化时的高度有效性。
#Video-XL
一块显卡理解一部完整电影!智源联合多所高校推出小时级的超长视频理解大模型Video-XL
长视频理解是多模态大模型的核心能力之一,也是迈向通用人工智能(AGI)的关键一步。然而,现有的多模态大模型在处理10分钟以上的超长视频时,仍然面临性能差和效率低的双重挑战。对此,智源研究院联合上海交通大学、中国人民大学、北京大学和北京邮电大学等多所高校,推出了小时级的超长视频理解大模型Video-XL。
Video-XL借助语言模型(LLM)的原生能力对长视觉序列进行压缩,不仅保留了短视频理解的能力,而且在长视频理解上展现了出色的泛化能力。Video-XL相较于同等参数规模的模型,在多个主流长视频理解基准评测的多项任务中排名第一。
此外,Video-XL在效率与性能之间实现了良好的平衡,仅需一块80G显存的显卡即可处理2048帧输入(对小时级长度视频采样),并在视频“海中捞针”任务中取得了接近95%的准确率。
未来,Video-XL有望在电影摘要、视频异常检测、广告植入检测等应用场景中展现出广泛的应用价值,成为得力的长视频理解助手。
论文标题:Video-XL: Extra-Long Vision Language Model for Hour-Scale Video Understanding
论文链接:https://arxiv.org/abs/2409.14485
项目链接:https://github.com/VectorSpaceLab/Video-XL
图一 不同长视频模型在单块80G显卡上支持的最大帧数及在Video-MME上的表现
背景介绍
使用MLLM进行长视频理解具有极大的研究和应用前景。然而,当前的视频理解模型往往只能处理较短的视频,无法处理十分钟以上的视频。尽管最近研究社区出现了一些长视频理解模型,但这些工作主要存在以下问题:
压缩视觉token带来的信息损失:为了使语言模型的固定窗口长度适应长视频带来的大量视觉token,众多方法尝试设计机制对视觉token进行压缩,例如LLaMA-VID主要降低token的数量,而MovieChat, MALMM则设计memory模块对帧信息进行压缩。然而,压缩视觉信息不可避免带来信息的损失和性能降低。
性能和效率的不平衡:相关工作LongVA尝试finetune语言模型扩大其上下文窗口,并成功将短视频理解能力泛化到了长视频上。LongVila优化了长视频训练的开销,提出了高效训练长视频训练的范式。然而,这些工作并未考虑推理时视频帧数增加带来的计算开销。
图二 Video-XL模型结构图
方法介绍
模型结构
如图二所示,Video-XL的整体模型结构和主流的MLLMs结构相似,由视觉编码器(CLIP), 视觉-语言映射器(2-layer MLP)以及语言模型(Qwen-7B)构成。
特别之处在于,为了处理各种格式的多模态数据(单图,多图和视频),Video-XL建立了一个统一的视觉编码机制。针对多图和视频数据,将每帧分别输入CLIP;针对单图,将其划分为多个图像块,并将图像块输入CLIP进行编码。
因此,一个N帧的视频或者一个N图像块的图片都将统一标记成 N × M 视觉tokens。
视觉上下文隐空间压缩
相比于以往长视频模型直接对视觉token压缩,Video-XL尝试利用语言模型对上下文的建模能力对长视觉序列进行无损压缩。对于视觉语言连接器输出的视觉信号序列
,其中n为视觉token的数量。Video-XL的目标在于将X压缩成更为紧凑的视觉表示C (|C| < |X|)。在下文中将详细介绍视觉上下文隐空间压缩的原理。
受到Activation Beacon的启发,Video-XL引入了一种新的特殊标记,称为视觉摘要标记(VST),记为< vs >。基于此可以将视觉信号的隐层特征压缩到VST在LLM中的激活表示中(每层的Key和Value值)。具体而言,首先将视觉信号序列X分成大小为w的窗口(默认每个窗口长度为1440):
接着,对每个窗口首先确定压缩比,并插入一组VST标记,以交替的方式在视觉标记序列中插入。在该过程中,视觉token表示的变化可以由以下公式表达:
LLM将逐个处理每个窗口进行编码,并使用额外的投影矩阵在每层自注意力模块中处理VST的隐藏值。编码完成后,普通视觉标记的激活值被丢弃,而VST的激活值被保留并累积,作为处理后续窗口时的视觉信号代理。
模型训练方式
Video-XL通过优化在压缩视觉信号下的生成质量来进行训练。下一个Token的预测通过以下公式进行计算:
其中代表模型所有优化的参数,包含语言模型,视觉编码器、视觉语言连接器、VST的投影矩阵,以及VST的token embedding。模型通过最小化标准的自回归损失进行训练,训练过程中不计算VST标记的损失(其标签设为-100),因为它们仅用于压缩。
同时,为了灵活支持不同的压缩粒度,训练时每个窗口的压缩比会从{2,4,8,12,16}中随机抽取。在推理时,可以根据具体的效率需求选择一个压缩比并应用于所有窗口。
模型训练数据
在预训练阶段,Video-XL使用Laion-2M数据集优化视觉语言连接器。在微调阶段,Video-XL充分利用了MLLM在各种多模态数据集上的能力。对于单图像数据,使用了Bunny 695k和Sharegpt-4o的57k张图片。对于多图像数据,使用了从MMDU提取的5k个数据。
对于视频数据,收集了不同时长的视频样本,包括来自NExT-QA的32k样本,Sharegpt-4o的2k视频样本,CinePile的10k样本以及11k个带有GPT-4V视频字幕注释的私有数据。
为了增强长视频理解能力并释放视觉压缩机制的潜力,本工作开发了一个自动化的长视频数据生产流程,并创建了一个高质量数据集——视觉线索顺序数据(VICO)。
该流程首先从CinePile数据或YouTube等视频平台获取长视频,涵盖电影、纪录片、游戏、体育等开放领域的内容。每个长视频被分割成14秒的片段。对于每个片段,本工作使用VILA-1.5 40B模型生成详细描述。
这些描述包括动作序列和关键事件,基于这些字幕,本工作利用ChatGPT将线索按时间顺序排列。VICO数据集通过要求模型检索关键帧并检测时间变化,提升其长视频理解能力。
实验
评测基准
Video-XL选用多个主流视频理解评测基准,对于长视频理解任务,评测了VNBench, LongVideoBench, MLVU和Video-MME;对于短视频理解任务,评测了MVBench和Next-QA。
评测结果
长视频理解:
表一 Video-XL在MLVU和VideoMME的性能
表二 Video-XL在VNBench和LongVideoBench上的性能
如表一,表二所示Video-XL在多个主流的长视频评测基准上展现了卓越性能。其中在VNBench上准确率超过了目前最好的长视频模型大约10%。在MLVU的验证集上,仅仅具有7B参数的Video-XL甚至在单项选择任务上超越了GPT-4o模型。而在Video-MME和LongVideoBench等数据集上,Video-XL也在同等量级规模的长视频理解模型中排名第一。
超长视频理解:
Video-XL通过进行了视频“大海捞针”测试来评估其处理超长上下文的能力。LLaVA-NexT-Video和LongLLaVA都采用了简单的位置信息外推算法,但在输入更多上下文时,仍然难以理解关键信息。虽然LongVA通过微调LLM来处理更长的输入,但高昂的计算成本限制了其在单块80G GPU上处理约400帧的能力。相比之下,Video-XL在相同硬件条件下,以16倍压缩比和2048帧输入,达到了近95%的准确率。这表明,Video-XL在准确性和计算效率之间实现了最佳平衡。
短视频理解:
尽管Video-XL的设计主要面向长视频,但它保留了短视频理解的能力。在MVBench和Next-QA任务评测中,Video-XL取得了和目前SOTA模型相当的效果。
消融实验
表三 Video-XL的消融实验
Video-XL对所提出的视觉压缩机制和VICO数据集进行了消融实验,如表三所示
- 视觉压缩的有效性: Video-XL使用Bunny 695k数据集训练了两个模型:一个不使用压缩,另一个使用随机压缩比(从{2, 8, 16}中选取)。对于压缩模型,在视频基准MLVU和图像基准MME、MMBench上测试时应用了不同的压缩比。值得注意的是,即使使用16的压缩比,压缩模型在仍表现出较好的效果,接近甚至超越了基线模型。
- VICO数据集的有效性:Video-XL使用不同数据集训练了四个模型:(a) 仅使用Bunny 695k;(b) Bunny 695k结合NeXTQA 32k;(c) Bunny 695k结合CinePile 10k;(d) Bunny 695k结合长视频字幕5k;(e) Bunny 695k结合VICO 5k。值得注意的是,即使仅使用5k的VICO数据,Video-XL也超过了使用NeXTQA 32k训练的模型。此外,主要事件/动作排序任务比字幕生成任务带来了更显著的提升,因为它促使模型从长序列中提取关键片段并进行理解。
可视化结果
图三 Video-XL 在长视频理解任务上的可视化结果
如图三所示,Video-XL 在电影摘要、视频异常检测、广告植入检测等长视频任务上展现了良好的性能。
总结
该工作提出了Video-XL模型,利用语言模型的压缩能力,仅需一块80G显卡即可理解小时级别的视频;除此之外,Video-XL在多个主流长视频理解基准评测上表现优异。
Video-XL有望在多个长视频理解的应用场景中展现出广泛的应用价值,成为得力的长视频理解助手。目前。Video-XL的模型代码均已开源,以促进全球多模态视频理解研究社区的合作和技术共享。
#TextHarmony
基于统一架构的视觉文本理解与生成模型
本文介绍了TextHarmony,这是一个统一的视觉文本理解和生成模型,它通过创新的Slide-LoRA技术和两阶段训练方法,解决了多模态生成中的模态不一致问题,并在视觉文本感知、理解、生成和编辑方面展现出卓越性能。
论文标题:Harmonizing Visual Text Comprehension and Generation论文地址:https://arxiv.org/abs/2407.16364论文源码:https://github.com/bytedance/TextHarmony
引言
在人工智能领域,赋予机器类人的图像文字感知、理解、编辑和生成能力一直是研究热点。目前,视觉文字领域的大模型研究主要聚焦于单模态生成任务。尽管这些模型在某些任务上实现了统一,但在 OCR 领域的多数任务上仍难以达成全面整合。
例如,Monkey 等视觉语言模型(VLM)擅长文字检测、识别和视觉问答(VQA)等文本模态生成任务,却无法胜任文字图像的生成、抹除和编辑等图像模态生成任务。
反之,以 AnyText 为代表的基于扩散模型的图像生成模型则专注于图像创建。因此,OCR 领域亟需一个能够统一多模态生成的大模型
关键问题多模态生成的内在矛盾
研究人员发现,多模态生成大模型面临视觉与语言模态之间的固有不一致性,这往往导致模型性能显著下滑。
如图所示,在文本生成任务上,**多模态生成模型相比单模态生成模型效果降低5%,在图像生成上降低了8%。
为应对这一挑战,近期的一些研究采用了特定模态的监督微调,从而分别优化文字生成和图片生成的模型权重。然而,这种方法与统一视觉理解与生成的初衷相悖。
为解决这一难题,字节跳动与华东师范大学的联合研究团队提出了创新性的多模态生成模型:TextHarmony。该模型不仅精通视觉文本的感知、理解和生成,还在单一模型架构中实现了视觉与语言模态生成的和谐统一。
技术创新模型架构
如下图所示,TextHarmony 采用了 ViT、MLLM 和 Diffusion Model 的组合架构实现了多模态内容的全面理解与生成:
ViT 负责图像到视觉 token 序列的转换。
MLLM 处理视觉 token 和文本 token 的交叉序列,输出两类 token:
文本 token 经文本解码器转化为文本输出。
视觉 token 与文本 token 结合,作为 Diffusion Model 的条件指引,生成目标图像。
Slide-LoRA
为克服训练过程中的模态不一致问题,研究者提出了 Slide-LoRA 技术。该方法通过动态整合模态特定和模态无关的 LoRA(Low-Rank Adaptation)专家,在单一模型中实现了图像和文本生成空间的部分解耦。
Slide-LoRA 包含一个动态门控网络和三个低秩分解模块:
- 模态特定 LoRA 专家聚焦于特定模态(视觉或语言)的生成任务。
- 模态无关 LoRA 专家处理跨模态的通用特征。
- 动态门控网络根据输入特征,灵活调度不同专家的参与度。
高质量数据集
为提升视觉文本生成性能,研究团队开发了 DetailedTextCaps-100K 数据集。该集利用闭源 MLLM(Gemini Pro)生成详尽的图像描述,为模型提供了更丰富、更聚焦于视觉和文本元素的训练资源。
训练策略
此外,TextHarmony 采用两阶段训练方法:
- 首阶段利用 MARIO-LAION 和 DocStruct4M 等图文对预训练对齐模块和图像解码器,构建基础的文本生成与图像生成能力。
- 次阶段运用视觉文本的生成、编辑、理解、感知四类数据进行统一微调。此阶段开放 ViT、对齐模块、图像解码器和 Slide-LoRA 的参数更新,以获得统一的多模态理解与生成能力。
实验评估
研究者对 TextHarmony 在视觉文本场景下进行了全面评估,涵盖理解、感知、生成与编辑四个维度。
视觉文本理解
TextHarmony 显著优于多模态生成模型,性能接近 Monkey 等专业文字理解模型。
视觉文本感知
在OCR定位任务上,TextHarmony超过了TGDoc、DocOwl1.5等知名模型。
视觉文本编辑与生成
TextHarmony 大幅领先于现有多模态生成模型,且与 TextDiffuser2 等专业模型相当。
文字生成效果对比
文字编辑效果对比
文字图像感知与理解可视化
总结与展望
TextHarmony 作为 OCR 领域的多功能多模态生成模型,成功统一了视觉文本理解和生成任务。通过创新的 Slide-LoRA 技术,它有效解决了多模态生成中的模态不一致问题,在单一模型中实现了视觉与语言模态的和谐统一。TextHarmony 在视觉文字感知、理解、生成和编辑方面展现出卓越性能,为复杂的视觉文本交互任务开辟了新的可能性。
这项研究不仅推动了 OCR 技术的进步,也为人工智能在理解和创造方面的发展提供了重要参考。未来,TextHarmony 有望在自动文档处理、智能内容创作、教育辅助等多个领域发挥重要作用,进一步推动人工智能的应用。
#Segment Anything Model(SAM
全面解读高效Segment Anything模型变体:各种图像分割加速策略和核心技术展示
这篇文章全面回顾了Segment Anything Model(SAM)的高效变体,探讨了用于加速图像分割任务的各种策略和技术,并提出了未来研究的潜在方向。文章详细介绍了SAM及其变体在SegAny和SegEvery任务上的应用,分析了它们的效率、准确性,并讨论了如何通过不同的方法提高模型的计算速度和资源利用率。
文章链接:https://arxiv.org/pdf/2410.04960
亮点直击
提供了一项系统的高效 SAM 变体全面回顾,旨在加速分割任务。介绍了一个结构良好的分类法,将这些方法根据其采用的加速策略进行分类。据我们所知,这是第一项专门关注该领域的调查。
对这些变体的效率和准确性进行了全面的评估和比较,旨在帮助研究人员选择最能满足其性能和应用需求的模型。
提出了几个未来研究的潜在方向,为读者提供启发,以推动该领域的持续发展。
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 的下游应用上,并存在几项局限性:
- 没有一项调查关注到提高 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 采用两阶段训练:
- 在 SA-1B 数据集上进行可提示分割任务的预训练;
- 在混合数据上进行可提示分割任务的训练,处理图像和视频。
与 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 在各种任务中表现出色,但在实际应用中仍面临两个关键挑战:
- 它通常难以为精细结构预测完整的mask,从而导致边界不精确;
- 它不是实时的,资源消耗仍然很高,特别是在使用像 ViT-H 这样的重型图像编码器时。
为了解决这些问题,研究如[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 位整数)的过程。广泛使用的一种量化函数是均匀对称量化,其公式如下:
其中 b, s 分别表示低精度中的位数和缩放因子,Clamp(x, a1, a2) 将整数 x 限制在 a1/a2 之间,即当 或 时进行裁剪。神经网络的量化主要分为两种类型:后训练量化 (PTQ) 和量化感知训练 (QAT)。PTQ 在使用小的校准数据集对完全训练的模型进行量化,以减轻精度损失,而 QAT 在训练期间将模型调整为低精度,需用完整的训练数据集。因此,QAT 通常比 PTQ 更昂贵且效率较低。许多 PTQ 方法已针对 CNN和基于Transformer的架构开发。在加速 SAM 的背景下,如 [77, 103] 的研究利用 PTQ 技术,通过针对性策略压缩 SAM 以提高效率。
2.3.3 剪枝
模型剪枝通过消除冗余的权重或连接来减少模型的大小和复杂性,同时尽量保持精度。剪枝方法通常分为两种类型:结构化剪枝和非结构化剪枝 。结构化剪枝根据特定标准以组的方式删除参数,系统性地针对通道、层或块等子结构。相比之下,非结构化剪枝则专注于单个权重,通常导致稀疏和碎片化的网络。然而,由于剩余网络结构的不规则性,非结构化剪枝可能在一般硬件上并未带来有效的加速。在 [18] 中,应用结构化剪枝来减轻 SAM 的重量,通过移除大量冗余权重显著减少了模型的大小,同时保留了大部分 SAM 的能力。
2.3.4 低秩分解
低秩分解是一种将高维矩阵分解为低维矩阵乘积的技术,旨在减少模型的参数,以占用更少的空间并提高计算效率。常用的低秩分解方法是奇异值分解 (SVD)。它将复杂矩阵分解为三个矩阵,其计算可以进一步重写为:
其中 、 是正交矩阵, 是对角矩阵, 包含了矩阵 的非零奇异值, 同时 表示 的秩。低秩分解已广泛应用于深度神经网络,例如 CNN、LSTM和基于 Transformer的模型。然而, 到目前为止, 还没有研究将该技术应用于压缩和加速 SAM, 这为未来的研究提供了潜在方向。
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 替代,注意力计算重新公式化如下:
一旦子表达式 和 被计算出来, 它们可以在每个查询 中重复使用。因此,复杂度降低为 。EfficientViT-SAM 的训练分为两个步骤。第一步是从 ViT-H蒸榴到 EfficientViT,第二步是在 SA-1B 数据集上端到端训练整个模型。这种方法几乎没有准确性损失,同时效率大幅提升。
Shen 等人引入了 FastSAM3D,这是一个专门为 3D 体积医学图像设计的高效分割模型。该工作的关键贡献是开发了 3D 稀疏闪存注意力机制。这种新颖的注意力方法结合了 3D 膨胀注意力 扩展感受野)的优点和 FlashAttention以加速计算。FastSAM3D 使用修改过的 ViT-Tiny 作为图像编码器,从 ViT-Base 编码器蒸馏而来,确保在不妥协性能的情况下实现效率。作者实现了一种层级渐进蒸馏策略,以迭代地对齐两个编码器之间的特征图。
在 FastSAM3D 的基础上,Song 等人引入了一个称为 SAM-Lightening 的 2D 变体。与其 3D 版本相似,SAM-Lightening 将稀疏/膨胀注意力和 FlashAttention 结合起来,以替代标准注意力机制,同时保留相同的图像编码器。主要区别在于知识蒸馏 (KD) 策略,称为动态层级蒸馏 (DLD)。在 DLD 中,应用一系列时变权重 来确定需要更新的层以及每层对更新过程的贡献程度。随着训练的进行,整个架构逐渐优化。SAM-Lightening 据报道相比 SAM-H 实现了 30 倍的加速。整体蒸馏框架与 FastSAM3D 类似,主要变化是将蒸馏策略替换为动态层级蒸馏。
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 基于量化的方法
正如前一节所述,TinySAM 利用硬挖掘全阶段蒸馏来提高知识传递的有效性。为了进一步缩减 TinySAM 的规模,Shu 等人对 TinySAM 的编码器采用了后训练量化,量化版本称为 Q-TinySAM。他们基本上按照 [146] 中的说明进行量化。在 ViT 中, 矩阵乘法 将被量化为 , 并带有缩放因子 。研究人员采用了一种交替和迭代的搜索策略,以找到可以最小化 和 之间距离的最佳 。使用 Hessian 引导度量来测量距离, 距离大致计算如下:
其中,并且mask和 IoU 的 Kullback-Leibler (KL) 散度用于任务损失。不同于 Q-TinySAM 中仅对编码器进行量化的方法,Lv 等人提出了一个新的框架,可以直接对 SAM 进行后训练量化,即 PTQ4SAM。他们的工作首先发现传统 PTQ 后的两个挑战:
- 1)存在双模分布,对量化质量产生负面影响;
- 2)不同注意力机制的分布存在明显差异。
因此,研究人员提出了两种策略分别解决这两个问题:双模集成(BIM)和自适应粒度量化(AGQ)。对于双模集成,引入了一个符号因子 将双模分布转换为正态分布。对于自适应粒度量化,关键在于采用一个自适应参数 来调整 Log2 量化器中的基数。使用 AGQ 策略后,期望不同注意力的后 softmax 分布之间的差异能有效缩小。PTQ4SAM 是一个即插即用的 SAM 变体, 可以轻松部署到下游任务中。
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 等人观察到,使用密集点网格(例如,32_32,64_64)往往会生成大量冗余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 任务,报告使用不同点网格大小(16_16、32_32、64_64)或专用采样策略生成图像所有mask所需的平均时间。结果在表4中呈现。使用默认的 32_32 网格,SAMfast-H 展示了最高的效率,延迟为 848 毫秒——比 SAM-H 快两倍以上。EfficientViT-SAM-L0 在 16_16 和 64_64 网格上表现最佳,分别实现了 258 毫秒和 3938 毫秒的延迟。有趣的是,我们观察到在使用较低网格密度时,EfficientSAM-S 比 SAM-H 更慢,16x16 网格的延迟为 1100 毫秒,32*32 网格的延迟为 2290 毫秒。采用替代采样策略的模型在效率上显示出显著改善,特别是 FastSAM 记录了 196 毫秒的延迟,而 MobileSAMv2 的延迟为 173 毫秒。
4.3. 精度比较
本小节报告了 SAM 及其变体在 SegAny 任务(使用点/框提示)和实例分割任务上的精度结果。我循了 [159] 中的评估框架,并通过引入其他评估模块进行了统一的变体评估。
为了评估 SegAny 任务,采用两种类型的点作为提示:
- 1)真实边界框的中心点
- 2)从真实mask中均匀随机采样的点,遵循 [131] 中的设置。
在 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 任务的精度:
- 1)真实的边界框
- 2)对应真实mask的最紧边界框,灵感来自于 [131, 159] 中的实验。
在 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,我们相信它们的成功将激励该领域的进一步探索和创新。
Transformer破解百年三体难题陶哲轩神预言!
Transformer破解百年三体难题,凭数学直觉找到李雅普诺夫函数
Transformer解决了三体问题?Meta研究者发现,132年前的数学难题——发现全局李雅普诺夫函数,可以被Transformer解决了。「我们不认为Transformer是在推理,它可能是出于对数学问题的深刻理解,产生了超级直觉。」AI可以搞基础数学研究了,陶哲轩预言再成真。
三体问题,竟被Transformer解决了?
发现全局李雅普诺夫函数,已经困扰了数学家们132年。
作为分析系统随时间稳定性的关键工具,李雅普诺夫函数有助于预测动态系统行为,比如著名的天体力学三体问题。
它是天体力学中的基本力学模型,指三个质量、初始位置和初始速度都是任意的可视为质点的天体,在相互之间万有引力作用下的运动规律问题。
现在已知,三体问题不能精确求解,无法预测所有三体问题的数学情景。(「三体人」的困境,就是三体问题的一个极端案例。)
现在,Meta AI解决了这个问题。目前,论文已被NeurIPS 2024接收。
论文地址:https://arxiv.org/abs/2410.08304
今天,论文发布十几天后,AI社区再度被它刷屏。
就在前一阵,苹果的一项研究引起广泛热议:LLM不具备推理能力,可能只是复杂的模式匹配器而已。
有趣的是,这篇论文在结尾呼应了这个问题,做了极其精彩的论述——
从逻辑和推理的角度来看,有人认为规划和高层次的推理可能是自回归Transformer架构的固有限制。然而,我们的研究结果表明,Transformer确实可以通过精心选择训练样本,而非更改架构,来学会解决一个人类通过推理解决的复杂符号数学问题。我们并不认为Transformer是在进行推理,而是它可能通过一种「超级直觉」来解决问题,这种直觉源自对数学问题的深刻理解。
虽然这个系统化的方法仍是一个黑箱,无法阐明Transformer的「思维过程」,但解决方案明确,且数学正确性可以得到验证。
Meta研究者表示:生成式AI模型可以用于解决数学中的研究级问题,为数学家提供可能解的猜测。他们相信,这项研究是一个「AI解决数学开放问题」的蓝图。
无论如何,陶哲轩和今天的这项研究都已证明,无论LLM究竟会不会推理,它都已经彻底改变数学这类基础科学的研究范式。
那些在历史长河中的未解数学之谜,破解答案的一天或许已经离我们无比接近。
Transformer解决132年前数学难题
全局李亚普诺夫函数,控制着动力系统的稳定性。它会衡量一个开始接近平衡的系统,是否会始终保持接近平衡(或偏离平衡)?
其中最著名的案例,就是「三体问题」了。
轨迹可能很复杂,但只要从红球开始,它们最终都会留在蓝球的位置
1892年,李亚普诺夫证明,如果可以找到一个函数V,在平衡时具有严格的最小值,在无穷大时具有无限大,并且梯度始终指向远离系统梯度的方向,那么全局稳定性就能得到保证。
遗憾的是,他未能提供寻找函数V的方法。
好在,一百多年后,大模型出现了。
以前,不存在寻找李亚普诺夫函数的通用方法,现在LLM是否能解决?
研究者们惊喜地发现,自己的模型发现了两个稳定系统,以及相关的李雅普诺夫函数。
为此,Meta AI研究者引入一种后向生成技术来训练模型。这项技术根据Lyapunov函数创建动力系统,而这些系统的分布与我们实际想要解决的问题不同。
尽管模型必须在分布外进行泛化,但使用逆向生成数据训练的模型,在可以用数值工具求解的多项式系统测试集上仍能取得良好的性能。
通过向后向训练集中添加少量(0.03%)简单且可解决的“前向”示例,性能就得到极大提高。这种「启动模型」大大优于最先进的方法。
在稳定性未知的一组随机动力系统上,研究者测试了自己的模型,发现在10%到13%的情况下,都能找到新的新的李亚普诺夫函数。
在这项任务上,这些增强的模型在各种基准测试中大大超越了最先进的技术和人类表现。
它们的准确率超过80%,但硕士生级别的人类数学家在这项任务上的准确率不到10%。
最后,研究者测试了模型在随机生成系统中发现未知李雅普诺夫函数的能力。
在多项式系统中(当前方法唯一能解决的系统),模型为10.1%的系统找到了李雅普诺夫函数,而最先进的技术仅为2.1%。
在非多项式系统中(当前没有已知算法),最佳模型为12.7%的系统发现了新的李雅普诺夫函数。
系统稳定性与李雅普诺夫函数
发现控制动力系统全局稳定性的李雅普诺夫函数,是一个长期存在但易于形式化的数学开放问题。
这个函数代表着当时间趋于无穷时,其解相对于平衡点或轨道的有界性。
动力系统的稳定性是一个复杂的数学问题,吸引了许多代数学家的兴趣,从18世纪的牛顿和拉格朗日,到20世纪研究三体问题的庞加莱。
评估稳定性的主要数学工具是由李雅普诺夫提出的,他在1892年证明,如果可以找到一个递减的类似熵的函数——李雅普诺夫函数,那么系统就是稳定的。
系统稳定性
全局渐进稳定性
后来,李雅普诺夫函数的存在被证明是大系统稳定性的必要条件。
不幸的是,目前尚无已知方法可以在一般情况下推导出李雅普诺夫函数,已知的李雅普诺夫函数仅适用于少数系统。
事实上,130年后,系统推导全局李雅普诺夫函数的方法仅在少数特殊情况下已知,而在一般情况下的推导仍然是一个著名的开放问题。
为此,研究者提出了一种从随机采样的李雅普诺夫函数中生成训练数据的新技术。
在这些数据集上训练的大语言模型中的序列到序列Transformer,在保留测试集上实现了接近完美的准确率(99%),并在分布外测试集上表现出很高的性能(73%)。
实验设置
在这项工作中,研究者训练了序列到序列的Transformer,来预测给定系统的李雅普诺夫函数(如果存在)。
他们将问题框定为翻译任务:问题和解决方案被表示为符号token的序列,模型从生成的系统和李雅普诺夫函数对中进行训练,以最小化预测序列与正确解决方案之间的交叉熵。
为此,研究者训练了具有8层、10个注意力头和嵌入维度为640的Transformer,批大小为16个样本,使用Adam优化器,学习率为10^−4,初始线性预热阶段为10,000次优化步骤,并使用反平方根调度。
所有实验在8个32GB内存的V100 GPU上运行,每个epoch处理240万样本,共进行3到4个epoch。每个GPU的训练时间在12到15小时之间。
数据生成
研究者将模型在大型数据集上进行训练和测试,这些数据集由稳定系统及其相关的李雅普诺夫函数对组成。
采样此类稳定系统有两个难点。
首先,大多数动力系统是不稳定的,并且没有通用的方法可以决定一个系统是否稳定。
其次,一旦采样到一个稳定系统,除了特定情况下,没有通用的技术可以找到李雅普诺夫函数。
在本文中,研究者依赖于反向生成,通过采样解决方案并生成相关问题来处理一般情况,以及正向生成,通过采样系统并使用求解器计算其解决方案,来处理小度数的可处理多项式系统。
反向生成
反向生成方法,从解决方案中采样问题,只有在模型能够避免学习逆转生成过程或“读取”生成问题中的解决方案时才有用。
例如,当训练模型解决求整数多项式根的难题时,人们可以轻松从其根(3、5、7)生成多项式:
然而,如果模型是从P(X)的因式分解形式进行训练的,它将学会读取问题的根,而非计算它们。
另一方面,简化形式
也并未提供任何线索。
反向生成的第二个困难是,对解决方案而非问题进行采样,会使训练分布产生偏差。
为此,研究者提出了一种从随机李雅普诺夫函数V生成稳定系统S的过程。
经过以上六步,产生了一个稳定系统S:ẋ=f(x),其中V作为其Lyapunov函数。
正向生成
尽管在一般情况下稳定性问题尚未解决,但当多项式系统的李雅普诺夫函数存在并可以写成多项式的平方和时,已有方法可以计算这些函数。
这些多项式复杂度的算法对于小型系统非常高效,但随着系统规模的增长,其CPU和内存需求会急剧增加。
研究者利用这项算法,来生成前向数据集。
这种方法也有几个局限性,限制了该方法可以解决的多项式系统的类别。
数据集
研究者生成了两个用于训练和评估目的的反向数据集和两个正向数据集,以及一个较小的正向数据集用于评估目的。
结果
研究者在不同数据集上训练的模型,在保留测试集上取得了接近完美的准确率,并且在分布外测试集上表现非常出色,特别是在用少量正向示例增强训练集时。
它们大大超越了当前最先进的技术,并且还能发现新系统的李雅普诺夫函数。以下是这些结果的详细信息。
分布内和分布外的准确率
在本节中,研究者展示了在4个数据集上训练的模型的性能。
所有模型在域内测试中都取得了高准确率,即在它们训练所用数据集的留出测试集上进行测试时。
在正向数据集上,障碍函数预测的准确率超过90%,李雅普诺夫函数的准确率超过80%。
在反向数据集上,训练于BPoly的数据集的模型几乎达到了100%的准确率。
研究者注意到,束搜索,即允许对解进行多次猜测,显著提高了性能(对于表现较差的模型,束大小为50时提升了7到10%)。
在所有后续实验中,研究者都使用了50的束大小。
对生成数据训练的模型的试金石,是其分布外(OOD)泛化能力。
所有反向模型在测试正向生成的随机多项式系统(具有平方和李雅普诺夫函数)时,都取得了高准确率(73%到75%)。
最佳性能由非多项式系统(BNonPoly)实现,这是最多样化的训练集。
反向模型在具有障碍函数的正向生成系统集(FBarr)上的较低准确率,可能是因为许多障碍函数不一定是李雅普诺夫函数。在这些测试集上,反向模型必须应对不同的分布和略有不同的任务。
另一方面,正向模型在反向测试集上的表现较差。这可能是由于这些训练集的规模较小。
总体而言,这些结果似乎证实了反向训练的模型并未学习反转其生成过程。如果是这样,它们在正向测试集上的表现将接近于零。它们还显示了良好的OOD准确率。
通过丰富训练分布来提高性能
为了提高反向模型的OOD性能,研究者在其训练集中加入了一小部分正向生成的示例。
值得注意的是,这带来了显著的性能提升。
将300个来自FBarr的示例添加到BPoly中后,FBarr的准确率从35%提高到89%(尽管训练集中正向示例的比例仅为0.03%),并使FLyap的OOD准确率提高了10多个百分点。从FLyap添加示例带来的改进较小。
这些结果表明,在反向生成数据上训练的模型的OOD性能,可以通过在训练集中加入少量我们知道如何解决的示例(几十或几百个)来大大提高。
在这里,额外的示例解决了一个较弱但相关的问题:发现障碍函数。因为所需示例数量很少,因而这种技术特别具有成本效益。
与当前最先进的基线比较
为了给模型提供基线,研究者开发了findlyap,这是MATLAB的SOSTOOLS中的李雅普诺夫函数查找器的Python对应版本。
他们还引入了FSOSTOOLS,这是一个包含1500个整数系数多项式系统的测试集,具有SOSTOOLS可以求解的整数系数。
研究者还测试了基于AI的工具,例如Fossil 2、ANLC v2和LyzNet。
这些方法在测试集上取得了较低的准确率。这可能是因为这些工具旨在解决不同的问题:发现局部或半全局李雅普诺夫函数(并可能寻找控制函数),而研究者的目标是全局李雅普诺夫函数。
表5比较了findlyap和基于AI的工具以及研究者模型在所有可用测试集上的表现。
一个在BPoly上训练并补充了500个来自FBarr的系统的模型(PolyMixture)在FSOSTOOLS上达到了84%的准确率,证实了混合模型的高OOD准确率。
在所有生成的测试集上,PolyMixture的准确率都超过了84%,而findlyap在反向生成的测试集上仅达到了15%。
这表明,在多项式系统上,从反向生成数据训练的Transformer模型,相比于之前的最先进技术取得了非常强的结果。
平均而言,基于Transformer的模型也比SOS方法快得多。
当尝试解决一个包含2到5个方程的随机多项式系统时,findlyap平均需要935.2秒(超时为2400秒)。
对于研究者的模型,使用贪婪解码进行一个系统的推理和验证平均需要2.6秒,使用束大小为50时需要13.9秒。
探索未知领域:发现新的数学
这次研究的最终目标,就是发现新的李雅普诺夫函数。
为了测试模型发现新的李雅普诺夫函数的能力,研究者生成了三个随机系统的数据集:
- 包含2或3个方程的多项式系统(Poly3)
- 包含2到5个方程的多项式系统(Poly5)
- 包含2或3个方程的非多项式系统(NonPoly)
对于每个数据集,生成100,000个随机系统,并消除那些在x^∗ = 0处局部指数不稳定的系统,因为系统的雅可比矩阵具有实部严格为正的特征值。
然后,将findlyap和基于AI的方法与两个在多项式系统上训练的模型进行比较:FBarr和PolyM(ixture)——BPoly与来自FBarr的300个示例的混合——以及一个在BPoly、BNonPoly和来自FBarr的300个示例的混合上训练的模型(NonPolyM)。
在多项式数据集上,最佳模型(PolyM)为11.8%和10.1%的(3阶和5阶)系统发现了李雅普诺夫函数,比findlyap多出十倍。对于非多项式系统,李雅普诺夫函数在12.7%的示例中被找到。
这些结果表明,从生成的数据集和李雅普诺夫函数训练的大语言模型确实能够发现尚未知的李雅普诺夫函数,并且表现远高于当前最先进的SOS求解器。
模型找到正确解决方案的百分比
专家迭代
接下来,研究者为多项式系统创建了一个经过验证的模型预测样本,FIntoTheWild,将其添加到原始训练样本中,并继续训练模型。
n1:添加20,600个样本,分别来自BPoly(20,000)、FBarr(50)、FLyap(50)和FIntoTheWild(500)
n2:添加2,000个样本,分别来自FLyap(1,000)和FIntoTheWild(1,000)
n3:添加50个来自FIntoTheWild的样本
n4:添加1,000个来自FIntoTheWild的样本
n5:添加2,000个来自FIntoTheWild的样本
n6:添加5,000个来自FIntoTheWild的样本
此外,研究者还从头开始重新训练一个模型(n7),使用BPoly(1M)、FBarr(500)、FLyap(500)和FIntoTheWild(2,000)的混合。
不同微调策略下,模型在前向基准和「探索未知领域」中的表现
可以看到,向100万训练集添加1,000个经过验证的预测可将「探索未知领域」测试集的性能提高约15%,同时不会影响其他测试集(n4)。
而添加更多样本似乎是有害的,因为它降低了其他基准的性能(n5和n6)。
此外,使用来自其他分布的混合数据进行微调效率不高(n1和n2),而少量贡献已经有助于取得一些改进(n3)。
最后,从头开始使用FIntoTheWild的数据预训练模型效率不高(n7)。
Transformer不会推理,但有「超级直觉」
这项研究已经证明,模型可以通过生成的数据集进行训练,以解决发现稳定动力系统的李雅普诺夫函数。
对于随机多项式系统,研究者的最佳模型可以在五倍于现有最先进方法的情况下,发现李雅普诺夫函数。
它们还可以发现非多项式系统的李雅普诺夫函数(目前尚无已知算法),并且能够重新发现由Ahmadi等人发现的多项式系统的非多项式李雅普诺夫函数。
研究者也承认,工作仍有一些局限性。
由于没有已知的方法来判断随机系统是否稳定,他们缺乏非多项式系统的良好基准。
此外,本文研究的所有系统都相对较小,多项式系统最多为5个方程,非多项式最多为3个方程。
他们相信,扩展到更大的模型应该有助于处理更大、更复杂的系统。
最后,这项工作可以扩展到考虑非多项式系统的定义域。
总之,这项工作在两个方向上具有更广泛的影响:Transformer的推理能力,以及AI在科学发现中的潜在作用。
参考资料:
https://arxiv.org/abs/2410.08304