点击下方卡片,关注「AI视界引擎」公众号
在这项工作中提出了SPFormer,一种通过超像素表示增强的视觉Transformer。传统视觉Transformer的固定大小和非适应性 patch partitioning的局限性,SPFormer使用适应图像内容的超像素。这种方法将图像划分为不规则的、语义连贯的区域,有效地捕捉复杂的细节,并适用于初始和中间特征 Level 。
SPFormer是可训练的端到端模型,在各种基准测试中表现出色。值得注意的是,它在具有挑战性的ImageNet基准测试上取得了显著的改进,分别比DeiT-T提高了1.4%,比DeiT-S提高了1.1%。SPFormer的一个显著特点是其内在的可解释性。超像素结构提供了一个洞察模型内部过程的窗口,为提高模型的可解释性提供了有价值的见解。这种程度的清晰度显著提高了SPFormer的鲁棒性,尤其是在图像旋转和遮挡等具有挑战性的场景中,证明了其适应性和耐用性。
1 Introduction
在过去的十年中,视觉社区见证了视觉识别系统的一个显著演变,从2012年卷积神经网络(CNNs)的重兴到2020年视觉 Transformer (ViTs)的尖端创新。这一演变引发了对特征表示学习基础方法的重大转变,从基于像素(对于CNNs)到基于patch(对于ViTs)。
通常,基于像素的表示将图像组织为一个规则的网格,允许CNNs通过滑动窗口操作提取局部详细特征。尽管CNNs中固有的归纳偏见(如平移不变性)有助于它们有效地学习视觉表示,但这些网络在捕捉全局范围信息时面临挑战,通常需要堆叠多个卷积操作和/或额外的操作来扩大其感受野。
另一方面,视觉 Transformer (ViTs)将图像视为一系列patch。这些基于patch的表示通常比像素表示的对应物具有更低的分辨率,能够在计算上高效地实现全局范围的自注意力操作。虽然注意力机制成功捕获了全局交互,但这也意味着在保留局部细节(如物体边界)方面付出了代价。此外,基于patch的表示的低分辨率给适应高分辨率密集预测任务(如分割和检测)带来了挑战,这些任务需要同时保留局部细节和全局上下文信息。
这使作者思考了一个有趣的问题:是否可以从同时保留局部细节和有效捕捉长程关系中受益?作为回应,作者探索了基于超像素的解决方案,这些解决方案在深度学习出现之前已在计算机视觉中广泛使用。这些解决方案提供了局部一致的结构,并减少了与像素级处理的计算开销。具体来说,根据输入自适应地,超像素将图像划分为不规则的区域,每个区域都聚集具有相似语义像素。这种方法允许使用少量超像素来通过自注意力建模全局交互。
受ViTs中patch表示固有限制的启发,作者引入了一种创新的方法,通过作者的超像素交叉注意力(SCA)将超像素表示引入到超像素。resulting架构,超像素 Transformer (SPFormer),巧妙地将局部细节保留与全局范围自注意力相结合,实现了端到端的可训练性。
与标准ViT架构相比,SPFormer在各种任务上表现出显著的改进。例如,它在具有挑战性的ImageNet基准测试上取得了显著的改进,例如DeiT-T提高了1.4%,DeiT-S提高了1.1%。值得注意的是,SPFormer中的超像素表示与语义边界无缝匹配,即使在未见数据的情况下也是如此。至关重要的是,作者超像素表示提供的可解释性加深了作者对手模型决策过程的理解,阐明了其对旋转和遮挡的鲁棒性。这些发现突显了基于超像素方法在推进该领域的潜力,激发了未来在传统像素和patch基础范式之外进行视觉表示研究的动力。
2 Related Work
像素表示 Convolutional Neural Networks (CNNs) 将图像作为滑动窗口中的像素网格进行处理。自AlexNet出现以来,CNN一直是主导的网络选择,得益于几种设计选择,例如平移不变性和层次结构以提取多尺度特征。然而,它需要堆叠多个卷积操作来捕获长程信息,并且它无法轻松捕获全局范围信息,因为自注意力操作。
基于patch表示自注意力机制有效地捕获了长程信息。然而,它的计算成本是对输入token数量的四次方。视觉 Transformer (ViTs)通过将输入图像分成了一个patch序列(patch大小为16×16)来解决这个问题。基于patch的表示释放了 Transformer 架构在计算机视觉中的力量,显著影响了多个视觉识别任务。由于ViTs中没有像CNNs那样的内置归纳偏差,学习ViTs需要特殊的训练增强,大规模数据集,更好的训练配方,或架构设计。
为了减轻这个问题,一些工作利用卷积来划分图像,导致混合CNN-Transformer架构。与那些仅从现有CNNs和ViTs中收集知识的工作不同,作者探索了ViTs中的不同超像素表示。
超像素表示在深度学习时代之前,超像素是计算机视觉中最受欢迎的表示之一。Ren和Malik使用局部一致的超像素对图像进行预处理,保留了后续识别任务所需结构,同时显著减少了与像素级处理的计算开销。超像素聚类方法包括基于图的方法,均值漂移,或k-means聚类。
由于其有效的表示,最近一些工作尝试将聚类方法集成到深度学习框架中。例如,SSN将不同的可微SLIC集成到CNNs中,实现了端到端训练。Yu等人将目标 Query视为Transformer解码器中的聚类中心。SViT将Token聚类为超Token,其中聚类过程没有通过1的梯度。因此,他们的网络不了解聚类过程,无法从聚类错误中恢复。CoCs将像素分组到簇中,每个簇内通过将图像视为具有坐标连接的点集来聚合特征。
相比之下,作者提出的方法将像素分组为超像素,并通过自注意力来建模它们的全局关系。此外,在聚类过程中,CoCs使用引入视觉artifacts的Swin风格窗口分区,尤其是在窗口边界附近。
3 Method
在本节中正式化超像素表示,并与第3.1节中的传统方法进行比较。然后,在第3.2节中,详细介绍了如何将这种表示与超像素交叉注意力机制相结合。在这些概念的基础上提出了SPFormer,它展示了图像处理中一种可解释和高效的方法,并在第3.3节中进行介绍。
Superpixel Representation: Bridging Pixel and Patch Approaches
在不断发展的特征表示领域中,从像素到基于patch的方法在视觉 Transformer 中的转变为图像处理开辟了新的途径。然而,每种方法都有局限性,这激发了作者探索更适应和更高效表示的愿望:超像素。
像素表示:传统的像素表示将图像视为一个高分辨率像素网格,其中。这种表示在基于CNN的方法中占主导地位,但由于感受野有限,存在上下文集成限制。虽然自注意力机制理论上可以增强这种集成,但将其应用到这种分辨率水平在计算上具有很高的开销,因为与像素数量的四次方复杂度成正比。
patch表示:视觉 Transformer 通常使用一个较低分辨率的patch表示,,这大大减少了输入长度。这种减少有助于应用自注意力机制,但代价是patch的细粒度导致更精细的细节和上下文细微差别丢失。
超像素表示:超像素表示将基于像素的方法的细节与基于patch的方法的有效性相结合,由超像素特征和像素到超像素的关联组成。
相邻超像素(): 对于每个像素,将其定义为相邻超像素,包括最近的超像素及其莫尔邻域()。关联矩阵划分了像素及其相邻超像素之间的关系,促进了它们之间的竞争动态。
超像素的局部窗口(): 每个超像素与其相邻超像素()相关联,并与其局部窗口相关联。这个窗口包括为超像素的特征表示做出贡献的相邻像素。这些局部窗口的叠叠性质对于在Sec. 3.2中使用滑动窗口方法实现SCA至关重要,这使得可以实现更细腻的注意力机制。
从超像素到像素表示的转换由:
其中表示第i个像素的特征。这种方法确保边界信息保留和比直接patch上采样更细的粒度,从密集像素网格转换为较粗糙的超像素网格。
超像素表示唯一地保留了边界信息,这使得可以维护对于详细任务至关重要的高分辨率特征。它对图像畸变(如旋转和遮挡)的鲁棒性使其相对于传统的像素或patch方法更具鲁棒性。总之,由于其降低的分辨率、通过语义像素聚类解释以及对于挑战性图像变换的鲁棒性,超像素表示具有高效性。
Superpixel Cross Attention
给定初始像素表示和超像素特征,SPFormer迭代更新这些特征。在每个迭代中,超像素特征和关联都使用一个滑动窗口内的交叉注意力机制进行优化,如图2所示。这种机制旨在保持超像素的局部性,同时确保高计算效率。
SCA模块,对SPFormer至关重要,包括两种类型的交叉注意力:像素到超像素(P2S)和超像素到像素(S2P)。对于P2S交叉注意力,超像素特征在局部区域内交叉注意力到像素特征,增强超像素表示。相反,在S2P交叉注意力中,像素特征根据相邻超像素更新,优化像素表示。
P2S交叉注意力通过聚合相关的像素特征来更新超像素特征,计算方式如下:
在这里,表示超像素的局部窗口中的像素集合。向量( Query )、(Key)和(Value)是先验迭代超像素特征和像素特征的线性变换的产物。
在S2P交叉注意力中,像素特征使用更新的关联进行更新,计算方式如下:
在这里,表示像素的相邻超像素。然后,通过以下方式得到更新后的像素表示:
在这里,价值向量通过前一个超像素特征的线性变换获得。
为了在SCA中引入位置信息,作者利用了卷积位置嵌入(CPE),它捕获了图像内的空间关系。在应用P2S和S2P交叉注意力之前,超像素和像素特征都增加了CPE,实现了一个的深度卷积,其中包含跳过连接。这种增强加强了基于像素和超像素之间空间接近度的关联,从而促进了更准确的像素-超像素对齐。
这些迭代更新方程是改进像素和超像素特征表示的基础,从而提高特征表示的整体质量和准确性。作者提出的SCA模块,能够进行多次迭代,是SPFormer的核心,将在下一小节的SPFormer架构中进一步详细介绍。
SPFormer Architecture
SPFormer旨在利用提出的超像素表示的优势,与标准的ViT具有最小的差异。与ViT方法一致,采用非重叠的patchify层。然而,使用较小的窗口大小来提取初始像素特征,而传统的是。窗口大小的减少是由有效的超像素表示实现的,该表示大大降低了输入长度。
首先,使用卷积和平均池化,基于像素特征来推导超像素特征。使用SCA模块迭代更新这些超像素特征和关联(共次迭代)。SCA模块利用超像素内的局部空间上下文来增强其表示。然后,更新的超像素特征经过多头自注意力(MHSA),使得网络能够识别超像素之间的长程依赖关系和上下文信息,从而促进对图像的全面理解。
作者观察到,即使在一个SCA模块内进行多次迭代(例如,),生成的低级超像素表示也可能不完全与整体上下文对齐,这主要是由于语义信息不足。为了应对这个问题,提出了一种逐步优化超像素表示的方法,通过多个包含几个迭代(例如,)的SCA模块。每个后续的SCA模块利用更新的像素特征生成语义更丰富的超像素。
具体来说,在将超像素特征传递到下一个SCA模块之前,使用卷积对超像素特征进行投影。然后,根据公式(1)更新像素特征,并使用跳跃连接。这种方法确保了在从前SCA和MHSA模块中获得的全球上下文增强的超像素特征的基础上,像素表示得到优化。而不是从头开始重新初始化超像素特征,作者利用前一个阶段的上下文增强超像素特征作为起点。这种方法,如图3所示,系统地增强了超像素表示,允许捕捉越来越复杂的语义信息。
在结束阶段,对超像素特征进行全局平均池化,并将结果作为线性分类器的输入用于图像分类任务。
从概念上讲,SPFormer可以被视为双分支结构。其中一个分支保持高分辨率的密集像素表示,而另一个分支专门用于提出的低分辨率超像素表示。作者对密集像素表示进行的最小直接操作允许作者集中大部分计算资源在更有效的超像素表示上。这种双分支方法在实现计算效率的同时,不会牺牲图像表示中保留的局部细节。
4 Experiments
首先在Sec. 4.1中详细介绍方法实现。然后,在Sec. 4.2中展示其可解释性,并在Sec. 4.3中评估在图像分类和分割上的效率。
Implementation Details
SPFormer建立超像素特征和像素特征之间的特定比例。设计上,超像素特征的空间维度被降低到相应像素特征的。这种缩放策略对于在更抽象的层面编码上下文丰富的信息至关重要,同时同时保留像素级的基本细节。
在SCA模块中,使用多头自注意力来有效地管理超像素之间的注意力和交互。这种设置不仅能够最大限度地利用全局上下文信息,而且还能产生多个超像素表示,如图4所示。这些不同的表示捕捉了不同的粒度,解决了超像素过度分割的常见歧义。具体来说,将两个头分配给作者的较小变体(SPFormer-T和SPFormer-S),并将三个头分配给基础模型(SPFormer-B)。
SCA模块被集成到标准的ViT架构中,战略性地位于第一个和第三个自注意力模块之前。作者采用LayerScale技术,以调节梯度流动,从而增强训练稳定性和收敛性。值得注意的是,结合了公式(2)和(4)中定义的残差连接,SPFormer在训练开始时类似于普通的patch,随着训练的进行逐渐利用超像素。
遵循DeiT中详细描述的训练协议,使用强大的数据增强,AdamW优化器,以及余弦衰减学习率计划。所有模型在ImageNet数据集上进行训练,持续300个epoch。在SPFormer-B/16的训练阶段,面临严重的过拟合挑战。为了应对这一问题,作者将随机深度(Stochastic Depth)率从0.1提高到0.6,有效地缓解了过拟合。这一调整强调了需要更复杂的正则化技术,特别是那些针对超像素表示的定制技术,作者将会在未来的研究中进行探讨。
对于SPFormer的变体,默认配置采用了一个的patchify层。带有两个核大小为3,步长为2的卷积层(augmented)的变体被Token为。其他配置,适应不同的超像素大小,通过其ViT等效的patch大小进行标识,例如SPFormer/32对应一个的patch大小。这种表示法确保了作者在实验中每个变体的明确区分。
Unveiling SPFormer’s Explainability
将超像素表示集成到视觉 Transformer 架构中,与传统的固定patch划分方法相比,增加了显著的解释性。本节首先讨论了超像素表示的固有解释性,然后评估了其语义对齐和泛化到未见数据的能力。
4.2.1 Superpixel Representation as an Explainability Tool
SPFormer的超像素表示可以通过关联矩阵进行可视化,提供对模型内部处理的了解。在图1中,作者通过在超像素上选择最大值来可视化学习到的软关联:
这些可视化结果揭示,即使存在软关联,超像素也通常与图像边界对齐。这种对齐是值得注意的,因为它在网络仅训练于图像类别标签的情况下出现。因此,该模型将图像分割为不规则的、语义感知的区域,同时减少了所需的Token数量以表示。
此外,作者使用COCO数据集评估超像素表示的泛化性,该数据集包含具有复杂场景的高分辨率图像。对于这次评估,将COCO图像重新缩放并中心裁剪,以与ImageNet评估 Pipeline 对齐。
图5展示了这些图像上超像素的视觉表示。值得注意的是,由SPFormer在ImageNet上训练后生成的超像素,在适应这种未见数据方面表现良好,捕捉到如细长物体这样的复杂结构。这种适应性突显了模型在保留细节和将超像素表示泛化到新上下文方面的能力。
4.2.2 Semantic Alignment of Superpixels
作者对超像素表示的评价重点在于其与图像真实边界对齐的能力,尽管该模型没有在这些用于评估的数据集上进行训练。这次评估涉及使用Pascal VOC 2012数据集和Pascal-Part-58对物体和部件进行定量的分析。值得注意的是,这些评估是在没有对这些特定数据集进行任何训练的情况下进行的,这强调了模型的泛化能力。
在SPFormer中,每个超像素或patch的预测是通过聚合其包含的像素的真实标签来得到的。假设最常出现的标签为超像素的预测,这被认为是最佳的分类。这种方法利用了SCA模块产生的软关联,其中预测是通过将像素标签与其相应的权重相结合,并按照公式(1)进行上采样得到的。
不同于传统单超像素的结果,SPFormer在SCA模块中采用了多头设计。这使得每个Head可以生成多个、不同的超像素,从而增强了提取特征的丰富性和多样性(参见图4)。在评估中,作者计算了所有Head预测的平均值。值得注意的是,如果SPFormer中至少一个Head能够准确地识别出超像素,那么有效的特征提取就被认为是成功的。
作者超像素方法的有效性得到了证明,其性能与使用步长为16的常规ViTs(使用patch表示)进行了比较。ViTs通常会面临粒度权衡的问题,即在更广泛的patch表示中失去更精细的细节。
相比之下,SCA模块生成的超像素,如表1所示,在目标级和部分级平均交点(mIoU)方面取得了显著的改进,分别比SPFormer-S提高了4.2%和4.6%。此外,这些超像素的质量与传统的超像素方法(如SLIC)相比具有可比性,这突显了SPFormer在捕捉详细语义信息时,无需直接对评估数据集进行训练的有效性。
4.2.3 Explainability-Driven Robustness
在本节中将探讨模型的透明和可解释性特征如何帮助其对图像修改(如旋转和遮挡)具有弹性。作者将重点探讨通过超像素表示来提高模型的可解释性和鲁棒性。
对旋转的鲁棒性 即使在旋转变换下也能生成连贯的超像素,展示了由可解释结构提供的鲁棒性。通过可视化超像素如何适应旋转图像,可以获得模型在不同方向上的稳定性。虽然SPFormer对旋转的鲁棒性较高,但仍有一些局限性,可能是由于可学习的绝对位置嵌入在本质上不是旋转不变的。
这些观察结果表明,可能通过将旋转不变机制集成到超像素表示或网络架构中来增强旋转鲁棒性。图6说明了模型在旋转下的性能,表2定量了在32大小的patch下这种鲁棒性。
对遮挡的鲁棒性 SPFormer的对遮挡的鲁棒性也是解释性在发挥关键作用的一个方面。通过检查被遮挡的图像中的超像素行为,作者观察到模型区分遮挡者和感兴趣物体的能力。与传统的基于patch的表示不同,超像素表示更有效地将遮挡部分与图像内容区分开来并识别出来。这种细微的区分是模型可解释的超像素结构的直接结果,如图6所示,提供了对图像内容的更详细和上下文 aware的解释。
Efficiency in Image Classification and Segmentation
4.3.1 Main Results on ImageNet
在ImageNet上评估SPFormer,突显了与DeiT Baseline 相比在各种配置下其增强的效率和性能,如表3所示。
值得注意的是,使用标准ViT配置(196个Token)的SPFormer-S超过了DeiT-S的1.1%(达到81.0% vs DeiT的79.9%),而SPFormer-T则超过了DeiT-T的1.4%(达到73.6% vs DeiT的72.2%)。当使用较大的patch大小(如32)时,这种优势更加明显。尽管DeiT-S/32由于其粗粒度而导致性能下降,但SPFormer-S/32在76.4%的性能下保持了稳健,甚至比DeiT-T(72.2%)显著提高了4.2%的性能,同时FLOPs较少。
SPFormer的一个显著特点是将计算负载转移至MLP,而不是自注意力机制。这种重新分配暗示了一种替代的缩放策略,即增加图像分辨率以包含更精细的细节。通过将窗口大小从4增加到8,即将4变为8,SPFormer保持了计算效率,并在与标准配置相比时实现了0.3%的性能提升。相比之下,当DeiT-S采用类似的策略时,它仅获得了0.1%的微小改进,这受其patch表示的粒度限制。
为了进一步提高SPFormer在超像素交叉注意力阶段的初始特征提取阶段,作者引入了一个轻量级的卷积Stem,由两个或三个大小为的卷积层组成,步长为2。这一改进一直在提高性能,例如,在ImageNet准确率上,SPFormer-S/32又增加了1.5%,达到77.9%。
4.3.2 Ablation Study: Design Choices in SPFormer
在ImageNet验证集上评估了SPFormer-S/32的关键设计元素。作者研究了SCA模块的迭代次数,SCA在架构中的位置,多头自注意力机制的使用以及位置嵌入的选择对性能的影响。
这些发现强调了SCA模块中多次迭代的重要性,一次迭代会导致准确率的1.0%下降。SCA在架构中的不同层位的战略放置至关重要,因为它被限制在初始层,这会导致1.6%的准确率降低,表明高层特征在增强语义深度和纠正早期阶段超像素不准确方面起着重要作用。
此外,在SCA中使用多头自注意力机制对于捕捉不同的超像素关系具有重要意义,其缺失会导致0.8%的准确率降低。最后,使用可学习的位置嵌入比CPE会导致性能轻微下降。
这项消融研究验证了所考虑的设计选择在SPFormer中的有效性,证实了它们对模型整体性能的贡献。
4.3.3 Semantic Segmentation: Utilizing SPFormer’s High-Resolution Feature Preservation
SPFormer的超像素表示天生地保持了更高的分辨率特征,使其特别适合语义分割任务。这一特性使得SPFormer能够生成详细且富含上下文的分割输出,这是传统基于patch的方法的一个关键优势。
将SPFormer集成到SETR框架中,通过直接分类单个超像素来提高分割性能。这种直接方法利用了SPFormer的高分辨率特征保留,允许进行更细微的分割。最终分割图像是通过使用公式(1)将基于超像素的logits上采样得到的。
在ADE20K和Pascal Context数据集上评估了SPFormer。利用在ImageNet上预训练的模型,SPFormer在mIoU方面取得了显著的改进,突显了其在详细分割任务中的有效性。这些评估的详细训练参数和方法在补充材料中提供了。
如表5和表6所示,使用ImageNet预训练模型时,在ADE20K和Pascal Context上的性能改进值得注意:在ADE20K上的mIoU提高了4.2%,在Pascal Context上的mIoU提高了2.8%。这些结果不仅突显了SPFormer的超像素表示的详细特性,还表明了其对多样化和复杂数据集的适应性。
为了进一步验证SPFormer的内在分割能力,作者从零开始进行额外的训练。这种方法独立于预训练影响,迭代模型在保持高分辨率特征方面的强度,导致与 Baseline 方法相比,在ADE20K上的mIoU提高了3.0%,在Pascal Context上的mIoU提高了3.1%。
因此,SPFormer在其超像素表示中保留的高分辨率特征成为语义分割的强大优势,使得可以对各种图像数据集进行详细的分析。
5 Conclusion
在这项工作中提出了SPFormer,一种用于视觉 Transformer 中的特征表示的新方法,强调超像素表示。这种方法标志着从传统的像素和patch基础方法向转变,提供三个独特的优势:通过像素的语义分组解释性,由于超像素数量减少而提高的效率,以及由于图像失真而具有的鲁棒性。
SPFormer不仅在ImageNet分类任务上展示了改进的性能,而且在语义分割上也表现出色,展示了其多才多艺。作者的结果强调了超像素方法在各种视觉任务中的潜力,为未来的探索奠定了基础。
参考
[1].SPFormer: Enhancing Vision Transformer with Superpixel Representation
点击上方卡片,关注「AI视界引擎」公众号