多阶段特征的聚合在语义分割中发挥着重要作用,与以往采用逐点求和或级联的特征聚合方法不同,本研究提出了一种名为“类别特征Transformer(CFT)”的方法,通过普遍的多头注意力机制探索多阶段特征之间的类别嵌入和转换流程。CFT从High-Level特征中为每个语义类别学习统一的特征嵌入,在每个聚合过程中动态地将它们广播到高分辨率特征中。将所提出的CFT集成到典型的特征金字塔结构中,在广泛的Backbone网络范围内表现出优越的性能。
作者在流行的语义分割基准测试上进行了大量实验。具体而言,所提出的CFT在具有挑战性的ADE20K数据集上以大大减少的模型参数和计算量获得了55.1% mIoU。
1、简介
语义分割是计算机视觉中一项主要但具有挑战性的感知任务,将每个像素与预定义的语义类别关联起来。它生成与输入图像分辨率相匹配的密集预测,在场景级别自然地产生有意义的区域。深度学习方法在推动该领域的发展方面发挥了重要作用,多阶段特征的聚合对于提高识别精度至关重要。
通常,作为编码器的Backbone网络会生成具有不同尺度的多阶段特征。一种常见做法是从最后一个阶段的特征开始,然后进行渐进式的特征上采样,并从前一个阶段聚合特征,直到所有阶段的所有特征都得到充分利用,例如特征金字塔网络(FPN)。更进一步,一些研究关注相邻阶段特征之间的上下文不对齐问题,并试图在逐元素聚合之前对这些特征进行对齐。
然而,在本研究中,作者观察到,尽管这些范式改善了整体场景解析精度,但它们导致每个语义类别的性能提升差异显著。如图1所示,在聚合多阶段特征后,某些类别的识别精度出现了明显下降。因此,探索一种稳健的多阶段特征聚合方法仍然至关重要。
最近,源自自然语言处理领域的Transformer已成功地适应了计算机视觉领域,被称为视觉Transformer(ViT)。多头注意力机制是一个主要组件,用于为在多个子空间中聚合任意距离特征生成内容相关的注意权重。目前,视觉Transformer在语义分割中有两个主要应用。它们可以作为通用Backbone来生成增强的特征表示,或者在解码过程中学习动态滤波器,通过适当操作序列到序列特性来生成分割Mask。不同的是,本研究采用了一种新的角度,探索了多头注意力在聚合多阶段特征方面的能力,因为它具有动态和独特的全局建模能力。
实现这个想法的一个直观方法是以前一阶段的特征作为查询(query),当前阶段的特征作为Key/Value(key/value)进行特征聚合。通过这种方式,可以在没有显式的双线性上采样操作的情况下,动态地聚合两阶段的特征,从而避免由于有限的特征重建能力而注入语义噪声。由于早期特征图的分辨率很高,这种朴素的实现会导致难以承受的计算成本。基于一个假设,即相邻区域内的像素可能属于相同的语义类别并具有相似的特征,先前的方法对Key/Value进行下采样,以在矩形池化窗口(即常规网格)中收集信息,从而减轻计算负担。作者认为,通过这种操作,所得到的Key/Value特征携带了混乱的语义,阻碍了特征的聚合,因为常规网格只是近似(而不是遵循)现实世界中的语义结构。
为此,本研究提出了一种用于语义分割中有效的自顶向下特征聚合的“类别特征Transformer(CFT)”。基于当前的High-Level特征,CFT明确学习特定于类别的Mask,以定义多个不规则区域,每个区域对应一个单独的语义类别。然后,通过在相应的不规则区域中对特征值进行平均,获得携带高度一致语义的统一类别特征嵌入。这些特定于类别的特征随后以加权求和的方式自适应地广播到相应的高分辨率(即Low-Level)特征图中。
在这种新颖设计的帮助下,与其他当代方法相比,CFT在三个具有挑战性的基准测试中实现了一致的准确性改进,同时大大减少了参数和计算量。作者总结主要贡献如下:
- 重新审视了多阶段特征聚合方案,并观察到少数类别在聚合多阶段特征后的准确性严重下降。
- 提出了一种新颖的方案,在多头交叉注意力的背景下学习特定于类别的特征嵌入,用于语义分割中自顶向下的特征聚合范式。它保证了高度一致的语义并显著降低了模型复杂性。
- 在具有挑战性的基准测试上进行了广泛的实验研究。定量结果表明了有效性,消融实验提供了对特性的洞察。具体而言,CFT在ADE20K数据集上获得5.1% mIoU。
2、本文方法
本节详细介绍了专门用于在语义分割中聚合多阶段特征的提出的CFT框架。作者从总体架构的概览开始,然后逐步介绍方法的详细设计。
2.1、Overview
所提出框架的总体架构如图2所示。作者采用一个Backbone网络来获取多阶段的图像特征,然后通过CFT以自顶向下的方式进行聚合。来自编码器的这些多阶段特征首先通过单独的横向/跳跃连接映射到相同的特征空间,因为它们具有不同的通道维度。
最后,作者将这些聚合的特征进行上采样,并在通道维度上进行拼接,以进行密集预测。需要注意的是,Backbone网络不局限于生成不同尺度特征的CNN或视觉Transformer。本研究使用ResNet、MiT和SwinT作为Backbone网络,以展示方法的普适性。
2.2、Category Feature Transformer
CFT作为有效融合相邻阶段特征的关键组件,包括类别特征嵌入和转换,如图3所示。类别特征嵌入明确地学习了基于High-Level特征的每个语义类别的统一特征嵌入,一方面获得一致的语义,另一方面显著减少了计算复杂性。类别特征转换计算了每个Low-Level特征与学习的类别嵌入之间的亲和度分数。这些亲和度分数充当注意权重,动态地将High-Level语义广播到高分辨率特征中,其中不使用上采样操作符,如双线性上采样。通过避免使用显式的双线性上采样和逐点聚合操作符(如求和或级联),作者可以减少语义噪声的引入。
假设 为输入图像,其中 H 和 W 分别表示高度和宽度。然后,作者使用分层Backbone网络获得多阶段图像特征 。 是第 阶段的特征,其尺度为输入图像的 ,即 和 。
作者将 表示为通过横向连接映射得到的特征,其中 ,在本研究中设为 256。表示从上到下逐渐聚合的特征,其中 ,并且 。
在本研究中,被定义为恒等映射,但也可以是诸如ASPP之类的任何上下文模块。对应于详细描述如下的CFT。
2.3、Category Feature Embedding
在给定当前聚合的特征 后,作者首先通过标准化操作获得类别Mask 和对齐特征 :
其中 和 是由没有激活函数的 1 × 1 卷积层实现的两个线性变换。,其中 是语义类别的数量。然后,将 Reshape 为 ,其中 。对于 中类别 的每个Mask ,作者应用 (用 σ表示)来获得注意权重,如公式 3 所示。
被 Reshape 为 ,然后作者通过公式 4 计算第 阶段每个语义类别的统一特征嵌入。
通过这种方式,对于每个类别 ,作者在当前的聚合阶段定义了其统一特征嵌入 ,它是属于该类别的所有像素的加权平均。因此,精确的Mask预测非常重要,因为它作为像素预期语义类别的粗略指示器。
2.4、Category Feature Transformation
一旦作者获得了在第 i 个聚合阶段保留丰富语义信息的学习的统一类别特征嵌入 ,作者就会探索多头注意力的能力,将它们自适应地传递给直接来自Backbone网络的每个特征点在 中(见图2和图3)。
首先,作者简要回顾一下多头注意力机制。它使用查询(query)、键(key)和值(value)这3个基本元素作为输入,分别表示为 Q、K 和 V。
其中,,。表示连接操作。表示头的数量,表示缩放因子。是一个可学习的矩阵。
在所提出的类别特征转换中,作者计算 来与第阶段特征 进行交互,其中 、和 的计算如下:
、 和 都是可学习的参数。最后,作者按如下方式获得聚合特征 :
其中 FFN 表示前馈神经网络。由于作者观察到在引入相对位置编码或正弦嵌入时在实验中没有明显的准确性扰动,因此作者遵循 Xie 等人使用深度可分离卷积来实现 FFN,从而实现了无位置编码的架构。
2.5、Loss Function
总体损失函数定义如公式 9,其中 表示最终像素分类的交叉熵(CE)损失。作者还使用一个Mask损失,该损失是Focal Loss和 Dice 损失的线性组合,用于监督类别Mask的学习。用于计算损失的Mask按顺序相加。λ和 λ的值经验性地设置为 2 和 5。
3、实验
3.1、消融实验
1、Multi-stage Feature Aggregation
作者验证了提出的CFT框架在多阶段特征聚合方面的有效性,这是本研究的基本见解。作者在表1中与CNN和TransformerBackbone进行了比较。FCN只利用最终阶段的特征,其他方法充分利用了多阶段特征。SemFPN采用了朴素的FPN结构用于语义分割,表明了多阶段特征聚合的重要性。VT-FPN、FaPN和AlignSeg是进一步提高分割准确性的增强FPN变体。
作者还注意到一些方法无法推广到各种Backbone网络,例如SegFormer。相比之下,作者提出的CFT在CNN和视觉Transformer Backbone上均获得了优越的性能,同时防止了模型复杂性的增加,例如在模型参数和FLOPs方面都低于最近的AlignSeg。
作者进一步在图1中绘制了在聚合多阶段特征后每个类别准确性提升的分布,从中作者可以观察到CFT有效地减轻了少数类别的性能下降,并在所有类别中获得了更一致的准确性提升,表明了更加稳健的多阶段特征聚合范式。关于自顶向下特征聚合范式的一些视觉对比在图4中并排展示。
2、Verification of the Key Insight
先前的方法表明,在使用传统的双线性上采样和逐点求和进行特征聚合时存在上下文不匹配的问题。本工作的直接思路是利用多头注意力机制进行相邻阶段特征聚合,因为它具有强大的上下文建模能力和隐式特征重建的潜力。
为此,一个简单的实现将High-Level特征 作为Key/Value,相应的Low-Level特征 作为查询。如表2所示,这个朴素版本相对于Baseline SemFPN获得了显著的性能提升(0.87% mIoU↑),表明了其有效性。然而,计算成本增加了(FLOPs 从 42.0G 增加到 112G),当扩展到大型模型时是难以承受的。
为了减少计算量,作者采用了一种高效的设计,通过平均池化对Key/Value进行下采样,该设计在规则网格(即池化窗口)中收集特征,出人意料地导致了分割准确性的提高,达到了 47.45% mIoU,表明在自顶向下的聚合过程中不需要计算任意成对像素特征点之间的相似度分数。
作者进一步提出为每个语义类别学习一个统一的特征嵌入,以确保一致的语义,这将性能大幅提升到 48.80% mIoU。FFN 在相邻阶段特征融合中也起着重要作用,因为忽略它会导致显著的准确性下降(mIoU 从 48.80% 下降到 47.79%)。总的来说,这些结果证明了多头注意力和统一类别嵌入在聚合多阶段特征时无需显式上采样操作的能力。
3、Verification of the Mask Loss
作者观察到适当的Mask监督对于基于类别嵌入的方法是至关重要的,例如OCRNet和CondNet。作者从这个方面进行了验证。
表3给出了结果,作者保持与原论文相同的数据集和训练设置,以进行公平比较。结果表明,适当的Mask监督在不同方法之间是不同的,而CFT的有价值的准确性改进并不是来自于单一的Mask损失,而是来自于新颖的架构本身。
作者在图5中可视化了学习到的类别Mask的示例,其中列出了与相关和不相关语义类别有关的Mask。正如作者所见,借助适当的Mask损失,CFT学习到了能够识别每个语义区域的精确Mask。由于这些Mask很好地处理了相关语义,同时通过这些Mask有效地抑制了不相关的语义,因此可以获得准确的类别特征嵌入,从而提高分割准确性。同时,一个有趣的现象表明,即使没有有效的注释,也会自然地出现有意义的模式,例如第二行末尾的窗格。
3.2、Results on ADE20K
3.3、Results on Cityscapes
3.4、Results on Pascal-Context
4、参考
[1].Category Feature Transformer for Semantic Segmentation.