CVPR 2021 TransFG: A Transformer Architecture for Fine-grained Recognition

动机
  1. 由于类间存在着细微的差异,细粒度视觉分类(FGVC)是一项非常具有挑战性的任务,它的目标是从子类中识别出目标。
  2. 近年来的研究主要集中在如何定位最有判别力的图像区域,并依靠这些区域来提高网络捕捉细微差异的能力。这些工作都需要一个专门设计的模块来提取候选区域,并且这些选定的区域需要再次通过主干网络进行传播以进行最终的分类。此外,一些被提取得候选区域往往包含了整个目标,判别力不够。而且,这种策略不可避免地使算法流程复杂化。
  3. 近年来,视觉transformer(ViT)在传统的分类任务中显示出了强大的性能。在目标检测、语义分割等下游任务中的一系列扩展工作,证实了vision transformer具有很强的全局和局部特征捕捉能力。
方法

CVPR 2021 TransFG: A Transformer Architecture for Fine-grained Recognition_第1张图片

transformer的自关注机制将每个图片块token链接到分类token。注意力链接的强弱可以直观地认为是token重要性的一个指标。为此,提出了一个基于VIT的简单而有效的框架TransTG。具体地说,利用先天的多头自注意机制,提出了一个部分选择模块来计算判别区域并去除冗余信息。然后,将选择的部分token与全局分类token作为输入序列连接到最后一个transformer层。为了进一步增大不同类别样本特征表示之间的距离,减小相同类别样本之间的距离,引入了对比损失,进一步提高了性能。

TransTG框架。首先,将输入图像预处理成一系列flatten的图片块(用滑动窗口生成重叠图片块,以防对局部邻域结构造成损害。两个相邻的图片块共享一定大小的重叠区域,有助于保留更好的局部区域信息。),并使用可训练的线性投影,将向量化的图片块映射到潜在的多维嵌入空间中。将可学习位置嵌入添加到图片块嵌入中,以保留位置信息。transformer编码器的输入包括图片块嵌入和可学习位置嵌入。Transformer编码器包含多层多头自注意力(MSA)和多层感知器(MLP)块。递归地将矩阵乘法应用于所有层中的原始注意力权重,以整合所有前面层的注意力权重。在最后一个transformer层之前,应用部分选择模块(PSM)来选择与判别图片块相对应的token,并且将所选的token与分类token连接起来作为输入序列(通过将原始的整个输入序列替换为token对应信息区域,将分类token串联到最后一个变换层,既保留全局信息。)。仍然采用PSM模块的第一个token进行分类。由于子类别之间的差异可能很小,简单的交叉熵损失不足以完全监督特征的学习。为此,采用了对比损失法,使不同标签对应的分类token的相似度最小化,相同标签对应的分类token的相似度最大化。为了防止损失被简单的负样本(相似度很小的不同类别样本)所支配,引入了一个恒定的margin,即只有相似度大于a的负样本对才会对损失产生影响。最终分类token上的交叉熵损失和对比性损失有助于对TransTG的训练。

实验

将输入图像调整为448×448,iNat2017上的304×304除外,以进行公平比较(随机裁剪用于训练,中心裁剪用于测试)。将图像分割为大小为16的图片块,滑动窗口的步长设置为12。数据放大采用随机水平翻转和自放大。从ImageNet21K上预训练的官方VIT-B16模型加载中间权重。批处理大小设置为16。采用SGD优化器,动量为0.9。学习率初始化为0.03,除了StanFord Dogs数据集为0.003外,iNat2017数据集为0.01。采用cosine annealing作为优化器的调度器。所有实验都是采用PyTorch工具箱和APEX,在四个Nvidia Tesla V100 GPU上进行的。

在五个流行的细粒度视觉分类基准(CUB-200-2011、Stanford Cars、Stanford Dogs、NABirds、iNat2017)上,对我们的模型进行了广泛的评估。在大多数数据集上,TransFG优于现有的具有不同主干的SOTA CNN方法。

结论

1、首次验证了视觉transformer在细粒度视觉分类上的有效性,它为具有RPN模型设计的主导CNN作为主干网络的方案提供了一种替代方案。

2、直接在FGVC上应用ViT已经取得了令人满意的效果,同时还可以根据FGVC的特点进行大量的自适应,进一步提高性能。

你可能感兴趣的:(CVPR,2021)