基于改进DPGN的少样本图像分类算法研究

2024-03-19 11:47白燕娥
关键词:分布图度量分类器

王 玲,孙 莹,王 鹏,白燕娥

(长春理工大学计算机科学技术学院,长春 130022)

0 引言

图像分类[1-2]是人工智能领域的基本任务。基于深度学习的图像分类方法在图像分类任务上的识别精度已经超越人类[3],但其性能的好坏严重依赖于数据量的多少,对于数据不足的情况,算法很容易发生过拟合。少样本图像分类算法的诞生为上述问题提供了相应的解决方案。少样本图像分类任务使得算法在数据稀疏的条件下可以顺利完成图像分类,这不仅降低了数据采集、标注的成本和难度,而且有效地解决了一些高性能图像分类模型因数据量有限无法得到广泛应用的问题。综上,少样本图像分类算法的研究存在着重要的意义。度量学习(metric learning,ML)是少样本图像分类任务使用的主要方法之一。基于ML的少样本图像分类方法一般分为3步:首先,把图像样本特征映射到嵌入空间;其次,通过给定的距离度量算法计算特征在嵌入空间中的距离;最后,依据样本间距离将样本分到相应的类别。Vinyals等[4]提出匹配网络,使用长短期记忆网络和余弦距离度量方法实现分类任务。Snell等[5]提出原型网络,使用欧氏距离作为样本间距离的度量方法。Sung等[6]认为匹配网络和原型网络使用的样本距离度量方法单一且固定,在一定程度上限制了模型的性能,提出关系网络,使用神经网络训练出一个带参数的距离度量函数,自适应地完成样本间相似度计算。Li等[7]提出深度最近邻神经网络,使用朴素贝叶斯最近邻算法,比较图像和类别局部描述间的相似度进行分类,该网络注重图像与类别间的距离度量,有效提高了分类结果。Yang等[8]提出DPGN算法,使用L2距离作为度量距离函数,构造一种包含点图和分布图的双图神经网络模型,展示了图神经网络在少样本图像分类任务中的巨大潜力,显著提升了少样本图像分类任务的准确率,但距离度量方法简单。Zhang等[9]提出使用推土机距离作为度量距离方法,确定图像样本的相似性,同时设计交叉引用机制生成距离函数中的权重,最小化背景区域和图像中不同目标部分权重变化带来的影响,提升了分类准确度,但在测试任务与训练任务间距较远时,存在分类效果不佳的问题。Liu等[10]提出按类度量尺度机制,在训练期间,将度量标量设成一个可学习的参数,让模型学习到更具转移性和可鉴别性的特征表示;在测试期间,利用凸优化程序生成最佳度量标量来改善最近邻决策,该算法改进了少样本图像分类任务的类度量尺度,并提高了模型的分类性能。由此可知,距离度量方式的选取对少样本图像分类算法的影响较大。

为了解决DPGN算法对少样本图像分类任务准确率不高的问题,本研究基于DPGN算法提出SFOD_DPGN算法,主要创新如下。

1)改进特征提取模块

①在残差块中融入SimAM注意力机制。为解决特征提取模块对图像特征提取能力不足的问题,在骨干神经网络Resnet12的4个残差块中融入SimAM注意力机制,使其能够学习到更多、更丰富的图像特征信息;②优化归一化方法和激活函数。为解决Resnet12网络中归一化方法会受到一次训练所选取样本数量大小的影响,将批量归一化与ReLu激活函数搭配使用的方式改为滤波器响应归一化与阈值线性单元激活函数搭配使用的方式,在保障算法性能的同时,提升算法的分类准确率。

2)改进分类器模块

①在卷积神经网络中引用全维动态卷积。为解决分类器模块分类效果不佳的问题,在分类器模块中选用全维动态卷积替换普通卷积,提高分类器的鲁棒性;②改进距离度量方法。由于分类器模块所选取的距离度量方法过于简单,容易导致计算样本间距离存在偏差,使用马氏距离和推土机距离替换L2距离度量函数,提升分类器度量样本间距离的能力,进一步提高算法分类的准确率。

1 理论基础

1.1 少样本图像分类问题描述

少样本图像分类任务强调在少量样本中进行快速学习的能力,同时对新类别的分类具有良好的泛化能力,也称为nway-kshot问题,其中n表示数据集中类别的个数,k表示每个类别中样本的个数,k的取值范围一般在1~20,实验中通常取1和5。给定有n个类别且每个类别含有k个图像样本的支持集和存在多个与支持集类别不同图像样本的查询集,在训练阶段,为支持集和查询集提供类别标签;在测试阶段,给定测试数据,在支持集很少的情况下,模型可以准确给出查询集的标签。

1.2 DPGN算法

DPGN算法是少样本图像分类效果较好的方法,由特征提取模块和分类模块2部分组成。

特征提取模块采用Resnet12网络,图1为其网络和残差块的结构图。

图1 Resnet12网络结构和残差块结构图

如图1(a)所示,该网络通过卷积、归一化、激活函数、池化等操作对图像进行特征提取,主要由4个相同结构的残差块组成。如图1(b)所示,每个残差块由卷积、归一化、激活函数和最大池化操作构成。

分类器模块是基于 GNN(graph neural network),由多轮更新迭代组成,每一轮均由点图和分布图构成。点图通过收集每个样本的一对多关系来生成分布图,而分布图通过传递每对样本间的分布关系来细化点图,图2展示了分类器模块的结构图。

图2 分类器模块结构图

用图像样本的特征作为点图的节点,通过计算相邻两节点的相似度形成点图的边,以此来初始化点图;将点图的边传递给分布图,作为分布图的节点,分布图的边代表点图边之间的分布相似度,将得到的分布图的边传递到点图中,以此构成更具判别性的点图的节点,重复迭代上述过程。该算法使用Softmax函数作为分类函数,用交叉熵损失函数来计算节点损失,从而获得节点的分类准确率。

2 SFOD_DPGN算法

2.1 算法整体结构

本研究对DPGN算法进行改进,提出少样本图像分类算法SFOD_DPGN,结构如图3所示。

图3 SFOD_DPGN算法结构图

图3以2way-1shot为例,训练模型数据集包括2个支持集和1个查询集,绿色和蓝色小球代表支持集中的2个不同样本,橘色小球代表查询集样本。首先,对特征提取模块进行改进,融入注意力机制,并优化归一化层和激活函数,改进后的骨干神经网络称为SF_Resnet12,通过该网络对输入样本进行特征提取,将得到的特征信息输送到分类器中;然后,对分类器模块进行改进,在点图到分布图传播P2D的嵌入空间、点图距离度量和分布图距离度量过程的嵌入空间引用动态卷积,并使用马氏距离和推土机距离作为分类器中度量距离的方法,依据点图和分布图的节点间距离来迭代更新数轮,通过得到的点图获取最终的分类结果,也就是通过判断橘色小球分别与绿色小球和蓝色小球间的距离远近,最后推断出橘色小球的类别。

2.2 改进特征提取模块

2.2.1 在残差块中融入SimAM注意力机制

为使骨干神经网络能够学习到更多、更丰富的图像特征,并在不额外引入参数的情况下,在骨干神经网络中融入SimAM注意力机制,改进后残差块的结构如图4所示。

图4 融入SimAM注意力机制后的残差块结构图

在骨干神经网络每个残差块主路的第2个卷积操作后融入SimAM注意力机制,增强特征提取能力,提升算法分类的准确率。SimAM注意力机制的结构如图5所示。

图5 SimAM注意力机制的结构图

从空间和通道2个维度为图像特征X生成三维权重,然后将生成的权重与特征图X进行聚合。不同颜色的方块代表每个像素点不同大小的权重。为简单且有效推出三维权重,采用二进制标签,定义能量函数Et如式(1)所示。

理论上,每个通道有m个能量函数。式(1)中Wi表示为式(2)、bi表示为式(3)。

因此,最小化能量函数可以通过式(1)、式(2)和式(3)得到:

从式(4)可以看出,能量值E*i越低,神经元i与附近神经元的差异越大、越重要。因此,神经元的重要程度能够通过1/E*i获得。

2.2.2 优化残差块的归一化方法和激活函数

为消除归一化方法对一次训练所选取样本数量的依赖,将Resnet12网络中批量归一化与ReLU激活函数搭配使用的方式换成由滤波器响应归一化(filter response normalization,FRN)与阈值线性单元激活函数(thresholded linear unit,TLU)搭配使用的方式,即FRN_layer,结构如图6所示。

图6 FRN_layer结构图

特征向量Xa经过FRN和TLU操作后得到输出向量Za。

FRN的定义由式(5)组成。

式中:Ya表示输出向量;Xa表示输入特征向量,形状为[B,W,H,C],B表示mini-batch size,W、H表示映射的空间范围,C表示卷积中使用的滤波器数量;e是一个非常小的正常数;n=W×H,表示第B个批点的第C个滤波器的向量;r、j表示可学习的参数。

FRN没有均值操作,容易导致激活具有远离零的任意偏差,该偏差与ReLU搭配使用时,会对学习产生不利影响,致使网络性能不佳。在FRN后搭配TLU可以解决该问题,TLU如式(6)所示。

式中:Ya为FRN的输出向量;Za为TLU的输出向量;τ为可学习的参数。

使用FRN_layer后的残差块结构如图7所示。

图7 使用FRN_layer后的残差块结构图

将骨干神经网络每个残差块主路的批量归一化与ReLU激活函数搭配使用改成FRN_layer。

2.3 改进分类器模块

2.3.1 在残差块中融入SimAM注意力机制

使用全维动态卷积ODConv(omni-dimensional dynamic convolution)替换卷积神经网络框架中的普通卷积,可以提升骨干神经网络的特征提取能力。本文将ODConv引用到分类器模块中,利用并行策略引入多维注意力,对卷积核空间的4个维度进行学习,提高分类的准确率。

在点图到分布图传播P2D的嵌入空间中引用ODConv,结构如图8所示。

图8 改进后的P2D结构图

改进后的点图到分布图P2D的嵌入空间由ODConv卷积、BN归一化、leakyReLU激活函数构成。

另外,在点图距离度量和分布图距离度量过程的嵌入空间中引用ODConv,结构如图9所示。

图9 改进后点图距离度量和分布图距离度量的嵌入空间结构图

改进后点相似模块和分布相似模块的嵌入空间由2个ODConv卷积、BN归一化、ReLU激活函数构成。

ODConv采用多个卷积核的线性组合,利用注意力进行动态加权,使卷积操作依赖于输入,其示意图如图10所示。

图10 ODConv的示意图

ODConv由卷积核{W1,W2,…,Wn-1,Wn} 和由注意力函数πwi(X)计算获得的注意力标量{αw1,αw2,…,αw(n-1),αwn}组成,计算如式(7)所示。

式中:Y表示输出值;X表示输入值;Wi表示第i个卷积核;αwi表示卷积核Wi的注意力标量;αSi表示沿空域维度的注意力权重;αCi表示沿输入通道维度的注意力权重;αfi表示沿输出通道维度的注意力权重;αwi表示卷积核维度的注意力权重;⊙表示逐步相乘运算符;*表示卷积运算符。

2.3.2 改进距离度量方法

根据距离度量方法的特点,发现马氏距离(mahalanobis distance,MD)比较适合用于计算样本间(点图)的距离;推土机距离(earth mover’s distance,EMD)比较适合用于计算分布间(分布图)的距离。故本研究对原算法的距离度量方法进行改进,其中,点图间的距离选用MD,分布图间的距离选用EMD。图11展示了点图的距离度量过程。

图11 点图距离度量过程图

在图11中,每个节点代表不同的图像样本,采用MD距离度量方法计算每2个相邻节点间的距离,两节点间的距离越小,边越短,代表相似程度越大。图12展示了分布图的距离度量过程。

图12 分布图距离度量过程图

在图12中,以2个节点为例,每个节点代表不同数据样本间的分布情况,采用EMD距离度量方法计算每2个相邻节点间的距离,两节点间的距离越小,边越短,代表相似程度越大。

3 实验结果及分析

3.1 实验环境及数据集

实验环境如表1所示。在CUB-200-2011[11]数据集上对改进后模型有效性进行验证。该数据集的详细信息如表2所示,包括图像总数量、类别数量、图像分辨率以及训练集、测试集、验证集的数量划分情况。

表1 实验环境

表2 CUB-200-2011数据集详细信息

3.2 评价标准与参数设定

采用5way-1shot和5way-5shot的方式来评估算法的分类准确率。5way-1shot表示随机选出5个类别,并在每类中选择1张图像作为样本;5way-5shot表示随机选出5个类别,并在每类中选择5张图像作为样本。同时,采用分类准确率来评价模型的性能,以%为单位,值越高表明模型的性能越优、分类效果越好。随机选取i个任务,依据各个任务得到的准确率算出i个任务的平均准确率acc,准确率的计算见式(8),其中i取10 000。

本研究算法训练的各参数设置如表3所示。

表3 算法训练参数

3.3 对比实验结果分析

在CUB-200-2011数据集上对SFOD_DPGN算法与DPGN、Neg-Cosine[12]、IEPT[13]、DeepEMD、FRN[14]、TPMN[15]、UNICORN-MAML[16]以及文献[17],共8种使用Resnet12骨干神经网络的分类算法进行比较,实验结果如表4所示。

表4 在CUB-200-2011数据集的实验结果

从表4可以看出,SFOD_DPGN算法在CUB-200-2011数据集5way-1shot、5way-5shot分类任务中的准确率高于其他算法。与DPGN算法相比,SFOD_DPGN算法在5way-1shot和5way-5shot分类任务下的分类准确率分别提升了约7.97%和2.66%;与FRN算法相比,SFOD_DPGN算法在5way-1shot和5way-5shot分类任务下的分类准确率分别提升了约0.77%和1.45%。其中,在5way-1shot和5way-5shot分类任务下,使用SF_Resnet12骨干神经网络比使用Resnet12骨干神经网络的SFOD_DPGN算法的分类准确率分别提升了约5.00%和2.04%。

3.4 消融实验结果分析

为检验各改进部分的有效性,在CUB-200-2011数据集上进行消融实验,在基准模型基础上,逐个添加SimAM、FRN_layer、ODConv以及MD和EMD相结合的距离度量方式,结果如表5所示。

表5 在CUB-200-2011数据集的消融实验结果

从表5中可以看出,在CUB-200-2011数据集上,融入SimAM注意力机制后,算法在5way-1shot和5way-5shot分类任务下的分类准确率分别提高了2.77%和1.16%;在此基础上,使用FRN_layer后的算法,在5way-1shot和5way-5shot分类任务下的分类准确率分别提高了2.23%和0.88%;在此基础上,引用全维动态卷积ODConv后的算法,在5way-1shot和5way-5shot分类任务下的分类准确率分别提高了2.25%和0.38%;在此基础上,使用MD和EMD相结合的距离度量方式后的算法,在5way-1shot和5way-5shot分类任务下的分类准确率分别提高了0.72%和0.24%。从上述实验结果可以看出,对于在CUB-200-2011数据集中,本文的4个创新点有效地提高了算法的分类准确率。

4 结论

从提升少样本图像分类准确率的角度出发,提出SFOD_DPGN少样本图像分类算法。相比DPGN算法,在5way-1shot和5way-5shot分类任务下,在CUB-200-2011数据集上的分类准确率分别提高了约7.97%和2.66%。以上实验结果充分证明了SFOD_DPGN算法对分类效果提升明显,并且具有较强的鲁棒性和泛化能力。但是,网络结构复杂,模型参数量大且训练时间长,今后将使用Ghost减少网络的计算量和参数量,加速推理速度和延迟时间;更换算法的优化器加速模型的收敛速度,减少训练时间。

猜你喜欢
分布图度量分类器
鲍文慧《度量空间之一》
模糊度量空间的强嵌入
贵州十大地质公园分布图
迷向表示分为6个不可约直和的旗流形上不变爱因斯坦度量
BP-GA光照分类器在车道线识别中的应用
中国癌症分布图
左右江水冲石器采集分布图
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
地质异常的奇异性度量与隐伏源致矿异常识别