一文详解视觉Transformer在CV中的现状、趋势和未来方向(分类/检测/分割/多传感器融合)(上)

简介: 本综述根据三个基本的CV任务和不同的数据流类型,全面调查了100多种不同的视觉Transformer,并提出了一种分类法,根据其动机、结构和应用场景来组织代表性方法。由于它们在训练设置和专用视觉任务上的差异,论文还评估并比较了不同配置下的所有现有视觉Transformer。此外,论文还揭示了一系列重要但尚未开发的方面,这些方面可能使此类视觉Transformer能够从众多架构中脱颖而出,例如,松散的高级语义嵌入,以弥合视觉Transformer与序列式之间的差距。最后,提出了未来有前景的研究方向。

摘要



Transformer,一种基于注意力的编码器-解码器模型,已经彻底改变了自然语言处理(NLP)领域。受这些重大成就的启发,最近在计算机视觉(CV)领域采用类似Transformer的架构进行了一些开创性的工作,这些工作证明了它们在三个基本CV任务(分类、检测和分割)以及多传感器数据(图像、点云和视觉-语言数据)上的有效性。由于其具有竞争力的建模能力,与现代卷积神经网络(CNN)相比,视觉Transformer在多个基准测试中取得了令人印象深刻的性能改进。本综述根据三个基本的CV任务和不同的数据流类型,全面调查了100多种不同的视觉Transformer,并提出了一种分类法,根据其动机、结构和应用场景来组织代表性方法。由于它们在训练设置和专用视觉任务上的差异,论文还评估并比较了不同配置下的所有现有视觉Transformer。此外,论文还揭示了一系列重要但尚未开发的方面,这些方面可能使此类视觉Transformer能够从众多架构中脱颖而出,例如,松散的高级语义嵌入,以弥合视觉Transformer与序列式之间的差距。最后,提出了未来有前景的研究方向。


仓库地址:https://github.com/liuyang-ict/awesome-visual-transformers

640.png


本文旨在对最新的视觉Transformer进行更全面的回顾,并对其进行系统分类:


  • 全面性和可读性:本文根据它们在三个基本CV任务(即分类、检测和分割)和数据流类型(即图像、点云、多流数据)上的应用,全面回顾了100多个视觉Transformer。论文选择了更具代表性的方法,并进行了详细的描述和分析,但简要介绍了其他相关工作。本文不仅从一个角度对每个模型进行了详尽的分析,而且还从某种意义上建立了它们的内部联系,如渐进、对比和多视角分析。

  • 直观的比较:由于现有的视觉Transformer针对各种视觉任务遵循不同的训练方案和超参数设置,本文对不同的数据集和限制进行了多次横向比较。更重要的是,总结了为每个任务设计的一系列有效组件,包括:(a)具有层次结构的浅局部卷积;(b) neck detector的稀疏注意力空间先验加速;(c)以及用于分割的通用掩模预测方案;

  • 深入分析:论文进一步深入分析了以下几个方面:(a)从传统序列任务到视觉任务的转换过程;(b) 视觉Transformer和其他神经网络之间的对应关系;(c)以及不同任务和数据流类型中使用的可学习嵌入(即class token、object query、mask embedding)的相关性。最后,论文概述了一些未来的研究方向。例如,编码器-解码器Transformer主干可以通过query embedding来统一多个视觉任务和数据流类型。

640.png


原始Transformer



最初的Transformer[1]首先应用于序列到序列自动回归的任务。与先前的序列转导模型[49]、[50]相比,这种原始的Transformer继承了编码器-解码器结构,但通过使用multi-head attention机制和point-wise feed-forward网络,完全放弃了递归和卷积。图4展示了带有编码器-解码器架构的整体Transformer模型。具体而言,它由N个连续的编码器模块组成,每个编码器由两个子层组成。1) MHSA层聚合编码器嵌入内的关系;2) 逐位置FFN层提取特征表示。


640.png


在自然语言回归模型中,Transformer源于机器翻译任务。给定一个单词序列,Transformer将输入序列矢量化为单词嵌入,添加位置编码,并将生成的向量序列输入编码器。在训练期间,如图4所示,Vaswani等人根据自回归任务的规则设计了masking操作,其中当前位置仅取决于先前位置的输出。基于这种masking,Transformer解码器能够并行处理输入标签的序列。在推理期间,通过相同的操作处理先前预测的单词序列以预测下一个单词。


640.png


分类Transformer



随着NLP中Transformer的显著发展[2]–[5],最近的工作试图引入视觉Transformer来进行图像分类。本节全面回顾了40多个视觉Transformer,并将其分为六类,如图5所示。首先介绍了Fully-Attentional网络[24]、[28]和Vision Transformer(ViT)[29],这种原始ViT首先证明了其在多个分类基准上的功效。然后讨论了Transformer增强的CNN方法,该方法利用Transformer来增强CNN的表示学习。由于忽略了原始ViT中的局部信息,CNN增强型Transformer采用了适当的卷积inductive bias来增强ViT,而局部注意力增强型Transformer重新设计了patch分区和注意力块,以提高其局部性。继CNN[162]中的分层和深层结构之后,分层Transformer用金字塔代替了固定分辨率的柱状结构,而Deep Transformer防止了注意力图过于平滑,并增加了其在深层中的多样性。此外,论文还回顾了现有的基于自监督学习的ViT。最后,本文根据直观的比较进行了简短的讨论,组织了一个ViT的里程碑,并讨论了一个共同的问题以供进一步研究。


640.png


Original Visual Transformer


受Transformer在NLP领域取得的巨大成就的启发[2]-[5],先前视觉任务的技术趋势[14]-[17],[163]将注意力机制与卷积模型相结合,以增强模型的感受野和全局依赖性。除了这种混合模型,Ramachandran等人考虑了注意力是否可以完全取代卷积,然后提出了一个Stand-Alone自注意力网络(SANet)[24],与原始基线相比,该网络在视觉任务上取得了优异的性能。


给定ResNet[11]架构,作者直接将每个bottleneck中的空间卷积层(3*3)替换为局部空间自注意力层,并保持其他结构与ResNet中的原始设置相同。此外,大量消融已经表明,位置编码和卷积可以进一步提高网络效率。继[24]之后,Cordonnier等人设计了一个原型(称为“Fully-Attentional Network”)[28],包括一个fully vanilla Transformer和一个二次位置编码。作者还从理论上证明了卷积层可以用具有相对位置编码和足够head的单个MHSA层来近似。通过在CIFAR-10上的消融实验[164],他们进一步验证了这样的原型设计确实能够学习到每个query像素周围的网格状图案,这是他们的理论结论。


与[28]只关注小尺度模型不同,ViT[29]通过大规模预训练学习进一步探索了vanilla Transformer的有效性,这样的先锋工作对社区产生了重大影响。因为vanilla Transformer只接受序列输入,ViT中的输入图像首先被拆分成一系列不重叠的patch,然后被投影到patch嵌入中。将一维可学习位置编码添加到patch embeddings上以保留空间信息,然后将joint embeddings馈送到编码器中,如图6所示。与BERT[5]类似,将学习的 [class] token与patch embeddings附加在一起,以聚合全局表示,并将其用作分类的输入。此外,2D插值补充了预训练的位置编码,以在馈送图像是任意分辨率时保持patche的一致顺序。通过使用大规模私有数据集(JFT-300M[165])进行预训练,与最流行的CNN方法相比,ViT在多个图像识别基准(ImageNet[166]和CIFAR-100[164])上取得了相似甚至更好的结果。然而,它的泛化能力往往会受到有限训练数据的侵蚀。

640.png


Transformer Enhanced CNNs


如上所述Transformer有两个关键:MHSA和FFN。卷积层和MHSA之间存在近似值[28],Dong等人认为,Transformer可以借助跳跃连接和FFN[167]进一步减轻MHSA的强偏置。最近,一些方法试图将Transformer集成到CNN中以增强表示学习。VTs[51]将输入图像的语义概念解耦到不同的通道中,并通过编码器块(即VT块)将它们紧密关联。这种VT块替代了最后的卷积阶段,以增强CNN模型的语义建模能力。与先前直接用注意力结构代替卷积的方法不同,Vaswani等人提出了一种概念上的重新定义,即具有MHSA的连续bottleneck block可以被表述为Bottleneck Transformer(BoTNet)[52]块。采用相对位置编码[168]进一步模拟原始Transformer.。基于ResNet[11],BoTNet在ImageNet基准上的参数设置类似,优于大多数CNN模型,并进一步证明了混合模型的有效性。


CNN Enhanced Transformer


Inductive bias被定义为关于数据分布和解空间的一组假设,其在卷积中的表现为局部性和平移不变性[169]。由于局部邻域内的协方差很大,并且在图像中逐渐趋于平稳,CNN可以在偏差的帮助下有效地处理图像。然而,当有足够的数据可用时,强偏差也限制了CNN的上限。最近的努力试图利用适当的CNN bias来增强Transformer。相关算法有DeiT[40]、ConViT[53]、CeiT[54]、LocalViT[55]、ResT[57]、CPVT[56]、CvT[36]、CoAtNet)[39]等。


Local Attention Enhanced Transformer


ViT[29]中的coarse patchify过程忽略了局部图像信息。除了卷积,研究人员提出了一种局部注意力机制,以动态关注相邻元素并增强局部提取能力。代表性方法之一是Swin Transformer[35]。类似于TSM[173](图7(a)),Swin利用沿空间维度的移位窗口来建模全局和边界特征。具体而言,两个连续的window-wise attention可以促进cross-window相互作用(图7(b)-(c)),类似于CNN中的感受野扩展。这种操作将计算量由降低至。其他相关算法TNT[59]、Twins[60]、ViL[61]、VOLO[44]可以参考具体论文。

640.png


Hierarchical Transformer


由于ViT[29]在整个Transformer层中采用具有固定分辨率的柱状结构,忽略了细粒度特征,并带来了沉重的计算成本。继分层模型之后,Tokens to Token ViT(T2T-ViT)首先引入了分层Transformer的范例,并采用overlapping unfold操作进行下采样。然而,这种操作带来了沉重的内存和计算成本。因此,Pyramid Vision Transformer(PVT)[41]利用非重叠的patch分区来减少特征大小。此外,PVT中的spatial-reduction attention(SRA)层被应用于通过学习低分辨率key-value pairs来进一步降低计算成本。在经验上,PVT使Transformer适应许多基准上的密集预测任务,这些基准需要大量输入和细粒度特征,并且具有计算效率。此外,PiT[64]和CvT[36]都分别利用池化和卷积来进行token下采样。具体而言,CvT[36]通过用卷积投影替换线性层来改进PVT[41]的SRA。基于convolutional bias,CvT[36]可以适应任意大小的输入,而无需位置编码。


Deep Transformer


经验上,增加模型的深度是可以增强其学习能力[11]的。最近的工作将深度结构应用于Transformer,并进行了大量实验,通过分析cross-patch[67]和cross-layer[37]、[66]的相似性以及残差的贡献[42]来研究其可扩展性。在Deep Transformer中,来自较深层的特征往往不太具有代表性(attention collapse[66]),并且patch被映射到不可区分的潜在表示中(patch over-smoothing[67])。为了解决上述限制,这些方法从两个方面提出了相应的解决方案。


从模型结构的角度来看,Touvron等人在图像Transformers中提出了有效的Class-attention(CaiT[42]),包括两个阶段:1)没有class token的多个self-attention阶段。在每一层中,利用由small values初始化的可学习对角矩阵来动态更新channel权重,从而为channel调整提供一定的自由度;2) 最后class-attention阶段是冻结patch embeddings。之后的class token被插入到模型全局表示中,类似于具有编码器-解码器结构的DETR。这种显式分离基于这样一个假设,即class token对于前向传递中的patch embeddings梯度无效。通过蒸馏训练策略[40],CaiT在没有外部数据的情况下在imagenet-1k上实现了新的SOTA(86.5%的TOP1精度)。Deep Transformer遭受attention collapse和过度平滑问题的困扰,但仍在很大程度上保留了不同head之间注意力图的多样性。基于这一观察,Zhou等人提出了Deep Vision Transformer(DeepViT)[66],该Transformer聚合cross-head attention maps,并通过使用线性层重新生成新的注意力图,以增加跨层特征多样性。此外,Refiner[37]应用线性层来扩展注意力图的维度(间接增加head数量),以促进多样性。然后,采用分布式局部注意力(DLA)来实现对局部特征和全局特征的更好建模,这是通过影响注意力图的head-wise卷积来实现的。


从训练策略的角度来看,Gong等人提出了deep Transformer的三个Patch Diversity损失,这可以显著鼓励patch的多样性并抵消过度平滑问题[67]。类似于[175],patch-wise余弦损失最小化了patch之间的成对余弦相似性。patch-wise对比度损失通过其在早期层中的对应patch使较深的patch正则化。受Cutmix[176]的启发,patch-wise混合损失混合了两个不同的图像,并迫使每个patch只关注来自同一图像的patch,而忽略不相关的patch。与LV-ViT[43]相比,它们具有相似的损失功能,但动机不同。前者侧重于patch多样性,而后者侧重于关于token标记的数据增强。


Transformers with Self-Supervised Learning


自监督Transformer在NLP领域取得了巨大的成功[5],但视觉Transformer仍停留在监督的预训练阶段[35],[40]。最近的工作还试图以生成和判别的方式为ViT设计各种自监督学习方案。生成式的相关工作有iGPT[68]、BEiT[70]、dVAE[147]。判别式的相关工作有[72]、DINO[73]。


讨论


算法评估和比较分析:在论文的分类法中,所有现有的监督模型被分为六类。表一总结了这些现有ViT在ImageNet-1k基准上的性能。为了客观直观地评估它们,论文使用以下三张图来说明它们在不同配置下在ImageNet-1k上的性能。图8(a)总结了2242个输入大小下每个模型的精度。图8(b)以FLOP为水平轴,重点关注其在更高分辨率下的性能。图8(c)侧重于具有外部数据集的预训练模型。根据这些比较结果,论文简要总结了在效率和可伸缩性方面的几项性能改进,如下所示:


  • 与大多数结构改进方法相比,DeiT[40]和LV-ViT[43]等基本训练策略更适用于各种模型、任务和输入;
  • 局部性对于Transformer是必不可少的,这反映在VOLO[44]和Swin[35]分别在分类和密集预测任务上的优势;
  • 卷积patchify stem(ViTc[58])和早期卷积阶段(CoAtNet[39])可以显著提高Transformer器的精度,尤其是对于大模型。论文推测原因是因为这些设计引入了比ViT中的non-overlapping patch projection更严格的高级特征[29];
  • deep Transformer,如Refined-ViT[37]和CaiT[42],具有巨大的潜力。随着模型尺寸与channel尺寸成二次增长,未来可以进一步研究deep Transformer中的相关权衡策略;
  • CeiT[54]和CvT[36]在训练中小型模型(0到40M)有显著优势,这表明轻量模型的这种混合注意力block值得进一步探索。


640.png640.png


原文首发微信公众号【自动驾驶之心】:一个专注自动驾驶与AI的社区(https://mp.weixin.qq.com/s/NK-0tfm_5KxmOfFHpK5mBA

相关文章
|
机器学习/深度学习 传感器 编解码
一文详解视觉Transformer在CV中的现状、趋势和未来方向(分类/检测/分割/多传感器融合)(中)
本综述根据三个基本的CV任务和不同的数据流类型,全面调查了100多种不同的视觉Transformer,并提出了一种分类法,根据其动机、结构和应用场景来组织代表性方法。由于它们在训练设置和专用视觉任务上的差异,论文还评估并比较了不同配置下的所有现有视觉Transformer。此外,论文还揭示了一系列重要但尚未开发的方面,这些方面可能使此类视觉Transformer能够从众多架构中脱颖而出,例如,松散的高级语义嵌入,以弥合视觉Transformer与序列式之间的差距。最后,提出了未来有前景的研究方向。
一文详解视觉Transformer在CV中的现状、趋势和未来方向(分类/检测/分割/多传感器融合)(中)
|
4月前
|
机器学习/深度学习 算法 数据挖掘
计算机视觉五大核心研究任务全解:分类识别、检测分割、人体分析、三维视觉、视频分析
计算机视觉五大核心研究任务全解:分类识别、检测分割、人体分析、三维视觉、视频分析
232 1
|
4月前
|
机器学习/深度学习 存储 算法
基于多模态融合与图神经网络的用户精准感知系统研究
基于多模态融合与图神经网络的用户精准感知系统研究
65 0
|
12月前
|
传感器 机器学习/深度学习 算法
CVPR 2023 | 移动传感器引导的跨时节六自由度视觉定位,准确且高效
CVPR 2023 | 移动传感器引导的跨时节六自由度视觉定位,准确且高效
170 0
|
12月前
|
机器学习/深度学习 人工智能 数据可视化
重塑自监督学习: DINO 网络如何颠覆视觉特征表示的常规方法
重塑自监督学习: DINO 网络如何颠覆视觉特征表示的常规方法
1067 0
|
12月前
|
机器学习/深度学习 运维 固态存储
AI-无损检测方向速读:基于深度学习的表面缺陷检测方法综述
在真实复杂的工业环境下,表面缺陷检测往往面临诸多挑战,例如存在缺陷成像与背景差异小、对比度低、缺陷尺度变化大且类型多样,缺陷图像中存在大量噪声,甚至缺陷在自然环境下成像存在大量干扰等情形,如图1所示,此时经典方法往往显得束手无策,难以取得较好的效果。
1910 0
|
机器学习/深度学习 传感器 编解码
一文详解视觉Transformer在CV中的现状、趋势和未来方向(分类/检测/分割/多传感器融合)(下)
本综述根据三个基本的CV任务和不同的数据流类型,全面调查了100多种不同的视觉Transformer,并提出了一种分类法,根据其动机、结构和应用场景来组织代表性方法。由于它们在训练设置和专用视觉任务上的差异,论文还评估并比较了不同配置下的所有现有视觉Transformer。此外,论文还揭示了一系列重要但尚未开发的方面,这些方面可能使此类视觉Transformer能够从众多架构中脱颖而出,例如,松散的高级语义嵌入,以弥合视觉Transformer与序列式之间的差距。最后,提出了未来有前景的研究方向。
一文详解视觉Transformer在CV中的现状、趋势和未来方向(分类/检测/分割/多传感器融合)(下)
|
机器学习/深度学习 编解码 人工智能
90+目标跟踪算法&九大benchmark!基于判别滤波器和孪生网络的视觉目标跟踪:综述与展望(下)
视觉目标跟踪(VOT)是计算机视觉中的一个基本开放问题,任务是估计图像序列中目标的轨迹和状态。VOT具有广泛的应用,包括自动驾驶、机器人、智能视频监控、运动分析和医学成像。给定任意目标对象的初始状态,VOT中的主要挑战是学习在后续帧中搜索目标对象时使用的外观模型。近年来,由于引入了多种跟踪基准,如TrackingNet、VOT2018和GOT-10K,VOT受到了极大的关注。尽管最近取得了进展,VOT仍然是一个开放的研究问题,可能比以往任何时候都更加活跃。
90+目标跟踪算法&九大benchmark!基于判别滤波器和孪生网络的视觉目标跟踪:综述与展望(下)
|
机器学习/深度学习 编解码 人工智能
90+目标跟踪算法&九大benchmark!基于判别滤波器和孪生网络的视觉目标跟踪:综述与展望(上)
视觉目标跟踪(VOT)是计算机视觉中的一个基本开放问题,任务是估计图像序列中目标的轨迹和状态。VOT具有广泛的应用,包括自动驾驶、机器人、智能视频监控、运动分析和医学成像。给定任意目标对象的初始状态,VOT中的主要挑战是学习在后续帧中搜索目标对象时使用的外观模型。近年来,由于引入了多种跟踪基准,如TrackingNet、VOT2018和GOT-10K,VOT受到了极大的关注。尽管最近取得了进展,VOT仍然是一个开放的研究问题,可能比以往任何时候都更加活跃。
90+目标跟踪算法&九大benchmark!基于判别滤波器和孪生网络的视觉目标跟踪:综述与展望(上)
|
机器学习/深度学习 人工智能 算法
纯视觉3D检测综述!一文详解3D检测现状、趋势和未来方向!(中)
基于图像的3D目标检测是自动驾驶领域的一个基本问题,也是一个具有挑战性的问题,近年来受到了业界和学术界越来越多的关注。得益于深度学习技术的快速发展,基于图像的3D检测取得了显著的进展。特别是,从2015年到2021年,已经有超过200篇研究这个问题的著作,涵盖了广泛的理论、算法和应用。然而,到目前为止,还没有一个调查来收集和组织这方面的知识。本文首次对这一新兴的不断发展的研究领域进行了全面综述,总结了基于图像的3D检测最常用的流程,并对其各个组成部分进行了深入分析。此外,作者还提出了两个新的分类法,将最先进的方法组织成不同的类别,以期提供更多的现有方法的系统综述,并促进与未来作品的公平比较。
纯视觉3D检测综述!一文详解3D检测现状、趋势和未来方向!(中)