一种基于注意力机制引导图像增强的细粒度图像分类
2021-06-25彭耀葵吕友成
彭耀葵 吕友成
(1、广东工业大学,广东 广州510000 2、广州星海集成电路基地有限公司,广东 广州510000)
1 本文的研究内容
细粒度图像的分类目的在于区分具有细微视觉差异的从属类别,比传统粗粒度图像分类更加具有挑战性。其挑战主要有以下方面:(1)图像之间的特征差异较小,判别性的特征更加细微。例如:需要根据鸟羽毛的一部分的颜色来确定类别。(2)训练数据集信息有限,仅使用其所属的类别,而没有人工的标注框等信息。
细粒度图像分类的关键步骤是从图片中提取出最显著的局部特征。如果特征区域是手动标记的,则将花费额外的时间和经济成本,因此可以考虑使用弱监督方法。此外,单纯的卷积网络很难处理细粒度的分类问题,因此使用想办法找出需要注意的区域。数据增强是训练常用方法,可用于防止数据过拟合和改善模型的性能。许多常用的数据增强方法使用随机方法,例如随机图像裁剪、旋转、放大,可能使目标适合我们的需求,但是会引入嘈杂的目标或背景信息。因此,我们设计了一个以注意力为导向的数据增强模块,可以实现更好的分类效果,该方法可实现比当前最新方法好的效果。
2 相关的研究基础
弱监督学习不需要借助附加的人工标注信息[1],降低了人工的工作量,同时在滤去背景等噪声干扰之后,网络可以提取出人类考虑不到的区域特征,从而提高了网络的分类精度。常见的方法有以下几种:
双线性CNN 算法[2],该方法依赖于两个特征提取器的连接,两个特征提取器的输出在图像的每个位置使用外部乘积相乘,然后得到最后的结果。关键是使用二阶统计信息来融合来自不同渠道的信息,实现细粒度分类。
但是,由于原始双线性池的导致其高维性,Gao 等人提出的CBP 紧凑型双线性池化的方法,该方法使用Tensor Sketch 投影和Random Maclaurin 投影来极大地减小尺寸而不会降低精度。
WSDAN[3]的作者从特征图通道之间的局部特征的交互作用提出了一种双线性注意力集中机制(BAP),以提高它们的表示能力。但是,在WSDAN 网络中的阈值是人为设计的固定值,该值具有很大的随意性,导致预测结果不尽人意。
3 本文的实验方法
本文提出新的方法就是基于图像二值化设计了一个阈值,以便每个图片根据其自身的特征使用相应的阈值范围。下面详细介绍所我们提出的网络结构,包括弱监督学习的注意力图,注意力图指导的图像数据增强和分类的损失函数设计。对于每个输入图像,设计一个弱监督学习网络以生成相应的注意力图,以表示目标的最大区别特征,然后通过基于注意力图的数据增强方法对其进行裁剪或放大,最后通过网络以获取最终分类结果。该过程如图1 所示。
图1 本文构建的模型结构图
3.1 弱监督学习的注意力图
获取弱监督学习的注意力图的方法具体如下:我们使用resnet50 深度卷积神经网络作为骨干网络,在为每个训练图像提取基本特征图之后,继而生成相应的注意力图,以表示图像的最显着特征部分。通过使用注意力图,我们设计出更加灵活的网络结构,并且可以更轻松地实现细粒度分类的端到端训练。
受双线性池化的网络模型的启发,我们设计了网络结构的第二部分。每个注意力图代表目标图像的特定部分,将获得的特征图和注意图的元素相乘,然后使用卷积处理局部特征图,最后结合每个局部特征图以获得特征矩阵。
3.2 注意力图引导下的数据增强
传统随机的数据增强效率非常低,特别是如果图像中的可判别性区域在整个图片中所占的比例较小,则会导致更多的背景噪声,因此使用注意力图进行图像增强[4]。除此之外,物体在不同的图像中占有不同的比例。因此,我们让图像本身确定自己的阈值,而不是使用手动设计的值来调整阈值。自适应二值化阈值算法用于获取整个图像的平均值,并将其用作基准。这样,我们可以获得针对不同图像的最合适的图像增强。裁剪大于基准的区域以获取关键区域,并在该区域上使用弱监督学习来生成注意力图,以表示目标的显着特征,我们称之为裁剪注意力。另外,我们添加了一个辅助分支,丢弃具有更高基准的区域并使用左侧的部分,以便网络可以学习非关键区域的某些功能,从而生成次要关注地图,我们将其称为掉落注意力。结合这两个分支,我们的图像增强功能可以有效地提取图像中最有用的区域特征。
在图2 中可以看到聚焦细节的图像。第一张图片是原始图片,第二张图片是经过设计的蒙版处理后获得的图像,可以看出主要部分和背景部分是可区分的。第三张图片是在注意力图指导下进行数据增强后获得的图像,红色部分是特征信息最明显的区域。
图2 从左到右分别是原始图像、蒙版生成图像和细节聚焦图像
3.3 损失函数设计
受焦点损失的启发[5],我们将标准的交叉熵损失与焦点损失的结果结合在一起。通过减少易于分类的样本的权重,该模型可以将更多的注意力集中在训练过程中难以分类的样本上。通过控制两个部分的不同比例,网络可以适应更多的数据集。焦点损失函数的表示如公式(1)所示。
同时,中心损失[6]功能被引入到我们的网络中。在特征图中为训练集的每个类别维护一个班级中心。在训练过程中,网络映射后,特征图中的样本与类中心之间的距离约束增加,以达到更好的分类效果。中心损失函数的表示如公式(2)所示。
这两个损失函数的比例由超参数β 控制,本文设计调整不同数据集的β 值以获得最佳结果,模型整体的损失函数的表示如公式(3)所示。
4 实验过程及结果
在本节中,我们进行了许多实验和比较,以证明模型的准确性。分别从实验数据集、实验环境和实验结果进行了分析。
4.1 实验数据集
CUB-200-2011 鸟类数据集包括200 种鸟类,有5994 个训练图像和5794 个测试图像。Stanford-Cars 汽车数据集有16185张不同型号的汽车图片,训练集8144 张、测试集8041 张。FGVC-Aircraft 飞机数据集包含10200 架飞机图像,102 个类别,每类100 幅图像。
4.2 实施环境及参数设置
实验环境基于Ubuntu16.04 操作系统,CPU 为Inteli7-9700,GPU 为NVIDIA RTX2080,运行内存16G。该模型采用在ImageNet 上经过预训练的Resnet50 模型为基本网络。删除了原始的完全连接层,并添加卷积层、下采样层和特征提取层以提取感兴趣的区域,使用自定义蒙版生成图像区域关注图。权重衰减和动量分别设置为1×10-5和0.9,学习速率初始值设置为0.001,衰减速率为0.9。
4.3 实验结果
本文的方法与上述细粒度图像分类数据集上的最新方法进行比较,结果如表1 所示。可以看出,本文的网络体系结构对这些数据集都实现了最佳分类效果。
表1 实验结果在三个不同的数据集上与最新方法的比较
从表1 可看出:(1)本文网络结构优于许多使用附加图像注释的强监督方法,模型无需其它人工标注信息;(2)本文方法优于大多数其它弱监督方法,能更准确获得图像显著区域。
5 结论
本文提出了一种基于注意力机制下图像增强的弱监督细粒度图像分类端到端网络。弱监督分类网络生成注意力图,注意力机制能够引导图像的增强,从而使网络获得更好的分类结果。这两个模块进行交互,以使网络模型可以获得更多的局部显著性特征信息,并确保分类结果更高的准确性。