基于少样本学习的图像分类方法

文档序号:37039204发布日期:2024-02-20 20:32阅读:18来源:国知局
基于少样本学习的图像分类方法

本发明属于图像处理领域,具体涉及一种基于少样本学习的图像分类方法。


背景技术:

1、图像分类技术在人们的生产和生活中发挥着重要作用,比如人脸识别,自动整理相册和判断动植物种类等。因此,图像分类方案的精确性和可靠性就显得尤为重要。

2、目前,在传统的图像分类方案中,方案均需要大量的标记样本来进行图像分类模型的训练,以便图像分类模型能够学会识别不同的图像类别。但是在现实世界中,获取大量的具有分类标记的样本的工作,成本十分高昂且困难较大,尤其是针对特定领域或罕见类别的图像领域。因此,基于少样本学习的图像分类方案,就成为了研究人员的研究重点之一。

3、在少样本学习中,图像分类模型首先要在一个庞大的,包含数十万张图像的数据集上进行训练,获得基础的图像特征提取能力;接着,在一个全新的数据集上,只学习每个类别的少量图像,从而实现对新的数据集的准确分类。但同一类别的不同图像之间存在数据分布上的偏差,这种偏差称为支持-查询偏移问题(support-query shift problem);这种问题会使得图像分类模型无法很好地掌握新数据集中不同类别图像的泛用的特征与知识,从而影响图像分类模型的性能。

4、目前,主流的基于少样本学习的图像分类方案,都是基于元学习的方案。元学习过程通常包括两个阶段:元训练阶段和元测试阶段;在元训练阶段,图像分类模型会学习一个庞大数据集中的少部分图像,来模拟少样本的场景,旨在利用预训练阶段学习到的可迁移知识,快速适应全新的场景和任务;而在元测试阶段,图像分类模型则是利用庞大数据集中未被用于元训练的图像,检验模型在新任务上的表现与能力。

5、但是,现阶段的采用元学习方案的基于少样本学习的图像分类方案,并不能较好的解决少样本学习过程中的支持-查询偏移问题,而且其训练过程也存在一些问题;这使得现有的基于少样本学习的图像分类方案,其可靠性较差,而且精确性也较差。


技术实现思路

1、本发明的目的在于提供一种能够解决支持-查询偏移问题,而且可靠性高、精确性好的基于少样本学习的图像分类方法。

2、本发明提供的这种基于少样本学习的图像分类方法,包括如下步骤:

3、s1. 获取现有的训练数据集;

4、s2. 基于特征提取器和第一分类器,构建分类任务模型;所述特征提取器用于提取输入图像的特征,第一分类器用于根据提取的特征对输入图像进行分类;

5、s3. 采用步骤s1获取的训练数据集,设定损失函数,并对步骤s2构建的分类任务模型进行训练,并将训练后的模型作为初始的教师模型;

6、s4. 构建结构与当前的教师模型相同的学生模型,并对学生模型的参数进行随机初始化;采用步骤s1获取的训练数据集,基于步骤s3设定的损失函数和学生模型与教师模型之间的结构损失函数,对学生模型进行训练,并将训练后的学生模型作为当前的教师模型;

7、s5. 重复步骤s4直至设定的次数;获取最后一次训练得到的学生模型中的特征提取器;

8、s6. 再次获取现有的训练数据集;

9、s7. 构建包括特征处理器、特征修正器、任务适配器和步骤s5得到的特征提取器的图像分类初始模型;其中特征提取器用于提取输入图像的特征,特征处理器用于将提取到的特征进行预处理,任务适配器用于图像分类初始模型的训练,特征修正器用于对输入的预处理特征进行修复并输出最终分类结果;

10、s8. 采用步骤s6得到的训练数据集,对步骤s7构建的图像分类初始模型进行训练,得到的图像分类终端模型;

11、s9. 对步骤s8得到的图像分类终端模型进行修剪,得到图像分类模型,并采用得到的图像分类模型进行基于少样本学习的图像分类。

12、所述的步骤s2,具体包括如下步骤:

13、分类任务模型包括串接的特征提取器和第一分类器;

14、特征提取器采用resnet12网络,包括依次串接的第一残差卷积模块、第二残差卷积模块、第三残差卷积模块和第四残差卷积模块;第一残差卷积模块、第二残差卷积模块、第三残差卷积模块和第四残差卷积模块的结构均相同;在残差卷积模块中,输入的特征数据将分成两路,第一路特征数据依次通过第一卷积子模块、第二卷积子模块和第三卷积子模块进行处理,得到第一路子特征图,第二路特征数据通过降采样子模块进行处理,得到第二路子特征图;将第一路自特征图和第二路自特征图按位相加,作为残差卷积模块的输出;其中,第一卷积子模块包括一个卷积层、一个批归一化层和一个激活函数relu层;第二卷积子模块和第三卷积子模块均包括一个卷积层和一个批归一化层;降采样子模块包括一个卷积层和一个激活函数relu层;

15、第一分类器为一层全连接网络;

16、特征提取器用于提取输入图像的特征;第一分类器用于根据提取的特征对输入图像进行分类。

17、所述的步骤s3,具体包括如下步骤:

18、在步骤s1获取的训练数据集中,获取图像的标签,并将标签转换为0-1标签;

19、将训练数据集中的图像输入到步骤s2构建的分类任务模型,获取对应的预测结果;

20、根据得到的预测结果和对应的0-1标签,采用如下算式计算第一损失:式中 n为输入图像的总数;为第 ii张图是否属于第 jj个类的二值变量,若第 ii张图属于第 jj个类则,否则;为第 ii张图像的预测结果的第 jj个数值;

21、根据得到的预测结果和对应的0-1标签,采用如下算式计算第二损失:式中为第 ii张图像的预测结果;为输入图像所属图像类别的特征中心;特征中心为对应类别所有图像的特征值的平均值;为矩阵的l2范式;

22、根据第一损失和第二损失,对步骤s2构建的分类任务模型进行训练,并将训练后的模型作为初始的教师模型。

23、所述的步骤s4,具体包括如下步骤:

24、对当前的教师模型的参数不再进行修改;

25、构建一个与当前的教师模型的结构完全相同的学生模型,并对学生模型的参数进行随机初始化;

26、将图像同时输入到当前的教师模型和当前的学生模型中;

27、根据当前的教师模型的预测结果和输入图像对应的0-1标签,计算当前学生模型的第一损失和第二损失;

28、根据当前的学生模型的预测结果和当前的教师模型的预测结果,采用如下算式计算当前学生模型的结构损失:式中为余弦相似度计算函数;为当前的教师模型的特征距离矩阵,其中第 i1行第 j1列的元素为,为教师模型对第 i1张图像的预测结果,为教师模型对第 j1张图像的预测结果;为当前的学生模型的特征距离矩阵,其中第 i2行第 j2列的元素为,为学生模型对第 i2张图像的预测结果,为学生模型对第 j2张图像的预测结果;为当前的教师模型的特征角关系矩阵,其中第 i3行第 j3列的元素为,为教师模型对第 i3张图像的预测结果,为教师模型对第 j3张图像的预测结果;为当前的学生模型的特征角关系矩阵,其中第 i4行第 j4列的元素为,为学生模型对第 i4张图像的预测结果,为学生模型对第 j4张图像的预测结果;

29、采用步骤s1获取的训练数据集,根据得到的第一损失、第二损失和结构损失,对学生模型进行训练,并将训练后的学生模型作为当前的教师模型。

30、所述的步骤s6,具体包括如下步骤:

31、再次获取现有的训练数据集;

32、在获取的训练数据集中,随机选取若干张图像,构建支持集和查询集;随机选择的规则为:随机选择nn个类别,每个类别随机选择kk张图像构建支持集,每个类别随机选择qq张图像构建查询集;

33、在输入模型时,将支持集和查询集一同输入模型。

34、所述的步骤s7,具体包括如下步骤:

35、构建的图像分类初始模型包括步骤s5得到的特征提取器、新构建的特征处理器、新构建的特征修正器和新构建的任务适配器;

36、特征提取器用于提取输入图像的特征,并将提取得到的特征图像输入到特征处理器;所述的输入图像包括支持集图像和查询集图像;所述的提取得到的特征图像包括支持集特征图像和查询集特征图像;

37、特征处理器用于对接收到的特征图像进行预处理操作,得到预处理后的特征,并将预处理后的特征同时输入到特征修正器和任务适配器;所述的预处理操作包括擦粗操作和打乱操作;

38、基于卷积、实例注意力和空间注意力构建任务适配器;任务适配器用于根据预处理后的特征的信息熵,对图像分类初始模型进行训练;

39、基于空间注意力构建特征修正器;特征修正器用于根据预处理后的特征的相似性对预处理后的特征进行修复,然后根据预处理后的特征的信息熵对图像分类初始模型进行训练,最后采用修复后的特征通过第二分类器实现对输入图像的分类。

40、所述的特征处理器,具体包括如下内容:

41、擦粗操作:

42、将输入的支持集特征图像输入擦除函数;擦除函数随机生成设定数量的随机数,将所有随机数映射回特征图像坐标后,将被选中的数作为被擦除的像素点;针对被擦除的像素点,将该像素点在全部通道上的数值均置为0;完成所有被选中的像素点的擦除工作后,得到预处理后支持集特征图像;

43、打乱操作:

44、将输入的查询集特征图像作为打乱操作的对象;

45、打乱顺序的生成过程:根据每个批次的图片数量,生成一个长度与图片数量相同的整型数数组,该整型数数组包括了区间内的所有证书,且数组内的数字为乱序;每张图片将整型数数组内的对应数据,作为自身打乱区域所接收的图片的相同区域;

46、打乱区域的生成过程:生成一个处于区域的随机参数,将该随机参数作为图像打乱面积的百分比;随机选择两个整数 xx和 yy, xx小于图像长度, yy小于图像宽度,并将坐标作为打乱区域的中心;生成打乱区域前,计算得到打乱区域左上角坐标和右下角坐标,并将坐标限定在图像范围内;最后,根据坐标、限定后的左上角坐标、限定后的右下角坐标,划定最终的打乱区域;

47、将每张图像按照打乱的顺序,接收对应图像的打乱区域信息并覆盖图像自身原有的信息;将每张图像的标签进行复制,从长度为的一维张量扩展为的三维张量,其中为训练集类别数, h为特征图像的高, w为特征图像的宽;扩展完成后的标签,根据打乱顺序和打乱区域,进行如下处理,完成在不同标签之间的信息交换:与图像的打乱方法类似,每一张标签根据打乱顺序,接受对应标签的打乱区域的信息并覆盖自身原有信息;

48、最终,得到预处理后查询集特征图像。

49、所述的任务适配器,具体包括如下内容:

50、任务适配器包括投影头模块、第一平均池化模块、实例注意力模块、空间注意力模块和第二平均池化模块

51、投影头子模块包括依次串联的4个卷积子模块,每个卷积子模块均包括1个卷积层和激活函数relu层;将预处理后查询集特征图像和预处理后支持集特征图像输入投影头子模块进行处理;

52、将经过投影头子模块处理后的查询集特征通过第一平均池化模块进行处理,得到查询集特征向量;

53、将经过投影头子模块处理后的支持集特征分为三路:第一路采用实例注意力模块进行处理,第二路采用空间注意力模块处理,第三路用于直接计算;

54、实例注意力模块包括依次串接的卷积子模块、平均池化子模块、激活函数relu子模块和激活函数softmax子模块;将第一路支持集特征通过实例注意力模块处理后,再与第三路支持集特征进行矩阵相乘得到矩阵图像,从而为每张支持集特征赋予权重;

55、空间注意力模块包括依次串接的卷积子模块、激活函数relu子模块和激活函数softmax子模块;将第二路支持集特征通过空间注意力模块处理后,将结果在第二维度上复制c份,得到注意力图像,并将注意力图像与得到的矩阵图像按元素相乘得到元素图像,从而为每个元素赋予权重;

56、将元素图像再通过第二平均池化模块处理,得到支持集特征向量;

57、根据得到的查询集特征向量和支持集特征向量,采用如下算式计算第一信息熵:式中为第 k张查询集图的类别;为第 l张支持集图像的类别;为第 k张查询集图像经过任务适配器处理后的特征;为第 n张支持集图像经过任务适配器处理后的特征。

58、所述的特征修正器,具体包括如下内容:

59、特征修正器的输入为预处理后查询集特征图像和预处理后支持集特征图像;

60、先采用预处理后查询集特征图像对预处理后支持集特征图像进行修复,再采用修复后的支持集特征图像修复预处理后查询集特征图像,得到修复后的查询集特征图像;

61、预处理后查询集特征图像总数为,预处理后支持集特征图像总数为,其中,;

62、将每张图像的每一个通道均转换为一维张量,并将转换后的预处理后查询集特征图像和转换后的预处理后支持集特征图像两两相乘,并计算空间注意力,得到相似矩阵r,r的形状为;

63、对于每一个预处理后支持集特征图像,修正过程采用如下公式表示:式中为修复后的支持集第 i张图片的特征;为相似矩阵r的第j行数据;为修复前的支持集第i张图片的特征;

64、将个修复后的特征进行堆叠,得到修正后的支持集特征;

65、将相似矩阵r进行转置,转置后形状为;

66、对于每一个预处理后查询集特征图像,修正过程采用如下公式表示:式中为相似矩阵r的第 l行数据;为修复前的查询集第k张图片的特征;修正完成后,得到修正后的查询集特征;

67、根据修正后的支持集特征和修正后的查询集特征,采用如下算式计算第二信息熵:式中为第m张查询集图的类别;为第n张支持集图像的类别;为第m张查询集图像经过特征修正模块处理后的特征;为第n张支持集图像经过特征修正模块处理后的特征;

68、将修正后的支持集特征和修正后的查询集特征输入到总分类器,得到最终的分类结果;所述的总分类器为1个卷积网络。

69、步骤s8所述的训练,具体包括如下步骤:

70、采用如下算式计算整体损失函数l:式中为特征修正器输出的分类结果与对应的标签的分类损失;为第一权重值;为第二权重值;

71、根据计算得到的整体损失函数,采用反向传播算法对模型进行训练和 优化。

72、所述的步骤s9,具体包括如下步骤:

73、获取步骤s8得到的图像分类终端模型;

74、在图像分类终端模型中,删除特征处理器和任务适配器,将特征提取器的输出直接作为特征修正器的输入,从而得到图像分类模型;

75、将得到的图像分类模型进行基于少样本学习的图像分类。

76、本发明提供的这种基于少样本学习的图像分类方法,通过第一阶段教师模型和学生模型的设计及训练,使得模型能够学习到更多可迁移的知识;然后通过构建的图像分类模型同时对各类图像进行学习和训练,从而解决了支持-查询偏移问题;因此本发明方法的可靠性高、精确性好。

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