二十四章:SEgmentation TRansformer (SETR)——以Transformer的序列到序列的视角重新思考语义分割问题

news2024/11/22 10:15:17

0.摘要

        最近的语义分割方法采用了全卷积网络(FCN)和编码器解码器架构。编码器逐渐降低空间分辨率,并学习具有更大感受野的抽象/语义视觉概念。由于上下文建模对于分割是至关重要的,最新的研究工作将重点放在增加感受野上,通过空洞卷积或插入注意力模块来实现。然而,基于编码器-解码器的FCN架构保持不变。在本文中,我们旨在通过将语义分割视为序列到序列预测任务来提供另一种观点。具体而言,我们使用纯Transformer(即不使用卷积和分辨率降低)将图像编码为一系列补丁。通过在Transformer的每一层中建模全局上下文,这个编码器可以与简单的解码器结合,提供一个强大的分割模型,称为SEgmentation TRansformer(SETR)。大量实验证明,SETR在ADE20K(50.28% mIoU),Pascal Context(55.83% mIoU)和Cityscapes上取得了新的最佳结果。特别地,我们在高度竞争的ADE20K测试服务器排行榜上首次夺冠。

1.引言

        自从[36]的开创性工作以来,现有的语义分割模型主要基于全卷积网络(FCN)。标准的FCN语义分割模型采用编码器-解码器架构:编码器用于特征表示学习,解码器用于对编码器生成的特征表示进行像素级分类。在这两者中,特征表示学习(即编码器)被认为是最重要的模型组成部分[8,28,57,60]。编码器像大多数用于图像理解的CNN一样,由堆叠的卷积层组成。由于计算成本的考虑,特征图的分辨率会逐渐降低,因此编码器能够逐渐增大感受野来学习更抽象/语义的视觉概念。这种设计之所以受欢迎,有两个有利之处,即平移等变性和局部性。前者很好地尊重了图像处理的本质[58],从而支持模型对未见过的图像数据的泛化能力。而后者通过在空间上共享参数来控制模型的复杂性。然而,这也带来了一个基本限制,即学习长距离依赖信息,对于在非受限场景图像中进行语义分割是至关重要的[2,50],由于感受野仍然有限,这变得具有挑战性。

        为了克服上述的限制,最近引入了一些方法。其中一种方法是直接操作卷积操作。这包括使用大的卷积核大小[40],空洞卷积[8,22]和图像/特征金字塔[60]。另一种方法是将注意力模块整合到FCN架构中。这种模块旨在对特征图中的所有像素进行全局交互建模[48]。在应用于语义分割[25,29]时,常见的设计是将注意力模块与FCN架构相结合,将注意力层放在顶部无论采用哪种方法,标准的编码器-解码器FCN模型架构保持不变。最近,还尝试完全摒弃卷积,而是使用仅注意力模型[47]。然而,即使没有卷积,它们也不会改变FCN模型结构的本质:编码器对输入的空间分辨率进行下采样,生成用于区分语义类别的较低分辨率特征映射,解码器将特征表示上采样为全分辨率的分割图。

        在本文中,我们旨在重新思考语义分割模型的设计,并提出一种替代方案。具体而言,我们提出用纯Transformer [45]替代基于堆叠卷积层的编码器,该编码器逐渐降低空间分辨率,从而形成一种新的分割模型,称为SEgmentation TRansformer (SETR)。这个仅由Transformer构成的编码器将输入图像视为由学习到的patch嵌入表示的图像patch序列,并利用全局自注意力建模对序列进行转换,用于区分性特征表示学习。具体而言,我们首先将图像分解为固定大小的patch网格,形成一个patch序列。然后,对每个patch的扁平化像素向量应用线性嵌入层,得到一系列特征嵌入向量作为Transformer的输入。在编码器Transformer学习到特征之后,使用解码器恢复原始图像分辨率。关键在于,在编码器Transformer的每一层都没有降采样的空间分辨率,而是进行全局上下文建模,从而为语义分割问题提供了全新的视角。

        这种纯Transformer的设计灵感来自于它在自然语言处理(NLP)[15,45]中取得的巨大成功。最近,纯视觉Transformer或ViT [17]在图像分类任务中也显示出了有效性。这直接证明了传统的堆叠卷积层(即CNN)设计可以受到挑战,并且图像特征不一定需要通过降低空间分辨率逐渐从局部到全局上下文进行学习。然而,将纯Transformer从图像分类扩展到语义分割这样的空间位置敏感任务并不是一件简单的事情。我们通过实验证明,SETR不仅在模型设计上提供了新的视角,而且在许多基准测试中取得了新的最先进的结果。

        本文的贡献如下:

        (1) 从序列到序列学习的角度重新定义了图像语义分割问题,提供了一种替代主导的编码器-解码器FCN模型设计的方法。

        (2) 作为一种实例化方法,我们利用Transformer框架通过对图像进行序列化来实现完全的注意力特征表示编码器。

        (3) 为了广泛地研究自注意力特征表示,我们进一步引入了三种不同复杂性的解码器设计。

        大量实验证明,与具有和不具有注意力模块的不同FCN相比,我们的SETR模型能够学习到更优越的特征表示,在ADE20K(50.28%)、Pascal Context(55.83%)上取得了新的最先进的结果,并在Cityscapes上取得了竞争性的结果。特别是,在竞争激烈的ADE20K测试服务器排行榜上,我们的成绩排名第一。

2.相关工作

语义分割:随着深度神经网络的发展,语义图像分割得到了显著提升。通过去除全连接层,全卷积网络(FCN)[36]能够实现像素级预测。虽然FCN的预测相对粗糙,但是已经开发了几种基于CRF/MRF [6,35,62]的方法来帮助优化粗糙的预测结果。为了解决语义和位置之间的固有张力[36],需要对编码器和解码器进行粗细层的聚合。这导致了不同变种的编码器-解码器结构[2,38,42]用于多级特征融合。最近的许多工作都集中在解决FCN中有限的感受野/上下文建模问题。为了扩大感受野,DeepLab [7]和Dilation [53]引入了空洞卷积。另一方面,PSPNet [60]和DeepLabV2 [9]聚焦于上下文建模。前者提出了PPM模块来获取不同区域的上下文信息,而后者开发了采用不同膨胀率的金字塔空洞卷积的ASPP模块。还利用分解的大内核[40]进行上下文捕捉。最近,基于注意力的模型在捕捉长程上下文信息方面非常受欢迎。PSANet [61]开发了逐点空间注意力模块,动态捕捉长程上下文。DANet [18]嵌入了空间注意力和通道注意力。CCNet [26]则专注于节省由全空间注意力引入的大量计算开销。DGMN [57]构建了一个动态图消息传递网络用于场景建模,并且可以显著降低计算复杂性。需要注意的是,所有这些方法仍然基于FCN,其中特征编码和提取部分基于经典的ConvNets,如VGG [43]和ResNet [20]。在本文中,我们从不同的角度重新思考了语义分割任务。

Transformer和自注意力模型已经在机器翻译和自然语言处理领域产生了革命性的影响[14,15,45,51]。最近,也有一些探索将Transformer结构应用于图像识别领域。非局部网络[48]在卷积主干网络上添加了Transformer风格的注意力机制。AANet [3]将卷积和自注意力混合用于主干网络的训练。LRNet [24]和stand-alone网络 [41]探索了局部自注意力,以避免全局自注意力带来的重计算负担。SAN [59]探索了两种类型的自注意力模块。Axial-Attention [47]将全局空间注意力分解为两个独立的轴向注意力,大大减少了计算量。除了这些纯Transformer的模型之外,还有CNN-Transformer混合模型。DETR [5]及其后续的可变形版本在目标检测中使用Transformer,将Transformer附加在检测头部内。STTR [32]和LSTR [34]分别采用Transformer进行视差估计和车道形状预测。最近,ViT [17]是第一个展示纯Transformer模型在图像分类方面能够达到最先进性能的工作。它直接启发我们在语义分割模型中使用纯Transformer的编码器设计。

        最相关的工作是[47],它也利用注意力进行图像分割。然而,有几个关键的区别。首先,尽管在[47]中完全去除了卷积,就像我们的SETR一样,但他们的模型仍然遵循传统的FCN设计,即特征图的空间分辨率逐渐降低。相反,我们的序列到序列预测模型在整个过程中保持相同的空间分辨率,因此在模型设计上代表了一次性的改变。其次,为了最大限度地提高现代硬件加速器的可扩展性并便于使用,我们坚持使用标准的自注意力设计。而[47]则采用了一个特别设计的轴向注意力[21],它在标准计算设备上的可扩展性较差。我们的模型在分割准确性方面也更优越(请参见第4节)。

图1.所提出的SEgmentation TRansformer (SETR)的示意图(a)。我们首先将图像分割为固定大小的补丁,线性嵌入每个补丁,添加位置嵌入,并将得到的向量序列输入标准的Transformer编码器。为了进行像素级分割,我们引入了不同的解码器设计:(b)渐进上采样(结果是一种称为SETR PUP的变体);和(c)多级特征聚合(一种称为SETR-MLA的变体)。

3.方法

3.1.基于FCN的语义分割

        为了与我们的新模型设计进行对比,让我们首先回顾一下常规的FCN [36]图像语义分割方法。FCN编码器由一系列顺序连接的卷积层组成。第一层将图像作为输入,表示为H×W×3,其中H×W指定了像素级别的图像大小。后续层i的输入是一个三维张量,大小为h×w×d,其中h和w是特征图的空间维度,d是特征/通道维度。更高层的张量位置是基于所有较低层张量通过逐层卷积连接的位置计算的,这些位置是通过定义它们的感受野确定的。由于卷积操作的局部性质,感受野沿着层的深度线性增加,取决于卷积核的大小(通常为3×3)。因此,在这种FCN架构中,只有具有大感受野的较高层才能建模长程依赖关系。然而,研究表明,一旦达到一定的深度,增加更多的层次会很快失去益处。因此,对于上下文建模来说,有限的感受野是常规FCN架构的固有局限性。

        最近,一些最先进的方法[25,56,57]表明,将FCN与注意力机制结合起来是学习长程上下文信息的更有效策略。由于注意力机制的复杂度与特征张量的像素数量呈二次关系,这些方法只将注意力学习限制在较小输入尺寸的更高层次上。这意味着对较低级别的特征张量的依赖性学习不足,导致子优化的表示学习。为了克服这个限制,我们提出了一种纯自注意力编码器,名为SEgmentation TRansformers(SETR)。

3.2.分割Transformer

SETR的图像到序列的输入输出结构与自然语言处理(NLP)中的1D序列转换相同。因此,2D图像和1D序列之间存在不匹配。具体来说,如图1(a)所示的Transformer接受一个1D的特征嵌入序列Z,其中L是序列的长度,C是隐藏通道的大小。因此,需要对图像进行序列化,将输入图像x转换为Z。一种直接的图像序列化方法是将图像像素值展平为一个大小为3HW的1D向量。对于一个典型的480(H)×480(W)×3大小的图像,得到的向量长度将为691,200。由于Transformer的二次模型复杂度,无法同时处理这么高维的向量。因此,将每个像素作为Transformer的输入是不可行的。

        考虑到一个典型的用于语义分割的编码器会将一个2D图像x转化为一个特征图xf,尺寸为R16H×W16×C,我们决定将Transformer的输入序列长度L设置为H/16 × W/16 = HW/256。这样,Transformer的输出序列可以简单地重塑为目标特征图xf。为了获得长度为HW/256的输入序列,我们将图像x划分为一个16H×W/16的网格,并将该网格展平为一个序列。通过使用线性投影函数f:p → e∈RC,将每个向量化的patch p映射到一个C维的潜在空间,我们可以为图像x获得一个patch嵌入的1D序列。为了编码patch的空间信息,我们为每个位置i学习一个特定的嵌入pi,将其添加到ei形成最终的输入序列E = (e1+p1, e2+p2, ..., eL+pL)。通过这种方式,尽管Transformer具有无序的自注意力机制,但空间信息仍然保留下来。

        给定1D的嵌入序列E作为输入,采用纯Transformer编码器来学习特征表示。这意味着每个Transformer层都具有全局感受野,一劳永逸地解决了现有FCN编码器的有限感受野问题。Transformer编码器由Le个多头自注意力(MSA)和多层感知机(MLP)块组成[46](图1(a))。在每一层l,自注意力的输入是从输入Zl-1 2 RL×C计算得到的(query,key,value)三元组:

其中,WQ/WK/WV是三个线性投影层的可学习参数,维度为RC×d,d为(query,key,value)的维度。自注意力(SA)的形式化表示为:MSA是一个包含m个独立SA操作的扩展,并将它们的连接输出进行投影:MSA(Zl−1)=[SA1(Zl−1);SA2(Zl−1);···;SAm(Zl−1)]WO,其中WO∈Rmd×C,d通常设置为C=m。MSA的输出接下来通过一个带有残差跳跃连接的MLP块进行转换,作为该层的输出:

 请注意,在MSA和MLP块之前应用了层归一化,为了简单起见,这一步骤被省略了。我们用f(Z1,Z2,...,ZLe)表示Transformer层的特征。

3.3.解码器设计

        为了评估SETR的编码器特征表示Z的有效性,我们引入了三种不同的解码器设计来进行像素级别的分割。由于解码器的目标是在原始的2D图像空间(H×W)中生成分割结果,我们需要将编码器的特征(在解码器中使用)Z从HW/256×C的2D形状重新调整为标准的3D特征图HH/16×W16×C。接下来,我们简要描述一下这三种解码器。

        (1)简单上采样(Naive):这个简单的解码器首先将变换器特征ZLe投影到类别数量的维度上(例如,在Cityscapes数据集上的实验中为19)。为此,我们采用了一个简单的2层网络,其结构为:1×1卷积 + 同步批归一化(带ReLU) + 1×1卷积。然后,我们简单地对输出进行双线性上采样,使其达到完整图像的分辨率,并在之后添加一个像素级别的交叉熵损失的分类层。当使用这个解码器时,我们将我们的模型称为SETR-Naive。

        (2)渐进式上采样(PUP):为了避免一步上采样可能引入的噪声预测,我们考虑了一种渐进式上采样策略,它交替使用卷积层和上采样操作。为了最大程度地减轻对抗效应,我们将上采样限制为2倍。因此,从大小为H/16×H/16×W/16的ZLe达到完整分辨率需要总共4次操作。这个过程的更多细节在图1(b)中给出。当使用这个解码器时,我们将我们的模型称为SETR-PUP。

        (3)多级特征聚合(MLA):第三种设计特点是多级特征聚合(图1(c)),类似于特征金字塔网络[27,33]的思路。然而,我们的解码器在根本上是不同的,因为SETR的每一层的特征表示Zl具有相同的分辨率,而没有金字塔形状。具体而言,我们以f(Zm^g)(m∈[LMe,2LMe,...,M×LMe])作为输入,其中M个层均匀分布在解码器的步长为LMe的层上。然后,部署M个流,每个流专注于一个特定的选择层。在每个流中,我们首先将编码器的特征Zl从HW/256×C的2D形状重新调整为3D特征图HH/16×W16×C。然后,我们应用一个3层(内核大小分别为1×1、3×3和3×3)的网络,其中第一层和第三层的特征通道数量分别减半,并在第三层之后通过双线性操作将空间分辨率上采样4倍。为了增强不同流之间的交互作用,我们在第一层之后引入了一种自顶向下的聚合设计,通过元素级的加法进行。在元素级加法特征之后,还应用了一个额外的3×3卷积。在第三层之后,通过通道级的串联获得来自所有流的融合特征,然后再将其双线性上采样4倍至完整分辨率。当使用这个解码器时,我们将我们的模型称为SETR-MLA。

表1:Transformer主干变体的配置

表2:在不同的预训练策略和主干网络上比较SETR变体。所有实验均在Cityscapes训练集上以批量大小8进行训练,并使用Cityscapes验证集上的单尺度测试协议进行评估,评估指标为平均IoU(%)。"Pre"表示对Transformer部分进行预训练,"R"表示Transformer部分随机初始化。

4.实验

4.1.实验设置

        我们在三个广泛使用的语义分割基准数据集上进行了实验。

Cityscapes [13]是一个在城市场景图像中密集标注了19个对象类别的数据集。它包含了5000张经过精细标注的图像,分为2975张用于训练,500张用于验证,1525张用于测试。这些图像的分辨率都非常高,为2048×1024。此外,它还提供了19,998张粗略标注的图像用于模型训练。

ADE20K [63]是一个具有150种细粒度语义概念的挑战性场景解析基准数据集。它包含20210张图像用于训练,2000张用于验证,3352张用于测试。

PASCAL Context [37]提供了整个场景(包括“物体”和“物质”类别)的像素级语义标签,并包含4998张图像用于训练,5105张用于验证。与之前的工作一样,我们对最常见的59个类别和背景类别(总共60个类别)进行评估。

实现细节:遵循公共代码库mmsegmentation [39]的默认设置(例如数据增强和训练计划),我们在所有实验中采用以下策略:

        (i)在训练过程中,对所有实验应用随机调整大小(比例在0.5和2之间)、随机裁剪(Cityscapes、ADE20K和Pascal Context的尺寸分别为768、512和480)和随机水平翻转;

        (ii)对于ADE20K和Pascal Context的实验,我们将批量大小设置为16,总迭代次数分别为160,000和80,000。对于Cityscapes,我们根据表2、6和7中报告的训练计划,将批量大小设置为8,以进行公平比较。我们采用多项式学习率衰减策略[60],并使用SGD作为优化器。在这三个数据集的所有实验中,动量和权重衰减分别设置为0.9和0。在ADE20K和Pascal Context上,我们将初始学习率设置为0.001,在Cityscapes上设置为0.01。

辅助损失:和[60]类似,我们也发现辅助分割损失有助于模型训练。每个辅助损失头部都遵循一个2层网络。我们在不同的Transformer层上添加了辅助损失:SETR Na¨ıve (Z10;Z15;Z20),SETR-PUP (Z10;Z15;Z20;Z24),SETR-MLA (Z6;Z12;Z18;Z24)。辅助损失头部和主损失头部同时应用。

多尺度测试:我们使用mmsegmentation [39]的默认设置。具体而言,首先将输入图像缩放到统一的尺寸。然后对图像进行多尺度缩放和随机水平翻转,缩放因子为(0.5、0.75、1.0、1.25、1.5、1.75)。测试时采用滑动窗口(例如,Pascal Context为480×480)。如果较短的边小于滑动窗口的大小,则将图像的较短边缩放到滑动窗口的大小(例如,480),同时保持纵横比。解码器和辅助损失头部使用同步BN。为了训练简便起见,我们没有采用常用的技巧,如OHEM [55]损失。

基准模型:我们采用扩张型FCN [36]和语义FPN [27]作为基准模型,并从[39]中获取它们的结果。为了公平比较,我们的模型和基准模型都在相同的设置下进行训练和测试。此外,还与最先进的模型进行了比较。需要注意的是,扩张型FCN的输出步幅为8,由于GPU内存限制,我们在所有模型中使用输出步幅为16。

SETR变体:我们的模型有三个变体,具有不同的解码器设计(见第3.3节),分别是SETR-Na¨ıve、SETR-PUP和SETR-MLA。此外,我们使用了两个编码器的变体,“T-Base”和“T-Large”,分别具有12层和24层(表1)。除非另有说明,我们在SETR-Na¨ıve、SETR-PUP和SETR-MLA中使用“T-Large”作为编码器。我们将在SETR-Na¨ıve中使用“T-Base”的模型称为SETR-Na¨ıve-Base。虽然设计为纯Transformer编码器的模型,但我们还设置了一个混合基线Hybrid,使用基于ResNet-50的FCN编码器,并将其输出特征传递给SETR。为了应对GPU内存限制和公平比较,我们只考虑Hybrid中的“T-Base”,并将FCN的输出步幅设置为1/16。也就是说,Hybrid是ResNet-50和SETR-Na¨ıve-Base的组合。

预训练:我们使用ViT [17]或DeiT [44]提供的预训练权重来初始化我们模型中的所有Transformer层和输入线性投影层。我们将使用DeiT [44]预训练在SETR-Na¨ıve-Base中的模型称为SETR-Na¨ıve-DeiT。所有没有预训练的层都是随机初始化的。对于Hybrid的FCN编码器,我们使用在ImageNet-1k上预训练的初始权重。对于Transformer部分,我们使用ViT [17]、DeiT [44]或随机初始化的权重进行预训练。我们对预训练的位置嵌入进行2D插值,根据它们在原始图像中的位置进行不同输入尺寸的微调。在所有实验中,我们使用16×16的补丁大小。

评估指标:按照标准评估协议[13],报告所有类别平均交并比(mIoU)的度量。对于ADE20K,还根据现有的做法报告像素级准确性。

表3. 在ADE20K验证集和Cityscapes验证集上,使用不同预训练的FCN进行单尺度推断的比较。

 

图2. 在ADE20K上的定性结果:每对中,SETR(右列)与扩张型FCN基准模型(左列)进行比较。最好在彩色和放大的情况下查看。

表4. ADE20K数据集上的最新技术比较。报告了不同模型变种的性能。SS:单尺度推断。MS:多尺度推断。

图3. Pascal Context数据集上的定性结果:每对中,SETR(右列)与扩张型FCN基准模型(左列)进行比较。最好在彩色和放大的情况下查看。

表5. Pascal Context数据集上的最新技术比较。报告了不同模型变种的性能。SS:单尺度推断。MS:多尺度推断。

 

图4. Cityscapes数据集上的定性结果:每对中,SETR(右列)与扩张型FCN基准模型(左列)进行比较。最好在彩色和放大的情况下查看。

表6. Cityscapes验证集上的最新技术比较。报告了不同训练计划(例如40k和80k)的性能。SS:单尺度推断。MS:多尺度推断。

4.2.消融研究

        表2和表3展示了关于SETR不同变体、不同训练计划的割减研究,与FCN [39]和Semantic FPN [39]的比较,不同数据的预训练以及与Hybrid的比较,以及与不同预训练的FCN的比较。除非另有说明,所有在表2和表3中的实验都是在Cityscapes的train fine数据集上以批量大小8进行训练,并使用单尺度测试协议在Cityscapes的validation数据集上进行均值IoU(%)评估。ADE20K数据集上的实验也遵循单尺度测试协议。

        从表2中,我们可以得出以下观察结果: (i) 逐渐上采样特征图的SETR-PUP在Cityscapes数据集上的所有变种中表现最好。SETR-MLA表现稍好于SETR-PUP,远优于一次性将transformer输出特征上采样16倍的SETR-Naive变种,在ADE20K验证集上(见表3和4)。SETR-MLA性能较差的一个可能原因是不同transformer层的特征输出没有像特征金字塔网络(FPN)中那样的分辨率金字塔的优势(见图5)。 (ii) 使用“T-Large”(例如SETR-MLA和SETR-Naive)的变种优于其“T-Base”对应物,即SETR-MLA-Base和SETR-Naive-Base,符合预期。 (iii) 虽然我们的SETR-PUP-Base(76.71)性能不如Hybrid-Base(76.76),但当进行更多迭代训练(80k)时,其性能提升(78.02)。这表明在语义分割中可以替代FCN编码器设计,并进一步确认了我们模型的有效性。 (iv) 预训练对我们的模型至关重要。随机初始化的SETR-PUP在Cityscapes上只能达到42.27%的mIoU。在ImageNet-1K上用DeiT [44]进行预训练的模型在Cityscapes上表现最好,略优于在ImageNet-21K上用ViT [17]进行预训练的模型。 (v) 为了研究预训练的能力并进一步验证我们提出的方法的有效性,在表3中进行了关于预训练策略的割减研究。为了与FCN基准模型进行公平比较,我们首先在Imagenet-21k数据集上对ResNet-101进行分类任务的预训练,然后采用预训练权重在ADE20K或Cityscapes上进行扩张型FCN的语义分割训练。表3显示,在ImageNet-21k预训练的情况下,FCN基准模型相比于在ImageNet-1k上进行预训练的变种有明显的改进。然而,我们的方法在性能上大幅超过了FCN基准模型,验证了我们的方法的优势主要来自于提出的序列到序列建模策略,而不仅仅是更大的预训练数据。

表7. Cityscapes测试集上的比较。z:在细粒度和粗粒度标注数据上进行训练。 (注意:由于没有具体数据,以下是示例表格)

4.3.与当今主流方法的比较

ADE20K数据集上的结果表4展示了我们在更具挑战性的ADE20K数据集上的结果。我们的SETR-MLA在单尺度(SS)推断下实现了优秀的48.64%的mIoU。当采用多尺度推断时,我们的方法取得了新的最优结果,mIoU达到了50.28%。图2展示了我们的模型和扩张型FCN在ADE20K上的定性结果。当在train+validation数据集上使用默认的160,000次迭代训练单个模型时,我们的方法在竞争激烈的ADE20K测试服务器排行榜上排名第一。

Pascal Context数据集上的结果表5比较了在Pascal Context上的分割结果。使用ResNet-101骨干网络的扩张型FCN实现了45.74%的mIoU。在相同的训练计划下,我们提出的SETR明显优于这个基准,达到了54.40%(SETR-PUP)和54.87%(SETR-MLA)的mIoU。当采用多尺度(MS)推断时,SETR-MLA将性能进一步提升到55.83%,明显优于最接近的竞争对手APCNet。图3展示了SETR和扩张型FCN的一些定性结果。图6中对学习到的注意力图的进一步可视化显示,SETR可以关注语义上有意义的前景区域,展示了其学习判别性特征表示以用于分割的能力。

Cityscapes数据集上的结果表6和表7分别展示了在验证集和测试集上的比较结果。我们可以看到,我们的SETR-PUP模型优于FCN基线以及基于注意力的方法,如Non-local和CCNet;其性能与迄今为止报告的最佳结果相当。在这个数据集上,我们现在可以与密切相关的Axial-DeepLab进行比较,Axial-DeepLab旨在使用单独的注意力模型,但仍然遵循FCN的基本结构。需要注意的是,Axial-DeepLab设置了与我们相同的输出步幅16。然而,它的完整输入分辨率(1024×2048)比我们的裁剪尺寸768×768要大得多,并且它运行的迭代次数(60k次,批量大小32)比我们的设置(80k次,批量大小8)要多。尽管如此,当在Cityscapes验证集上采用多尺度推断时,我们的模型仍然优于Axial-DeepLab。仅使用精细数据集时,我们的模型(训练了100k次)在测试集上明显优于Axial-DeepLab-XL。图4展示了我们的模型和扩张型FCN在Cityscapes上的定性结果。

5.概括

        在这项工作中,我们通过引入一种序列到序列预测框架,提出了一种用于语义分割的替代视角。与现有的基于FCN的方法不同,这些方法通常通过在组件级别使用扩张卷积和注意力模块来扩大感受野,我们在架构层面上进行了重大改变,完全摆脱了对FCN的依赖,并优雅地解决了有限感受野的挑战。我们使用可以在特征学习的每个阶段建模全局上下文的Transformer实现了提出的思想。除了一组不同复杂性的解码器设计外,我们还建立了强大的分割模型,而不使用最近方法中的任何花哨的技巧。大量实验证明,我们的模型在ADE20K、Pascal Context上取得了最新的最优结果,并在Cityscapes上取得了竞争性的结果。令人鼓舞的是,我们的方法在ADE20K测试服务器的排行榜上位列第一。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/777800.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

hadoop的分区学习

自定义分区实现: 抽象类 要自定义分区规则,就必须继承并且重写。 设置分区数量 driver类: job.setNumReduceTasks(3);job.setPartitionerClass(FlowPartitioner.class);分区方法类,直接用编号代替就好了 public class FlowParti…

二叉树详解

这里写目录标题 前言树型结构(了解)树常见的概念树的表示形式(了解)树的应用 二叉树概念两种特殊的二叉树二叉树的性质(重要)二叉树的存储二叉树的基本操作 前言 本篇博客讲述了以下几个知识点 树的基本概念二叉树概念及特性二叉树的基本操作 树型结构…

OpenCv之特征检测

目录 一、基本概念 二、harris角点检测 三、SIFT算法 四、Shi-Tomasi角点检测 一、基本概念 特征检测指的是使用计算机提取图像信息,决定每个图像的点是否属于一个图像特征。特征检测的结果是把图像上的点分为不同的子集,这些子集往往属于孤立的点、…

FPGA简单双端口RAM——IP核

文章目录 前言一、双端口 RAM1、简单双端口与真双端口2、简单双端口RAM框图 二、 IP核配置1、RAM双端口 IP 核配置2、PLL IP 核配置 三、源码1、ram_wr(写模块)2、ram_rd(读模块)3、ip_2port_ram(顶层文件) 四、仿真1、仿真文件2、波形仿真 五、SignalTap II在线验证六、总结七…

百度知道上云与架构演进

作者 | 百度知道研发组 导读 百度知道作为上线十多年的老产品线,业务场景多、架构老旧、代码风格不统一,同时业务迭代较快,整体承载流量大,稳定性要求高,给业务全面上云带来不小的挑战。本文基于实践,介绍知…

Nginx配置访问密码

使用得场景 因为想将skywalking对外提供访问,但是skywalking又没有认证功能,所以使用nginx来做。 安装htpasswd 因为需要使用到htpasswd,htpasswd是Apache服务器中生成用户认证的一个工具,如果未安装,则使用如下命令…

Linux底层

一. arm基础知识 基础:c语言 具有一定硬件基础 特点---》前后联系 arm目标: 看懂简单的汇编代码 会看电路图、芯片手册 学会如何用软件控制硬件思想 解决问题的办法 谈谈对嵌入式的理解? 以计算应用为中心,软硬件可裁剪的…

Vue 双重v-for渲染表单,再复制表单编辑之深拷贝

文章目录 前言问题背景实现拷贝表单如何实现深拷贝Object.assignJSON实现的深拷贝递归实现解决循环引用的递归实现require(lodash).cloneDeep() 前言 在做复杂的动态表单,实现业务动态变动,比如有一条需要动态添加的el-form-item中包含了多个输入框&…

Tomcat服务器下载安装及配置教程(IDEA中使用Tomcat)

目录 友情提醒第一章、Tomcat下载与安装1.1)Tomcat介绍1.2)官网下载 第二章、Tomcat配置环境变量2.1)windows环境变量配置2.2)验证Tomcat配置是否成功2.3)报错解决 第三章、IDEA整合Tomcat3.1)打开IDEA开发…

【OAuth2】OAuth2概述及使用GitHub登录第三方网站

【OAuth2】OAuth2概述及使用GitHub登录第三方网站 文章目录 【OAuth2】OAuth2概述及使用GitHub登录第三方网站0. 导言1. OAuth2 简介2. OAuth2 认证授权总体流程3. OAuth2 标准接口4. OAuth2 四种授权模式4.1 授权码模式4.2 简化模式4.3 密码模式4.4 客户端模式 5. GitHub授权登…

2023河南萌新联赛第一场(河南农业大学)

目录 A.你也喜欢数学吗​编辑 E.动物朋友 F.松鼠排序 G.Reverse J.合唱比赛 K.以撒和隐藏房间 L.中位数 A.你也喜欢数学吗 输入描述 第一行一个正整数k(1<k<1e12) 输出描述 输出一行一个整数表示答案 示例1 输入 1 输出 1 示例2 输入 3 输出 10 思路 是等于,将整个…

【itext7】itext7操作PDF文档之添加段落文本内容、添加List列表、添加Image图片、添加Table表格

这篇文章&#xff0c;主要介绍itext7操作PDF文档之添加段落文本内容、添加List列表、添加Image图片、添加Table表格。 目录 一、itext7操作PDF内容 1.1、添加段落文本内容 1.2、添加列表内容 1.3、添加图片 1.4、添加表格 &#xff08;1&#xff09;列宽采用点单位&#…

MySQL之索引(入门级讲解)

目录 一.索引的概念 1.1索引的简介 1.2.索引的优缺点 二.MySQL索引语法 2.1查看索引 2.2创建索引 2.2.1 创建表时创建索引 2.2.2存在的表上创建索引 2.3删除索引 三.索引的数据结构 3.1Btree索引 3.2Hash索引 3.4Hash索引和Btree索引的对比 &#x1f381;个…

基于Kitti数据集的智能驾驶目标检测系统(PyTorch+Pyside6+YOLOv5模型)

摘要&#xff1a;基于Kitti数据集的智能驾驶目标检测系统可用于日常生活中检测与定位行人&#xff08;Pedestrian&#xff09;、面包车&#xff08;Van&#xff09;、坐着的人&#xff08;Person Sitting&#xff09;、汽车&#xff08;Car&#xff09;、卡车&#xff08;Truck…

[2023新教程]M2 Mac安装Anaconda和Pytorch

本文首发于我的学习之路&#xff1a;https://liguang.wang/index.php/archives/80/ 1 背景 最近使用起了Mac Mini&#xff0c;需要安装Anaconda和Pytorch。网上的教程非常老旧&#xff0c;可读性较差&#xff0c;于是记录下自己的安装过程&#xff0c;分享给大家。 2 详细过…

二十三章:Gated-SCNN:Gated Shape CNNs for Semantic Segmentation ——用于语义分割的门控形状卷积神经网络

0.摘要 当前图像分割的最先进方法通过一个密集的图像表示来处理颜色、形状和纹理信息&#xff0c;这些信息都在深度卷积神经网络内部进行处理。然而&#xff0c;这种方法可能不太理想&#xff0c;因为它们包含了与识别相关的非常不同类型的信息。在这里&#xff0c;我们提出了一…

百度文心一言文心千帆大模型 ERNIE-Bot-turbo调用示例(golang版本)

百度的文心一言推出来也有一段时间了&#xff0c;但是接口部分一直没有公开&#xff0c;需要进行申请 最近&#xff0c;有朋友提供了文心千帆大模型的api权限&#xff0c;拿到了必须的参数&#xff0c;现在就来测试一下 下面是使用golang封装的文心千帆 ERNIE-Bot-turbo模型的调…

2023.7新版Pycharm没有Manager Repository(消失)下载镜像源问题

一、旧版本操作无法找到Manager Repository 二、解决方法---点击左侧键 三、点击添加设置小按钮 四、点击号复制进去镜像源网站即可 五、给大家推荐的镜像源网站 这里清华大学的镜像速度是最快的 https://pypi.tuna.tsinghua.edu.cn/simple/ 清华大学镜像http://pypi.douban…

天然气管道压力监测系统:管网安全守护者

随着我国工业的不断发展和能源需求的日益紧缺&#xff0c;天然气作为一种清洁能源正被广泛地开发和利用。然而。每年因天然气泄漏爆炸而造成的事故层出不穷&#xff0c;不仅威胁着人民的生命安全&#xff0c;还会对环境造成严重污染。面对这样的安全隐患&#xff0c;及时采取措…

Orangepi docker Home Assistant部署

手册上多数应用在树莓派用过&#xff0c;发现一个Home Assistant之前没搞过 按照手册先安装docker&#xff0c;使用enable_docker.sh 然后使用 docker run hello-world 来测试docker是否成功&#xff0c;如果hello from docker&#xff0c;即正常 通过以下docker命令搜索hom…