[论文翻译]SegNeXt: Rethinking Convolutional Attention Designfor Semantic Segmentation

论文地址:https://arxiv.org/abs/2209.08575

代码地址:GitHub - Visual-Attention-Network/SegNeXt: Official Pytorch implementations for "SegNeXt:
Rethinking Convolutional Attention Design for Semantic Segmentation" (NeurIPS 2022)

目录

Abstract

1 Introduction

3 Method

3.1 Convolutional Encoder

3.2 Decoder


Abstract

我们提出了SegNeXt,一种用于语义分割的简单卷积网络架构。近年来,基于transformer的语义分割模型由于自注意编码空间信息的有效性而在语义分割领域占据主导地位。在本文中,我们表明卷积注意是一种比transformer的自注意机制更高效和有效的编码上下文信息的方法。通过重新检查成功的分割模型所拥有的特征,我们发现了导致分割模型性能改进的几个关键因素。这促使我们设计一个新颖的卷积注意力网络,使用廉价的卷积运算。没有bells和whistles,,我们的SegNeXt显著提高了以前最先进的方法在流行基准上的性能,包括ADE20K, cityscape, COCO-Stuff, Pascal VOC, Pascal Context和iSAID。值得注意的是,SegNeXt优于EfficientNet-L2 w/ NAS-FPN ,仅使用1/10参数就在Pascal VOC 2012测试排行榜上实现了90.6%的mIoU。平均而言,在相同或更少的计算量下,与ADE20K数据集上的最先进方法相比,SegNeXt实现了约2.0%的mIoU改进。

扫描二维码关注公众号,回复: 14961372 查看本文章

1 Introduction

语义分割作为计算机视觉中最基本的研究课题之一,在过去的十年中受到了广泛的关注,其目的是为每个像素分配一个语义类别。

从早期基于CNN的模型,以FCN和DeepLab系列为代表,到最近基于transformer的方法,以SETR和SegFormer为代表,语义分割模型在网络架构方面经历了重大变革。

 通过回顾以往成功的语义分割工作,我们总结了不同模型所具有的几个关键属性,如表1所示。基于以上观察,我们认为一个成功的语义分割模型应该具有以下特征:(i)强大的骨干网作为编码器。与以往基于CNN的模型相比,基于Transformer的模型的性能提升大多来自于更强大的骨干网。(ii)多尺度信息交互。与图像分类任务主要识别单个对象不同,语义分割是一种密集的预测任务,因此需要处理单个图像中不同大小的对象。(iii)空间注意力。空间注意力允许模型通过语义区域内区域的优先级来执行分割。(iv)计算复杂度低。在处理来自遥感和城市场景的高分辨率图像时,这一点尤其重要。

考虑到上述分析,在本文中,我们重新思考卷积注意力的设计,并提出了一种高效而有效的编码器-解码器架构用于语义分割。与之前基于Transformer的模型不同,这些模型在解码器中使用卷积作为特征细化器,我们的方法反转了Transformer-卷积编码器-解码器架构。具体来说,对于编码器中的每个块,我们更新了传统卷积块的设计,并利用多尺度卷积特征,随后通过简单元素乘法来唤起空间注意力在空间信息编码中,我们发现这种简单的空间注意构建方法比标准卷积和自我注意都更有效。对于解码器,我们从不同阶段收集多层次的特征,并使用Hamburger进一步提取全局上下文。

在此背景下,我们的方法可以获得从局部到全局的多尺度上下文,在空间和渠道维度上实现自适应性,并从低到高进行信息聚合。

我们的网络称为SegNeXt,除解码器部分外,主要由卷积运算组成,解码器部分包含用于全局信息提取的基于分解的Hamburger模块(Ham)。这使得我们的SegNeXt比以前严重依赖Transformer的分割方法更有效。如图1所示,SegNeXt明显优于最近的基于变压器的方法。特别是,当处理来自城市景观数据集的高分辨率城市场景时,我们的SegNeXt-S仅使用约1/6 (124.6G vs. 717.1G)的计算成本和1/2的参数(13.9M vs. 27.6M),优于segprevious - b2 (81.3% vs. 81.0%)。

我们的贡献如下:

  • 我们确定了一个好的语义分割模型应该拥有的特征,并提出了一个新的定制网络架构,称为SegNeXt,通过多尺度卷积特征唤起空间注意力。
  • 我们表明,具有简单和廉价卷积的编码器仍然可以比视觉转换器表现更好,特别是在处理对象细节时,而它需要的计算成本要低得多。
  • 我们的方法在各种分割基准上大幅提高了最先进的语义分割方法的性能,包括ADE20K, cityscape, COCO-Stuff, Pascal VOC, Pascal Context和iSAID。

3 Method

在本节中,我们将详细描述所提议的SegNeXt的体系结构。基本上,我们采用的是一种编码器-解码器架构,遵循了大多数的工作,这是简单和容易遵循的。

3.1 Convolutional Encoder

我们采用之前大多数工作中采用的金字塔结构的编码器。对于编码器中的构建块,我们采用了与ViT相似的结构,但不同的是,我们没有使用自注意机制,而是设计了一个新的多尺度卷积注意(MSCA)模块。如图2 (a)所示,MSCA包含三个部分:聚合局部信息的深度卷积,捕获多尺度上下文的多分支深度条带卷积,以及模拟不同通道之间关系的1 × 1卷积。将1 × 1卷积的输出直接作为注意权,对MSCA的输入进行重加权。

数学上,我们的MSCA可以写成: 

其中F表示输入特征。Att和Out分别是注意图和输出。⊗是逐元素的矩阵乘法运算。DW-Conv表示深度卷积,Scalei, i∈{0,1,2,3}表示图2(b)中的第i个分支。Scale0是identity connection.。根据[62],在每个分支中,我们使用两个深度条卷积来近似具有大核的标准深度卷积。在这里,每个分支的内核大小分别设置为7、11和21。我们选择深度条卷积的原因有两个方面。一方面,条带卷积是轻量级的。为了模拟核大小为7 × 7的标准2D卷积,我们只需要一对7 × 1和1 × 7的卷积。另一方面,分割场景中出现了一些条状物体,如人、电线杆等。因此,条带卷积可以作为网格卷积的补充,并有助于提取条带状特征。

[62] Peng, C., Zhang, X., Y u, G., Luo, G., Sun, J.: Large kernel matters–improve semantic segmentation by global convolutional network. In: IEEE Conf. Comput. Vis. Pattern Recog. pp.4353–4361 (2017)

将一系列构建块堆叠起来,就得到了所提出的卷积编码器,命名为MSCAN。

对于MSCAN,我们采用了一种通用的层次结构,包括四个空间分辨率递减的阶段h/4 × w/4、h/8 × w/8、h/16 × w/16和h/32 × w/32。这里,H和W分别是输入图像的高度和宽度。每个阶段包含一个向下采样块和一堆构建块,如上所述。下采样块的卷积步幅为2,内核大小为3 × 3,后面是批归一化层。请注意,在MSCAN的每个构建块中,我们使用批处理归一化而不是层归一化,因为我们发现批处理归一化可以获得更多的分割性能。

3.2 Decoder

 

在分割模型中,编码器主要在ImageNet数据集上进行预训练。为了捕获高级语义,通常需要在编码器上应用解码器。在这项工作中,我们研究了三种简单的解码器结构,如图3所示。第一种是SegFormer中采用的,是一个纯粹基于mlp的结构。第二种主要采用基于cnn的模型。在这种结构中,编码器的输出直接作为重型解码器头的输入,如ASPP, PSP和DANet。最后一个是我们在SegNeXt中采用的结构。我们聚合了最后三个阶段的特征,并使用轻量级的Hamburger来进一步建模全局上下文。结合我们强大的卷积编码器,我们发现使用轻量级解码器可以提高性能-计算效率。

与SegFormer的解码器聚合阶段1到阶段4的特征不同,我们的解码器只接收最后三个阶段的特征。这是因为我们的SegNeXt基于卷积。阶段1中的特性包含太多低级信息,会影响性能。此外,Stage 1上的操作会带来很大的计算开销。

猜你喜欢

转载自blog.csdn.net/weixin_45922730/article/details/128993311