论文标题: Progressive Learning of Category-Consistent Multi-Granularity Features for Fine-Grained Visual Classification.
翻译: 细粒度视觉分类中类别一致多粒度特征的渐进学习
原文链接: https://blog.csdn.net/qq_43941037/article/details/135011392
摘要
由于类内对象固有的细微变化,细粒度视觉分类 (FGVC) 比传统分类任务更具挑战性。最近的工作主要是部分驱动(显式或隐式),假设细粒度信息自然地存在于部分中。在本文中,我们采取了不同的立场,并表明部分操作并不是绝对必要的——关键在于鼓励网络以不同的粒度学习并逐步将多粒度特征融合在一起。
我们提出:(i) 一种有效融合不同粒度特征的渐进式训练策略,
(ii) 一致的块卷积,鼓励网络在特定粒度上学习类别一致的特征。
代码可在 https://github.com/PRIS-CV/PMG-V2 获得。
本文思想
对于属于某一物种的鸟类(右图),可以观察到很大的类内差异(例如不同的姿态、背景和拍摄角度)。随着语义部分的粒度从右向左减小,其结构模式变得更加稳定,模式的类内变化也显著减小。
如图 1 所示,我们有两个独特的关键见解:
在较低的粒度水平上,辨别模式通常表现出较小的视觉差异,例如,鸟喙比鸟头表现出较小的类内差异;
较粗粒度的特征可以通过学习较细粒度的特征逐步加强,例如,了解鸟喙有助于区分鸟头。
本文假设细粒度的判别信息自然存在于不同的视觉粒度中–这就是鼓励网络以不同的粒度进行学习,并同时协同多粒度特征。
综合框架概述
本文提出了一个可同时容纳部分粒度学习和跨粒度特征融合的综合框架,通过两个相互协同工作的组成部分来实现的:
- 有效融合不同粒度特征的渐进式训练策略;
- 鼓励网络在特定粒度上学习类别一致特征的类别一致块卷积 (CCBC)。
请注意,我们没有使用 "比例 "一词,因为我们并没有在图像斑块上应用高斯模糊滤波器,而是将特征图平均划分为不同的粒度级别。
多粒度渐进式训练框架
作为第一个贡献,我们提出了一个多粒度渐进式训练框架,以学习不同粒度的互补信息。
我们的渐进式框架在训练过程中分步进行,每一步的训练都侧重于培养特定粒度的信息。
我们从更稳定的细粒度开始,然后逐渐过渡到更粗的粒度。这类似于 "放大 "操作,即网络可以先聚焦于一个小区域,然后放大到这个局部区域周围的更大片段,最后再放大到整个图像。
更具体地说,在每个训练阶段结束时,当前阶段学习到的参数将作为参数初始化传递给下一个训练阶段。这种传递操作本质上是让网络在学习更粗粒度的特征时利用更细粒度的特征。最后,所有阶段的预测结果都会合并在一起,以进一步确保互补信息得到充分利用。
类别一致块卷积 (CCBC)
目的:
天真地应用渐进式训练并不能保证多粒度特征学习。这是因为通过渐进式训练学习到的细粒度信息往往会集中在相似的区域。
在我们早期的研究中,我们通过引入拼图生成器来解决这个问题,在每个训练步骤中形成不同的粒度级别。从本质上讲,它迫使网络的每个阶段都关注局部斑块,而不是整个图像的整体,从而学习特定粒度级别的特定信息。
虽然这种方法在鼓励模型关注细粒度的视觉细节方面很有效,但进一步的研究表明,拼图策略也会引入与自然图像统计不一致的人为边界,否则对特征学习会适得其反–模型需要同时关注此类 "信息丰富 "的边界区域。
拟议的类别一致块卷积(CCBC)操作。这里,我们以将一个特征图分割成 4 × 4个块为例。对于建议的分块卷积,首先要将特征图分割成大小相同的块。我们只在每个区块内进行卷积处理,这意味着输出的所有元素只能接收来自所属区块的信息。然后,给定一对属于同一类别的图像,我们从它们的每个通道中选择最突出的块,并相应地限制它们保持一致,从而鼓励网络关注与类别相关的区域。请注意,整个过程发生在每个通道上,我们仅以两个通道为例进行简要说明。
-
本文扩展了之前的方法,采用一种新颖的类别一致块卷积(CCBC)模块来解决这些问题,该模块由块卷积操作和类别一致约束组成。
-
就块卷积模块而言,特征图在训练阶段被发送到每个卷积层之前,会被分割成若干块。每个块都不能通过卷积操作获取相邻块的信息。这种操作既能保持拼图训练的优势,又不会引入人为的边界。
-
在特征块内进行卷积时,为了进一步捕捉每个粒度上有意义的区域,我们在块卷积操作的同时应用了类别一致性约束。具体来说,我们对每个类别的图像进行成对采样,然后在块卷积过程中对其突出块进行类别一致性约束,从而有效地鼓励网络关注类别内共享的共同区域(即前景)。
-
需要注意的是,虽然通过成对约束来减少类内差异似乎是一种直观而通用的解决方案,但由于存在人为边界(见第 4.4.2 节),它无法独立地与我们之前的框架配合使用。
总结 本文贡献有三个方面:
- 我们介绍了一种渐进式训练策略,它以 "放大 "的方式处理细粒度视觉分类任务。它通过不同的训练步骤来促进特征学习过程,最终培养出不同粒度的固有互补特性。
- 我们提出了一种类别一致的分块卷积(CCBC),它将分块卷积操作与特征类别一致性约束相结合。一方面,通过控制特征粒度,分块卷积保证了每一步都能学习到更精细的特征。另一方面,类别一致性约束可以防止过拟合问题,并确保捕捉到的多粒度区域是有意义和与类别相关的。
- 我们在四个广泛使用的 FGVC 数据集上进行了实验:CUB-200-2011、NA-Birds、Stanford Cars 和 FGVC-Aircraft。所提出的方法在所有这些数据集上都达到了最先进(SOTA)或具有竞争力的性能。广泛的烧蚀研究和可视化效果证明了我们设计的有效性。
方法
具体来说,我们的方法可大致分为两部分。
首先,我们通过渐进式训练程序来学习细粒度信息。
一般来说,CNN 的较浅阶段代表局部细节,而较深阶段则主要表示颗粒度更大的抽象语义。
因此,作为一种直观的选择,我们首先让网络在较浅的阶段挖掘更精细的分辨特征,然后根据预先学习到的知识(在较浅阶段获得的知识),逐步将注意力转移到粒度更大的模式上。
在这种情况下,可以有效避免直接学习整个对象时由于类内差异造成的弊端。
其次,为了促进渐进式训练过程中的多粒度学习,我们提出了一个类别一致的块卷积(CCBC)模块,
该模块由两个高度耦合的部分组成:块卷积操作和类别一致约束。
在每个训练步骤中,特征图在空间上被分割成多个区块,卷积层只在每个特征区块内运行。这样,通过将卷积层的感受野限制在小于其理论大小的范围内,可促使网络专注于特定的粒度。
然后,在每个通道中选择响应最高的区块,并将其聚合起来形成一个鉴别特征嵌入,它代表了在特定粒度上挖掘的鉴别信息。属于同一类别的特征嵌入对的距离会强制变小,以确保它们与类别相关。
总之,渐进式训练策略实现了从局部到全局的学习过程,而 CCBC 则保证了在每个训练步骤中都能学习到类别一致的多粒度特征。整个框架如图 3 所示,各部分的设计细节在上部分详细阐述。
随着训练过程的不断深入,训练阶段会越来越深,不同阶段的特征块尺寸也会越来越大。这里,我们以最后三个阶段为例,采用渐进式训练策略,即训练步数为 P = 3 。每一步的超参数 n分别设置为 8、4 或 2 。相同颜色的特征图表示各阶段共享相应卷积核的权重,紫色箭头表示两步之间从较小粒度级别到较大粒度级别的知识转移。图中省略了额外的卷积层和包括分类器在内的全连接层。