一种基于小样本的图像识别方法、装置、设备及存储介质与流程

文档序号:17994205发布日期:2019-06-22 01:03阅读:305来源:国知局
一种基于小样本的图像识别方法、装置、设备及存储介质与流程

本发明涉及图像识别技术领域,尤其涉及一种基于小样本的图像识别方法、装置、设备及存储介质。



背景技术:

近年来,神经网络在许多实际任务中都取得了巨大成功,甚至在一些识别任务上(如imagenet)性能已经超过人类,但这主要得益于成千上万的网络参数、大量的标注数据和精巧的训练策略。在认知能力上,神经网络还远未达到人类水平,特别是在小样本(例如10个左右的样本)场景下,人类能够高效地从极少数样本中学习到新概念并灵活运用,而神经网络却无法很好地处理这种情形。因此如何提升神经网络在小样本场景下的识别性能是图像识别领域最具应用价值的问题之一。

当前,已有一些小样本的识别方法,第一种方法是基于度量学习的小样本识别方法,该方法通过学习一个全局的特征提取器来直接比较样本之间的相似性,;第二种方法是基于微调的小样本识别方法,该方法中根据每一个任务对神经网络的初始化参数或者梯度更新方向等进行调整来提取更精确的特征;第三种方法是基于数据增强的小样本识别方法,除了对原始数据进行传统的增强(翻转、模糊和改变光照等)之外,还通过特征层面的增强技术来提升小样本识别性能。然而,第一种方法中没有考虑到每个任务中的特定信息,也就是任务与任务之间的差异;第二种方法中则没有第一中方法的简便性,而且神经网络的训练非常困难;而第三种方法中,则需要设计精巧的增强策略,而且需要较多的人为干预。

可见,如何在小样本场景下对图像高效识别,仍是一个需要解决的问题。



技术实现要素:

本发明的主要目的在于提出一种基于小样本的图像识别方法、装置、设备及存储介质,旨在至少在第一程度上解决上述技术问题中的技术问题之一。

为实现上述目的,本发明第一方面提供一种基于小样本的图像识别方法,所述图像识别方法包括以下步骤:

根据第一大样本图像集构建小样本的第一任务序列,每个第一任务包括带类别标签的第一支持集和不带类别标签的第一检索集;

采用神经网络提取所述第一支持集中各图像样本的第一样本特征;

根据所述第一样本特征和所述类别标签,自适应地学习相应第一任务的度量矩阵;

采用所述度量矩阵对相应第一检索集中的图像样本进行识别。

优选地,所述第一大样本图像集包括多个类别的图像样本,每个类别的图像样本中含有带类别标签的样本和不带类别标签的待识别图像样本;

所述根据第一大样本图像集构建小样本的第一任务序列,包括:

在大样本图像集中无放回的随机抽取第一预设数量个类别的图像样本;

分别在每个类别的图像样本中不放回的随机抽取第二预设数量的带类别标签的图像样本,作为第一支持集;

分别在当前的每个类别的图像样本中不放回的抽取第三预设数量的不带类别标签的图像样本,作为第一检索集;

将所述第一支持集与所述第一检索集对应,作为一个第一任务;

重复上述操作,直至得到第四预设数量的第一任务,构成第一任务序列。

优选地,方法还包括:采用所述神经网络提取所述第一检索集中各图像样本的第一样本特征;

相应的,所述根据所述第一样本特征和所述类别标签,自适应地学习相应第一任务的度量矩阵,包括:

根据所述第一支持集中各图像样本的第一样本特征和所述类别标签,分别对相应第一支持集中的各类别的样本进行聚合,得到所述各类别的图像样本的类别原型;

根据每个第一任务对应的类别原型和第一支持集中各图像样本的第一样本特征,构建所述每个第一任务的边约束损失函数;

根据每个第一任务的预设的正则化先验度量,构建每个第一任务的正则化损失函数;

根据每个第一任务的边约束损失函数和正则化损失函数,计算每个第一任务的自适应度量;

根据每个第一任务中所有图像样本的第一样本特征,计算每个第一任务的协方差矩阵;

根据每个第一任务的所述自适应度量和所述协方差矩阵,生成每个第一任务的度量矩阵。

优选地,所述根据每个第一任务对应的所述类别原型和第一支持集中各图像样本的第一样本特征,构建所述每个第一任务的边约束损失函数,包括:

根据每个第一任务对应的所述类别原型和第一支持集中各图像样本的第一样本特征,构建所述类别原型的相似性约束集合和不相似性约束集合;

对每个第一任务对应的所述相似性约束集合和所述不相似性约束集合求解凸优化问题,得到每个第一任务的边约束损失函数。

优选地,所述根据每个第一任务对应的所述类别原型和第一支持集中各图像样本的第一样本特征,构建所述类别原型的相似性约束集合和不相似性约束集合,包括:

分别确定每个第一任务的第一检索集中,与相应第一任务对应的各类别原型最相似的第五预设数量的图像样本;

采用所述神经网络提取所述第二预设数量的图像样本的第二样本特征;

将所述第二样本特征与相应第一支持集中相应类别的图像样本的第一样本特征,作为相应类别原型的相似样本,得到所述相应类别原型的相似性约束集合;

分别将每个第一任务对应的任一类别原型作为当前类别原型,并将相应第一任务对应的除所述当前类别原型外的其他类别原型,作为所述当前类别原型的不相似样本,得到所述当前类别原型的不相似性约束集合。

优选地,所述根据每个第一任务的预设的正则化先验度量,构建每个第一任务的正则化损失函数,包括:

采用布雷格曼散度,约束所述正则化先验度量;

最小化每个第一任务的自适应度量和所述正则化先验度量之间的距离,得到每个第一任务的正则化损失函数。

优选地,所述采用所述度量矩阵对相应第一检索集中的图像样本进行识别,包括:

分解所述度量矩阵,得到相应第一任务的转换矩阵;

根据所述转换矩阵,对相应第一任务的第一检索集中的所有样本进行特征空间转换,得到新的样本特征;

根据所述新的样本特征,计算相应样本属于相应第一任务对应的各类别原型的概率,作为正向相似度;

根据所述新的样本特征,计算每个第一任务对应的各类别原型对相应第一任务中所有样本的关注程度,作为反向相似度;

根据所述正向相似度和所述反向相似度,生成相应第一任务的相似性矩阵;

根据所述相似性矩阵,确定相应第一检索集中各图像样本的类别。

优选地,方法还包括:训练所述神经网络。

优选地,所述训练所述神经网络,包括:

根据带类别标签的第二大样本图像集构建小样本的第二任务序列,所述第二任务包括第二支持集和第二检索集;

训练所述第二支持集,得到初始神经网络;

采用所述初始神经网络,提取所述第二支持集中各图像样本的第三样本特征;

根据所述第三样本特征和所述类别标签,自适应地学习相应第二任务的度量矩阵;

采用所述第二任务的度量矩阵对相应第二检索集中的图像样本进行识别;

根据识别结果计算损失值,将所述损失值反向传播给所述初始神经网络,对所述初始神经网络进行优化,直至得到稳定的神经网络。

优选地,所述训练所述第二支持集,得到初始神经网络,包括:

分别对每个第二支持集进行增广操作,得到第三支持集;

根据预设的起始时间步和时间步间隔,交替训练所述第二支持集和所述第三支持集,得到初始神经网络。

优选地,所述分别对每个第二支持集进行增广操作,得到相应的第三支持集,包括:

在每个所述第二支持集中随机选取一个图像样本作为第一样本、随机选取另一个图像样本作为第二样本;

根据所述第一样本和所述第二样本,生成组合样本;

重复上述操作预设次数,并将得到的各组合样本与相应的第二支持集中的各样本构成相应的第三支持集。

此外,为实现上述目的,本发明第二方面提供一种基于小样本的图像识别装置,包括:

第一构建模块,用于根据第一大样本图像集构建小样本的第一任务序列,每个第一任务包括带类别标签的第一支持集和不带类别标签的第一检索集;

提取模块,用于采用神经网络提取所述第一支持集中各图像样本的第一样本特征;

自适应学习模块,用于根据所述第一样本特征和所述类别标签,自适应地学习相应第一任务的度量矩阵;

识别模块,用于采用所述度量矩阵对相应第一检索集中的图像样本进行识别。

此外,为实现上述目的,本发明第三方面提供一种设备,包括:存储器和处理器;

所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现如本发明第一方面所述的方法。

此外,为实现上述目的,本发明第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如本发明第一方面所述的方法。

本发明的技术方案中,通过构建任务序列,采用预先训练的神经网络提取样本特征,并基于提取的样本特征为每个任务自适应地学习相应的度量矩阵,使得原本在任务间全局共享特征空间中无法区分的图像样本在新的任务特定特征空间中变得易于区分,提升了图像识别性能;同时,在识别过程中,通过双向相似度计算策略,使的待识别的图像样本与类别原型之间的相似度更加准确,提升了识别的准确率;再者,在神经网络的训练过程中,通过元学习框架下的任务级别的数据增广策略和基于时间步的神经网络训练方式,提高了神经网络模型的泛化性能,使其在小样本场景下具备了快速适应新任务的能力,为小样本场景下的图像识别提供了保障。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

附图1为本申请一个实施例提供的一种基于小样本的图像识别方法流程图;

附图2为本申请一个实施例提供的步骤s11的细化流程图;

附图3为本申请一个实施例提供的步骤s13的细化流程图;

附图4为本申请一个实施例提供的步骤s14的细化流程图;

附图5为本申请一个实施例提供的神经网络的训练方法流程图;

附图6为本申请一个实施例提供的训练神经网络的示意图;

附图7为本申请一个实施例提供的样本特征空间转换的示意图;

附图8为本申请一个实施例提供的样本随α的变化的示意图;

附图9为本申请一个实施例提供的一种基于小样本的图像识别装置框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1为本发明实施例提供的一种基于小样本的图像识别方法的流程示意图;如图1所示,所述方法包括以下步骤:

步骤s11:根据第一大样本图像集构建小样本的第一任务序列,每个第一任务包括带类别标签的第一支持集和不带类别标签的第一检索集;

在本实施例中,第一大样本图像集包括多个类别的图像样本,每个类别的图像样本中含有带类别标签的图像样本及不带类别标签的待识别图像样本;其中,带类别标签的图像样本可以预先给定,在对待识别图像样本进行识别时,与所述待识别图像样本构成第一大样本图像集。

在本申请的一个实施例中,如图2所示,步骤s11中根据第一大样本图像集构建小样本的第一任务序列,包括:

步骤a1:在大样本图像集中无放回的随机抽取第一预设数量个类别的图像样本;

其中,第一预设数量在实际应用中,可以根据需求自行设定;将第一预设数量记为n,例如,n=6,且每个类别有100个图像样本。

步骤a2:分别在每个类别的图像样本中不放回的随机抽取第二预设数量的带类别标签的图像样本,作为第一支持集;

其中,将第二预设数量记为k,则有0<k<10,相应的,每个第一支持集中样本的总个数为n*k;例如,k=5分别在每个类别的图像样本中抽取5个图像样本,作为第一支持集,则第一支持集中含有5*6=30个图像样本。

步骤a3:分别在当前的每个类别的图像样本中不放回的抽取第三预设数量的不带类别标签的图像样本,作为第一检索集;

其中,将第三预设数量记为w,则有5<w<20,相应的,每个第一检索集中样本的总个数为n*w;例如,w=12,分别在当前每个类别剩余的95个图像样本中抽取12个图像样本,作为第一检索集,则第一检索集中含有12*6=72个图像样本。

步骤a4:将第一支持集与第一检索集对应,作为一个第一任务;

步骤a5:重复上述操作,直至得到第四预设数量的第一任务,构成第一任务序列。

其中,第四预设数量可以在实际应用中,根据需求自行设定,例如为500个;本实施例中,每个第一任务之间独立分布,第一任务序列的示意图,如图2所示。

需要指出的,本申请中的大样本是指图像集中样本的数量在百量级及以上,例如500个或以上;小样本是指每个第一任务中各类别的样本的数量在10个左右,以实现小样本场景下的图像识别。

步骤s12:采用神经网络提取每个第一支持集中各图像样本的第一样本特征;

具体的,将每个第一支持集中的各图像样本输入神经网络,在神经网络中提取各图像样本的第一样本特征;其中,申请网络优选为深度神经网络。

步骤s13:根据提取的第一样本特征和各图像样本的类别标签,自适应地学习相应第一任务的度量矩阵;

在本申请的一个实施例中,方法还包括:采用神经网络提取所述第一检索集中各图像样本的第一样本特征;

相应的,如图3所示,步骤s13包括:

步骤b1:根据第一支持集中各图像样本的第一样本特征和各图像样本的类别标签,分别对相应第一支持集中的各类别的图像样本进行聚合,得到所述各类别的图像样本的类别原型;

具体的,根据第一支持集中各图像样本的类别标签,确定各图像样本的类别;根据各类别中所有图像样本的第一样本特征,计算均值向量,并作为相应类别的图像样本的类别原型;更加具体的,根据以下公式一计算均值向量:

公式一:其中,k是当前类别中图像样本的个数,xi是当前类别中第i个样本的第一样本特征,cn为第n个类别的类别原型,1≤n≤n。

步骤b2:根据每个第一任务对应的类别原型和第一支持集中各图像样本的第一样本特征,构建每个第一任务的边约束损失函数;

在本申请的一个实施例中,步骤b2包括:

步骤b2-1:根据每个第一任务对应的类别原型和第一支持集中各图像样本的第一样本特征,构建各类别原型的相似性约束集合和不相似性约束集合;

在本申请的一个实施例中,步骤b2-1包括:

步骤b2-1-1:分别确定每个第一任务的第一检索集中,与相应第一任务对应的各类别原型最相似的第五预设数量的图像样本;

其中,第五预设数量可以在实际应用中,根据需求自行设定;

本实施例中,将第一任务顺序编号,并以第五预设数量为5、任务1为例进行说明,具体的,分别计算任务1对应的n个类别原型与任务1的第一检索集中的n*w个图像样本之间的距离,得到每个类别原型对应的n*w个距离,对所述n*w个距离升序或降序排序,将相应的前或后5个距离对应的图像样本作为与相应类别原型最相似的图像样本。

步骤b2-1-2:采用神经网络提取所述第二预设数量的图像样本的第二样本特征;

步骤b2-1-3:将第二样本特征与相应的第一支持集中相应类别的各图像样本的第一样本特征,作为相应类别原型的相似样本,得到相应类别原型的相似性约束集合;

例如,第二样本特征是与任务1的第一支持集中第一个类别的类别原型c1最相似的图像样本的样本特征,则将第二样本特征与所述第一个类别中各图像样本的第一样本特征,作为类别原型c1的相似样本,该相似样本构成类别原型c1的相似性约束集合。

步骤b2-1-4:分别将每个第一任务对应的任一类别原型作为当前类别原型,并将相应第一任务对应的除所述当前类别原型外的其他类别原型,作为所述当前类别原型的不相似样本,得到所述当前类别原型的不相似性约束集合。

例如,将任务1对应的类别原型c2作为当前类别原型,将任务1对应的类别原型c1、c3、c4…cn,作为类别原型c2的不相似样本,该不相似样本构成类别原型c2的不相似性约束集合。

步骤b2-2:对每个第一任务对应的各相似性约束集合和各不相似性约束集合求解凸优化问题,得到每个第一任务的边约束损失函数。

具体地,分别将每个第一任务对应的各相似性约束集合和各不相似性约束集合均作为输入数据,并分别记为s和d,求解以下凸优化问题:

其中,xsi和xsj是s中的任意两个样本的第一样本特征,xdi和xdj是d中的任意两个样本的第一样本特征,s.t.表示满足,|s|表示s中样本的个数,|d|表示d中样本的个数,m为需要求得的自适应度量,其具体为一个矩阵;

化简上述凸优化问题可得以下公式二,即边约束损失函数:

公式二:c(m|s°,d°)=tr(m·s°)-γ·tr(m·d°),其中,tr(·)表示矩阵的迹,γ为超参数,c表示边约束损失函数,s°和d°分别通过以下公式三和公式四求得;

公式三:其中,t表示矩阵的转置

公式四:其中,t表示矩阵的转置。

步骤b3:根据每个第一任务的预设的正则化先验度量,构建每个第一任务的正则化损失函数;

具体的,分别采用布雷格曼散度,约束所述正则化先验度量;最小化每个第一任务的自适应度量和正则化先验度量之间的距离,得到每个第一任务的正则化损失函数。优选的,通过选择强凸,连续可微分的负对数行列式函数作为散度函数来最小化每个第一任务的自适应度量和正则化先验度量之间的距离,即:

其中,m为自适应度量,mp为正则化先验度量,mp是一个矩阵,为超参数,表示求导,表示自适应度量和正则化先验度量之间的距离,也即正则化损失函数,logdet表示矩阵的对数行列式的值;化简上式可得正则化损失函数为:

其中,是矩阵mp的逆,tr(·)表示矩阵的迹。

步骤b4:根据每个第一任务的边约束损失函数和正则化损失函数,计算每个第一任务的自适应度量;

具体的,根据以下公式五生成每个第一任务的自适应度量损失函数;

公式七:其中,l表示自适应度量损失函数;

化简公式七可得:其中,β和γ为超参数,m*为求得的m的最优解,即自适应度量。

步骤b5:根据每个第一任务中所有图像样本的第一样本特征,计算每个第一任务的协方差矩阵;

具体的,分别根据以下公式六计算每个第一任务中第一支持集与第一检索集中所有图像样本的均值向量,并根据以下公式七对均值向量计算,得到每个第一任务的协方差矩阵;

公式六:其中,1≤iq≤e,e为第一任务中样本的总数,即e=n*k+n*w,为均值向量,xiq为第一任务中第iq个样本的第一样本特征;

公式七:其中,t表示矩阵的转置,m∑为求得的协方差矩阵。

步骤b6:根据每个第一任务的自适应度量和协方差矩阵,计算每个第一任务的度量矩阵。

具体的,根据以下公式八计算每个第一任务的度量矩阵;

公式八:其中,∈为超参数,mfinal为度量矩阵。

本实施例中,通过为每个任务自适应地学习相应的度量矩阵,以在后续图像识别过程中,对相应任务中的待识别图像样本进行空间转换,使得原本在任务间共享特征空间中无法区分的图像样本在新的任务特定特征空间中变得易于区分,提升图像的识别性能。

步骤s14:采用度量矩阵对相应第一检索集中的图像样本进行识别。

在本申请的一个实施例中,如图4所示,步骤s14包括:

步骤s14-1:分解度量矩阵,得到相应第一任务的转换矩阵;

具体的,对mfinal做矩阵分解得到mfinal=ltl,其中l为转换矩阵。

步骤s14-2:根据转换矩阵,对相应第一任务的第一检索集中的所有样本进行特征空间转换,得到新的样本特征;

具体的,根据以下公式九将样本从任务间的全局共享特征空间转换到任务特定特征空间;

公式九:

其中,xi和xj分别为同一任务的第一检索集中不同样本的第一样本特征,表示在度量mfinal下第一样本特征xi和xj之间的距离。

化简公式九可得,xinew=l·xi,其中,xinew为新的样本特征。

步骤s14-3:根据新的样本特征,计算相应样本属于相应第一任务对应的各类别原型的概率,作为正向相似度;

具体的,采用马氏距离的softmax函数计算正向相似度,计算公式为以下公式十;

公式十:其中,si→n表示第i个新的样本属于第n个类别原型的概率,cn为第n个类别的类别原型。

步骤s14-4:根据新的样本特征,计算每个第一任务对应的各类别原型对相应第一任务中所有样本的关注程度,作为反向相似度;

具体的,采用马氏距离的softmax函数计算反向相似度,计算公式为以下公式十一;

公式十一:其中,sn→i表示第n个类别原型对第i个样本的关注程度,k为新的样本特征的个数。

步骤s14-5:根据正向相似度和反向相似度,生成相应第一任务的相似性矩阵;

具体的,通过以下公式十二,根据正向相似度和反向相似度,计算相应第一任务的相似性矩阵;

公式十二:

其中,相似性矩阵具体为nw*n维,n是相应第一任务的检索集中样本类别的个数,w是相应第一任务的检索集中每个类别的图像样本的个数。

步骤s14-6:根据相似性矩阵,确定相应第一检索集中各图像样本的类别。

在本实施例中,每个相似性矩阵的每一行对应相应第一检索集中的一个图像样本,且每一行中的元素为相似度从大至小的排列,即每一行的第一个元素对应的类别为识别的相应图像样本的类别。

本实施例中,通过双向相似度计算策略,使得待识别的图像样本与类别原型之间的相似度更加准确,提升了图像识别的准确率。

基于上述任一实施例,方法还包括:训练神经网络。

在本申请的一个实施例中,如图5所示,训练神经网络包括:

步骤c1:根据带类别标签的第二大样本图像集构建小样本的第二任务序列,第二任务包括第二支持集和第二检索集;

其中,构建小样本的第二任务序列的过程,与前述构建小样本的第一任务序列的过程相似,区别在于本步骤中的图像样本均带有类别标签,即分别在抽取的每个类别的图像样本中,不放回的抽取带类别标签的图像样本作为第二支持集和第二检索集。

步骤c2:训练各第二支持集,得到初始神经网络;

步骤c3:采用初始神经网络,提取各第二支持集中各图像样本的第三样本特征;

步骤c4:根据第三样本特征和样本的类别标签,自适应地学习相应第二任务的度量矩阵;

该步骤的实现方法与前述步骤s13的实现方法相同,在此不再赘述。

步骤c5:采用第二任务的度量矩阵对相应第二检索集中的图像样本进行识别;

其中,采用第二任务的度量矩阵对相应第二检索集中的图像样本进行识别的过程,与前述步骤s14的实现方法相同,在此不再赘述。

为进一步体现本申请中神经网络的训练过程,其整体示意图可参见图6,其中的样本进行特征空间转换的示意图可参见图7。进一步的,如图6所示,第二任务序列包括t个第二任务(图中简称任务),相似性矩阵1为不经过双向相似度计算得到的识别结果,相似性矩阵2是通过双向相似度计算得到的识别结果,可明显的看出,经过双向相似度计算得到的识别结果更准确。

步骤c6:根据识别结果计算损失值,并将损失值反向传播给初始神经网络,对初始神经网络进行优化,直至得到稳定的神经网络。

本实施例中,由于第二检索集中的图像样本均带有类别标签,因而能够检验基于当前的初始神经网络提取样本特征后,根据该样本特征对图像的识别结果是否准确,并通过计算损失值,将损失值反向传播给神经网络,以对神经网络进行优化,最终得到稳定的、有效的神经网络,为后续小样本场景下的图像识别提供保障。

在本申请的一个实施例中,步骤c2包括:

步骤c2-1:分别对每个第二支持集进行增广操作,得到第三支持集;

在本申请的一个实施例中,步骤c2-1包括:

步骤c2-1-1:在每个第二支持集中随机选取一个图像样本作为第一样本、随机选取另一个图像样本作为第二样本;

其中,将第一样本记为(xi,yi),将第二样本记为(xj,yj)。

步骤c2-1-2:根据第一样本和第二样本,生成组合样本;

具体的,根据第一样本和第二样本,生成三元组;在预设的均匀分布中随机选取组合系数,采用所述组合系数,对三元组进行线性组合,得到组合样本;

更加具体的,在本实施例中,生成的三元组具体为(xi,xj,yi),在预设的均匀分布u(l,h)中,随机选取组合系数α,且0.5≤α≤1.0,并根据以下公式采用组合系数,对三元组进行线性组合,得到组合样本:

进一步的,α取不同值时,样本的不同可参见图8。

步骤c2-1-3:重复上述操作预设次数,并将得到的各组合样本与相应的第二支持集中的各样本构成相应的第三支持集。

其中,预设次数可以在实际应用中,根据需要自行设定;将预设次数记为r,相应的,在重复上述操作r次后,相应的第三支持集中的样本数量为n*k*r。

步骤c2-2:根据预设的起始时间步和时间步间隔,交替训练第二支持集和第三支持集,得到初始神经网络。

在本申请的一个实施例中,步骤c2-2包括:

步骤c2-2-1:训练第二支持集,并记录当前的时间步;

步骤c2-2-2:判断当前的时间步是否小于起始时间步,是则继续训练第二支持集;否则执行步骤c2-2-3;

步骤c2-2-3:判断当前的时间步是否能够整除预设的时间步间隔,是则训练第二支持集,更新当前的时间步,执行步骤c2-2-3;否则训练第三支持集,更新当前的时间步,执行步骤c2-2-3;

步骤c2-2-4:判断当前的神经网络输出的泛化误差是否到达预设范围,是则停止训练,得到初始神经网络;否则执行步骤c2-2-5;

步骤c2-2-5:判断当前的时间步是否到达时间步阈值,是则停止训练,得到初始神经网络;否则更新当前的时间步,返回步骤c2-2-3。

例如,初始时间步为3,时间步间隔为4,则在第一个时间步和第二时间步时,训练第二支持集;在第三个时间步时,开始训练第三支持集,并在第七个时间步时,训练第二支持集;

本实施例中,通过元学习框架下的任务级别的数据增广策略和基于时间步的神经网络训练方式,提高了神经网络模型的泛化性能,使其在小样本场景下具备了快速适应新任务的能力,为小样本场景下的图像识别提供了保障。

为进一步体现本申请中神经网络的训练过程,

在本申请的一个实施例中,步骤c5中计算损失值,包括:基于第二支持集和第三支持集,采用以下公式计算损失值;

其中,θ表示神经网络,p是第二大样本数据集,ds为任务序列,tim(ds)为增广操作后的任务序列,logpθ(y=n|x)是样本(x,y)属于类别n的概率。

由此,通过构建任务序列,采用预先训练的神经网络提取样本特征,并基于提取的样本特征为每个任务自适应地学习相应的度量矩阵,使得原本在任务间共享特征空间中无法区分的图像样本在新的任务特定特征空间中变得易于区分,提升了图像识别性能;同时,通过双向相似度计算策略,使的待识别的图像样本与类别原型之间的相似度更加准确,提升了识别的准确率;再者,在神经网络的训练过程中,通过元学习框架下的任务级别的数据增广策略和基于时间步的神经网络训练方式,提高了神经网络模型的泛化性能,使其在小样本场景下具备了快速适应新任务的能力,为小样本场景下的图像识别提供了保障。

以上是本申请实施例提供的一种基于小样本的图像识别方法,与上述方法相对应的,本发明还提供一种基于小样本的图像识别装置,由于所述装置解决问题的实现方案与上述方法相似,因此与方法部分相应的内容,可以参考上述方法实施例的详细描述,后续不做赘述。可以理解的是,本申请提供的装置可以包括能够执行上述方法示例中各个步骤的单元或模块,这些单元或模块可以通过硬件、软件或软硬结合的方式来实现,本发明并不限定。下面结合图9做具体描述;

具体的,如图9所示,本申请实施例提供的小样本场景下的图像识别装置包括:

第一构建模块21,用于根据第一大样本图像集构建小样本的第一任务序列,每个第一任务包括带类别标签的第一支持集和不带类别标签的第一检索集;

提取模块22,用于采用神经网络提取所述第一支持集中各图像样本的第一样本特征;

自适应学习模块23,用于根据第一样本特征和样本的类别标签,自适应地学习相应第一任务的度量矩阵;

识别模块24,用于采用度量矩阵对相应第一检索集中的图像样本进行识别。

其中,第一大样本图像集包括多个类别的图像样本,每个类别的图像样本中含有带类别标签的样本和不带类别标签的待识别图像样本。

在本申请的一个实施例中,第一构建模块21具体用于:

在大样本图像集中无放回的随机抽取第一预设数量个类别的图像样本;

分别在每个类别的图像样本中不放回的随机抽取第二预设数量的带类别标签的图像样本,作为第一支持集;

分别在当前的每个类别的图像样本中不放回的抽取第三预设数量的不带类别标签的图像样本,作为第一检索集;

将所述第一支持集与所述第一检索集对应,作为一个第一任务;

重复上述操作,直至得到第四预设数量的第一任务,构成第一任务序列。

在本申请的一个实施例中,提取模块22还用于采用所述神经网络提取所述第一检索集中各图像样本的第一样本特征;

在本申请的一个实施例中,自适应学习模块23包括:

聚合子模块,用于根据所述第一支持集中各图像样本的第一样本特征和样本的类别标签,分别对相应第一支持集中的各类别的样本进行聚合,得到所述各类别的图像样本的类别原型;

第一构建子模块,用于根据每个第一任务对应的所述类别原型和第一支持集中各图像样本的第一样本特征,构建所述每个第一任务的边约束损失函数;

第二构建子模块,用于根据每个第一任务的预设的正则化先验度量,构建每个第一任务的正则化损失函数;

第一计算子模块,用于根据每个第一任务的边约束损失函数和正则化损失函数,计算每个第一任务的自适应度量;

第二计算子模块,用于根据每个第一任务中所有图像样本的第一样本特征,计算每个第一任务的协方差矩阵;

第三计算子模块,用于根据每个第一任务的所述自适应度量和所述协方差矩阵,生成每个第一任务的度量矩阵。

在本申请的一个实施例中,第一构建子模块包括:

构建单元,用于根据每个第一任务对应的所述类别原型和第一支持集中各图像样本的第一样本特征,构建所述类别原型的相似性约束集合和不相似性约束集合;

计算单元,用于对每个第一任务对应的所述相似性约束集合和所述不相似性约束集合求解凸优化问题,得到每个第一任务的边约束损失函数。

在本申请的一个实施例中,构建单元具体用于:

分别确定每个第一任务的第一检索集中,与相应第一任务对应的各类别原型最相似的第五预设数量的图像样本;

采用所述神经网络提取所述第二预设数量的图像样本的第二样本特征;

将所述第二样本特征与相应类别中图像样本的第一样本特征,作为相应类别原型的相似样本,得到所述相应类别原型的相似性约束集合;

分别将每个第一任务对应的任一类别原型作为当前类别原型,并将相应第一任务对应的除所述当前类别原型外的其他类别原型,作为所述当前类别原型的不相似样本,得到所述当前类别原型的不相似性约束集合。

在本申请的一个实施例中,第二构建子模块具体用于:

采用布雷格曼散度,约束所述正则化先验度量;

最小化每个第一任务的自适应度量和所述正则化先验度量之间的距离,得到每个第一任务的正则化损失函数。

在本申请的一个实施例中,识别模块24具体用于:

分解所述度量矩阵,得到相应第一任务的转换矩阵;

根据所述转换矩阵,对相应第一任务的第一检索集中的所有样本进行特征空间转换,得到新的样本特征;

根据所述新的样本特征,计算相应样本属于相应第一任务对应的各类别原型的概率,作为正向相似度;

根据所述新的样本特征,计算每个第一任务对应的各类别原型对相应第一任务中所有样本的关注程度,作为反向相似度;

根据所述正向相似度和所述反向相似度,生成相应第一任务的相似性矩阵;

根据所述相似性矩阵,确定相应第一检索集中各图像样本的类别。

在本申请的一个实施例中,装置还包括:训练模块;

训练模块,用于训练所述神经网络。

在本申请的一个实施例中,训练模块包括:

第二构建子模块,用于根据第二大样本图像集构建小样本的第二任务序列,所述第二任务包括已知类别标签的第二支持集和未知类别标签的第二检索集;

训练子模块,用于训练所述第二支持集,得到初始神经网络;

提取子模块,用于采用所述初始神经网络,提取所述第二支持集中各图像样本的第三样本特征;

学习子模块,用于根据所述第三样本特征和所述类别标签,自适应地学习相应第二任务的度量矩阵;

识别子模块,用于采用所述第二任务的度量矩阵对相应第二检索集中的图像样本进行识别;

优化子模块,用于根据识别结果计算损失值,将所述损失值反向传播给所述初始神经网络,对所述初始神经网络进行优化,直至得到稳定的神经网络。

在本申请的一个实施例中,训练子模块包括:

增广单元,用于分别对每个第二支持集进行增广操作,得到第三支持集;

训练单元,用于根据预设的起始时间步和时间步间隔,交替训练所述第二支持集和所述第三支持集,得到初始神经网络。

在本申请的一个实施例中,增广单元具体用于:

在每个所述第二支持集中随机选取一个图像样本作为第一样本、随机选取另一个图像样本作为第二样本;

根据所述第一样本和所述第二样本,生成组合样本;

重复上述操作预设次数,并将得到的各组合样本与相应的第二支持集中的各样本构成相应的第三支持集。

本申请实施例提供的小样本场景下的图像识别装置,与本发明前述实施例提供的小样本场景下的图像识别方法出于相同的发明构思,具有相同的有益效果。

为实现上述实施例,本申请实施例还提供一种设备,包括:存储器和处理器;所述存储器上存储有计算机程序,在所述计算机程序被所述处理器执行时,实现前述任一实施例所述的基于小样本的图像识别方法。

为实现上述实施例,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现前述任一实施例所述的基于小样本的图像识别方法。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1