SegNeXt学习笔记

目录

  • SegNeXt论文总结
      • 题目:SegNeXt: Rethinking convolutional attention design for semantic segmentation
      • 会议:NeurIPS 2022
      • 机构单位
      • 摘要
      • 介绍
      • 相关工作
        • 语义分割
        • 多尺度网络
        • 注意力机制
      • 本文方法
        • 编码器
        • 解码器
      • 实验
        • 在ImageNet上的编码器性能(表3)
        • 消融实验
        • 与SOTA比较
      • 总结和讨论

SegNeXt论文总结

题目:SegNeXt: Rethinking convolutional attention design for semantic segmentation

会议:NeurIPS 2022

机构单位

  • Meng-Hao Guo)BNRist, Department of Computer Science and Technology, Tsinghua University

  • TMCC, CS, Nankai University

  • Fitten Tech, Beijing, China

摘要

  • 阐述了近期基于Transformer由于其具编码空间信息的自注意力而在语义分割领域占据重要位置

  • 本文展示了卷积注意力在编码上下文信息上比transformer自注意力更有效

  • 发现了导致语义分割性能提升的几个关键因素

  • SegNeXt仅用少量的参数,即可实现在VOC2012上90.6%的mIoU,代码开放

介绍

  • 经历了早期FCN、DeepLab系列,到近期基于Transformer的模型,如SETR、SegFormer

  • 总结了一个好的语义分割模型应该具有以下几个特征:

    • 强主干网络。例如Transformer主干网络比基于CNN更强。

    • 多尺度信息交互。语义分割是密集预测任务,需要在一张图像中处理不同尺度的物体。

    • 空间注意力。空间注意允许模型通过语义区域内区域的优先级来进行分割。

    • 低计算复杂度。尤其是遥感、高分辨力图像的处理。

  • 本文方法转换了transformer-convolution的编解码器架构,对于编码器中的每个block,改进了传统的卷积块的设计,利用多尺度卷积特征,使用简单的元素乘计算,来唤起空间注意力(Ref. 24)。经发现,这种方式在空间信息编码比标准卷积和自注意力更有效果。

  • 在编码器,从不同阶段收集多尺度(多层次,mutil-level)特征,并使用Hamburger来进一步提取全局上下文信息。这种方法可以得到从局部到全局的多尺度上下文特征,实现对空间和通道维度的适应性,以及从低到高层次的信息聚合

  • 本文的贡献总结如下:

    • 提出SegNeXt,通过多尺度卷积特征唤醒了(evoke)空间注意力
    • 证明了简单且低计算量的卷积也可以比ViT表现更好,尤其是处理对象的细节时候
    • 本文方法在各种分割基准上大大提高了最先进的语义分割方法的性能,包括ADE20K、cityscapes、coco-stuff、Pascal VOC、Pascal context和iSAID。

相关工作

语义分割

  • 在语义分割网络中,模型可以大致分为两个部分:编码器和解码器。编码器,常常采用经典流行的分类网络,而非特定设计(tailored)的架构。
  • 语义分割是一种密集预测任务,与分类任务不同,在具有挑战性的分割任务中,可能不会出现分类方面的改进。因此,出现了一些特定的编码器,例如Res2Net,HRNet,SETR,SegFormer,HRFormer,MPViT,DPT等。【这里有文献】
  • 对于编码器,常与解码器一同合作,以获得更好的结果。不同的解码器也有不同的类型,包括多尺度感受野,多尺度语义,扩大感受野,边缘特征,全局上下文等。【这里有大量文献】

多尺度网络

  • 多尺度网络的设计是计算机视觉的流行方向之一。
  • 对于分割模型,多尺度块出现在编码器和解码器部分。GoogleNet是与本文最相关的多尺度体系结构之一,该方法使用多分支结构来实现多尺度特征提取。
  • 与本文方法相关的另一项工作是HRNet。在更深层次的阶段,HRNet还保留了高分辨率特征,这些特征与低分辨率特征聚合,以实现多尺度特征提取。
  • 与以往的方法不同的是,SegNeXt除了在编码器中捕获多尺度特征外,还引入了一种有效的注意机制,并采用了更便宜、更大的核卷积。这使得我们的模型能够获得比上述分割方法更高的性能

注意力机制

  • 注意机制是一种自适应的选择过程,旨在使网络关注的重要部分。一般来说,语义分割[25]可分为通道注意和空间注意两类。不同类型的注意力扮演着不同的作用。例如,空间注意主要关注重要的空间区域[17,14,57,51,22]。不同的是,使用通道注意的目标是使网络有选择性地关注那些重要的对象,这在以前的工作[30,9,72]中已经被证明是重要的。说到最近流行的视觉Transformer这里有大量文献,它们通常忽略了通道维度的适应性。
  • 视觉注意网络(VAN)[24]是与SegNeXt最相关的工作,它也提出利用大核注意(LKA)机制来构建通道和空间注意。虽然VAN在图像分类方面取得了很好的性能,但它忽略了网络设计中多尺度特征聚合的作用,这对于类分割任务至关重要。

本文方法

编码器

  • 采用金字塔结构(pyramid structure)作为编码器

  • 采用类似ViT结构,但是不采用自注意力,采用一种新的多尺度卷积注意力(Multi-Scale Convolutional Attention, MSCA),如下图

SegNeXt学习笔记_第1张图片

  • 如上图,MSCA包含三个部分,分别是,深度可分离卷积(获取局部信息),多分支深度可分离strip卷积(以捕获多尺度上下文),1×1卷积(建模不同通道之间的关系)。将1×1卷积的输出直接作为注意力权值,重新作为MSCA的输入权重

  • 公式表示如下:
    A t t = Conv ⁡ 1 × 1 ( ∑ i = 0 3 Scale ⁡ i ( D W − Conv ⁡ ( F ) ) ) , O u t = A t t ⊗ F . \begin{aligned} \mathrm{Att} &=\operatorname{Conv}_{1 \times 1}\left(\sum_{i=0}^3 \operatorname{Scale}_i(\mathrm{DW}-\operatorname{Conv}(F))\right), \\ \mathrm{Out} &=\mathrm{Att} \otimes F . \end{aligned} AttOut=Conv1×1(i=03Scalei(DWConv(F))),=AttF.

  • 为什么使用深度可分离卷积一方面,条带卷积是轻量级的。为了模拟核大小为7×7的标准二维卷积,我们只需要一对7×1和1×7卷积。另一方面,在分割场景中也有一些条状物体,如人杆和电线杆。因此,条状卷积可以作为网格卷积的补充,并有助于提取条状特征。(参考文献

  • 堆叠一系列的构建块产生了所提出的卷积编码器,名为MSCAN。

  • 对于NSCAN,采用通用的层次结构,包含4个递进式空间分辨率的阶段,分别是, H 4 × W 4 , H 8 × W 8 , H 16 × W 16  和 H 32 × W 32 \frac{H}{4} \times \frac{W}{4}, \frac{H}{8} \times \frac{W}{8}, \frac{H}{16} \times \frac{W}{16} \text { 和} \frac{H}{32} \times \frac{W}{32} 4H×4W,8H×8W,16H×16W 32H×32W。在这里,H和W分别为输入图像的高度和宽度。每个阶段都包含一个下采样块和如上所述的构建块的堆栈。降采样块与步长为2和核大小为3×3进行卷积,然后是批处理归一化层。注意,在MSCAN的每个构建块中,我们使用批归一化而不是层归一化,因为我们发现批归一化在分割性能方面更好。

  • 本文设计了四种不同大小的编码器架构:

SegNeXt学习笔记_第2张图片

解码器

  • 解码器常常用于作为捕获高层次的语义信息,应用在编码器之后。

  • 本文研究了三个简单的解码架构,如下图:

SegNeXt学习笔记_第3张图片

  • 第一个,图(a),采用SegFormer,是一个基于MLP的架构。

  • 第二个,图(b),通常采用基于CNN的模型,例如ASPP,PSP,DANet等

  • 第三个,图©,应用于本文模型。融合了前三个阶段的特征,同时使用轻量级的Hamburger架构,来进一步建模全局上下文。

  • 结合强大的卷积编码器,本文发现使用轻量级解码器可以提高性能计算效率。

  • 解码器只接收来自最后三个阶段的特征。这是因为SegNeXt是基于卷积的阶段1的特性包含太多的低级信息,损害了性能。此外,在阶段1上的操作也带来了巨大的计算开销。在实验部分将展示SegNeXt比最近最先进的基于transformer的SegFormer[80]和HRFormer[88]表现得好得多。

实验

  • 数据集:ImageNet-1K,ADE20K,Cityscapes,Pascal VOC,Pascal Context,COCO-Stuff,iSAID。
  • 执行细节:
    • 语言:Jittor和Pytorch
    • 三方包:基于timm和mmsegmentation包
    • 预训练权重:ImageNet-1K数据集
    • 评价指标:采用Top-1准确率和mIoU作为分类和分割的评价方法(evaluation metrics)
    • 显卡:8块3090GPU(15w+RMB)
    • 数据增强:于DeiT一样,包括,随机垂直翻转,随机缩放,随机裁剪
    • batchsize:Cityscapes是8,其他是16
    • 优化方法:AdamW
    • 学习率:0.0006,poly-learning rate下降策略
    • ADE20K,cityscapes,iSAID数据集进行160K迭代,对COCO,VOC,Context进行80K迭代
    • 测试,使用单尺度和多尺度翻转测试

在ImageNet上的编码器性能(表3)

  • MSCAN取得了比最近最先进的基于cnn的方法ConvNeXt的更好的结果,并优于流行的基于transformer的方法。

SegNeXt学习笔记_第4张图片

消融实验

  • MSCA设计。在ImageNet和ADE20K数据集上进行了MSCA设计的消融研究。K×K分支包含一个深度的1×K卷积和一个K×1深度卷积。1×1 conv是指通道混合操作。注意力是指element-wise的计算,它使网络获得了自适应能力。如表6所示。

SegNeXt学习笔记_第5张图片

  • 全局上下文。解码器在整合分割模型的多尺度特征的全局上下文中起着重要的作用。基于注意力的解码器对cnn比金字塔结构具有更好的性能==(文献)==,因此只使用基于注意力的解码器来显示结果。展示了4种不同类型的基于注意的解码器的结果,包括具有O(n^2)复杂度的非局部(non-local,NL)注意力[75]和具有O (n)复杂度的CCNet [34]、EMANet [40]和HamNet [21]。如表5,因此,选用Hamburger作为解码器。

  • 解码器架构。与图像分类不同,分割模型需要高分辨率的输出。采用了三种不同的解码器设计进行分割,如图3所示。相应的结果列在表7,可以看到,SegNeXt ©取得了最好的性能,计算成本也很低。

SegNeXt学习笔记_第6张图片

  • MSCA的重要性。见表3和表8。

SegNeXt学习笔记_第7张图片

与SOTA比较

SegNeXt学习笔记_第8张图片

总结和讨论

  • SegNeXt大大超过了目前最先进的基于transformer的方法
  • 基于cnn的方法仍然可以比基于transformer的方法表现得更好
  • SegNeXt也有其局限性,例如,将该方法扩展到具有100M+参数的大规模模型,以及在其他视觉或NLP任务上的性能。

SegNeXt学习笔记_第9张图片

你可能感兴趣的:(论文学习总结,1024程序员节)