论文标题: A vision transformer for fine-grained classification by reducing noise and enhancing discriminative information
翻译: 一种通过降低噪声和增强判别信息实现细粒度分类的视觉转换器
摘要
最近,已经提出了几种基于Vision Transformer(ViT)的方法用于细粒度视觉分类(FGVC)。这些方法明显超过了现有的基于卷积神经网络(CNN)的方法,展示了ViT在FGVC任务中的有效性。然而,在将ViT直接应用于FGVC时存在一些限制。首先,ViT需要将图像分割成补丁并计算每对补丁的注意力,这可能导致在训练阶段产生大量噪音计算,并且在处理具有复杂背景和小物体的细粒度图像时性能不理想。其次,对于FGVC,补充信息很重要,但标准的ViT通过在最后一层使用类别标记进行分类,这不足以在不同层次提取全面的细粒度信息。第三,类别标记以相同的方式融合所有补丁的信息,换句话说,类别标记平等地对待每个补丁。然而,判别性部分应该更为关键。
为了解决这些问题,我们提出了ACC-ViT,包括三个新颖的组件,即Attention Patch Combination(APC)、Critical Regions Filter(CRF)和Complementary Tokens Integration(CTI)。其中,APC从两个图像中提取信息丰富的补丁以生成新图像,以减轻噪音计算并加强图像之间的差异。CRF强调与判别性区域相对应的标记,以生成用于微妙特征学习的新类别标记。为了提取全面的信息,CTI集成了由不同ViT层中的类别标记捕获的互补信息。我们在四个广泛使用的数据集上进行了全面的实验证明,结果表明ACC-ViT可以取得竞争性的性能。源代码可在https://github.com/Hector0426/fine-grained-image-classification-with-vit 上找到。
介绍
细粒度视觉分类(Fine-Grained Visual Classification, FGVC)旨在识别从属类别,如鸟类类别[1,2]和犬种[3]。
由于类内变化大,类间变化小,FGVC更具挑战性。现有的方法大多采用基于位置的特征提取范式,重点关注细微但具有区别性的部分。特别是随着深度卷积神经网络(CNN)的发展,取得了重大进展。
然而,这些基于cnn的方法正逐渐进入停滞期。
其中一个主要原因可能是基于CNN的模型自然适合于发现空间上的判别区域,但缺乏适当的方法来建立这些区域之间的关系并将它们整合成一个统一的概念。自我注意机制是一种解决这个问题。受此启发,视觉转换器(Vision Transformer, ViT)从自然语言处理引入计算机视觉,引起了广泛关注。最近,一些研究尝试将ViT应用于FGVC并取得突破。
这些主要的基于ViT的尝试大大超过了现有的基于卷积的方法,证明了ViT在FGVC中的优越性。然而,在将ViT应用于此任务时,仍有一些问题需要进一步考虑。
(1)标准的ViT模型需要将图像分割成小块作为输入,然后得到每两个小块之间的关系。然而,对于细粒度的图像,许多样本包含复杂的背景,并且一些对象也可能相对较小。如图1所示,少数补丁包含目标,大部分补丁为背景。之间的计算背景补丁对于分类对象所属的类别是无用的。在对此类图像进行处理时,不可避免地会产生大量无用的计算,同时也会引入噪声。虽然这些噪声对差异显著的一般类别影响不大,但由于不同类别的背景相似,同一类别之间的背景差异较大,背景和噪声的计算会加剧细粒度类别之间的混淆。从这个角度来看,对于细粒度图像,可以改进标准ViT中输入图像的处理。
(2)作为一个独特的特征,ViT利用预定义的类令牌进行预测。在标准的ViT模型中,类令牌的处理与所有层的每个图像patch相同,并且只使用最后一层的类令牌进行分类。一方面,在自关注方式下,类令牌是基于所有patch获得的,不利于关注对细粒度类别识别很重要的关键微妙区域。从另一个角度来看,不同层的类令牌可以提取出针对不同信息的特征,它们之间也是互补的。例如,中间层的类令牌侧重于对象的更多补丁,而深层的类令牌则侧重于具有最多判别信息的令牌。因此,仅取最终的类令牌不足以充分利用ViT的特征提取能力。受上述分析的启发,我们提出了一种用于FGVC任务的新型ACC-ViT。除了ViT主干,它还包含三个模块,即注意补丁组合(APC)、互补令牌集成(CTI)和关键区域过滤(CRF)。具体来说,APC将两幅图像分解成小块,并将信息丰富的图像拼接在一起生成新图像。这样,它通过用另一图像的信息部分替换相应的区域来减少输入图像中背景的影响。同时,ViT可以从图像对之间的差异中强化学习能力。在某种程度上,APC可以看作是一种更适合于变压器的数据增强方法,因为变压器不像cnn那样对对象的全局结构敏感。CTI根据来自多个层的类令牌对对象进行分类,而不是只对最后一个层进行分类,以整合从不同层捕获的互补信息。CRF强调与区别区域对应的令牌,生成新的类令牌。实验表明,所提出的ACC-ViT在多个广泛使用的细粒度图像数据集上都能取得具有竞争力的分类精度。
本文的主要贡献总结如下:
- 我们分析了直接将ViT应用于FGVC的局限性,并提出了一个新的框架,该框架可以仅使用图像标签进行端到端训练。
- 我们提出了一种新颖的细心贴片组合模块,它可以被视为一种更适合于ViT的新颖的数据增强方法。它减少了训练阶段噪声计算的影响,并通过增强图像对之间的差异显著提高了性能。
- 为了利用判别性和综合性信息,我们提出了一个关键区域过滤模块来显式增强模型对判别性部分的学习,并提出了一个互补令牌集成模块来集成来自不同层的类令牌以进行互补细粒度特征提取。
- 我们对四种广泛使用的细粒度图像数据集进行了广泛的实验,并进行了全面的分析。结果表明,所提出的方法能够达到具有竞争力的性能
相关工作
方法
ACC-ViT的总体框架如图所示。除了ViT主干,ACC-ViT还有三个主要模块,即注意力补丁组合(APC)、互补令牌集成(CTI)和关键区域过滤(CRF)。其中,APC选择信息区域形成新图像。CTI集成来自不同层的类令牌,以获得互补的信息。此外,将高度关注的令牌发送给CRF模块,以生成强调临界区域的新类令牌。
ACC-ViT的整体框架。除了以Vision Transformer为主干之外,整个框架由三个模块组成,即APC、CTI和CRF。在主干之后,图像通过CTI在几个层次上进行分类,CRF选择了用于分类的判别性标记。然后,APC基于注意力组合输入图像以生成新图像,这些新图像参与接下来的训练过程。整个框架的主要流程如下:
主干(Backbone):
使用Vision Transformer作为主干网络。该主干网络负责对输入图像进行特征提取。
Attention Patch Combination(APC)模块:
APC模块基于注意力机制,选择了信息丰富的图像补丁并将它们组合,生成新的输入图像。这些新图像将参与后续的训练。
Complementary Tokens Integration(CTI)模块:
CTI模块在主干网络之后,负责在多个层次上对图像进行分类。它整合来自不同层的类别标记,以获取互补信息。
Critical Regions Filter(CRF)模块:
CRF模块在CTI之后,用于选择具有判别性的标记以进行分类。它引入了一个额外的类别标记,用于捕获所选标记的信息。
整体训练流程:
输入图像首先通过主干进行特征提取。
然后,CTI模块在不同层次上对图像进行分类。
CRF模块选择判别性标记进行分类,引入额外的类别标记。
最后,APC模块基于注意力机制生成新的输入图像,这些图像将参与下一轮的训练。
整个框架通过这三个模块的协同工作,旨在提高模型对输入图像的特征提取、分类和判别性区域选择的能力。
关于这些模块的详细信息将在以下章节中描述
CTI 互补标记整合
-
一个图像𝐼首先分为大小为 𝑃×𝑃×𝐶 的补丁𝑥𝑖,其中 𝑖 ∈ {1, …, 𝑁},𝑃 是每个补丁的大小,𝐶 是图像的通道数,𝑁 是补丁的数量。
-
对每个补丁应用线性嵌入层,将其映射到一个令牌。引入一个可学习的类别令牌 𝑥𝑐𝑙𝑠 用于分类,同时添加位置嵌入以保留空间信息。因此,第一个Transformer层的输入如下:
-
其中,E为patch嵌入投影,𝐷为令牌维数,E𝑝𝑜𝑠为位置嵌入。
-
假设有 𝐿 个Transformer层,每一层由一个多头自注意力(MSA)障碍和多层感知(MLP)障碍。每一层的输入是前一层的输出。
-
CTI的核心思想
- 在标准的ViT模型中,将最后一层的类令牌输入到分类器中生成预测。
- 但是,上述方案忽略了在先前层中学到的类别标记,而它们也是具有辨别力并包含一些最终类别标记丢失的信息。这意味着不同层可以相互补充,这在我们的实验证明中也得到了验证。受此启发,我们提出利用 𝑘 层,而不仅仅是最后一层,以获得更全面的细粒度信息。
- 换句话说,每个所选层的类别标记被发送到一个分类器,生成一个预测的标签向量。
APC 注意力补丁组合
Attention Patch Combination (APC) 模块是 ACC-ViT 框架中的一个关键模块,旨在通过选择信息丰富的补丁并根据权重图进行组合,以减少无关计算和强化模型的学习能力。以下是对 APC 模块的详细说明:
-
Self-Attention计算:
- Transformer 使用多头自注意力来计算每对补丁之间的关系。然而,对于分类对象属于哪个类别的任务,计算背景补丁之间的关系是不必要的,因为这会引入很多噪音计算。为了减少这种噪音,APC 模块被设计为从两个图像中选择信息丰富的补丁并将它们组合成一个新的输入。
-
自注意力权重的处理
- 对于一个 Transformer 层的输入 z,自注意力计算如下:
- 𝑄=𝑧𝑊𝑄,𝐾=𝑧𝑊𝐾,𝑉=𝑧𝑊𝑉 𝑊𝑄,𝑊𝐾,和𝑊𝑉权重矩阵
- 然后,获得注意力,通过将单位矩阵添加到注意力中,并取平均,得到每个层的注意力权重。
-
权重图的生成
- 采用注意力展开算法,该算法递归地将所有层的注意力权重应用到一个权重图中,得到最终权重图。
-
APC 模块的操作:
- APC 模块的目标是根据权重图组合两个图像的重要补丁,以消除噪音计算。
- 此外,APC 还可以通过处理图像对之间的差异来增强模型的学习能力。
- 在获得了类别标记的注意力权重 Wcls(类别标记对其他令牌的注意力)后,将其重塑为 2D,并通过平均池化得到W’cls
- 根据权重图,可以获取相应的按降序排列的序列号idx
- 对于具有标签 yA和yB的两个图像IA和IB,生成掩码MA和MB
- 然后生成新的图像I和标签y
- 将这两个掩模放大到与原始图像相同的大小,然后乘以原始图像。
- 然后,按照权重顺序将𝐼B中各个变量的变量变量填充到𝐼A中。
- 至于标签,通过对补丁的权重求和来计算相应的权重。
CRF 关键区域筛选器
在ViT模型中,类别标记对图像中的每个标记都平等地对待,并整合图像的整体信息。然而,对于细粒度图像,图像中物体的判别区域更为关键,应该得到强调。因此,裁剪出判别性区域并进行重新训练是强调细粒度图像中微妙信息的有效方法。然而,矩形裁剪存在明显的限制问题。裁剪的矩形仍然会有背景,因为很明显物体(如鸟或狗)不会呈现为完美的矩形。
为了解决这个问题,提出了一个简单但有效的Critical Regions Filter(CRF)模块,以选择判别性区域的标记并生成额外的类别标记,以从所选标记中收集信息。与裁剪方案相比,CRF允许更灵活地选择补丁,而不受限于矩形裁剪。
具体而言,为了聚焦于判别性区域,定义一个阈值 𝜂(0 < 𝜂 ≤ 1)来控制要选择的标记数量,即选择 𝜂 ∗ 𝑁 个标记。假设根据 𝑤𝑐𝑙𝑠 中的权重按降序排列的标记,并且第 𝜂 ∗ 𝑁 个标记的权重为 𝑤̄𝑐𝑙𝑠,可以使用以下操作得到所选标记的掩码 𝑀𝑐𝑟𝑖:
其中𝑤𝑐𝑙𝑠,𝑖是𝑤𝑐𝑙𝑠中的第𝑖个注意力值。
最后,所选标记和类别标记被连接成为CRF中Transformer层的输入,即:
其中⊙表示相应位置的乘法,⊖是元素删除操作。此后,将𝑧𝑐𝑟𝑖送入额外的Transformer层,并将输出的类别标记进一步送入分类器进行预测,即得到预测结果。