MetaFormer论文翻译

MetaFormer: A Unified Meta Framework for Fine-Grained Recognition

摘要

  细粒度视觉分类(FGVC)是一项需要识别属于超类别的多个从属类别的对象的任务。最近最先进的方法通常设计复杂的学习管道来处理这项任务。然而,仅凭视觉信息往往不足以准确区分细粒度视觉类别。如今,元信息(元信息是关于信息的信息。例如,如果文档被视为信息,则其标题、位置和主题就是元信息的示例。这个术语有时候与术语元数据互换使用)通常与图像一起出现。这促使我们提出了一个问题:是否可以使用统一和简单的框架来利用各种元信息来帮助进行细粒度的识别?为了回答这个问题,我们探索了一个用于细粒度视觉分类的统一且强大的元框架(MetaFormer)。实际上,MetaFormer提供了一种简单而有效的方法来解决视觉和各种元信息的联合学习。此外,MetaFormer还为FGVC提供了一个强大的基线(baseline),无需任何提示。大量实验表明,MetaFormer可以有效地利用各种元信息来提高细粒度识别的性能。相比之下,MetaFormer仅在2017年iNaturalist和2018年iNatualist数据集上提供视觉信息,就可以超越当前的SotA方法。添加元信息后,MetaFormer可以分别超过当前的SotA方法5.9%和5.3%。此外,MetaF ormer在CUB-200-2011和NABirds上可以达到92.3%和92.7%,这大大优于SotA方法。

1.Introduction

  与一般对象分类不同,细粒度视觉分类旨在将属于同一基本类别(鸟、车等)的对象正确分类为子类别。长期以来,FGVC一直被认为是一项具有挑战性的任务,因为类间变化较小,类内变化较大。

  据我们所知,FGVC的主要方法主要关注如何使网络聚焦于最具区分性的区域,如基于部分的模型和基于注意力的模型。直觉上,这些方法在人类观察行为的启发下,向结构复杂的神经网络引入了定位的归纳偏置(inductive bias)。此外,当某些物种在视觉上无法区分时,人类专家经常使用视觉以外的信息来帮助他们分类。注意,在信息爆炸时代,细粒度识别的数据是多源异构的。因此,神经网络仅用视觉信息完成细粒度分类任务是不合理的。在实践中,细粒度分类比粗粒度分类更难直观区分,它需要正交信号(orthogonal signals)的帮助。先前的一些工作利用了额外的信息,例如时空先验和文本描述,以帮助进行细粒度分类。然而,这些工程的附加信息设计仅针对特定信息,这并不是通用的。这激励我们设计一种统一而有效的方法来灵活地利用各种元信息。

  Vision Transformer(ViT)表明,直接应用于图像块序列的纯transformer可以很好地完成图像分类任务。直观地看,将视觉token和元token同时作为FGVC transfomer的输入是可行的。然而,在相互干涉时,不同的模式是否会损害模型的性能,目前尚不清楚。为了解决这个问题,我们提出了MetaFormer,它使用一个transformer来融合视觉和元信息。如图1所示,MetaFormer可以在元信息的帮助下有效地提高FGVC的准确性。在实践中,MetaFormer也可以被视为一种混合结构主干,其中卷积可以对图像进行下采样,并引入卷积的归纳偏置(inductive bias),transformer可以融合视觉和元信息。通过这种方式,MetaFormer还为FGVC提供了一个强大的基线,而没有任何提示。
20221014233529

图1:MetaFormer的性能比较概述,它使用各种元信息和大规模预训练模型,并采用最先进的方法。


  图像分类的最新进展表明,大规模预训练可以有效提高粗粒度分类和细粒度分类的准确性。然而,目前大多数FGVC方法都是基于ImageNet-1k进行预训练的,这阻碍了对细粒度识别的进一步探索。由于MetaFormer的简单性,我们进一步详细探讨了预训练模型的影响,这可以为研究人员提供有关预训练模型方面的参考。如图1所示,大规模预处理模型可以显著提高细粒度识别的准确性。令人惊讶的是,在不为细粒度任务引入任何先验知识的情况下,MetaFormer可以使用大规模预训练模型在多个数据集上实现SotA性能。

  本研究的贡献总结如下:

  • 我们为FGVC提出了一个统一且非常有效的元框架,以统一视觉外观和各种元信息。这促使我们从全新的角度思考FGVC的发展
  • 我们仅通过使用全局特征为FGVC提供了强大的baseline。同时,我们详细探讨了预训练模型对细粒度分类的影响。代码和预先训练的模型可用于帮助研究人员进一步探索。
  • 在没有任何细粒度视觉分类任务归纳偏置(inductive bias)的情况下,MetaFormer在CUB-200-2011和NABirds上可以达到92.3%和92.7%,优于SotA方法。相比之下,仅使用视觉信息,MetaFormer还可以在2017年iNaturalist和2018年iNatualist上实现SotA成绩(78.2%和81.9%)。

2.相关工作

  在本节中,我们简要回顾了关于细粒度视觉分类和transformer的现有工作。

2.1 细粒度视觉分类

  现有的细粒度分类方法可以分为纯视觉分类和多模态分类。前者完全依赖视觉信息来解决细粒度分类问题,而后者则试图利用多模态数据建立联合表示,以合并多模态信息,促进细粒度识别。

  纯视觉。仅依赖视觉的细粒度分类方法可以大致分为两类:定位方法和特征编码方法。早期的工作使用部件注释(part annotations)作为监督,使网络关注某些形式之间的细微差异,但遭受注释昂贵代价的困扰。RA-CNN被提议用来放大精细区域,它以相互增强的方式在多个尺度上递归学习有辨别力的(discriminative)区域注意力和基于区域的特征表示。MA-CNN设计了一个多注意力模块,其中部件生成和特征学习可以相互增强。NTSNet提出了一种自监督机制,可以有效地定位没有部件注释的信息区域。特征编码方法致力于丰富特征表达能力,以提高细粒度分类的性能。双线性CNN被提出用于提取高阶特征,其中两个特征映射使用外积(outer product)相乘。HBP进一步设计了一个分层框架来实现跨层双线性池。DBTNet提出了深度双线性变换,它利用了语义信息,可以有效地获取双线性特征。CAP设计了情境感知注意力池(context-aware attentional pooling),以捕捉图像中的细微变化。TransFG提出了一个部件选择模块,用于应用ViT(vision transformer)选择有区别的图像补丁。与定位方法相比,特征编码方法很难明确地告诉我们不同形式之间的区别区域。

  多模态分类。为了区分这些具有挑战性的视觉类别,可以利用其他信息,如地理位置、属性和文本描述。Geo-Aware在细粒度分类之前引入了地理信息,并系统地研究了使用地理信息之前的各种方法,包括后处理(post-processing)、白名单(whitelisting)和特征调整(feature modulation)。Presence-Only还将时空(spatio-temporal)优先引入网络,证明了它可以有效地提高最终的分类性能。KERL结合了丰富的附加信息和深度神经网络架构,以知识图的形式组织了丰富的视觉概念。同时,KERL使用门控图神经网络通过图传播节点消息以生成知识表示。CVL提出了一个两分支网络,一个分支学习视觉特征,一个分枝学习文本特征,最后将这两个部分结合起来获得最终的潜在语义表示。上述方法都是针对特定的先验信息而设计的,不能灵活适应不同的辅助信息。

2.2 Vision Transformer

  Transformer最早是提出用于机器翻译的,并已成为自然语言处理中的一种通用方法。受此启发,Transformer模型进一步扩展到其他流行的计算机视觉任务,如物体检测、分割、对象跟踪、视频实例分割。最近,Vision Transformer(ViT)直接将纯transformer应用于图像补丁进行分类,取得了非凡的性能。与CNN相比,Vision Transformer具有更少的图像特异性归纳偏置(image-specific inductive bias)。因此,ViT需要大规模的训练数据集(即JFT-300M)、密集的数据增强和正规化策略才能表现良好。继ViT之后,一些工作试图在vision transformer中引入一些归纳偏置(inductive bias),即卷积归纳偏置和位置。

3.Method

  我们在3.1节中介绍了结合卷积和vision transformer的混合框架。然后,3.2节详细阐述了如何添加元信息以提高细粒度分类的性能。

3.1混合框架

  MetaFormer的总体框架如图2所示。实际上,MetaFormer是一种混合框架,其中卷积用于编码视觉信息,而transformer层用于融合视觉和元信息。根据典型的ConvNet,我们构建了一个由5个阶段(S0、S1、S2、S3和S4)组成的网络。在每个阶段开始时,输入尺寸减小,以实现不同比例的布局(layout)。第一阶段S0是一个简单的3层convolutional stem(一般将CNN中的卷积堆叠形式称为convolutional stem)。此外,S1和S2是具有挤压激励机制(squeeze-excitation)的MBConv块。我们在S3和S4中使用具有相对位置偏差的Transformer块。从S0到S4,我们总是将输入大小减少2倍,并增加通道数。S3和S4的下采样是与步幅2卷积,也称为重叠补丁嵌入(Overlapping Patch Embedding)。表1总结了MetaFormer系列的详细信息。

表1:MetaFormer系列的详细设置。L表示块的数量,D表示隐藏尺寸hidden dimension(通道)

20221015175306

  相对Transformer层。Transformer中的自我注意操作是置换不变量(permutation-invariant),它不能利用输入序列中标记的顺序。为了缓解这个问题,我们引入了相对位置偏差 B ∈ R ( M 2 + N ) × ( M 2 + N ) B \in \mathbb R^{(M^2+N)\times(M^2+N)} BR(M2+N)×(M2+N)到计算相似性时的每个位置,如下所示:
A t t e n t i o n ( Q , K , V ) = S o f t M a x ( Q K T / d + B ) V (1) Attention(Q,K,V) = SoftMax(QK^T/\sqrt{d}+B)V \tag{1} Attention(Q,K,V)=SoftMax(QKT/d +B)V(1)
其中 Q , K , V ∈ R ( M 2 + N ) × d Q,K,V\in \mathbb R^{(M^2+N)\times d} Q,K,VR(M2+N)×d q u e r y query query矩阵、 k e y key key矩阵和 v a l u e value value矩阵。 M 2 M^2 M2是图像的patch数。N是额外token的数量,包括类别token和元token。d是 q u e r y / k e y query/key query/key维度。我们将矩阵 B ∈ R ( 2 M − 1 ) × ( 2 M − 1 ) + 1 B\in \mathbb R^{(2M-1)\times (2M-1)+1} BR(2M1)×(2M1)+1参数化,因为图像块的相对位置从 − M − 1 -M-1 M1 M + 1 M+1 M+1,需要一个特殊的相对位置偏差来指示额外token和视觉token的相对位置。每个额外token和其他token之间没有空间位置关系,因此所有额外token只共享相同的相对位置偏差。relative transformer(等式2)包含具有相对位置偏差(MSA)的多头自我注意、多层感知器(MLP)块和Layernorm(LN)。式2中的 z 0 \mathbf z_0 z0表示token序列,包括分类token( x c l a s s \mathbf x_{class} xclass)、元token( x m e t a i \mathbf x^i_{meta} xmetai)和可视token( x v i s i o n i \mathbf x^i_{vision} xvisioni)。
z 0 = [ x class  ; x meta  1 , ⋯   , x meta  n − 1 ; x vision  1 , ⋯   , x vision  m ] z i ′ = M S A ( L N ( z i − 1 ) ) + z i z i = M L P ( L N ( z i ′ ) ) + z i ′ z i ∈ R ( M 2 + N ) × d (2) \begin{aligned} \mathbf{z}_0 &=\left[\mathbf{x}_{\text {class }} ; \mathbf{x}_{\text {meta }}^1, \cdots, \mathbf{x}_{\text {meta }}^{n-1} ; \mathbf{x}_{\text {vision }}^1, \cdots, \mathbf{x}_{\text {vision }}^m\right] \\ \mathbf{z}_i^{\prime} &=M S A\left(L N\left(\mathbf{z}_{i-1}\right)\right)+\mathbf{z}_i \\ \mathbf{z}_i &=M L P\left(L N\left(\mathbf{z}_i^{\prime}\right)\right)+\mathbf{z}_i^{\prime} \quad \mathbf{z}_i \in \mathbb{R}^{\left(M^2+N\right) \times d} \end{aligned} \tag{2} z0zizi=[xclass ;xmeta 1,,xmeta n1;xvision 1,,xvision m]=MSA(LN(zi1))+zi=MLP(LN(zi))+ziziR(M2+N)×d(2)
  聚合层。S3和S4在末尾分别输出两个类别token z c l a s s 1 \mathbf z^1_{class} zclass1 z c l a s s 2 \mathbf z^2_{class} zclass2,表示视觉特征和元信息的融合。请注意, z c l a s s 1 \mathbf z^1_{class} zclass1 z c l a s s 2 \mathbf z^2_{class} zclass2 的维度不同,因此 z c l a s s 1 \mathbf z^1_{class} zclass1 被MLP扩展。接下来, z c l a s s 1 \mathbf z^1_{class} zclass1 z c l a s s 2 \mathbf z^2_{class} zclass2 被聚合层聚合,如下所示:
z ^ class  1 = MLP ⁡ ( L N ( z class  1 ) ) z class  = Conv ⁡ 1 d (  Concat  ( z ^ class  1 , z class  2 ) ) y = L N ( z class  ) (3) \begin{aligned} &\hat{\mathbf{z}}_{\text {class }}^1=\operatorname{MLP}\left(L N\left(\mathbf{z}_{\text {class }}^1\right)\right) \\ &\mathbf{z}_{\text {class }}=\operatorname{Conv} 1 d\left(\text { Concat }\left(\hat{\mathbf{z}}_{\text {class }}^1, \mathbf{z}_{\text {class }}^2\right)\right) \\ &\mathbf{y}=L N\left(\mathbf{z}_{\text {class }}\right) \end{aligned} \tag{3} z^class 1=MLP(LN(zclass 1))zclass =Conv1d( Concat (z^class 1,zclass 2))y=LN(zclass )(3)
其中 y \mathbf y y是结合多尺度视觉和元信息的输出。

  Overlapping Patch Embedding。我们使用重叠的补丁嵌入来标记特征映射,并实现下采样以减少计算消耗。我们还使用带零填充的卷积来实现重叠补丁嵌入。

20221015204134

图2:具有元信息的MetaFormer的总体框架。除了非线性嵌入(Non-Linear Embedding)外,MetaFormer也可以被视为FGVC的纯主干。元信息通过非线性嵌入进行编码。视觉token、元token和类别token通过Relative Transformer层用于信息融合。最后,类token用于类别预测。
3.2 元信息

  仅仅依靠外观信息往往不足以准确区分某些细粒度物种。当给出物种的图像时,人类专家也会充分利用其他信息来帮助做出最终决定。ViT的最新进展表明,在计算机视觉中将图像编码为序列token是可行的。这也为使用transformer层添加元信息提供了一个简单有效的解决方案。

  直观地看,物种分布在地理上呈现出聚集的趋势,不同物种的生活习性也不同,因此时空信息可以辅助物种分类的细粒度任务。当以经纬度为条件时,我们首先需要地理坐标环绕地球。为此,我们将地理坐标系转换为矩形坐标系,即 [ l a t , l o n ] → [ x , y , z ] [lat,lon] \rightarrow [x,y,z] [lat,lon][x,y,z]。同样,12月到1月的距离比10月的距离更近。而且,23:00 应该会导致与 00:00 类似的嵌入。因此,我们执行这样的映射: [ m o n t h , h o u r ] → [ s i n ( 2 π m o n t h 12 ) , c o s ( 2 π m o n t h 12 ) , s i n ( 2 π h o u r 24 ) , c o s ( 2 π h o u r 24 ) ] {[month,hour]} \rightarrow {[{sin({{2\pi month}\over{12}})},{cos({{2\pi month}\over{12}})},{sin({{2\pi hour}\over{24}})},{cos({{2\pi hour}\over{24}})}]} [month,hour][sin(122πmonth),cos(122πmonth),sin(242πhour),cos(242πhour)]

  当使用属性作为元信息时,我们将属性列表初始化为向量。例如,CUB-200-2011数据集上有312个属性;因此,可以生成维数为312的向量。对于文本形式的元信息,我们通过BERT获得每个单词的嵌入(embedding)。特别是,当每个图像有多个句子作为元信息时,我们每次随机选择一个句子进行训练,每个句子的最大长度为32。

  此外,如图2所示,非线性嵌入 ( f : R n → R d ) (f : R^n \rightarrow R^d) (f:RnRd)是一个多层全连接神经网络,将元信息映射到嵌入向量。视觉信息和元信息是不同的语义层次。因此,学习视觉信息比学习辅助信息更困难。如果在训练的早期阶段向网络输入大量辅助信息,网络的视觉能力将受到影响。为了缓解这个问题,我们在训练期间以线性递减的比率掩盖了部分元信息。

4.实验

  数据集。我们对ImageNet图像分类进行了实验,同时它为细粒度分类提供了预训练模型。我们验证了我们的框架在iNaturalist 2017、iNaturalist 2018、iNaturalist 2021和CUB-200-2011上添加元信息的有效性。我们还对我们提出的框架在几个广泛使用的细粒度基准上进行了评估,即斯坦福汽车、飞机Aircraft和NABirds。此外,我们不使用任何边界框/零件注释(bounding box/part annotation)。表2总结了广泛用于细粒度分类的基准的详细信息。

  实施细节。首先,我们将输入图像的大小调整为 384*384。AdamW优化器使用余弦衰减学习速率调度器(cosine decay learning rate scheduler)。学习率初始化为 5 e − 5 5e^{-5} 5e5,除了斯坦福汽车数据集设置为 5 e − 3 5e^{-3} 5e3,飞机数据集设置为 5 e − 4 5e^{-4} 5e4。权重衰减(weight decay)为 0.05。我们在训练中纳入了 Hierarchical vision transformer using shifted windows(Swin transformer)中的大部分强化和正规化策略。我们对模型进行了300个epoch的微调,并进行了5个epoch的预热。对于 MetaFormer-0、MetaFormer-1、MetaFormer-2 随机深度增加的程度最大值分别是0.1,0.2,0.3。

表2:数据集统计。Meta表示是否有辅助信息可用于提高细粒度识别的准确性。

20221016161830

元信息的可视化

  为了直观地理解元信息,我们首先从 iNaturalist 2021 版杂志中生成几个不同物种的空间预测。在图3中,通过查询地球表面的每个位置来生成每个图像,以生成感兴趣类别的预测。分散的点代表了当前物种的真实地理分布。实际上,我们评估了 1000 × 2000 1000×2000 1000×2000个空间位置,并屏蔽了对海洋的预测,以便进行可视化。从可视化中可以看出,该模型可以了解物种的地理分布,从而利用地理分布的先验信息来帮助进行细粒度分类。

  为了验证模型是否使用文本信息来辅助细粒度识别,在图4中,我们分别可视化了视觉token和类token之间的前5个相似性,以及单词token和类token之间的前3个相似性。类标记(token)最终用于预测物种类别。从可视化中可以看出,类标记与一些表示物种属性的标记具有很高的相似性。此外,视觉标记和高度相似的单词标记往往表现出互补关系。同时,在图5中,我们可视化了与单词标记相对应的视觉注意图,其中代表物种属性的单词通常与相应的视觉标记具有很高的相似性。

20221016162910

图3:空间预测。使用在iNaturalist 2021 上训练的模型预测多个对象类别的分布。较暗的颜色表示当前位置对感兴趣的类别更敏感。分散的点代表了当前物种的真实地理分布。


20221016163659

图4:类标记与其他标记(包括视觉标记和单词标记)之间的相似性Top-k。图像中的橙色方块表示五个与类标记最相似的视觉标记。此外,文本中的橙色背景表示与类标记最相似的三个单词标记。


20221016163926

图5:单词标记的自注意力图。颜色越暖和,当前位置标记和单词标记之间的相似性越高。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值