图像 检测 - Swin Transformer: Hierarchical Vision Transformer using Shifted Windows (ICCV 2021)

声明:此翻译仅为个人学习记录

文章信息

摘要

  本文提出了一种新的视觉Transformer,称为Swin Transformer,它可以作为计算机视觉的通用主干。将Transformer从语言改编为视觉的挑战源于这两个领域之间的差异,例如视觉实体的尺度变化很大,以及与文本中的单词相比,图像中的像素分辨率很高。为了解决这些差异,我们提出了一种层次Transformer,其表示是用移位窗口计算的。移位开窗方案通过将自注意力计算限制在不重叠的局部窗口上,同时还允许跨窗口连接,从而带来更高的效率。这种分层结构具有在各种尺度上建模的灵活性,并且具有相对于图像大小的线性计算复杂性。Swin Transformer的这些特性使其与广泛的视觉任务兼容,包括图像分类(ImageNet-1K上的87.3 top-1精度)和密集预测任务,如目标检测(COCO测试开发中的58.7 box AP和51.1 mask AP)和语义分割(ADE20K val上的53.5 mIoU)。它的性能大大超过了以前的最先进技术,COCO上的+2.7 box AP和+2.6 mask AP,ADE20K上的+3.2 mIoU,证明了基于Transformer的模型作为视觉骨干的潜力。分层设计和移位窗口方法也被证明对所有MLP架构都是有益的。代码和模型可在https://github.com/microsoft/Swin-Transformer。

1. 引言

  计算机视觉中的建模长期以来一直由卷积神经网络(CNNs)主导。从AlexNet[35]及其在ImageNet图像分类挑战中的革命性表现开始,CNN架构已经通过更大的规模[27,69]、更广泛的连接[31]和更复杂的卷积形式[64,17,75]变得越来越强大。随着CNNs作为各种视觉任务的骨干网络,这些体系结构的进步导致了性能的提高,从而广泛提升了整个领域。

在这里插入图片描述

图1.(a) 所提出的Swin Transformer通过在更深的层中合并图像块(以灰色显示)来构建分层特征图,并且由于仅在每个局部窗口(以红色显示)内计算自注意力,因此对输入图像大小具有线性计算复杂性。因此,它可以作为图像分类和密集识别任务的通用主干。(b) 相比之下,先前的视觉 Transformer[19]产生单个低分辨率的特征图,并且由于全局自注意力的计算,输入图像大小具有二次计算复杂性。

  另一方面,自然语言处理(NLP)中网络架构的演变走上了一条不同的道路,今天流行的架构是Transformer[58]。Transformer是为序列建模和转导任务而设计的,它以使用注意力来建模数据中的长程依赖性而闻名。它在语言领域的巨大成功促使研究人员研究它对计算机视觉的适应,最近它在某些任务上取得了有希望的结果,特别是图像分类[19]和联合视觉语言建模[43]。

  在本文中,我们试图扩大Transformer的适用性,使其可以作为计算机视觉的通用主干,就像它在NLP和CNN在视觉中所做的那样。我们观察到,将其在语言领域的高性能转移到视觉领域的重大挑战可以用两种模式之间的差异来解释。其中一个差异涉及规模。与语言Transformers中作为处理基本元素的单词标记不同,视觉元素的规模可能会有很大变化,这一问题在目标检测等任务中受到关注[38,49,50]。在现有的基于Transformer的模型[58,19]中,标记都是固定规模的,这一特性不适合这些视觉应用。另一个区别是,与文本段落中的单词相比,图像中的像素分辨率高得多。存在许多视觉任务,如语义分割,需要在像素级进行密集预测,这对于Transformer在高分辨率图像上来说是难以解决的,因为其自注意力的计算复杂度是图像大小的二次方。为了克服这些问题,我们提出了一种通用的Transformer主干,称为Swin Transformer,它构造了层次特征图,并且对图像大小具有线性计算复杂性。如图1(a)所示,Swin-Transformer通过从小尺寸块(灰色轮廓)开始,逐渐合并更深Transformer层中的相邻块,构建了一个层次表示。有了这些分层特征图,Swin-Transformer模型可以方便地利用高级技术进行密集预测,如特征金字塔网络(FPN)[38]或U-Net[47]。线性计算复杂度是通过在划分图像(红色轮廓)的非重叠窗口内局部计算自注意力来实现的。每个窗口中的块数量是固定的,因此复杂性与图像大小成线性关系。这些优点使Swin Transformer适合作为各种视觉任务的通用主干,而之前基于Transformer的架构[19]产生单一分辨率的特征图,并且具有二次复杂性。

  Swin-Transformer的一个关键设计元素是它在连续的自注意力层之间移动窗口分区,如图2所示。偏移的窗口桥接了前一层的窗口,提供了它们之间的连接,显著增强了建模能力(见表4)。这种策略在实际延迟方面也很有效:一个窗口内的所有查询块共享相同的关键字集(查询和关键字是自注意力层中的投影向量),这有助于硬件中的内存访问。相反,早期的基于滑动窗口的自注意力方法[30,46]由于不同查询像素的不同关键字集,在一般硬件上延迟较低(虽然在通用硬件上有有效的方法来实现基于滑动窗口的卷积层,但由于其在特征图上的共享内核权重,在实践中,基于滑动窗的自注意力层很难进行有效的内存访问)。我们的实验表明,所提出的移位窗口方法比滑动窗口方法具有低得多的延迟,但在建模能力方面相似(见表5和表6)。移位窗口方法也被证明对所有MLP架构有益[56]。

在这里插入图片描述

图2: 在所提出的Swin-Transformer架构中,用于计算自注意力的移位窗口方法的说明。在层l(左)中,采用了规则的窗口划分方案,并在每个窗口内计算自注意力。在下一层l+1(右)中,窗口分区被移动,从而产生新的窗口。新窗口中的自注意力计算跨越了层l中先前窗口的边界,提供了它们之间的连接。

  所提出的Swin Transformer在图像分类、目标检测和语义分割等识别任务上取得了很强的性能。它在三项任务上的延迟相似,显著优于ViT/DeiT[19,57]和ResNe(X)t模型[27,64]。其在COCO测试开发集上的58.7 box AP和51.1 mask AP超过了之前最先进的结果+2.7 box AP(无外部数据的复制粘贴[23])和+2.6 mask AP(DetectoRS[42])。在ADE20K语义分割上,它在验证集上获得53.5 mIoU,比以前的最先进技术(SETR[73])提高了+3.2 mIoU。它在ImageNet-1K图像分类上也达到了87.3%的top-1准确率。

  我们相信,跨计算机视觉和自然语言处理的统一架构可以使这两个领域都受益,因为它将有助于视觉和文本信号的联合建模,并且可以更深入地共享来自两个领域的建模知识。我们希望Swin Transformer在各种视觉问题上的出色表现能够在社区中更深入地推动这种信念,并鼓励对视觉和语言信号进行统一建模。

2. 相关工作

CNN和变体。CNNs是整个计算机视觉的标准网络模型。虽然CNN已经存在了几十年[36],但直到AlexNet[35]的推出,CNN才开始发展并成为主流。从那时起,人们提出了更深入、更有效的卷积神经架构来进一步推动计算机视觉中的深度学习浪潮,例如VGG[48]、GoogleNet[53]、ResNet[27]、DenseNet[31]、HRNet[59]和EfficientNet[54]。除了这些架构上的进步,在改进单个卷积层方面也有很多工作,例如深度卷积[64]和可变形卷积[17,75]。虽然CNN及其变体仍然是计算机视觉应用的主要骨干架构,但我们强调了类Transformer架构在视觉和语言之间统一建模的强大潜力。我们的工作在几个基本的视觉识别任务上取得了很好的成绩,我们希望它将有助于建模的转变。

基于自注意力的主干架构。同样受到自注意力层和Transformer架构在NLP领域的成功启发,一些作品使用自注意力层来取代流行的ResNet[30,46,72]中的部分或全部空间卷积层。在这些工作中,自注意力是在每个像素的局部窗口内计算的,以加快优化[30],并且它们实现了比对应的ResNet架构略好的准确性/FLOPs权衡。然而,它们昂贵的内存访问导致它们的实际延迟明显大于卷积网络的延迟[30]。我们建议在连续层之间移动窗口,而不是使用滑动窗口,这允许在通用硬件中更有效地实现。

自注意力/Transformers补充CNNs。另一项工作是用自注意力层或Transformers来增强标准的CNN架构。自注意力层可以通过提供编码远距离依赖性或异构交互的能力来补充主干[61,7,3,65,21,68,51]或头网络[29,24]。最近,Transformer中的编码器-解码器设计已应用于目标检测和实例分割任务[8,13,76,52]。我们的作品探索了Transformers的改编,以提取基本的视觉特征,并与这些作品相辅相成。

基于Transformer的视觉主干。与我们的工作最相关的是Vision Transformer(ViT)[19]及其后续工作[57,66,15,25,60]。ViT的开创性工作直接将Transformer架构应用于非重叠的中等大小图像块,用于图像分类。与卷积网络相比,它在图像分类方面实现了令人印象深刻的速度-精度折衷。虽然ViT需要大规模的训练数据集(即JFT-300M)才能表现良好,但DeiT[57]引入了几种训练策略,使ViT也能使用较小的ImageNet-1K数据集发挥作用。ViT在图像分类方面的结果令人鼓舞,但由于其低分辨率特征图和复杂度随图像大小的二次方增加,其架构不适合用作密集视觉任务或输入图像分辨率高时的通用骨干网络。有一些工作通过直接上采样或去卷积将ViT模型应用于物体检测和语义分割的密集视觉任务,但性能相对较低[2,73]。与我们的工作同时进行的是一些修改了ViT架构[66,15,25]以获得更好的图像分类。根据经验,我们发现我们的Swin-Transformer架构在图像分类的这些方法中实现了最佳的速度-精度权衡,尽管我们的工作侧重于通用性能,而不是专门针对分类。另一项同时开展的工作[60]探索了在Transformer上构建多分辨率特征图的类似思路。它的复杂度仍然是图像大小的二次方,而我们的复杂度是线性的,并且也是局部操作的,这已被证明有利于对视觉信号中的高相关性进行建模[32,22,37]。我们的方法既高效又有效,在COCO目标检测和ADE20K语义分割方面都达到了最先进的精度。

3. 方法

3.1 总体架构

  Swin-Transformer架构的概述如图3所示,其中说明了微型版本(Swin-T)。它首先通过像ViT这样的块分割模块将输入RGB图像分割成不重叠的块。每个块都被视为一个“标记”,其特征被设置为原始像素RGB值的串联。在我们的实现中,我们使用4×4的块大小,因此每个块的特征维度为4×4×3=48。将线性嵌入层应用于该原始值特征,以将其投影到任意维度(表示为C)。

  在这些块标记上应用了几个具有修改的自注意计算的Transformer块(Swin-Transformer块)。Transformer块保持标记的数量 ( H 4 × W 4 ) (\frac{H}{4}×\frac{W}{4}) (4H×4W),与线性嵌入一起被称为“阶段1”。

  为了生成分层表示,随着网络的深入,通过块合并层来减少标记的数量。第一个块合并层将每组2×2个相邻块的特征连接起来,并在4C维连接的特征上应用线性层。这将标记的数量减少了2×2=4的倍数(分辨率的2×下采样),并且输出维度设置为2C。随后应用Swin Transformer块进行特征变换,分辨率保持在 H 8 × W 8 \frac{H}{8}×\frac{W}{8} 8H×8W。块合并和特征转换的第一块被表示为“阶段2”。该过程重复两次,分别为“阶段3”和“阶段4”,输出分辨率分别为 H 16 × W 16 \frac{H}{16}×\frac{W}{16} 16H×16W H 32 × W 32 \frac{H}{32}×\frac{W}{32} 32H×32W。这些阶段共同产生分层表示,具有与典型卷积网络(例如VGG[48]和ResNet[27])相同的特征图分辨率。因此,所提出的体系结构可以方便地取代现有方法中用于各种视觉任务的骨干网络。

在这里插入图片描述

图3.(a) Swin Transformer(Swin-T)的结构;(b) 两个连续的Swin Transformer块(用等式(3)表示)。W-MSA和SW-MSA分别是具有规则窗口配置和移位窗口配置的多头自注意力模块。

Swin Transformer块。Swin Transformer是通过将Transformer块中的标准多头自注意力(MSA)模块替换为基于移位窗口的模块(如第3.2节所述)而构建的,其他层保持不变。如图3(b)所示,Swin Transformer块由一个基于移位窗口的MSA模块组成,然后是一个中间具有GELU非线性的2层MLP。在每个MSA模块和每个MLP之前应用LayerNorm(LN)层,并且在每个模块之后应用残差连接。

3.2 基于移位窗口的自注意力

  标准Transformer架构[58]及其对图像分类的自适应[19]都进行全局自注意力,其中计算标记和所有其他标记之间的关系。全局计算导致了标记数量的二次复杂度,使其不适合于许多需要大量标记集进行密集预测或表示高分辨率图像的视觉问题。

  非重叠窗口中的自注意力为了有效建模,我们建议在局部窗口中计算自注意力。窗口被布置为以非重叠的方式均匀地划分图像。假设每个窗口包含M×M个块,全局MSA模块和基于h×w个块图像的窗口的计算复杂度为(在确定复杂性时,我们省略了SoftMax计算):

在这里插入图片描述

其中前者是块数hw的二次方,而后者在M固定(默认设置为7)时是线性的。全局自注意计算对于大型硬件来说通常是负担不起的,而基于窗口的自注意是可扩展的。

连续块中的移位窗口分区。基于窗口的自注意力模块缺乏跨窗口的连接,这限制了其建模能力。为了引入跨窗口连接,同时保持非重叠窗口的有效计算,我们提出了一种移位窗口分区方法,该方法在连续的Swin-Transformer块中的两种分区配置之间交替。

  如图2所示,第一个模块使用从左上角像素开始的规则窗口划分策略,将8×8的特征图均匀地划分为大小为4×4(M=4)的2×2个窗口。然后,下一个模块通过将窗口从规则划分的窗口移位 ( ⌊ M 2 ⌋ , ⌊ M 2 ⌋ ) (\lfloor\frac{M}{2}\rfloor,\lfloor\frac{M}{2}\rfloor) (⌊2M,2M⌋)个像素,采用与前一层的窗口配置偏移的窗口配置。

  使用移位窗口划分方法,连续的Swin-Transformer块计算如下
在这里插入图片描述
其中 z ^ l \hat{z}^l z^l z l z^l zl分别表示块l的(S)W-MSA模块和MLP模块的输出特征;W-MSA和SW-MSA分别表示使用规则和移位窗口划分配置的基于窗口的多头自注意力。

  移位窗口划分方法引入了前一层中相邻非重叠窗口之间的连接,并被发现在图像分类、目标检测和语义分割方面是有效的,如表4所示。

在这里插入图片描述

图4. 说明了在移位窗口划分中用于自注意的有效批处理计算方法。

针对移位配置的高效批量计算。移位窗口分区的一个问题是,在移位配置中,它将导致更多的窗口,从 ⌈ h M ⌉ × ⌈ w M ⌉ \lceil\frac{h}{M}\rceil×\lceil\frac{w}{M}\rceil Mh×Mw ( ⌈ h M ⌉ + 1 ) × ( ⌈ w M ⌉ + 1 ) (\lceil\frac{h}{M}\rceil+1)×(\lceil\frac{w}{M}\rceil+1) (⌈Mh+1)×(⌈Mw+1),并且一些窗口将小于M×M(为了使窗口大小(M,M)可被特征图大小(h,w)整除,如果需要,在特征图上使用右下角填充)。一个简单的解决方案是将较小的窗口填充到M×M的大小,并在计算注意力时屏蔽填充的值。当规则分区中的窗口数量很小时,例如2×2,使用这种简单解增加的计算量是相当大的(2×2→ 3×3,是2.25倍)。在这里,我们提出了一种更有效的批量计算方法,通过向左上角方向循环移位,如图4所示。在该偏移之后,分批窗口可以由在特征图中不相邻的几个子窗口组成,因此采用掩蔽机制来将自注意力计算限制在每个子窗口内。通过循环移位,批处理窗口的数量与常规窗口分区的数量保持相同,因此也是有效的。这种方法的低延迟如表5所示。

相对位置偏差。在计算自注意力时,我们遵循[45,1,29,30],在计算相似性时包括每个头的相对位置偏差 B ∈ R M 2 × M 2 B∈R^{M^2×M^2} BRM2×M2

在这里插入图片描述

其中Q,K,V∈RM2×d是查询矩阵、关键字矩阵和值矩阵;d是查询/关键字维度,M2是窗口中的块数量。由于沿每个轴的相对位置位于[−M+1,M−1]的范围内,我们参数化了较小尺寸的偏置矩阵 B ^ ∈ R ( 2 M − 1 ) × ( 2 M – 1 ) \hat{B}∈R^{(2M−1)×(2M–1)} B^R(2M1)×(2M–1),并且B中的值取自 B ^ \hat{B} B^

  如表4所示,我们观察到与没有该偏差项或使用绝对位置嵌入的对应项相比有显著改进。如[19]中所述,在输入中进一步添加绝对位置嵌入会略微降低性能,因此在我们的实现中没有采用它。

  预训练中学习的相对位置偏差也可用于初始化模型,以便通过双三次插值以不同的窗口大小进行微调[19,57]。

3.3 架构变体

  我们建立了称为Swin-B的基本模型,使其模型大小和计算复杂度与ViT-B/DeiT-B相似。我们还介绍了Swin-T、Swin-S和Swin-L,它们分别是模型大小和计算复杂度的0.25倍、0.5倍和2倍。请注意,Swin-T和Swin-S的复杂性分别与ResNet-50(DeiT-S)和ResNet-101的复杂性相似。默认情况下,窗口大小设置为M=7。对于所有实验,每个头的查询维度为d=32,每个MLP的扩展层为α=4。这些模型变体的体系结构超参数是:
在这里插入图片描述

其中C是第一阶段中隐藏层的通道数。ImageNet图像分类的模型大小、理论计算复杂度(FLOP)和模型变体的吞吐量列于表1中。

4. 实验

  我们对ImageNet-1K图像分类[18]、COCO目标检测[39]和ADE20K语义分割[74]进行了实验。在下文中,我们首先将所提出的Swin Transformer架构与之前的技术状态在三个任务上进行比较。然后,我们阐述了Swin Transformer的重要设计元素。

4.1 ImageNet-1K上的图像分类

设置。对于图像分类,我们在ImageNet-1K[18]上对所提出的Swin Transformer进行了基准测试,该Transformer包含来自1000个类的128万个训练图像和50万个验证图像。报道了单作物的top-1精度。我们考虑两种训练设置:

  • 常规ImageNet-1K训练。这种设置主要遵循[57]。我们使用AdamW[33]优化器对300个时期使用余弦衰减学习率调度器和20个时期的线性预热。使用1024的批量大小、0.001的初始学习率和0.05的权重衰减。我们在训练中包括了[57]的大多数增强和正则化策略,除了重复增强[28]和EMA[41],它们不会提高性能。注意,这与[57]相反,[57]中重复增强对稳定ViT的训练至关重要。

  • 在ImageNet-22K上进行预训练,并在ImageNet-1K上进行微调。我们还对ImageNet-22K数据集进行了预训练,该数据集包含1420万张图像和22K个类。我们对90个时期使用AdamW优化器,使用具有5个时期线性预热的余弦学习速率调度器。使用4096的批量大小、0.001的初始学习率和0.01的权重衰减。在ImageNet-1K微调中,我们训练了30个时期,批量大小为1024,恒定学习率为 1 0 − 5 10^{−5} 105,权重衰减为 1 0 − 8 10^{−8} 108

常规ImageNet-1K训练的结果。表1(a)显示了使用常规ImageNet-1K训练与其他主干的比较,包括基于Transformer和基于ConvNet的主干。

  与之前最先进的基于Transformer的架构(即DeiT[57])相比,Swin Transformer显著超过了具有类似复杂性的对应DeiT架构:使用 22 4 2 224^2 2242输入的Swin-T(81.3%)比DeiT-S(79.8%)高+1.5%,使用 22 4 2 / 38 4 2 224^2/384^2 2242/3842输入的Swin-B(83.3%/84.5%)比DeiT-B(81.8%/83.1%)高+1.5%/1.4%。

  与最先进的ConvNets(即RegNet[44])相比,Swin Transformer实现了略好的速度-精度权衡。注意到,虽然RegNet[44]是通过彻底的体系结构搜索获得的,但Swin Transformer是从标准Transformer手动改编的,有进一步改进的潜力。

ImageNet-22K预训练结果。我们还在ImageNet-22K上预训练更大容量的Swin-B和Swin-L。对ImageNet-1K图像分类进行微调的结果如表1(b)所示。对于Swin-B,ImageNet-22K预训练比ImageNet-1K从头开始的训练带来1.8%~1.9%的收益。与之前ImageNet-22K预训练的最佳结果相比,我们的模型实现了更好的速度-精度权衡:Swin-B获得了86.4%的top-1精度,比具有相似推理吞吐量(84.7 vs.85.9图像/秒)和略低FLOP(47.0G vs.55.4G)的ViT高2.4%。较大的Swin-L模型实现了87.3%的top-1精度,比Swin-B模型高+0.9%。

4.2 COCO上的目标检测

设置。在COCO 2017上进行了目标检测和实例分割实验,其中包含118K训练、5K验证和20K测试开发图像。使用验证集进行消融研究,并在测试中报告系统级比较。对于消融研究,我们考虑了四种典型的目标检测框架:mmdetection[10]中的Cascade Mask R-CNN[26,6]、ATSS[71]、RepPoints v2[12]和Sparse RCNN[52]。对于这四个框架,我们使用相同的设置:多尺度训练[8,52](调整输入的大小,使短边在480到800之间,而长边最多为1333)、AdamW[40]优化器(初始学习率为0.0001,权重衰减为0.05,批量大小为16)和3x时间表(36个时期)。为了进行系统级比较,我们采用了一种改进的HTC[9](表示为HTC++),其具有instaboost [20]、更强的多尺度训练[7]、6x调度(72个时期)、soft-NMS[5]和ImageNet-22K预训练模型作为初始化。

在这里插入图片描述

表1. ImageNet-1K分类中不同主干的比较。吞吐量是使用[62]的GitHub存储库和V100 GPU来测量的,如同[57]。

  我们将我们的Swin Transformer与标准ConvNets(即ResNe(X)t)和以前的Transformer网络(例如DeiT)进行了比较。在其他设置不变的情况下,仅更改主干即可进行比较。请注意,虽然Swin Transformer和ResNe(X)t由于其分层特征图而直接适用于上述所有框架,但DeiT只产生单一分辨率的特征图,不能直接应用。为了进行公平的比较,我们遵循[73],使用反褶积层为DeiT构建分层特征图。

在这里插入图片描述

表2. COCO目标检测和实例分割的结果。†表示使用附加的反褶积层来生成层次特征图。*表示多尺度测试。

  与ResNe(X)t的比较。表2(a)列出了Swin-T和ResNet-50在四个目标检测框架上的结果。与ResNet-50相比,我们的Swin-T架构带来了稳定的+3.4~4.2 box AP增益,具有略大的模型大小、FLOPs和延迟。

  表2(b)比较了使用Cascade Mask R-CNN在不同模型容量下的Swin Transformer和ResNe(X)t。Swin Transformer实现了51.9 box AP和45.0 mask AP的高检测精度,这是+3.6 box AP和+3.3 mask AP相对于具有相似模型大小、FLOPs和延迟的ResNeXt101-64x4d的显著增益。在使用改进的HTC框架的52.3 box AP和46.0 mask AP的较高基线上,Swin Transformer的增益也很高,分别为+4.1 box AP和+3.1 mask AP(见表2(c))。关于推理速度,虽然ResNe(X)t是由高度优化的Cudnn函数构建的,但我们的架构是用内置的PyTorch函数实现的,这些函数并不是都经过了很好的优化。彻底的内核优化超出了本文的范围。

在这里插入图片描述

表3. ADE20K验证和测试集上的语义分割结果。†表示使用额外的反褶积层来生成分层特征图。‡表示模型在ImageNet-22K上进行了预训练。

与DeiT的比较。使用Cascade Mask R-CNN框架的DeiT-S的性能如表2(b)所示。在相似的模型大小(86M对80M)和显著更高的推理速度(15.3 FPS对10.4 FPS)下,Swin-T的结果比DeiT-S高+2.5 box AP和+2.3 mask AP。DeiT较低的推理速度主要是由于其对输入图像大小的二次复杂度。

与以前最先进技术的比较。表2(c)将我们的最佳结果与以前最先进的模型进行了比较。我们的最佳模型在COCO测试开发中实现了58.7 box AP和51.1 mask AP,超过了之前的最佳结果+2.7 box AP(无外部数据的复制粘贴[23])和+2.6 mask AP(DetectoRS[42])。

4.3 ADE20K上的语义分割

设置。ADE20K[74]是一个广泛使用的语义分割数据集,涵盖了150个语义类别。它总共有25000张图像,其中20K用于训练,2K用于验证,另外3K用于测试。我们利用mmseg[16]中的UperNet[63]作为其高效的基础框架。更多细节见附录。

后果。表3列出了不同方法/主干对的mIoU、模型大小(#param)、FLOPs和FPS。从这些结果可以看出,在类似的计算成本下,Swin-S比DeiT-S高+5.3mIoU(49.3对44.0)。它也比ResNet-101高+4.4 mIoU,比ResNeSt-101高+2.4 mIoU[70]。我们的带有ImageNet-22K预训练的Swin-L模型在验证集上实现了53.5 mIoU,超过了之前的最佳模型+3.2 mIoU(SETR[73]的50.3 mIoU具有更大的模型大小)。

在这里插入图片描述

表4. 使用Swin-T架构,在三个基准上对移位窗口方法和不同位置嵌入方法进行消融研究。w/o移位:所有自注意力模块均采用规则的窗口划分,不移位;abs. pos: ViT的绝对位置嵌入项;rel. pos: 带有附加相对位置偏置项的默认设置(见等式(4));app: 等式(4)中的第一缩放点积项。

4.4 消融研究

  在本节中,我们讨论了所提出的Swin Transformer中的重要设计元素,使用ImageNet-1K图像分类、用于COCO目标检测的Cascade Mask R-CNN和用于ADE20K语义分割的UperNet。

移位的窗口。表4中报告了三项任务中移位窗口方法的消融情况。具有移位窗口分区的Swin-T在每个阶段都优于基于单个窗口分区构建的同类产品,在ImageNet-1K上top-1精度为+1.1%,在COCO上为+2.8 box AP/+2.2 mask AP,在ADE20K上为+2.8mIoU。结果表明,使用移位窗口在前面的层中的窗口之间建立连接是有效的。移位窗口的延迟开销也很小,如表5所示。

相对位置偏差。表4显示了不同位置嵌入方法的比较。与没有位置编码和具有绝对位置嵌入的那些相比,具有相对位置偏置的Swin-T在ImageNet-1K上分别产生+1.2%/+0.8%的top-1精度,在COCO上产生+1.3/+1.5 box AP和+1.1/+1.3 mask AP,在ADE20K上产生+2.3/+2.9 mIoU,这表明相对位置偏置是有效的。还要注意的是,虽然包含绝对位置嵌入提高了图像分类精度(+0.4%),但它损害了目标检测和语义分割(在COCO上为-0.2 box /mask AP,在ADE20K上为-0.6 mIoU)。

不同的自注意力方法。表5比较了不同的自注意力计算方法和实现的实际速度。我们的循环实现比简单填充更具硬件效率,特别是对于更深的阶段。总体而言,它分别使Swin-T、Swin-S和Swin-B的速度提高了13%、18%和18%。

在这里插入图片描述

表5. V100 GPU上不同的自注意力计算方法和实现的真实速度。

在这里插入图片描述

表6. 在三个基准上使用不同方法进行自注意力计算的Swin Transformer的准确性。

  在四个网络阶段上的简单/内核实现中,基于所提出的移位窗口方法构建的自注意力模块分别比滑动窗口的效率高40.8×/2.5×、20.2×/2.5×、9.3×/2.1×和7.6×/1.8×。总的来说,基于移位窗口构建的Swin-Transformer架构分别比基于滑动窗口构建的用于Swin-T、Swin-S和Swin-B的变体快4.1/1.5、4.0/1.5和3.6/1.5倍。表6比较了它们在三项任务上的准确性,表明它们在视觉建模方面同样准确。

  与最快的Transformer架构之一Performer[14](见[55])相比,所提出的基于移位窗口的自注意力计算和整体Swin-Transformer架构略快(见表5),同时与使用Swin-T的ImageNet-1K上的Performer相比,实现了+2.3%的top-1精度(见表6)。

5. 结论

  本文提出了一种新的视觉变换器Swin Transformer,它产生了层次特征表示,并且相对于输入图像大小具有线性计算复杂性。Swin-Transformer在COCO目标检测和ADE20K语义分割方面实现了最先进的性能,大大超过了以前的最佳方法。我们希望Swin Transformer在各种视觉问题上的强大表现将鼓励对视觉和语言信号进行统一建模。

致谢 我们感谢Li Dong和Furu Wei进行了有益的讨论;Bin Xiao, Lu Yuan和Lei Zhang在数据集上的帮助;Jiarui Xu在mmdetection和mmsegmentation代码库方面的帮助。

References

[1] Hangbo Bao, Li Dong, Furu Wei, Wenhui Wang, Nan Yang, Xiaodong Liu, Yu Wang, Jianfeng Gao, Songhao Piao, Ming Zhou, et al. Unilmv2: Pseudo-masked language models for unified language model pre-training. In International Conference on Machine Learning, pages 642–652. PMLR, 2020. 5
[2] Josh Beal, Eric Kim, Eric Tzeng, Dong Huk Park, Andrew Zhai, and Dmitry Kislyuk. Toward transformer-based object detection. arXiv preprint arXiv:2012.09958, 2020. 3
[3] Irwan Bello, Barret Zoph, Ashish Vaswani, Jonathon Shlens, and Quoc V. Le. Attention augmented convolutional networks, 2020. 3
[4] Alexey Bochkovskiy, Chien-Yao Wang, and HongYuan Mark Liao. Yolov4: Optimal speed and accuracy of object detection. arXiv preprint arXiv:2004.10934, 2020. 7
[5] Navaneeth Bodla, Bharat Singh, Rama Chellappa, and Larry S. Davis. Soft-nms – improving object detection with one line of code. In Proceedings of the IEEE International Conference on Computer Vision (ICCV), Oct 2017. 6
[6] Zhaowei Cai and Nuno Vasconcelos. Cascade r-cnn: Delving into high quality object detection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 6154–6162, 2018. 6
[7] Yue Cao, Jiarui Xu, Stephen Lin, Fangyun Wei, and Han Hu. Gcnet: Non-local networks meet squeeze-excitation networks and beyond. In Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV) Workshops, Oct 2019. 3, 6, 7
[8] Nicolas Carion, Francisco Massa, Gabriel Synnaeve, Nicolas Usunier, Alexander Kirillov, and Sergey Zagoruyko. End-to-end object detection with transformers. In European Conference on Computer Vision, pages 213–229. Springer, 2020. 3, 6
[9] Kai Chen, Jiangmiao Pang, Jiaqi Wang, Yu Xiong, Xiaoxiao Li, Shuyang Sun, Wansen Feng, Ziwei Liu, Jianping Shi, Wanli Ouyang, et al. Hybrid task cascade for instance segmentation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 4974–4983, 2019. 6
[10] Kai Chen, Jiaqi Wang, Jiangmiao Pang, Yuhang Cao, Yu Xiong, Xiaoxiao Li, Shuyang Sun, Wansen Feng, Ziwei Liu, Jiarui Xu, et al. Mmdetection: Open mmlab detection toolbox and benchmark. arXiv preprint arXiv:1906.07155, 2019. 6
[11] Liang-Chieh Chen, Yukun Zhu, George Papandreou, Florian Schroff, and Hartwig Adam. Encoder-decoder with atrous separable convolution for semantic image segmentation. In Proceedings of the European conference on computer vision (ECCV), pages 801–818, 2018. 7
[12] Yihong Chen, Zheng Zhang, Yue Cao, Liwei Wang, Stephen Lin, and Han Hu. Reppoints v2: Verification meets regression for object detection. In NeurIPS, 2020. 6, 7
[13] Cheng Chi, Fangyun Wei, and Han Hu. Relationnet++: Bridging visual representations for object detection via transformer decoder. In NeurIPS, 2020. 3, 7
[14] Krzysztof Marcin Choromanski, Valerii Likhosherstov, David Dohan, Xingyou Song, Andreea Gane, Tamas Sarlos, Peter Hawkins, Jared Quincy Davis, Afroz Mohiuddin, Lukasz Kaiser, David Benjamin Belanger, Lucy J Colwell, and Adrian Weller. Rethinking attention with performers. In International Conference on Learning Representations, 2021. 8
[15] Xiangxiang Chu, Bo Zhang, Zhi Tian, Xiaolin Wei, and Huaxia Xia. Do we really need explicit position encodings for vision transformers? arXiv preprint arXiv:2102.10882, 2021. 3
[16] MMSegmentation Contributors. MMSegmentation: Openmmlab semantic segmentation toolbox and benchmark. https://github.com/open-mmlab/mmsegmentation, 2020. 7
[17] Jifeng Dai, Haozhi Qi, Yuwen Xiong, Yi Li, Guodong Zhang, Han Hu, and Yichen Wei. Deformable convolutional networks. In Proceedings of the IEEE International Conference on Computer Vision, pages 764–773, 2017. 1, 3
[18] Jia Deng, Wei Dong, Richard Socher, Li-Jia Li, Kai Li, and Li Fei-Fei. Imagenet: A large-scale hierarchical image database. In 2009 IEEE conference on computer vision and pattern recognition, pages 248–255. Ieee, 2009. 5
[19] Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, Jakob Uszkoreit, and Neil Houlsby. An image is worth 16x16 words: Transformers for image recognition at scale. In International Conference on Learning Representations, 2021. 1, 2, 3, 4, 5, 6
[20] Hao-Shu Fang, Jianhua Sun, Runzhong Wang, Minghao Gou, Yong-Lu Li, and Cewu Lu. Instaboost: Boosting instance segmentation via probability map guided copy-pasting. In Proceedings of the IEEE/CVF International Conference on Computer Vision, pages 682–691, 2019. 6
[21] Jun Fu, Jing Liu, Haijie Tian, Yong Li, Yongjun Bao, Zhiwei Fang, and Hanqing Lu. Dual attention network for scene segmentation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 3146–3154, 2019. 3
[22] Kunihiko Fukushima. Cognitron: A self-organizing multi-layered neural network. Biological cybernetics, 20(3):121–136, 1975. 3
[23] Golnaz Ghiasi, Yin Cui, Aravind Srinivas, Rui Qian, TsungYi Lin, Ekin D Cubuk, Quoc V Le, and Barret Zoph. Simple copy-paste is a strong data augmentation method for instance segmentation. arXiv preprint arXiv:2012.07177, 2020. 2, 7
[24] Jiayuan Gu, Han Hu, Liwei Wang, Yichen Wei, and Jifeng Dai. Learning region features for object detection. In Proceedings of the European Conference on Computer Vision (ECCV), 2018. 3
[25] Kai Han, An Xiao, Enhua Wu, Jianyuan Guo, Chunjing Xu, and Yunhe Wang. Transformer in transformer. arXiv preprint arXiv:2103.00112, 2021. 3
[26] Kaiming He, Georgia Gkioxari, Piotr Doll´ar, and Ross Girshick. Mask r-cnn. In Proceedings of the IEEE international conference on computer vision, pages 2961–2969, 2017. 6
[27] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 770–778, 2016. 1, 2, 3, 4
[28] Elad Hoffer, Tal Ben-Nun, Itay Hubara, Niv Giladi, Torsten Hoefler, and Daniel Soudry. Augment your batch: Improving generalization through instance repetition. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 8129–8138, 2020. 6
[29] Han Hu, Jiayuan Gu, Zheng Zhang, Jifeng Dai, and Yichen Wei. Relation networks for object detection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 3588–3597, 2018. 3, 5
[30] Han Hu, Zheng Zhang, Zhenda Xie, and Stephen Lin. Local relation networks for image recognition. In Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), pages 3464–3473, October 2019. 2, 3, 5
[31] Gao Huang, Zhuang Liu, Laurens Van Der Maaten, and Kilian Q Weinberger. Densely connected convolutional networks. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 4700–4708, 2017. 1, 3
[32] David H Hubel and Torsten N Wiesel. Receptive fields, binocular interaction and functional architecture in the cat’s visual cortex. The Journal of physiology, 160(1):106–154, 1962. 3
[33] Diederik P Kingma and Jimmy Ba. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980, 2014. 5
[34] Alexander Kolesnikov, Lucas Beyer, Xiaohua Zhai, Joan Puigcerver, Jessica Yung, Sylvain Gelly, and Neil Houlsby. Big transfer (bit): General visual representation learning. arXiv preprint arXiv:1912.11370, 6(2):8, 2019. 6
[35] Alex Krizhevsky, Ilya Sutskever, and Geoffrey E Hinton. Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems, pages 1097–1105, 2012. 1, 2
[36] Yann LeCun, L´eon Bottou, Yoshua Bengio, Patrick Haffner, et al. Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11):2278–2324, 1998. 2
[37] Yann LeCun, Patrick Haffner, L´eon Bottou, and Yoshua Bengio. Object recognition with gradient-based learning. In Shape, contour and grouping in computer vision, pages 319–345. Springer, 1999. 3
[38] Tsung-Yi Lin, Piotr Dollar, Ross Girshick, Kaiming He, Bharath Hariharan, and Serge Belongie. Feature pyramid networks for object detection. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 2017. 2
[39] Tsung-Yi Lin, Michael Maire, Serge Belongie, James Hays, Pietro Perona, Deva Ramanan, Piotr Doll´ar, and C Lawrence Zitnick. Microsoft coco: Common objects in context. In European conference on computer vision, pages 740–755. Springer, 2014. 5
[40] Ilya Loshchilov and Frank Hutter. Decoupled weight decay regularization. In International Conference on Learning Representations, 2019. 6
[41] Boris T Polyak and Anatoli B Juditsky. Acceleration of stochastic approximation by averaging. SIAM journal on control and optimization, 30(4):838–855, 1992. 6
[42] Siyuan Qiao, Liang-Chieh Chen, and Alan Yuille. Detectors: Detecting objects with recursive feature pyramid and switchable atrous convolution. arXiv preprint arXiv:2006.02334, 2020. 2, 7
[43] Alec Radford, Jong Wook Kim, Chris Hallacy, Aditya Ramesh, Gabriel Goh, Sandhini Agarwal, Girish Sastry, Amanda Askell, Pamela Mishkin, Jack Clark, Gretchen Krueger, and Ilya Sutskever. Learning transferable visual models from natural language supervision, 2021. 1
[44] Ilija Radosavovic, Raj Prateek Kosaraju, Ross Girshick, Kaiming He, and Piotr Doll´ar. Designing network design spaces. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 10428–10436, 2020. 6
[45] Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, and Peter J. Liu. Exploring the limits of transfer learning with a unified text-to-text transformer. Journal of Machine Learning Research, 21(140):1–67, 2020. 5
[46] Prajit Ramachandran, Niki Parmar, Ashish Vaswani, Irwan Bello, Anselm Levskaya, and Jon Shlens. Stand-alone selfattention in vision models. In Advances in Neural Information Processing Systems, volume 32. Curran Associates, Inc., 2019. 2, 3
[47] Olaf Ronneberger, Philipp Fischer, and Thomas Brox. Unet: Convolutional networks for biomedical image segmentation. In International Conference on Medical image computing and computer-assisted intervention, pages 234–241. Springer, 2015. 2
[48] K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. In International Conference on Learning Representations, May 2015. 3, 4
[49] Bharat Singh and Larry S Davis. An analysis of scale invariance in object detection snip. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 3578–3587, 2018. 2
[50] Bharat Singh, Mahyar Najibi, and Larry S Davis. Sniper: Efficient multi-scale training. In Advances in Neural Information Processing Systems, volume 31. Curran Associates, Inc., 2018. 2
[51] Aravind Srinivas, Tsung-Yi Lin, Niki Parmar, Jonathon Shlens, Pieter Abbeel, and Ashish Vaswani. Bottleneck transformers for visual recognition. arXiv preprint arXiv:2101.11605, 2021. 3
[52] Peize Sun, Rufeng Zhang, Yi Jiang, Tao Kong, Chenfeng Xu, Wei Zhan, Masayoshi Tomizuka, Lei Li, Zehuan Yuan, Changhu Wang, et al. Sparse r-cnn: End-to-end object detection with learnable proposals. arXiv preprint arXiv:2011.12450, 2020. 3, 6
[53] Christian Szegedy, Wei Liu, Yangqing Jia, Pierre Sermanet, Scott Reed, Dragomir Anguelov, Dumitru Erhan, Vincent Vanhoucke, and Andrew Rabinovich. Going deeper with convolutions. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 1–9, 2015. 3
[54] Mingxing Tan and Quoc Le. Efficientnet: Rethinking model scaling for convolutional neural networks. In International Conference on Machine Learning, pages 6105–6114. PMLR, 2019. 3
[55] Yi Tay, Mostafa Dehghani, Samira Abnar, Yikang Shen, Dara Bahri, Philip Pham, Jinfeng Rao, Liu Yang, Sebastian Ruder, and Donald Metzler. Long range arena : A benchmark for efficient transformers. In International Conference on Learning Representations, 2021. 8
[56] Ilya Tolstikhin, Neil Houlsby, Alexander Kolesnikov, Lucas Beyer, Xiaohua Zhai, Thomas Unterthiner, Jessica Yung, Andreas Steiner, Daniel Keysers, Jakob Uszkoreit, Mario Lucic, and Alexey Dosovitskiy. Mlp-mixer: An all-mlp architecture for vision, 2021. 2
[57] Hugo Touvron, Matthieu Cord, Matthijs Douze, Francisco Massa, Alexandre Sablayrolles, and Herv´e J´egou. Training data-efficient image transformers & distillation through attention. arXiv preprint arXiv:2012.12877, 2020. 2, 3, 5, 6
[58] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin. Attention is all you need. In Advances in Neural Information Processing Systems, pages 5998–6008, 2017. 1, 2, 4
[59] Jingdong Wang, Ke Sun, Tianheng Cheng, Borui Jiang, Chaorui Deng, Yang Zhao, Dong Liu, Yadong Mu, Mingkui Tan, Xinggang Wang, et al. Deep high-resolution representation learning for visual recognition. IEEE transactions on pattern analysis and machine intelligence, 2020. 3
[60] Wenhai Wang, Enze Xie, Xiang Li, Deng-Ping Fan, Kaitao Song, Ding Liang, Tong Lu, Ping Luo, and Ling Shao. Pyramid vision transformer: A versatile backbone for dense prediction without convolutions. arXiv preprint arXiv:2102.12122, 2021. 3
[61] Xiaolong Wang, Ross Girshick, Abhinav Gupta, and Kaiming He. Non-local neural networks. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2018, 2018. 3
[62] Ross Wightman. Pytorch image models. https://github.com/rwightman/pytorch-image-models, 2019. 6
[63] Tete Xiao, Yingcheng Liu, Bolei Zhou, Yuning Jiang, and Jian Sun. Unified perceptual parsing for scene understanding. In Proceedings of the European Conference on Computer Vision (ECCV), pages 418–434, 2018. 7
[64] Saining Xie, Ross Girshick, Piotr Doll´ar, Zhuowen Tu, and Kaiming He. Aggregated residual transformations for deep neural networks. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 1492–1500, 2017. 1, 2, 3
[65] Minghao Yin, Zhuliang Yao, Yue Cao, Xiu Li, Zheng Zhang, Stephen Lin, and Han Hu. Disentangled non-local neural networks. In Proceedings of the European conference on computer vision (ECCV), 2020. 3, 7
[66] Li Yuan, Yunpeng Chen, Tao Wang, Weihao Yu, Yujun Shi, Francis EH Tay, Jiashi Feng, and Shuicheng Yan. Tokensto-token vit: Training vision transformers from scratch on imagenet. arXiv preprint arXiv:2101.11986, 2021. 3
[67] Yuhui Yuan, Xilin Chen, and Jingdong Wang. Objectcontextual representations for semantic segmentation. In 16th European Conference Computer Vision (ECCV 2020), August 2020. 7
[68] Yuhui Yuan and Jingdong Wang. Ocnet: Object context network for scene parsing. arXiv preprint arXiv:1809.00916, 2018. 3
[69] Sergey Zagoruyko and Nikos Komodakis. Wide residual networks. In BMVC, 2016. 1
[70] Hang Zhang, Chongruo Wu, Zhongyue Zhang, Yi Zhu, Zhi Zhang, Haibin Lin, Yue Sun, Tong He, Jonas Mueller, R Manmatha, et al. Resnest: Split-attention networks. arXiv preprint arXiv:2004.08955, 2020. 7
[71] Shifeng Zhang, Cheng Chi, Yongqiang Yao, Zhen Lei, and Stan Z Li. Bridging the gap between anchor-based and anchor-free detection via adaptive training sample selection. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 9759–9768, 2020. 6
[72] Hengshuang Zhao, Jiaya Jia, and Vladlen Koltun. Exploring self-attention for image recognition. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 10076–10085, 2020. 3
[73] Sixiao Zheng, Jiachen Lu, Hengshuang Zhao, Xiatian Zhu, Zekun Luo, Yabiao Wang, Yanwei Fu, Jianfeng Feng, Tao Xiang, Philip HS Torr, et al. Rethinking semantic segmentation from a sequence-to-sequence perspective with transformers. arXiv preprint arXiv:2012.15840, 2020. 2, 3, 6, 7
[74] Bolei Zhou, Hang Zhao, Xavier Puig, Tete Xiao, Sanja Fidler, Adela Barriuso, and Antonio Torralba. Semantic understanding of scenes through the ade20k dataset. International Journal on Computer Vision, 2018. 5, 7
[75] Xizhou Zhu, Han Hu, Stephen Lin, and Jifeng Dai. Deformable convnets v2: More deformable, better results. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 9308–9316, 2019. 1, 3
[76] Xizhou Zhu, Weijie Su, Lewei Lu, Bin Li, Xiaogang Wang, and Jifeng Dai. Deformable {detr}: Deformable transformers for end-to-end object detection. In International Conference on Learning Representations, 2021. 3

猜你喜欢

转载自blog.csdn.net/i6101206007/article/details/131340955