[论文阅读]SegNeXt: Rethinking Convolutional Attention Design for Semantic Segmentation


前言

In this paper, we show that convolutional attention is a more efficient and eddective way to encode contextual information than the self-attention mechanism in transformers.
在这篇文章中我们展示卷积注意力是一种比转换器中的自注意力机制更有效的上下文信息编码方法。通过重新查看成功的分割模型所拥有的特征,发现了导致分割模型性能提升的几个关键组件。
表1:我们从成功的语义分割方法中观察到的属性,这些属性有利于提高模型性能。在这里,n 是指像素或标记的数量。强编码器表示强大的骨干网,如 ViT [17] 和 VAN [24]。
在这里插入图片描述


1 Introduction

一个成功的语义分割模型应该具备以下特征:

  1. 一个强大的骨干网络作为编码器。与以往基于CNN的模型相比,基于Transformer的模型的性能提升大多来自于更强的主干网络。
  2. 多尺度信息交互。与大多数识别单一对象的图像分类任务不同,语义分割是一个稠密的预测任务,因此需要在单幅图像中处理不同大小的对象。
  3. 空间注意。空间注意力允许模型通过对语义区域内的区域进行优先级排序来执行分割。
  4. 低计算复杂度。这在处理来自遥感和城市场景的高分辨率图像时尤为关键。
    不像其他网络在解码器中使用卷积作为特征精化器,反转了Transformer-Convolution编码器-解码器架构。特别是,在编码器的每一个block中,都改进了传统卷积块的设计,并利用多尺度卷积特征通过简单的逐元素乘法来激发空间注意力。我们发现这样一种简单的方式来构建空间注意力比标准的卷积和自注意力在空间信息编码中更有效。在解码器中,我们收集来自不同截断的多层次特征并使用Hamburger进一步提取全局上下文。在这种设定下,我们的方法可以获得从局部到全局的多尺度上下文,实现空间和通道维度上的自适应,以及从低级到高级的信息聚合。

3 Method

3.1 Convolutonal Encoder

在这里插入图片描述
图2 提出的MSCA和MSCAN的示意图。其中,d,k1 × k2表示使用k1 × k2核大小的深度卷积( d )。我们使用卷积提取多尺度特征,然后将其作为注意力权重用于MSCA的输入重新称重.
对于编码器中的构造块,我们采用了与ViT相似的结构,不同的是我们没有使用注意力机制,而是设计了一种新颖的多尺度卷积注意力(MSCA)模块。MSCA包含3个模块,一个深度卷积来聚合局部信息,多分支深度条带卷积捕获多尺度上下文,一个1 × 1的卷积来建模不同通道之间的关系。1 × 1卷积的输出作为注意力权重直接重新分配MSCA输入的权重。
在这里插入图片描述
F是输入的特征。下面那个式子是Att和F逐元素点乘。DW-Conv表示深度卷积,Scalei,i∈{ 0,1,2,3 },表示第i个分支。Scale0为直接映射identity connection。我们使用两个深度的条带卷积去近似具有大核的标准深度卷积。选择深度条带聚集有两方面原因:

  1. strip convolution is lightweight.条带卷积是轻量级的。
  2. 有一些条带状的目标。可以作为网格卷积的补充,有助于提取条带状的特征。
    堆积一系列的构建块可以生成卷积编码器叫MSCAN。我们采用共同的层次结构,包含空间分辨率递减的四个阶段。每个截断包含一个下采样块和上面描述的构建块。下采样模块包含一个kernel_size=3,stride=2的卷积和一个BN(使用批归一化而不是层归一化,发现批归一化对分割性能的增益更大)。
    Table2:建议的SegNeXt的不同大小的详细设置。在该表中,’ e.r . '表示前馈网络中的扩张比。C ‘和’ L '分别为通道数和模块数。解码器维度’表示解码器中的MLP维度。参数是在ADE20K数据集上计算的[ 98 ]。由于不同数据集中类别的数量不同,参数的数量可能会略有变化。
    在这里插入图片描述

3.2 Decoder

在这里插入图片描述
研究了三种简单的解码器结构。一种是在SegFormer中采用的是纯粹的基于MLP的结构。第二种是广泛采用于卷积网络,编码器的输出直接用作重型解码器头的输入,like ASPP, PSP, and DANet。第三种,在SegFormer,聚合最后三个阶段的特征,并使用轻量级Hamburger进一步模拟全局信息。结合强大的卷积编码器,我们发现使用轻量级解码器可以提高性能计算效率。
SegFormer只使用最后3层的特征是因为SegFormer是基于卷积的,在第一层的特征太低级了会损害性能。此外第一层的处理会带来很重的计算。

4. Experiments

4.1 Encoder Performance on ImageNet

4.2 Ablation study(消融研究)

4.3 Comparison with state-of-the-art methods


总结

猜你喜欢

转载自blog.csdn.net/goodenough5/article/details/129973085