高效Transformer、计算机视觉的总结与展望

发布时间:   来源:CSDN  

论文综述: 文章主旨:在本文中,我们回顾了这些视觉Transformer模型,将它们分为不同的任务,并分析了它们的优缺点。我们探讨的主要类别包括主干网络、高/中级视觉、低级视觉和视频处理。我们还包括有效的Transformer方法,用于将Transformer推进基于设备的实际应用。此外,我们还简要介绍了计算机视觉中的自我注意机制,因为它是Transformer的基本组成部分。在本文的最后,我们讨论了视觉Transformer面临的挑战,并提供了几个进一步的研究方向。

其他章节: Transformer综述(A Survey on Vision Transformer) 阅读学习笔记(一)----transformer的发展,transformer的基本结构和原理


【资料图】

Transformer综述(A Survey on Vision Transformer) 阅读学习笔记(三)–Transformer应用的图像处理与视频处理的研究

Transformer综述(A Survey on Vision Transformer) 阅读学习笔记(四)-- 高效Transformer、计算机视觉的自注意力、Transformer的总结与展望

A Survey on Vision Transformer

3. VISION TRANSFORMER 视觉Transformer3.1 Backbone for Representation Learning 表征学习的主干网3.1.1 Pure Transformer3.1.2 Transformer with Convolution 卷积Transformer3.1.3 Self-supervised Representation Learning 自监督表征学习3.1.4 Discussions 3.2 High/Mid-level Vision 高中级视觉3.2.1 Generic Object Detection 通用对象检测3.2.2 Segmentation 分割3.2.3 Pose Estimation 姿态估计3.2.4 Other Tasks 其他任务3.2.5 Discussions

3. VISION TRANSFORMER 视觉Transformer

在本节中,我们将回顾基于Transformer的模型在计算机视觉中的应用,包括图像分类、高/中级视觉、低级视觉和视频处理。我们还简要总结了自我注意机制和模型压缩方法在高效变压器中的应用。

3.1 Backbone for Representation Learning 表征学习的主干网

受该Transformer在NLP领域取得的成功启发,一些研究人员探索了类似模型是否可以学习图像的有用表示。与文本相比,图像涉及更多维度、噪声和冗余模态,因此它们被认为更难进行生成建模。

除了CNN,该Transformer还可以用作图像分类的主干网络。Wuet等人[240]将ResNet作为一个方便的基线,并使用视觉Transformer来取代卷积的最后一个阶段。具体来说,他们应用卷积层来提取低级特征,然后将其输入视觉Transformer。对于vision transformer,他们使用一个标记来将像素分组为少量视觉标记,每个标记代表图像中的一个语义概念。这些视觉标记直接用于图像分类,Transformer用于模拟标记之间的关系。如下图所示,这些作品可以分为纯粹使用transformer进行视觉,以及将CNN和transformer相结合。我们在表3和图7-8中总结了这些模型的结果,以展示主干的发展。除了监督学习,视觉transformer中还探索了自我监督学习。

Visual transformers: Token-based image representation and processing for computer vision.arXiv preprint arXiv:2006.03677,2020.

3.1.1 Pure Transformer

ViT.Dosovitskiyet等人[55]最近提出了视觉Transformer (ViT),它是一种纯变换器,当直接应用于图像块序列时,可以很好地执行图像分类任务。它们尽可能遵循transformer的原始设计。下图显示了ViT的框架。

An image is worth 16x16 words: Transformers for image recognition at scale. InICLR, 2021

要处理2D图像, i m a g e ∈ R   h × w × c image \in R^{\ h×w×c} image∈R h×w×c被重塑成一系列扁平的2D块(patch): X P ∈ R   n × ( p 2 ⋅ c ) X_P \in R^{\ n×(p^2 \cdot c)} XP∈R n×(p2⋅c) 其中,c表示通道数,(h,w)是原始图像的分辨率,而(p,p)是图像块的分辨率。因此,Transformer 的有效序列长度为: n = ( h ⋅ w ) / p 2 n = (h \cdot w) / p^2 n=(h⋅w)/p2因为transformer在其所有层提出使用恒定宽度,所以可训练线性投影将每个矢量化路径映射到模型维度,其输出称为面片嵌入。

与BERT的[class]标记类似,可学习的嵌入被应用于嵌入补丁的序列。该嵌入状态用作图像表示。在预训练和微调阶段,分类头的尺寸相同。此外,将1D位置嵌入添加到面片嵌入中,以保留位置信息。Dosovitskiyet等人探索了位置嵌入的不同2D感知变体,这些变体都没有比标准的1D位置嵌入产生任何显著的收益。接头嵌入件作为编码器的输入断开。值得注意的是,ViT仅使用标准变压器的编码器(层标准化位置除外),其输出先于MLP头。

在大多数情况下,ViT是在大型数据集上预先训练的,然后针对较小的下游任务进行微调。为此,移除预先训练好的预测头,并附加一个初始化为零的d×k前馈层,其中k是下游类的数量。在微调阶段使用比训练前更高的分辨率通常是有益的。例如,当馈送更高分辨率的图像时,即使面片大小保持不变,也可以获得更大的有效序列长度。虽然ViT可以处理任意序列长度,但预先训练的位置嵌入可能不再有意义。因此,Dosovitskiyet等人根据预训练位置嵌入在原始图像中的位置对其执行2D插值。请注意,只有在分辨率调整和面片提取期间,才会将有关图像2D结构的感应偏差手动注入ViT。

当在中型数据集(如ImageNet)上进行训练时,ViT会产生适度的结果,精确度比同等大小的RESNET低几个百分点。由于变压器缺乏CNN固有的一些感应偏差,例如平移等变和局部性,因此在数据量不足的情况下,transformer不能很好地概括。然而,作者发现,在大数据集(1400万到3亿张图像)上训练模型超过了归纳偏差。当以足够大的规模进行预培训时,变压器在数据点较少的任务上取得了优异的效果。例如,当在JFT-300M数据集上进行预训练时,ViT在多个图像识别基准上接近甚至超过了最先进的性能。具体来说,它的准确度达到了88.36%在ImageNet上。在CIFAR-10达到99.50%;在CIFAR-100达到94.55;在VTAB套件的19项任务中达到77.16%。

Touvronet al.[219]通过仅在ImageNet数据库上进行训练,提出了一种竞争性的无卷积transformer,称为数据高效图像变压器(DeiT)。参考视觉转换器DeiT-B与ViT-B的结构相同,使用了8600万个参数。凭借强大的数据增强功能,DeiTB的准确度达到了83.1%(单一作物评估)在ImageNet上,无外部数据。此外,作者观察到,使用CNN教师比使用transformer表现更好。具体地说,Deit-B可以在基于令牌的精馏的帮助下达到TOP-1准确率84.40%。

Training data-efficient image transformers & distillation through attention. InICML, 2020

Variants of ViT. VIT的变体在VIT范式的指导下,人们提出了一系列VIT的变体来提高视觉任务的绩效。主要途径包括增强地域性、提高自觉性和建筑设计。 原有的视觉转换器擅长捕捉面片之间的远程依赖关系,但忽略了局部特征提取,因为2D面片被投影到具有简单线性层的矢量上。近年来,研究人员开始注重提高对局部信息的建模能力[85]、[148]、[26]。TNT[85]进一步将补丁划分为若干子补丁,并引入了一种新的变压器-变压器架构,该架构利用内部变压器块来建模子补丁与外部变压器块之间的关系,以进行补丁级别的信息交换。Twins[43]和CA-T[137]层层交替地执行局部和全局注意。Swin Transformers[148],[54]在窗口内执行局部注意,并为跨窗口连接引入了移位窗口分区方法。ShuffleTransformer[105]、[63]进一步利用空间混洗操作而不是移位窗口划分来允许跨窗口连接。RegionViT[26]从图像生成区域标记和局部标记,并且局部标记通过关注区域标记来接收全局信息。除了局部关注外,还有一些工作提出通过局部特征聚合来提高局部信息,如T2T[260]。这些工作展示了视觉变压器的局部信息交换和全局信息交换的好处。

[85]: Transformer in transformer.arXiv preprint arXiv:2103.00112, 2021.[148]: Swin transformer: Hierarchical vision transformer using shifted windows. InICCV, 2021[26]: Regionvit: Regional-to-local attention for vision transformers.arXiv preprint arXiv:2106.02689, 2021.[43]: Twins: Revisiting the design of spatial attention in vision transformers.arXiv preprint arXiv:2104.13840, 1(2):3, 2021.[137]: Cat: Cross attention in vision transformer.arXiv preprint arXiv:2106.05786, 2021.[54]: Cswin transformer: A general vision transformer backbone with cross-shaped windows.arXiv preprint arXiv:2107.00652, 2021.[105]: Shuffle transformer: Rethinking spatial shuffle for vision transformer.arXiv preprint arXiv:2106.03650, 2021.[63]: Msgtransformer: Exchanging local spatial information by manipulating messenger tokens.arXiv preprint arXiv:2105.15168, 2021.[260]: Tokens-to-token vit: Training vision transformers from scratch on imagenet. InICCV, 2021.

作为transformer的关键组件,自我注意层提供了图像块之间全局交互的能力。提高自我注意层的计算能力吸引了许多研究者。Deep ViT[286]建议建立十字头通信,以重新生成注意力地图,以增加不同层的多样性。KVT[230]引入了k-NN注意,利用图像补丁的局部性,并通过仅使用顶级K相似标记计算注意来忽略噪声标记。Refiner[287]探索了高维空间中的注意力扩展,并应用卷积来增强注意力地图的局部模式。XCiT[56]跨功能通道而不是令牌执行自我注意计算,这允许高效处理高分辨率图像。自注意机制的计算复杂度和注意精度是未来优化的两个关键点。

[286]: Deepvit: Towards deeper vision transformer.arXiv preprint arXiv:2103.11886, 2021.[230]: Kvt: k-nn attention for boosting vision transformers.arXiv preprint arXiv:2106.00515, 2021.[287]: Refiner: Refining self-attention for vision transformers.arXiv preprint arXiv:2106.03714, 2021.[56]: Xcit: Cross-covariance image transformers.arXiv preprint arXiv:2106.09681, 2021.

网络体系结构是CNN领域的重要因素。ViT最初的架构是由相同形状的transformer块组成的简单堆栈。视觉transformer的新架构设计一直是一个有趣的话题。许多视觉变换器模型[232]、[148]、[209]、[61]、[279]、[167]都使用了金字塔状结构,包括PVT[232]、HVT[168]、Swin transformer[148]和PiT[92]。还有其他类型的体系结构,例如双流体系结构[25]和U-net体系结构[237],[17]。神经结构搜索(NAS)也被用来搜索更好的transformer结构,例如Scaling ViT[269]、ViTAS[205]、AutoFormer[28]和GLiT[24]。目前,vision transformer的网络设计和NAS主要借鉴CNN的经验。在未来,我们期待着视觉转换器领域出现具体而新颖的架构。

[232]: Pyramid vision transformer: A versatile backbone for dense prediction without convolutions. InICCV, 2021.[148]: Swin transformer: Hierarchical vision transformer using shifted windows. InICCV, 2021.[209]: Visual parser: Representing part-whole hierarchies with transformers. 2021.[61]: Multiscale vision transformers.arXiv preprint arXiv:2104.11227, 2021.[279]: Aggregating nested transformers.arXiv preprint arXiv:2105.12723, 2021.[167]: Less is more: Pay less attention in vision transformers.arXiv preprint arXiv:2105.14217,2021.[168]: Scalable visual transformers with hierarchical pooling.arXiv preprint arXiv:2103.10619,2021.[92]: Rethinking spatial dimensions of vision transformers. InICCV, 2021.[25]: Crossvit: Cross-attention multi-scale vision transformer for image classification.arXiv preprintarXiv:2103.14899, 2021. [237]: Uformer: A general u-shaped transformer for image restoration.arXiv preprint arXiv:2106.03106, 2021.[17]: Swin-unet: Unet-like pure transformer for medical image segmentation. arXiv preprint arXiv:2105.05537, 2021.[269]: Scaling vision transformers.arXiv preprint arXiv:2106.04560, 2021.[205]: Vision transformer architecture search.arXiv preprint arXiv:2106.13700, 2021.[28]: Autoformer: Searching transformers for visual recognition.arXiv preprint arXiv:2107.00651, 2021.[24]: Glit: Neural architecture search for global and local image transformer. arXiv preprint arXiv:2107.02960, 2021.

除了上述方法,还有一些其他方向可以进一步改进视觉transformer,例如位置编码[44]、[242]、标准化策略[220]、快捷连接[215]和消除注意[217]、[158]、[79]、[218]。

[44]: Conditional positional encodings for vision transformers.arXiv preprintarXiv:2102.10882, 2021.[242]: Rethinking andimproving relative position encoding for vision transformer. InICCV,2021.[220]: Going deeper with image transformers.arXiv preprint arXiv:2103.17239,2021.[215]: Augmented shortcuts for vision transformers.arXiv preprint arXiv:2106.15941, 2021.[217]:  Mlp-mixer: An all-mlp architecture for vision.arXiv preprint arXiv:2105.01601, 2021.[158]: Do you even need attention? a stack of feedforward layers does surprisingly well on imagenet.arXiv preprint arXiv:2105.02723, 2021.[79]: Beyond self-attention: External attention using two linear layers for visual tasks.arXiv preprint arXiv:2105.02358, 2021.[128]: Object detection based on an adaptive attention mechanism.Scientific Reports, pages 1–13, 2020.

上表格ImageNet代表CNN和vision transformer模型的结果比较。在[219]、[148]之后,在NVIDIA V100 GPU和Pytork上测量吞吐量,输入大小为224×224。纯Transformer意味着在stem阶段只使用几个卷积。CNN Transformer意味着在中间层使用卷积。

3.1.2 Transformer with Convolution 卷积Transformer

尽管视觉转换器能够捕获输入中的长期依赖关系,因此已成功应用于各种视觉任务,但在转换器和现有CNN之间仍存在性能差距。一个主要原因可能是缺乏提取本地信息的能力。除了上述增强局部性的ViT变体外,将变换器与卷积相结合是将局部性引入常规变换器的更直接的方法。

有很多工作试图用卷积来增强传统的变压器块或自我注意层。例如,CPVT[44]提出了一种条件位置编码(CPE)方案,该方案以输入标记的局部邻域为条件,并适用于任意输入大小,以利用卷积进行精细特征编码。CvT[241]、CeiT[259]、LocalViT[132]和CMT[77]分析了直接从NLP借用变压器架构并将卷积与变压器结合在一起时可能存在的缺点。具体而言,每个转换器块中的前馈网络(FFN)与卷积层相结合,卷积层促进相邻令牌之间的相关性。LeViT[75]回顾了CNN大量文献中的原理,并将其应用于变压器,提出了一种用于快速推理图像分类的混合神经网络。BoTNet[202]在ResNet的最后三个瓶颈块中,用全局自我关注取代了空间卷积,并在实例分割和对象检测任务上显著改进了基线,延迟开销最小。

[44]:Conditional positional encodings for vision transformers.arXiv preprint arXiv:2102.10882, 2021.[241]: Cvt: Introducing convolutions to vision transformers.arXiv preprint arXiv:2103.15808, 2021.[259]: Incorporating convolution designs into visual transformers.arXiv preprint arXiv:2103.11816, 2021.[132]: ocalvit: Bringing locality to vision transformers.arXiv preprint arXiv:2104.05707, 2021.[77]: Cmt: Convolutional neural networks meet vision transformers.arXiv preprint arXiv:2107.06263, 2021[202]: Bottleneck transformers for visual recognition. InCVPR, pages 16519–16529, 2021

此外,一些研究人员已经证明,基于Transformer 的模型可能更难享受良好的数据拟合能力[55]、[38]、[245],换句话说,它们对优化器的选择、超参数和训练计划非常敏感。Visformer[38]通过两种不同的培训设置揭示了Transformer 和CNN之间的差距。第一个是CNN的标准设置,即训练时间更短,数据扩充只包含随机裁剪和水平翻转。另一个是[219]中使用的训练设置,即训练计划更长,数据增强更强。[245]改变了ViT的早期视觉处理,用标准卷积干替换其嵌入干,并发现这种改变使ViT更快收敛,并使AdamW或SGD的使用不会显著降低准确性。除了这两项工作,[75],[77]还选择在Transformer 顶部添加卷积杆。

[55]:An image is worth 16x16 words: Transformers for image recognition at scale. InICLR, 2021.[38]:Visformer: The vision-friendly transformer.arXiv preprint arXiv:2104.12533, 2021.[245]: Early convolutions help transformers see better.arXiv preprint arXiv:2106.14881, 2021.[219]: Training data-efficient image transformers & distillation through attention. InICML, 2020.[75]: Levit: a vision transformer in convnet’s clothing for faster inference.arXiv preprint arXiv:2104.01136, 2021.[77]: Cmt:Convolutional neural networks meet vision transformers.arXiv preprint arXiv:2107.06263, 2021.

3.1.3 Self-supervised Representation Learning 自监督表征学习

基于生成的方法。生成性的图像预训练方法已经存在很长时间了。Chen等人[29]重新研究了这类方法,并将其与自我监督方法相结合。在此之后,提出了几项工作[134],[8]来扩展基于生成的自监督学习在视觉转换器中的应用。 我们简要介绍iGPT[29]以证明其机制。这种方法包括训练前阶段和微调阶段。在训练前阶段,探索了自回归和BERT目标。为了实现像素预测,采用了序列转换器体系结构,而不是语言标记(如NLP中使用的)。当与早期停止结合使用时,预训练可以被认为是一种有利的初始化或调节器。在微调阶段,他们向模型中添加了一个小的分类头。这有助于优化分类目标并调整所有权重。

[29]: Generative pretraining from pixels. InInternational Conference on Machine Learning, pages 1691–1703. PMLR, 2020.[8]: Beit: Bert pre-training of image transformers.arXiv preprint arXiv:2106.08254, 2021.[134]: Mst: Masked self-supervised transformer for visual representation.arXiv preprint arXiv:2106.05656, 2021.

使用Transformer 解码器块的GPT-2[182]公式。特别地,层规范先于注意和多层感知器(MLP)操作,并且所有操作都严格在剩余路径上执行。注意操作是唯一涉及跨序列元素混合的操作。为了在训练AR目标时确保适当的条件作用,Chenet等人将标准的上三角掩模应用于n×n注意逻辑矩阵。当使用BERT目标时,不需要注意逻辑掩码:Chenet等人将内容嵌入应用于输入序列之后的位置置零。在最终的变换器层之后,他们应用一个层范数,并从输出中学习一个投影到logits,将每个序列元素的条件分布参数化。在训练BERT,时,他们干脆忽略了不带面具的位置上的逻辑。 在微调阶段,他们跨序列维度平均汇集最终层归一化层的输出,以提取每个示例的特征的ad维向量。他们从集合特征中学习到类逻辑的投影,并使用该投影来最小化交叉熵损失。实际应用表明,交叉熵损失和训练前损失的联合目标(LAR or LBERT)效果更好。

[182]: Language models are unsupervised multitask learners.OpenAI blog,1(8):9, 2019.

iGPT和 ViT 是将变压器应用于视觉任务的两个开创性作品。Igpt 与 vit-like 模型的区别主要体现在三个方面: 1) igpt 的输入是通过像素聚类得到的一系列调色板,而 vit 将图像均匀地分割成若干个局部块; 2) igpt 的结构是编码-解码框架,而 vit 只有Transformer 编码器; 3) igpt 利用自回归自监督损失进行训练,而 vpt 则通过监督图像分类任务进行训练。

基于对比学习的方法。目前,对比学习是计算机视觉领域最流行的自监督学习方法。对比学习已应用于视觉Transformer 的无监督预训练[32] ,[247] ,[126]。 Chenet al. [32]调查了几个基本组成部分对自我监督 vit 训练的影响。作者观察到,不稳定性是降低准确性的一个主要问题,这些结果确实是部分失败,当训练更加稳定时,它们可以得到改善。 他们引入了“ moco v3”框架,这是对 moco v1/2 [31][88]的一个渐进式改进。具体来说,作者在随机数据增强下,为每张图片选取两种作物。它们由两个编码器 fq 和 fk 编码,输出矢量 q 和 k 直观地表现出 q 的行为像一个“查询”,学习的目标是检索相应的“键”。这是一个最小化对比损失函数的公式,可以写成:

这里k是fk和q在同一幅图像上的输出,也就是asq的正样本。setk−包含offk从其他图像的输出,称为q的负样本。τ是l2归一化q,k的温度超参数。Moco v3使用自然存在于同一批中的键并放弃内存队列,他们发现如果批足够大(例如4096),内存队列的增益会递减。通过这种简化,对比损耗可以以一种简单的方式实现。编码器fq由主干(如vit)、投影头和额外的预测头组成;而编码器fk有主干和投影头,而没有预测头。Fk由fq的移动平均来更新,不包括预测头。 Moco v3表明,不稳定性是训练自监督 vit 的主要问题,因此他们描述了一个简单的技巧,可以提高稳定性在各种情况下的实验。他们发现不需要训练贴片投影层。对于标准的维特斑块大小,斑块投影矩阵是完全的或过完全的。在这种情况下,随机投影应该足以保存原始补丁的信息。然而,这个技巧虽然减轻了问题,但并不能解决问题。如果学习率过大,第一层不可能是不稳定的根本原因,则模型仍可能不稳定。

[32]: An empirical study of training self- supervised vision transformers. InICCV, 2021.[126]: Efficient self-supervised vision transformers for representation learning. arXiv preprint arXiv:2106.09785, 2021.[247]: Self-supervised learning with swin transformers.arXiv preprint arXiv:2105.04553, 2021.[31]: Improved baselines with momentum contrastive learning.arXiv preprint arXiv:2003.04297, 2020.[88]: Momentum contrast for unsupervised visual representation learning. InCVPR, pages 9729–9738, 2020.

3.1.4 Discussions

视觉Transformer 的所有组成部分,包括多头自注意、多层感知器、快捷连接、层规范化、位置编码和网络拓扑,在视觉识别中起着关键作用。如上所述,已经提出了一些工作,以提高视觉变压器的效果和效率。从图78中的结果可以看出,结合 cnn 和 transformer 可以获得更好的性能,表明它们通过本地连接和全局连接互补。进一步研究骨干网络可以改善整个视觉社区。至于视觉Transformer 的自监督表征学习,我们仍需努力在 nlp 领域追求大规模预训练的成功。

3.2 High/Mid-level Vision 高中级视觉

最近,人们对使用变压器来完成高/中级计算机视觉任务的兴趣越来越浓厚,比如目标检测[19] ,[291] ,[10] ,[263] ,[166] ,[144] ,车道检测[144] ,分割[235] ,[228] ,[285]和姿态估计[102] ,[103] ,[138] ,[253]。我们在这一节回顾这些方法。

[19]: End-to-end object detection with transformers. InECCV,2020.[291]: Deformable detr: Deformable transformers for end-to-end object detection. InICLR,2021.[10]: Toward transformer-based object detection.arXiv preprint arXiv:2012.09958, 2020.[263]: Temporal-channel transformer for 3d lidar-based video object detection in autonomous driving.arXiv preprint arXiv:2011.13628, 2020.[166]: 3d object detection with pointformer. InCVPR, 2021.[144]: End-to-end lane shape prediction with transformers. InWACV, 2021.[235]: End-to-end video instance segmentation with transformers. InCVPR,2021.[228]: Max-deeplab: End-to-end panoptic segmentation with mask transformers. InCVPR, pages 5463–5474, 2021.[285]: Rethinking semantic segmentation from a sequence-to-sequence perspective with transformers. InCVPR, 2021.[102]: Hand-transformer: Non- autoregressive structured modeling for 3d hand pose estimation. In ECCV, pages 17–33, 2020.[103]: Hot-net: Non-autoregressive transformer for 3d hand-object pose estimation. In Proceedings of the 28th ACM International Conference on Multimedia, pages 3136–3145, 2020.[138]: End-to-end human pose and mesh reconstruction with transformers. InCVPR, 2021.[253]: Transpose: Keypoint localization via transformer. InICCV, 2021.

3.2.1 Generic Object Detection 通用对象检测

传统的目标检测器主要建立在神经网络的基础上,而基于变压器的目标检测由于其优越的性能近年来引起了人们的极大兴趣。 一些目标检测方法试图利用Transformer的自我注意机制,然后增强现代检测器的特定模块,如特征融合模块[271]和预测头[41]。基于Transformer的目标检测方法大致可以分为两类:基于Transformer的集合预测方法[19]、[291]、[210]、[284]、[154]和基于变压器的骨干方法[10]、[166],如图9所示。与基于CNN的检测器相比,基于Transformer的方法在准确率和运行速度上都表现出了很强的性能。表下显示了之前在COCO 2012 VAL集合中提到的不同基于Transformer的物体探测器的检测结果。

[271]: Feature pyramid transformer. InECCV, 2020.[41]: Relationnet++: Bridging visual representations for object detection via transformer decoder.NeurIPS, 2020.[19]: End-to-end object detection with transformers. InECCV,2020.[291]:Deformable detr: Deformable transformers for end-to-end object detection. InICLR, 2021.[210]: Rethinking transformer-based set prediction for object detection.arXiv preprint arXiv:2011.10881,2020.[284]: End-to-end object detection with adaptive clustering transformer.arXiv preprint arXiv:2011.09315, 2020.[154]: Oriented object detection with transformer.arXiv preprint arXiv:2106.03146, 2021.[10]: Toward transformer-based object detection.arXiv preprint arXiv:2012.09958, 2020.[166]: 3d object detection with pointformer. InCVPR, 2021.

COCO 2017 ValSet上不同变压器式物体探测器的比较。运行速度(Fps)是在NVIDIA Tesla V100GPU上评估的,†根据论文中报告的数量进行了估计。‡VIT主干在ImageNet-21k上进行了预训练。∗VIT主干在一个包含13亿幅图像的私有数据集上进行了预训练。

Transformer-based Set Prediction for Detection. 基于变压器的检测集预测。作为基于Transformer的检测方法的先驱,Carionet等人[19]提出的检测Transformer(DETR)重新设计了目标检测的框架。DETR是一种简单且完全端到端的目标检测器,它将目标检测任务视为一个直观的集合预测问题,消除了传统手工制作的组件,如锚生成和非最大抑制(NMS)后处理。如图10所示,DETR从CNN主干开始,从输入图像中提取特征。为了用位置信息补充图像特征,在将特征输入编码器-解码器转换器之前,将固定位置编码添加到展平特征中。解码器使用来自编码器的嵌入以及学习的位置编码(对象查询),并生成输出嵌入。Here是一个预定义的参数,通常大于图像中对象的数量。简单前馈网络(FFN)用于计算最终预测,其中包括边界框坐标和类标签,以指示对象的特定类别(或指示不存在对象)。与原始的transformer不同,DETR是按顺序计算预测的,DETR是并行解码对象的。DETR采用二分匹配算法来分配预测对象和地面真实对象。如等式17所示,利用匈牙利损失计算所有匹配对象对的损失函数。 DETR是一种基于transformer的目标检测框架的新设计,使社区能够开发完全端到端的检测器。然而,vanilla DETR带来了一些挑战,具体来说,训练计划较长,小型物体的性能较差。为了应对这些挑战,Zhuet al.[291]提出了可变形DETR,它已成为一种流行的方法,显著提高了检测性能。变形注意模块关注参考点周围的一小部分关键位置,而不是像transformer中的原始多头注意机制那样查看图像特征图上的所有空间位置。这种方法大大降低了计算复杂度,并带来了快速收敛的好处。更重要的是,可变形注意模块可以很容易地应用于融合多尺度特征。变形DETR比DETR具有更好的性能,训练成本降低10倍,性能提高1.6倍更快的推理速度。通过使用迭代边界盒细化方法和两阶段方案,可变形DETR可以进一步提高检测性能。

也有几种方法来处理原始DETR的缓慢收敛问题。例如,Sunet等人[210]研究了DETR模型收敛缓慢的原因,发现这主要是由于transformer解码器中的交叉注意模块。为了解决这个问题,提出了一种只使用编码器的DETR,在检测精度和训练收敛性方面取得了相当大的改进。此外,为了提高训练稳定性和更快的收敛速度,设计了一种新的二部匹配方案,并提出了两种基于变换的集合预测模型,即TSP-FCOS和TSP-RCNN,以改进具有特征金字塔的纯编码器DETR。与原DETR模型相比,这些新模型实现了更好的性能。Gao等人[71]提出了空间调制的共同注意(SMCA)机制,通过将共同注意反应限制在接近初始估计边界框位置的较高水平来加速收敛。通过将所提出的SMCA模块集成到DETR中,可以在相当的推理成本下,以大约10倍更少的训练周期获得类似的mAP。

鉴于与DETR相关的高计算复杂度,Zheng等人[284]提出了一种自适应聚类变换器(ACT),以降低预训练DETR的计算成本。ACT使用局部敏感哈希(LSH)方法自适应地对查询特征进行聚类,并将注意力输出广播到所选原型表示的查询。ACT用于取代预先训练的DETR模型的自我注意模块,无需任何再训练。这种方法大大降低了计算成本,同时精度略有下降。通过使用多任务知识提取(MTKD)方法,可以进一步减少性能下降,该方法利用原始转换器提取ACT模块,并进行几次微调。Yao等人[257]指出,DETR中的随机初始化是需要多个解码器层和缓慢收敛的主要原因。为此,他们提出了有效的DETR,通过一个额外的区域建议网络将密集先验信息纳入检测管道。更好的初始化使它们能够只使用一个解码器层,而不是六层,从而在更紧凑的网络中实现具有竞争力的性能。

Transformer-based Backbone for Detection. 基于transformer的检测主干

与通过transformer将目标检测重新设计为一组预测任务的DETR不同,Bealet al.[10]提出利用transformer作为常见检测框架(如更快的RCNN[186])的主干。将输入图像分割成若干块,送入视觉变换器,视觉变换器的输出嵌入特征根据空间信息进行重组,然后通过检测头获得最终结果。大规模的预培训变压器主干可能会为拟建的ViT FRCNN带来好处。还有很多方法可以探索多功能视觉转换器主干设计[85]、[232]、[148]、[43],并将这些主干转移到传统的检测框架,如视网膜网[140]和Cascade R-CNN[16]。例如,Swin Transformer[148]在ResNet-50主干网上获得了大约4盒AP增益,在各种检测框架中具有类似的触发器。

[186]: Faster R-CNN: Towards real- time object detection with region proposal networks. InNeurIPS, 2015.[10]: Toward transformer-based object detection.arXiv preprint arXiv:2012.09958, 2020.[85]: Transformer in transformer.arXiv preprint arXiv:2103.00112, 2021.[232]: Pyramid vision transformer: A versatile backbone for dense prediction without convolutions. InICCV, 2021.[148]: Swin transformer: Hierarchical vision transformer using shifted windows. InICCV, 2021.[43]: Twins: Revisiting the design of spatial attention in vision transformers.arXiv preprint arXiv:2104.13840, 1(2):3, 2021[140]: Focal loss for dense object detection. InICCV, 2017.[16]: Cascade r-cnn: Delving into high quality object detection. InCVPR, pages 6154–6162, 2018.

Pre-training for Transformer-based Object Detection. 基于transformer的目标检测预培训。受NLP中预训练变换方案的启发,人们提出了几种方法来探索基于变换的目标检测的不同预训练方案[49]、[64]、[9]。Daiet等人[49]提出了目标检测的无监督预训练(UPDETR)。具体而言,本文提出了一种新的无监督借口任务——随机查询补丁检测来预训练DETR模型。通过这种无监督的预训练方案,UP-DETR在相对较小的数据集(PASCAL VOC)上显著提高了检测精度。在有足够培训数据的COCO基准上,UP-DETR仍然优于DETR,这表明了无监督预培训计划的有效性。 Fanget al.[64]探索了如何将在ImageNet上预先训练的纯ViT结构转移到更具挑战性的目标检测任务中,并提出了YOLOS检测器。为了处理目标检测任务,建议的YOLOS首先在ViT中删除分类标记,并附加可学习的检测标记。此外,利用二部匹配损失对目标进行集合预测。通过在ImageNet数据集上的这种简单预训练方案,所提出的YOLOS在COCO基准上显示了具有竞争力的目标检测性能。

[49]: UP-DETR: unsupervised pre- training for object detection with transformers. InCVPR, 2021.[64]: You only look at one sequence: Rethinking transformer in vision through object detection.arXiv preprint arXiv:2106.00666, 2021.[9]: Detreg: Unsupervised pretraining with region priors for object detection.arXiv preprint arXiv:2106.04550, 2021

3.2.2 Segmentation 分割

分割是计算机视觉领域的一个重要课题,它广泛地包括全景分割、实例分割和语义分割等。视觉转换器在分割领域也显示出了巨大的潜力。

Transformer for Panoptic Segmentation.用于全景分割的TransformerDETR[19]可以自然地扩展到全景分割任务中,并通过在解码器上附加一个遮罩头来获得竞争性的结果。Wanget al.[228]建议Max DeepLab使用遮罩Transformer 直接预测全景分割结果,而不涉及盒子检测等替代子任务。与DETR类似,Max DeepLab以端到端的方式简化全景分割任务,并直接预测一组不重叠的遮罩和相应的标签。模型训练使用全景质量(PQ)类型的损失进行,但与之前将变压器堆叠在CNN主干上的方法不同,MaxDeepLab采用了双路径框架,有助于CNN和Transformer 的组合。

[19]: End-to-end object detection with transformers. InECCV, 2020.[228]: Max-deeplab: End-to-end panoptic segmentation with mask transformers. InCVPR, pages 5463–5474, 2021.

Transformer for Instance Segmentation用于实例分割的TransformerVisTR 是一种基于变换器的视频实例分割模型,由 wanget al [235]提出,用于从一系列输入图像中产生实例预测结果。提出了一种实例序列匹配策略,用基本事实分配预测。为了获得每个实例的掩码序列,vistr 利用实例序列分割模块对多帧掩码特征进行积累,并用3d cnn 对掩码序列进行分割。Huet al [98]提出了一个实例分段转换器(istr)来预测低维掩码嵌入,并将它们与地面真值匹配以获得设置损失。Istr 使用不同于现有的自顶向下和自底向上框架的循环细化策略进行检测和分割。研究了如何实现更好、更有效的嵌入式学习来处理具有挑战性的多目标场景下的半监督视频对象分割问题。一些文献,如[243] ,[52]也讨论了使用 transformer 处理分割任务。

[235]: End-to-end video instance segmentation with transformers. InCVPR, 2021.[98]: Istr: End-to-end instance segmentation with transformers.arXiv preprint arXiv:2105.00637, 2021.[243]: Fully transformer networks for semantic image segmentation.arXiv preprint arXiv:2106.04108, 2021.[52]: Solq: Segmenting objects by learning queries.arXiv preprint arXiv:2106.02351, 2021.

Transformer for Medical Image Segmentation.医疗图像分割用TransformerCaoet al. [17]提出了一种用于医学图像分割的 unet 式纯变换器,通过将标记化的图像补丁输入基于变换器的 u 型编解码器架构,该架构具有跳跃式连接,用于局部-全局语义特征学习。V alanarasuet al. [223]探索了基于变压器的解决方案,并研究了使用基于变压器的网络结构执行医疗图像分割任务的可行性,提出了一种门控轴向注意模型,该模型通过在自注意模块中引入额外的控制机制来扩展现有的结构。Cell-detr [174] ,基于 detr 泛光分割模型,尝试使用转换器进行细胞实例分割。为了增强特征融合,在分割头中增加了主干 cnn 和 cnn 解码器之间的跳跃连接。Cell-detr 通过显微图像实现了细胞实例分割的最先进性能。

[17]: Swin-unet: Unet-like pure transformer for medical image segmentation. arXiv preprint arXiv:2105.05537, 2021.[223]: Medical transformer: Gated axial-attention for medical image segmentation. arXiv preprint arXiv:2102.10662, 2021.[174]:  Attention-based transformers for instance segmentation of cells in microstructures.arXiv preprint arXiv:2011.09763, 2020.

3.2.3 Pose Estimation 姿态估计

人体姿势和手部姿势估计是研究界非常感兴趣的基础课题。关节式位姿估计类似于结构化预测任务,目的是从输入的 rgb/d 图像中预测关节坐标或网格顶点。在这里,我们讨论了一些方法[102] ,[103] ,[138] ,[253] ,探索如何利用变压器建模的人体姿态和手姿态的全局结构信息。 Transformer for Hand Pose Estimation手动姿态估计Transformer黄等[102]提出了一种基于Transformer的网络,从点集进行三维手姿态估计。该编码器首先利用点网(177)从输入点云中提取点状特征,然后采用标准的多头自注意模块产生嵌入。为了向解码器公开更多的全局姿态相关信息,使用特征提取器如 pointnet [178]提取手部关节特征,然后将这些特征作为位置编码输入解码器。类似地,黄等人[103]提出热网(手对象Transformer网络的简称)的三维手对象姿态估计。前面的方法是通过变换器直接从输入点云预测手的三维姿态,而热网法则是通过重新建立一个初始的二维手-物体姿态,然后将其输入变换器来预测手-物体的三维姿态。因此,使用谱图卷积网络提取编码器的输入嵌入。[81] hampaliet al. 建议估计双手的三维姿势给定一个单一的颜色图像。具体而言,将双手关节的一组潜在2d 位置的外观和空间编码输入到Transformer中,并利用注意机制对关节的正确构型进行分类,输出双手的3d 姿态。

[102]: Hand-transformer: Non-autoregressive structured modeling for 3d hand pose estimation. In ECCV, pages 17–33, 2020.[177]: Pointnet: Deep learning on point sets for 3d classification and segmentation. InCVPR, pages 652–660, 2017.[178]: Pointnet++: Deep hierarchical feature learning on point sets in a metric space.NeurIPS, 30:5099–5108, 2017.[103]: Hot-net: Non-autoregressive transformer for 3d hand-object pose estimation. In Proceedings of the 28th ACM International Conference on Multimedia,pages 3136–3145, 2020.[81]: Handsformer:Keypoint transformer for monocular 3d pose estimation ofhands and object in interaction.arXiv preprint arXiv:2104.14639, 2021.

Transformer for Human Pose Estimation人体姿态估计变压器Linet等人[138]提出了一种网格Transformer(METRO),用于从单个RGB图像预测3D人体姿势和网格。METRO通过CNN提取图像特征,然后通过将模板人体网格连接到图像特征来执行位置编码。提出了一种渐进降维的多层变压器编码器,以逐步降低嵌入维数,最终生成人体关节和网格顶点的三维坐标。为了鼓励学习人类关节之间的非局部关系,METRO在训练期间随机屏蔽一些输入查询。Yanget al.[253]基于变压器结构和低级卷积块构建了一个可解释的模型,名为转置。Transformer内置的注意层可以捕捉关键点之间的长期空间关系,并解释预测的关键点位置高度依赖于哪些相关性。Liet al.[133]提出了一种基于令牌表示的人体姿势估计(TokenPose)新方法。每个关键点都被明确地嵌入为一个标记,以同时从图像中学习约束关系和外观线索。Mao等人[156]提出了一个人体姿势估计框架,以基于回归的方式解决了这项任务。他们将姿势估计任务转化为一个序列预测问题,并通过变换器解决,从而绕过了基于热图的姿势估计的缺点。Jiange等人[110]提出了一种新的基于变压器的网络,该网络可以在无监督的情况下学习姿势和运动的分布,而不是跟踪身体部位并尝试暂时平滑它们。该方法克服了检测的不精确性,并纠正了部分或整个骨架损坏。Hao等人[86]提出,在不使用任何手动注释的情况下,根据一组测试图像对人体姿势估计器进行个性化设置。该方法在测试期间采用姿态估计器来利用特定于人的信息,并使用变换器模型在自监督关键点和监督关键点之间建立转换。

[138]: End-to-end human pose and mesh reconstruction with transformers. InCVPR, 2021.[253]: Transpose: Keypoint localization via transformer. InICCV, 2021.[133]: Tokenpose: Learning keypoint tokens for human pose estimation.arXiv preprint arXiv:2104.03516, 2021.[156]: Tfpose: Direct human pose estimation with transformers.arXiv preprint arXiv:2103.15320, 2021.[110]:  Skeletor: Skeletal transformers for robust body-pose estimation. InCVPR, pages 3394–3402, 2021[86]: Test-time personalization with a transformer for human pose estimation.arXiv preprint arXiv:2107.02133, 2021.

3.2.4 Other Tasks 其他任务

还有很多不同的高级/中级视觉任务探索了如何使用vision transformer以获得更好的性能。下面我们简要回顾几个任务: Pedestrian Detection行人检测由于在遮挡和人群场景中,物体的分布非常密集,因此在将通用检测网络应用于行人检测任务时,通常需要进行额外的分析和调整。Linet等人[139]发现,当直接将DETR或可变形DETR应用于行人检测任务时,稀疏均匀查询和解码器中的弱注意场会导致性能下降。为了缓解这些缺点,作者提出了行人端到端检测器(PED),它采用了一种称为密集查询和校正注意场(DQRF)的新解码器来支持密集查询,并缓解查询中嘈杂或狭窄的注意场。他们还提出了V-Match,它通过充分利用可见注释来实现额外的性能改进。

[139]: Detr for pedestrian detection.arXiv preprint arXiv:2012.06785, 2020.

Lane Detection车道检测Liuet等人[144]在PolyLaneNet[212]的基础上提出了一种称为LSTR的方法,该方法通过使用transformer网络学习全局上下文来提高曲线车道检测的性能。与PolyLaneNet类似,LSTR将车道检测视为用多项式拟合车道的任务,并使用神经网络预测多项式的参数。为了捕捉车道和全球环境的细长结构,LSTR在体系结构中引入了transformer网络。样就可以处理CNN提取的低级特征。此外,LSTR使用匈牙利损耗优化网络参数。如[144]所示,LSTR的性能优于PolyLaneNet,准确率提高2.82%,3.65倍更高的FPS,使用的参数少5倍。transformer网络、CNN和Hungarian Loss的结合最终形成了一个精确、快速、微小的车道检测框架。考虑到整个车道线通常具有拉长形状和长距离,Liuet等人[143]利用变压器编码器结构进行更有效的上下文特征提取。这种transformer-encoder结构极大地提高了提案点的检测能力,它依赖于上下文特征和全局信息,尤其是在主干网络是小型模型的情况下。

[144]: End-to-end lane shape prediction with transformers. InWACV, 2021.[212]: Polylanenet: Lane estimation via deep polynomial regression.arXiv preprint arXiv:2004.10924, 2020.[143]: Condlanenet: a top-to-down lane detection framework based on conditional convolution.arXiv preprint arXiv:2105.05003, 2021.

Scene Graph 场景图场景图是场景的结构化表示,可以清晰地表达场景中的对象、属性和对象之间的关系[21]。为了生成场景图,现有的大多数方法首先提取基于图像的对象表示,然后在它们之间进行消息传播。图R-CNN[252]利用自我注意来整合图中相邻节点的上下文信息。最近,Sharifzadeh等人[196]在提取的对象嵌入上使用了变压器。Sharifzadeh等人[195]提出了一种新的管道,称为ExeMa,并使用预先训练的文本到文本转换转换器(T5)[183]从文本输入创建结构化图形,并利用它们改进关系推理模块。T5模型支持利用文本中的知识。

[21]: Scene Graphs: A Survey of Generations and Applications.arXiv:2104.01111 [cs], Mar. 2021.[252]: Graph r-cnn for scene graph generation. InECCV, pages 670–685, 2018.[196]: Classification by attention: Scene graph classification with prior knowledge. InProceedings of the AAAI Conference on Artificial Intelligence, volume 35, pages 5025–5033, May 2021.[195]: Improving Visual Reasoning by Exploiting The Knowledge in Texts. arXiv preprint arXiv:2102.04760, 2021.[183]: Exploring the limits of transfer learning with a unified text-to-text transformer.Journal of Machine Learning Research, 21(140):1–67, 2020.

Tracking 追踪一些研究人员还探索在基于模板的鉴别跟踪器中使用变压器编解码器结构,如TMT[229]、TrTr[282]和TransT[33]。所有这些工作都使用类似暹罗的跟踪流水线来进行视频对象跟踪,并利用编解码器网络来取代显式的互相关操作,以实现全局的和丰富的上下文相关性。具体地说,将变压器编码器和解码器分别分配给模板分支和搜索分支。此外,Sunet等人提出了Transtrack[207],这是一种在线联合检测和跟踪管道。它利用查询键机制跟踪预先存在的对象,并在流水线中引入一组学习对象查询来检测新到来的对象。提出的Transtrack在MOT17和MOT20基准上分别达到了74.5%和64.5%的MOTA。

[229]:Transformer meets tracker: Exploiting temporal context for robust visual tracking. InCVPR, pages 1571–1580, 2021.[282]: TrTr: Visual Tracking with Transformer.arXiv:2105.03817 [cs], May 2021. arXiv: 2105.03817.[33]: Transformer tracking. InCVPR, pages 8126–8135, June 2021.[207]: TransTrack: Multiple Object Tracking with Transformer. arXiv:2012.15460 [cs], May 2021. arXiv: 2012.15460.

Re-Identification 对象重新识别Heet et al.[90]提出TransReID来研究纯transformer在对象重新识别(ReID)领域的应用。在将变压器网络引入Object Reid时,TransReID使用重叠切片来保留面片周围的局部相邻结构,并引入2D双线性插值来帮助处理任何给定的输入分辨率。通过变压器模块和损耗函数,提出了一个强基线,以获得与基于CNN的框架相当的性能。此外,设计了拼图拼接模块(JPM)以便于物体的扰动不变和鲁棒特征表示,并引入边信息嵌入(SIE)来编码边信息。最终的框架TransReID在个人和车辆Reid基准上都实现了最先进的性能。Liuet al.[145]和Zhang et al.[276]都提供了将变压器网络引入基于视频的个人Re-ID的解决方案。类似地,这两种方法都利用分离的变换网络来提取时空特征,然后利用交叉视图变换来聚合多视图特征。

[90]: TransReID: Transformer-based object re-identification. InICCV, 2021.[145]: A Video Is Worth Three Views: Trigeminal Transformers for Video-based Person Re-identification.arXiv:2104.01745 [cs], Apr. 2021.[276]: Spatiotemporal Transformer for Video-based Person Re-identification. arXiv:2103.16469 [cs], Mar. 2021. arXiv: 2103.16469.

Point Cloud Learning 点云学习最近,也出现了许多其他研究变压器架构用于点云学习的作品[57]、[78]、[280]。例如,Guolace等人[78]提出了一个新的框架,用一个更合适的偏移注意模块取代了原有的自我注意模块,该模块包括隐式拉普拉斯算子和归一化细化。此外,Zhao等人[280]设计了一种称为点变压器的新型变压器结构。所提出的自我注意层对点集的排列是不变的,因此适合于点集处理任务。Point Transformer在3D点云语义分割任务中表现出很强的性能。

[57]: Point transformer.arXiv preprint arXiv:2011.00931, 2020.[78]: Point cloud transformer.Computational Visual Media, 7(2):187–199, 2021.[280]:  Point transformer. In ICCV, 2021.

3.2.5 Discussions

如前几节所述,transformers在多个高级任务上表现出了强大的性能,包括检测、分割和姿势估计。在将transformer用于高级任务之前,需要解决的关键问题涉及输入嵌入、位置编码和预测损失。一些方法建议从不同角度改进自我注意模块,例如,变形注意[291]、自适应聚类[284]和点变换[280]。尽管如此,在高级视觉任务中使用变压器的探索仍处于初步阶段,因此进一步的研究可能会证明是有益的。例如,在transformer之前是否有必要使用CNN和PointNet等特征提取模块以获得更好的性能?如何像BERT和GPT-3在NLP领域所做的那样,使用大规模的预训练数据集充分利用vision transformer?有没有可能预先训练一个变压器模型,并针对不同的下游任务进行微调,只需进行几次微调?如何通过结合特定任务的先验知识来设计更强大的体系结构?之前的几项工作已经对上述主题进行了初步讨论,我们希望进行更多的进一步研究,探索更强大的变压器,以实现高水平的视觉效果。

[291]: Deformable detr: Deformable transformers for end-to-end object detection. InICLR, 2021.[284]: End-to-end object detection with adaptive clustering transformer.arXiv preprint arXiv:2011.09315, 2020.[280]: Point transformer. In ICCV, 2021.

相关文章Related

返回栏目>>