SegNeXt:重新思考语义分割中卷积注意力设计

论文链接:https://arxiv.org/abs/2209.08575

github: https://github.com/Visual-Attention-Network/SegNeXt

参考视频:【翻译成中文带你读】SegNext论文逐行精读,30分钟就能快速了解其奥秘!-人工智能/深度学习/计算机视觉_哔哩哔哩_bilibili

摘要

论文提出一种简单的卷积神经网络结构用于语义分割任务。最近基于transformer机制的模型由于其自注意力机制在编码空间信息上的效率主导了语义分割领域。本文中,我们发现卷积注意力比transform中的自注意力更能有效的编码上下文信息,通过重新审视成功者在分割模型中所拥有的特征,我们发现了几个导致分割模型性能改进的关键组件。这促使我们设计一种使用廉价卷积运算的新型卷积注意力网络。(without bells and whistles)没用任何深度神经网络的Trick,任何人都可以不通过精调,扩大训练集,学习率和参数就能达到比较好的效果。 我们的SegNeXt网络在几个常见的数据集上都取得了 SOTA的效果,比如ADE20K,Cityscapes, COCO-Stuff, Pascal VOC, Pascal Context, iSAID。SegNeXt网络比EfficientNet-L2 w/ NAS-FPN在PascalVOC数据集上miou提升到了90.6%,并且只使用了其10%的参数量,平均而言,SegNeXt与最先进的方法相比,在具有相同或更少计算量的 ADE20K 数据集上实现了约 2.0% 的 mIoU 改进。

回顾以前成功的语义分割工作,不同模型具有的几个关键属性

(1)强大的骨干网络作为编码器

(2)多尺度信息交互:与主要识别单个对象的图像分类任务不同,语义分割是一项密集的预测任务,因此需要在单个图像中处理不同大小的对象

(3)空间注意力:空间注意力允许模型通过在语义区域内的区域优先级来执行分割

(4)计算复杂度低

主要贡献

1.确定了一个好的语义分割模型应该拥有的特征,并提出了一种新颖的定制网络架构称为SegNext,它通过了多尺度卷积特征唤起了空间注意力

2. 具有简单且廉价卷积的编码器仍然可以比vit效果更好,尤其是在处理对象细节时,它需要的计算成本要低很多。

3.大幅提高了在一些数据集上的性能

相关著作

语义分割

一项基本的计算机视觉任务。

在本文中,我们总结了那些成功的语义分割模型的特点,并提出了一个基于CNN的模型SegNeXt。与我们论文最相关的工作是[62],它将一个kXk卷积分解成一对k 1和1 k卷积。尽管这项工作表明,大卷积核的语义分割问题,它忽略了多尺度感受野的重要性,并没有考虑如何利用这些多尺度特征提取的大核进行分割的形式的关注。

多尺度网络

设计多尺度网络是计算机视觉中的一个热门方向。对于分割模型,多尺度块出现在编码器和解码器两部分。与之前的方法不同,SegNext除了在编码器中捕获多尺度特征外,还引入了一个有效的注意力机制,并采用了更简单和更大的内核卷积这些使我们的模型能够达到比上述分割方法更高的性能。

注意力机制

注意力机制是一种自适应的选择过程,其目的是使网络集中于重要的部分。一般来说,它在语义分割中可以分为两类,包括通道注意力和空间注意力。

不同类型的注意起着不同的作用。例如,空间注意力主要关心重要的空间区域不同的是,使用通道注意力的目的是使网络选择性地注意那些重要的对象,这在以前的工作中已经被证明是很重要的。说到最近流行的视觉转换器,它们通常忽略了通道维度上的适应性。
视觉注意力网络(VAN)是与SegNeXt最相关的工作,它也提出利用大核注意力(LKA)机制来建立通道和空间注意力·虽然VAN在图像分类中取得了很好的表现,但它在网络设计过程中忽略了多尺度特征聚合的作用,而这对于类似分割的任务是至关重要的。

方法

采用了以前工作中的编码器-解码器结构

卷积编码器

在大多数先前的工作之后,我们为编码器采用金字塔结构.对于我们编码器中的构建块,我们采用了与VIT 类似的结构,但不同的是,我们没有使用自注意机制,而是设计了一种新颖的多尺度卷积注意(MSCA)模块

如图所示,MSCA包含三个部分: 用于聚合局部信息的深度卷积,用于捕获多尺度上下文的多分支深度条带卷积(multi-branch depth-wise strip convolutions),以及用于建模不同通道之间关系的1X1卷积(参考SeNet)。1X1卷积的输出被直接用作注意力权重来重新加权MSCA的输入。

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

深度条带卷积(multi-branch depth-wise strip convolutions)

一方面,带状卷积是轻级的。为了模仿内核大小为7X7的标准2D卷积,我们只需要一对7X1和1X7的卷积·另一方面,分割场景中有一些条状物体,如人、电线杆等物体·因此,带状卷积可以是网格卷积的补充,有助于提取带状特征.

MSCAN

堆叠一系列的构件产生了所提出的卷积编码器,命名为MSCAN。对于MSCAN,我们采用了-种常见的层次结构,它包含四个空间分辨率递减的阶段,依次为。这里,H 和W 分别是输入图像的高度和宽度·每个阶段包含一个下采样模块和一个构建堆栈。下采样块具有步长为2和内核大小3X3的卷积,后面是一个批量归一化层.注意,在MSCAN的每个构建模块中,我们使用批量归一化(batch normalization)而不是层归一化(layer normalization),因为我们发现批量归一化对分割性能有更大的增益。

*注:批量归一化对条带状卷积友好

  1. 批量归一化(Batch Normalization): 批量归一化在计算机视觉中的应用非常广泛。它通常在卷积神经网络(CNN)中使用,尤其是在较深的网络层中。批量归一化可以通过对每个小批量样本的特征进行归一化,提高网络的稳定性和泛化能力,加快收敛速度。在计算机视觉任务中,例如图像分类、目标检测和图像分割等,批量归一化可以帮助网络更好地处理不同尺度和分布的图像数据,提高模型的性能和鲁棒性。

  2. 层归一化(Layer Normalization): 层归一化在计算机视觉中相对较少使用,但在特定情况下仍然具有应用价值。层归一化通常用于循环神经网络(RNN)和自注意力机制(Self-Attention)模型等序列数据上。在计算机视觉任务中,例如视频分析、光流估计和人体姿态估计等,层归一化可以帮助网络处理序列数据的时间依赖性,减少梯度消失和梯度爆炸问题,提高模型在时间序列上的建模能力。

模型尺寸

我们设计了四种不同尺寸的编码器型号,分别命名为MSCAN-T、MSCAN-S、MSCAN-B和MSCAN-L。相应的整体分割模型分别为SegNeXt-T,SegNeXt-S, SegNeXt-B, SegNeXt-L。详细的网络设置如表2所示。

解码器

 在分割模型中,编码器大多是在imageNet数据集上预训练的。为了捕捉高级语义,通常需要一个解码器,它应用于编码器。在这项工作中,我们研究了三种简单的解码器结构,如图3所示。

第一个,采用SegFormer,是一个纯粹基于MLP的结构。

第二种主要是采用基于CNN的模型。在这种结构中,编码器的输出直接用作重型解码器头的输入,如ASPP,PSP,和DANet 。

最后一个是我们SegNext采用的结构。我们集合了前三个阶段的特征,并使用了一个轻量级的Hamburger 以进一步建模全局上下文。结合强大的卷积编码器,我们发现使用轻量级解码器可以提高性能计算效率。

与SegFormer的解码器聚合从阶段1到阶段4的特征不同,我们的Hamburger解码器只接收最后三个阶段的特征。这是因为我们的SegNext是基于卷积的。阶段1中的特性包含太多的低级信息并损害性能。此外,阶段1上的操作带来了沉重的计算开销。我们的卷积SegNeXt比最近的基于transformer的SegFormer 和HRFormer性能好得多

实验

我们在七个流行的数据集上评估了我们的方法,包括ImageNet-1K,ADE20K , Cityscapes, Pascal VOC , Pascal Context , COCO-Stuff 和 iSAID.

ImageNet是最著名的影像分类数据集,其中包含1,000个类别。与大多数分割方法类似,我们用它来预训练我们的MSCAN编码器

总结

 在本文中,我们分析了以前成功的分割模型,并找到它们所拥有的良好特性。基于这些发现,我们提出了一个定制的卷积注意模块MSCA和一个CNN式网络SegNeXt。实验结果表明,SegNeXt在相当大的程度上超过了目前最先进的基于transformer的方法。本文显示,当使用适当的设计时,基于CNN的方法仍然可以比基于transformer的方法表现得更好。我们希望本文能够鼓励研究人员进一步研究CNN的潜力。

我们所提出模型也有其局限性,例如,将该方法扩展到具有100M以上参数的大规模模型,以及在其他视觉或NLP任务上的性能。我们将在未来的工作中解决这些问题。

猜你喜欢

转载自blog.csdn.net/Scabbards_/article/details/131228234
今日推荐