APP下载

基于判别性特征增强的小样本细粒度图像识别

2024-01-24妍,孙

计算机技术与发展 2024年1期
关键词:细粒度图像识别相似性

齐 妍,孙 涵

(南京航空航天大学 计算机科学与技术学院/人工智能学院,江苏 南京 211106)

0 引 言

细粒度图像识别一直是计算机视觉领域上的研究热点之一[1-2],由于细粒度图像识别研究的对象常常来自于在某一传统类别下的子类别,这种同类之间的图像差异较小,识别难度也更高。目前深度学习的方法已经取得了良好的分类性能,但深度学习模型的成功,很大程度上依赖于大量训练数据[3],需要大量具有不同视觉变化的标记数据来有效地训练一个网络,而对数据进行标记将会消耗大量的时间和人力,并且通常需要专业人员提供的特定领域的知识,这既昂贵又难以获得。不仅如此,在现实的场景中,某些类别仅能获得极少量的样本,例如稀有动植物、新型号的汽车等,这就对现有的方法带来了极大的挑战。因此,如何利用少量标记样本来识别细粒度对象,即小样本细粒度图像识别,是深度学习领域一个极具挑战性的问题。相较于常规的小样本图像分类,小样本细粒度图像分类更具有挑战性,原因主要有:(1)类内差异大。由于姿势、光照条件、背景等的不同,使得同一类样本中的图像可能在视觉外观上差异较大;(2)类间差异小。属于不同类别的图像往往可能存在着相似的纹理或外观,例如柴犬和秋田犬的毛色、纹路等十分相似,很难区分细微的视觉差异;(3)样本数量少,每个类的样本数量非常有限,很难有效地表示类的分布[4];(4)在不同的分类任务中,对应的区分性特征可能是不同的,如图1所示。

任务1 任务2

对于任务1来说,不同鸟类的翅膀较为相似,而鸟喙的差异较大,因此鸟喙是一个有区分性的特征,而对于任务2,鸟喙不是最关键的特征,而翅膀更加有判别性,因此在这个任务中,翅膀更为重要。因此仅得到常规的判别性特征是不够的,需要挖掘到任务内对于当前分类任务贡献更大的判别性特征。

细粒度图像之间的差异通常隐藏在细微之处,因此,挖掘判别性的局部区域对于分类来说是至关重要的。Zhu等人[5]提出了任务学习机来捕捉图像的区分性部分,通过数据分布来调整模型的参数,使得模型仅依赖很少数量的样本就可以获得良好的参数分布。Li等人[6]提出了使用两种相似性度量的方法来学习特征映射,使得模型通过少量样本的学习就能学习到更多的判别性特征,从而显著提高模型的泛化能力。这些方法能够显著提升小样本细粒度图像识别的精度,但都忽略了细粒度任务中的另一个关键问题,即由于光照、角度、背景等影响,同类样本之间可能表现出千差万别的视觉效果[7]。这种较大的类内差异使得模型难以挖掘图像之间的共性特征,模型的泛化能力较差。此外,不同分类任务之间的区分性特征是不同的。事实上,在任务中被多个类共享的特征对于分类的贡献并不是很大,例如,对于一个查询样本的局部描述子,支持集中不同类别样本的局部部分都具有与其较高的相似性,这实际上对分类并不重要。总之,不同的部分对于不同任务的重要性是不同的。挖掘特定于分类任务的判别性特征是重要的。针对上述问题,该文提出基于判别性特征增强的方法来学习类内一致的特征表示,同时挖掘任务内特定的区分性信息。具体地说,提出的小样本细粒度图像识别算法(DFENet)包括三个核心模块:对称注意力模块、通道判别性特征增强模块和相似度量模块。首先,对称注意力机制来重新对特征表示进行加权,使用支持集样本查询集样本互相指导,从而提高图像中共同出现的区域的权重,即学习一致的特征表示,减少复杂的背景和较大的类内视觉外观的变化带来的影响。其次,对于支持集样本,通过通道判别性特征增强模块产生权值来表示每个类的通道判别能力,这些权重用于生成更关注区分细节的任务自适应特征图,并限制对当前任务分类作用不大的通道。最后,加权之后的特征表示被送入相似性度量模块,该文的相似性度量模块利用全局和局部相似性度量,充分利用全局特征的类内不变性,挖掘隐藏在局部细节中的丰富信息[8]。大量的实验结果表明,DFENet能够显著提升细粒度检索精度。

贡献如下:

(1)针对小样本细粒度图像识别问题,提出了一种基于判别性特征增强的小样本细粒度图像识别方法(DFENet),挖掘类内一致的判别性特征表示,同时学习特定任务内的区分性特征。

(2)设计对称注意力机制来重新对特征表示进行加权来学习一致的特征表示,减少背景带来的影响。同时,通过通道判别性特征增强模块利用类内和类间样本的关系,生成任务特定的通道注意力,给予包含任务内判别性特征的通道更高的权重。

(3)在三个代表性细粒度数据集上进行了详细的实验,验证了提出的DFENet的有效性。

1 相关工作

1.1 细粒度图像识别

与常规的粗粒度图像分类不同[9-10],细粒度图像识别旨在对某一超类图像中的不同子类图像进行识别,这些图像通常具有相似的视觉表示,以及千差万别的姿态。早期的传统细粒度分类方法一般基于手工特征,例如从图像中提取SIFT[11]或者HOG[12]特征,再经过编码模型对特征进行编码。但是这种手工的方法有很大的局限性,很难准确地获取到图片样本之间的细微差异。随着人工智能技术的飞速发展,传统的手工特征方法逐渐被深度学习的方法所取代,越来越多的网络模型被提出。深度学习的方法可以大致分为强监督方法和弱监督方法[13]。Zheng等人[14]通过将特征通道聚类到不同的分组来关注多个对象部分,同时提出了部件分类损失和通道分组损失,鼓励模型从不同的特征通道中生成更多的判别性部分,并以相互强化的方式学习更好的局部细粒度特征。Chang等人[15]认为挖掘多区域多粒度特征是细粒度图像分类的关键,该模型利用高层特征生成的注意力来约束中层特征,以获得多粒度特征。Hu等人[16]提出利用注意力机制对图像进行随机裁剪和随机丢弃,以获得更多的样本数据。

1.2 小样本学习

小样本学习是通过对有限数量样本的学习[17]对新样本进行建模,以模拟人类快速学习新事物的能力。Finn等人[18]提出模型无关元学习算法,通过训练一个元学习器来学习参数初始化,计算模型损失并通过梯度下降算法对参数进行训练。Koch等人[19]提出了一个孪生神经网络,通过自发地对输入进行相似性排序来学习通用的图像表示。Snell等人[20]提出将每一个分类下所有样本的平均值作为类别的原型表示,找到所有类样本所共有的特征,并利用欧氏距离对样本进行分类。Li等人[4]提出采用k-最近邻来捕获所有图像到类的局部特征描述子之间的相似性。

1.3 小样本细粒度图像识别

小样本细粒度图像识别是在小样本情况下处理细粒度视觉任务,已经成为一个热门的交叉领域,逐渐吸引了学者们的兴趣。Wei等人[21]首次提出了小样本细粒度图像分类,该方法采用双线性特征,通过将样本图像的分类信息进行编码,得到特征向量表示,并在分类器映射模块中将中间图像特征映射到类别级别决策边界。Zhu等人[22]提出了任务学习机来捕捉图像的区分性部分,通过数据分布来调整模型的参数,使得模型仅依赖很少数量的样本就可以获得良好的参数分布。Li等人[6]提出了使用两种相似性度量的方法来学习特征映射,使得模型通过少量样本的学习就能学习到更多的判别性特征,从而显著提高模型的泛化能力。

2 方 法

方法的网络结构如图2所示。首先,图片经过特征提取网络得到特征图,接着通过对称注意力模块来学习一致性的特征表示,赋予支持集样本与查询样本图像中共同出现的区域更高的权重,并抑制背景等无关信息。然后,通道注意力模块利用支持集中类内和类间的特征距离生成任务特定的通道注意力权重,用来挖掘并加权判别性信息。接着加权之后的特征被送入相似性度量模块来计算相似性,本章由全局和局部特征表示来分别计算相似性,充分利用全局特征的类内不变性和局部细节的判别性表示。

图2 DFENet算法框架

2.1 问题定义

一个小样本细粒度图像识别问题通常被形式化为一个“N-way K-shot”的任务,其中,N表示图像类别数,K表示每类包含的训练样本数。在训练和测试过程中,样本被分为支持集S和查询集Q,少样本学习的目标是根据集合S对Q中的每个未标记样本进行分类。由于小样本场景下训练样本的有限性,很难有效地训练一个深度神经网络。因此,通常引入辅助集A来学习可转移知识来提高分类性能。特别地,S和A有自己不同的标签空间,没有交集。

在训练阶段,本研究遵循了小样本方法常用的episode训练机制[23],来学习可转移知识。具体来说,在每次迭代过程中,从辅助集A中随机选择一部分样本作为支持集AS和查询集AQ,来模拟一次小样本细粒度图像识别的新任务。在训练过程中,通过构建多个episode来训练网络模型,充分学习可转移知识。在测试阶段,训练好的模型可以直接用来预测查询图像的类别。

2.2 对称注意力模块

图像中,复杂的背景和较大的类内视觉外观的变化可能会对学习到的图像表示造成影响,导致同一类别图像得到的特征嵌入的距离较远[24]。因此,本研究通过对称的注意力机制来重新对特征表示进行加权,提高查询样本和支持集样本图像中共同出现的区域的权重,减少具有高方差的背景区域以及在两幅图像中不共享的物体部分的权重。通常来说,两幅图像之间的背景差异通常较大,因此,对称注意力机制可以使得网络更加关注前景特征,更有效地减少背景的干扰。具体地,计算查询图像与支持集图像之间的相关性,使用支持集来指导查询集样本,同样,查询样本也反过来指导支持集的样本的特征学习,挖掘图像中共同出现的特征,并生成增强的特征表示。

首先,对于输入图片X,经过特征嵌入模块fφ得到特征图F∈RH×W×C,其中H,W分别表示特征图的高和宽,C表示特征的通道数。接下来,计算支持集样本和查询集样本的相关性得分,生成注意力并分别对查询样本和支持集样本进行加权。以生成查询样本的注意力为例,利用一个查询样本的特征与支持集样本中的特征之间的点积来生成一个相关性分数作为权重值:

Fs'=g(Fs)

(1)

si=Fq·Fs'

(2)

其中,g(·)表示全局平均池化层,Fs和Fq分别表示支持集样本的特征和查询样本的特征,si表示相关性分数。接着将相关性分数经过卷积块得到权重值。

wi=f(si)

(3)

其中,f(·)表示卷积块,由卷积层和激活函数组成。将计算得到的权重作用到特征图上,得到加权之后的查询样本的特征图。对于支持集样本也是同样的操作。通过对称的注意力机制,查询样本可以对支持集样本进行加权,选择支持集样本中与查询样本相关性更高的特征区域,类似地,支持集样本也可以反过来对查询样本进行加权,选择查询样本中与支持集样本相关性更高的特征区域。通过这种方式,相关性更高的区域得到了更高的注意力得分,提高了共享的对象区域的权重,而图像与图像之间共享的区域更多的为前景特征表示,进而增强了判别性的特征表示,减少图像中背景区域的影响。

2.3 通道维度判别性特征增强模块

一些研究中[25-28]指出,一个卷积特征通道通常对应于一种特定类型的视觉模式,例如鸟的喙、翅膀等位置,而有些通道的特征对于分类来说是至关重要的,相反,有些通道的特征对于图像识别来说并不那么重要。因此,本节利用支持集中同类样本内以及不同类样本之间的关系对不同通道进行加权,突出显示不同通道中对于分类任务更重要的判别性区域,并限制对分类作用不大的通道。

首先计算同类样本内的通道关系。对于支持集图像特征图Fs,首先计算类均值,作为当前类的原型,计算公式如下:

(4)

其中,i表示支持集中的第i类样本,K代表每类中的样本数量。接着计算类原型的所有通道的均值,作为该类对应的特征表示,对应的特征表示表示一个显著的对象区域。计算公式如下:

(5)

(6)

其中,cos(·)表示余弦相似度。

本研究同样考虑了不同类别样本之间的通道关系,挖掘任务内特定的判别性特征。例如,一个类别的特征通道与其他类别的类特征表示的相似性较低,那么就代表这个通道所表示的特征与其他的类别是不同的,即当前通道具有更好的区分性,而如果一个通道的特征表示与其他类别的特征十分相似,那么它所表示的特征就是不足够有判别性的。因此,本研究计算了不同类别之间的通道关系,在一次分类任务中去考虑判别性特征,计算公式如下:

(7)

当类间的关系得分越小,表明该特征越具有区分性。接着,将计算得到的两个关系得分通过全连接层转换为权重。

(8)

(9)

其中,f1和f2表示两个不同的全连接块,由全连接层、归一化层和激活函数组成。接着,结合计算出的两个权重,得到第i类支持集样本特定于当前任务的通道权重,由类内和类间两种权重线性组合而成,如下式:

(10)

其中,α为超参数。通道维度的判别性特征增强模块利用支持集样本之间的关系,使类内相似的局部特征变得更加相似,而类间不同的局部特征则更加不同。最终,利用任务特定的权重来生成任务自适应特征映射。

2.4 相似性度量模块

2.4.1 全局相似性模块

全局相似性度量模块使用支持集和查询集样本的全局特征表示来计算相似性。对于支持集样本,每个支持集类中图像的特征表示的平均值作为类原型,表示每个类别的全局结构,以学习类内不变的特征表示。首先,经过两个卷积块(hconv)来学习图像中具有全局表示的通用知识,接着使用一个余弦相似度层(hcos)来度量查询图片与支持集图片的相似度,具体地,相似性得分计算公式如下:

(11)

其中,Xq表示查询图片,n表示支持集中的第n个类别。

2.4.2 局部相似性模块

对于细粒度图像来说,局部的细节特征对于分类来说是至关重要的,而基于局部描述子的特征表示比图像级特征更加丰富,并且局部描述符可以捕获局部细微信息,也可以缓解小样本问题中样本稀缺的问题,因此DFENet同时利用局部描述子来度量相似性。具体地,给定一幅图像的特征向量F∈RH×W×C,可以将其表示为H*W个C维的局部特征描述子,每个局部描述子对应于原图像中的空间局部区域,如下式:

fφ(X)=[x1,x2,…,xm]∈RC×HW

(12)

其中,xi表示第i个深度局部描述子。

对于每个查询样本,可以表示为Lq=fφ(q)∈RC×HW。对于支持集图片,同类中所有图像的所有局部描述符将一起来表示该类样本,记为Ls=fφ(s)∈RC×NKHW。接下来,DFENet选择局部描述子中得分最高的top-k区域,即最具有判别性的局部部分,来计算查询图像Xq和支持集图像Xs的局部相似性得分,如下式:

(13)

(14)

其中,cos(·)表示余弦相似度量。

查询图像对于第n类的总的相似性得分为全局和局部相似性得分的均值。

(15)

特别地,提出的局部分支是非参数化的,由于非参数模型不涉及参数学习,小样本学习方法中的过拟合问题也可以在一定程度上得到缓解。

2.5 损失函数

(16)

(17)

因此,总的损失函数为:

(18)

损失函数进行反向传播,通过最小化损失函数以达到训练网络的目的。

3 实验结果与分析

3.1 数据集和评估指标

该方法在3个广泛使用的细粒度数据集上进行了实验,即CUB-200-2011,Stanford Dogs和Stanford Cars,并与其他先进的方法做出比较。将数据集划分为训练集、验证集和测试集,分别占数据集的50%,25%和25%。

该研究分别在5-way 1-shot和5-way 5-shot任务中进行实验,并使用平均精度作为评价指标,并报告了95%的置信区间。

3.2 实验细节

DFENet利用Conv-64F网络得到特征表示,该网络由4层卷积块组成,每个卷积块由一个3*3的卷积层、一个归一化层和一个激活函数组成,前两个卷积块还在最后添加了最大池化层。在训练过程中,遵循小样本常用的训练方法,即episode训练机制。该文分别在3个经典的细粒度数据集上进行实验,在5-way 1-shot和5-way 5-shot任务中分别训练了600和400个epoch,使用Adam优化器来训练网络,初始学习率为0.001,每100 000个episode衰减一半。在测试阶段,从测试集中随机采样,得到top-1的准确性,并且报告了95%的置信区间。

3.3 与小样本方法的比较

为了验证提出的DFENet方法的有效性,首先与其他经典的小样本学习方法进行了比较,在3个经典的细粒度数据集上对所有的方法进行评估。

如表1所示,DFENet算法在3个数据集上与其他小样本学习方法相比较都取得了显著的提升。具体来说,在CUB-200-2011数据集上,DFENet在5-way 1-shot任务中取得了70.06%的识别率,与第二名相比提高了4.71百分点,在5-way 5-shot方案中,与第二名比较提高了2.45百分点。同样在Stanford Dogs和Stanford Cars数据集上,该方法都取得了最好的效果,特别地,提出的DFENet在1-shot任务中的表现更为出色。产生如此巨大差异的主要原因是该方法是专门针对细粒度图像而设计的,传统的图像识别与细粒度图像识别之间的差异是巨大的,细粒度图像识别需要特征提取网络具有关注局部细节的能力,从而提升识别准确率。

表1 与小样本方法的比较

3.4 与小样本细粒度方法的比较

本节进行了分析实验,如表2所示,以评估本研究与其他五种小样本细粒度识别方法的性能。从表中可以看出,在不同的任务设置中DFENet与其他小样本细粒度识别方法相比仍有较大的优势。例如,在CUB-200-2011数据集上,DFENet在5-way 1-shot任务中高出第二名2.60%,在5-way 5-shot方案中,取得了第二好的效果。在Stanford Dogs数据集上,该方法在两种设置中都取得了最好的效果,分别提升了3.55百分点和1.78百分点。在Stanford Cars数据集上,也分别取得了第一和第二的效果。实验结果验证了所提模块的有效性,并且在多个数据集上表现稳定。特别地,BSNet[6]方法是与文中方法关系最密切的方法,该方法同样采用了两种相似度量方法,与文中方法不同的是,BSNet是在全局特征表示的基础上使用了两种不同的度量方法。如表2所示,DFENet在3个数据集上的结果均好于BSNet,结果的改善主要是由于文中方法同时使用了全局特征和局部特征,既获取到全局不变的特征表示,又能利用隐藏的局部细节。

表2 与小样本细粒度方法的比较

3.5 消融实验

如表3所示,实验进一步验证了DFENet每个部分的有效性。DFENet的一个重要模块是对称注意力,从表3中可以看出,加入对称注意力模块后识别有了明显的提升,在5-way 1-shot和5-way 5-shot任务中分别提高了2.72百分点和0.80百分点。显著的效果提升主要来自于挖掘到了类内一致的特征表示。通过对称的注意力机制对特征表示进行加权,使得查询样本和支持集样本图像中共同出现的区域获得更大的权重,而不共享的部分则获得较低的权重。通过重新加权,可以抑制图像内背景以及类内视觉变化等带来的影响,网络更加关注一致性的前景特征表示,以提升识别的准确率。

表3 消融实验

DFENet在通道维度上进一步挖掘了对于当前分类任务更具有区分性的判别性特征表示。如表3所示,加入了通道维度判别性特征增强模块后,在5-way 1-shot和5-way 5-shot任务中的识别效果分别提升了2.10百分点和1.59百分点,这表明了利用支持集中同类样本内和不同类样本之间通道的相关性对通道进行重加权是十分有效的,可以挖掘到对当前分类任务更加有帮助的判别性特征表示,并抑制了对于分类作用不到的通道特征,从而提升了模型的识别效果。

3.6 可视化结果分析

可视化结果显示了DFENet关注的特征表示,从图3可以看出,相较于其他先进方法,DFENet关注的区域更加集中在判别性的前景特征表示,例如鸟的头部和翅膀,而在背景等无关区域的激活较少。这说明提出的特征增强方法显著提高了模型对于判别性特征的学习能力,挖掘到了细微而又具有区别性的特征表示,突出了原始图像上的局部细节,进而提升模型的识别效果。

图3 可视化结果

4 结束语

提出了一种用于小样本细粒度图像识别的基于判别性特征增强方法(DFENet)。该网络由三个设计的组件组成,一个对称注意力模块、一个挖掘任务间关系的通道注意力模块和一个相似性度量模块。具体来说,对称注意力模块旨在增强查询样本与支持集样本中共有的图像特征,抑制背景等无关信息。通道注意力模块则利用任务中支持集样本内以及不同样本之间的通道特征对支持集样本的通道进行加权,充分特定于任务的判别性特征。而相似度量模块则利用全局和局部特征来探索相似性。大量的实验表明,DFENet在多个数据集上均表现出优于或与先前方法有竞争性的结果。

猜你喜欢

细粒度图像识别相似性
融合判别性与细粒度特征的抗遮挡红外目标跟踪算法
一类上三角算子矩阵的相似性与酉相似性
细粒度的流计算执行效率优化方法
浅析当代中西方绘画的相似性
基于Resnet-50的猫狗图像识别
高速公路图像识别技术应用探讨
图像识别在物联网上的应用
图像识别在水质检测中的应用
基于双线性卷积网络的细粒度图像定位
支持细粒度权限控制且可搜索的PHR云服务系统