论文标题: 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在多个广泛使用的细粒度图像数据集上都能取得具有竞争力的分类精度。
本文的主要贡献总结如下:
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模块基于注意力机制生成新的输入图像,这些图像将参与下一轮的训练。
整个框架通过这三个模块的协同工作,旨在提高模型对输入图像的特征提取、分类和判别性区域选择的能力。
关于这些模块的详细信息将在以下章节中描述
一个图像首先分为大小为 ×× 的补丁,其中 ∈ {1, …, }, 是每个补丁的大小, 是图像的通道数, 是补丁的数量。
对每个补丁应用线性嵌入层,将其映射到一个令牌。引入一个可学习的类别令牌 用于分类,同时添加位置嵌入以保留空间信息。因此,第一个Transformer层的输入如下:
其中,E为patch嵌入投影,为令牌维数,E为位置嵌入。
假设有 个Transformer层,每一层由一个多头自注意力(MSA)障碍和多层感知(MLP)障碍。每一层的输入是前一层的输出。
CTI的核心思想
Attention Patch Combination (APC) 模块是 ACC-ViT 框架中的一个关键模块,旨在通过选择信息丰富的补丁并根据权重图进行组合,以减少无关计算和强化模型的学习能力。以下是对 APC 模块的详细说明:
Self-Attention计算:
自注意力权重的处理
权重图的生成
APC 模块的操作:
在ViT模型中,类别标记对图像中的每个标记都平等地对待,并整合图像的整体信息。然而,对于细粒度图像,图像中物体的判别区域更为关键,应该得到强调。因此,裁剪出判别性区域并进行重新训练是强调细粒度图像中微妙信息的有效方法。然而,矩形裁剪存在明显的限制问题。裁剪的矩形仍然会有背景,因为很明显物体(如鸟或狗)不会呈现为完美的矩形。
为了解决这个问题,提出了一个简单但有效的Critical Regions Filter(CRF)模块,以选择判别性区域的标记并生成额外的类别标记,以从所选标记中收集信息。与裁剪方案相比,CRF允许更灵活地选择补丁,而不受限于矩形裁剪。
具体而言,为了聚焦于判别性区域,定义一个阈值 (0 < ≤ 1)来控制要选择的标记数量,即选择 ∗ 个标记。假设根据 中的权重按降序排列的标记,并且第 ∗ 个标记的权重为 ̄,可以使用以下操作得到所选标记的掩码 :
其中,是中的第个注意力值。
最后,所选标记和类别标记被连接成为CRF中Transformer层的输入,即:
其中⊙表示相应位置的乘法,⊖是元素删除操作。此后,将送入额外的Transformer层,并将输出的类别标记进一步送入分类器进行预测,即得到预测结果。