本发明属于图像数据处理,具体涉及一种基于知识蒸馏网络和度量学习的农作物病害图像分类方法。
背景技术:
1、农作物病害的侵袭常常给农业生产带来严重的损失。快速准确地识别农作物病害种类,在病害蔓延之前采取有效措施,可以减少许多不必要的损失。然而,以有监督学习的方式训练农作物病害图像分类模型需要大量标注图像标签的数据集。但是目前这类数据集比较稀缺。为了解决该问题,采用知识蒸馏网络模型和无监督深度度量学习方法对大量没有标签的农作物病害图像进行分类,即训练一个卷积神经网络为大量没有标签的图像赋上伪标签是一种解决方案。
2、基于深度度量学习的方法有一个固有的问题,即使用聚类算法利用图像特征之间的相似性为图像赋上伪标签,该伪标签存在噪声标签。噪声标签的存在会导致模型在训练过程中往错误的方向拟合。该问题被称为伪标签噪声扩散问题。
技术实现思路
1、为了解决上述问题,本发明提出了一种基于知识蒸馏网络和度量学习的农作物病害图像分类方法,首先通过图像特征提取器提取图像特征,然后通过映射器将图像映射至度量空间,在度量空间中通过聚类算法来为图像生成硬伪标签。同时通过教师网络分类器生成软伪标签用来监督学生网络的类预测向量。最后通过平滑因子过滤学生网络所学习到的知识传递给教师网络,从而解决伪标签噪声扩散问题。
2、本发明的技术方案如下:
3、一种基于知识蒸馏网络和度量学习的农作物病害图像分类方法,知识蒸馏网络包括教师网络和学生网络;方法具体包括如下步骤:
4、步骤1、使用网络爬虫的方法在农业网站进行图像数据收集,并由农业领域专家进行图像数据挑选,将挑选后的图像作为农作物病害原始图像;
5、步骤2、利用知识蒸馏网络的图像特征提取器提取图像特征向量;
6、步骤3、利用知识蒸馏网络的映射器将图像特征嵌入至各自网络的度量空间;
7、步骤4、在教师网络的度量空间中使用聚类算法为图像添加硬伪标签,在学生网络的度量空间中使用硬伪标签和该度量空间的嵌入向量进行对比学习;
8、步骤5、利用教师网络的分类器生成软伪标签,用该软伪标签监督学生网络分类器的类预测向量用以辅助模型训练;
9、步骤6、采用指数加权移动平均的方法平滑更新教师网络的参数;
10、步骤7、实时获取当前待识别的农作物图像,基于训练完成的模型得到图像的分类结果。
11、进一步地,所述步骤2的具体过程为:给定两个图像特征提取器,分别为教师网络特征提取器ft和学生网络特征提取器fs,并由两种不同的损失进行优化;通过提取器ft和fs将农作物病害图像编码为特征向量;经过提取器ft(x)和fs(x)的输出分别表示为教师网络视觉特征向量xt和学生网络视觉特征向量xs。
12、进一步地,所述步骤3的具体过程为:给定两个映射器,分别为教师网络映射器vt和学生网路映射器vs,映射器由线性层表示;xt和xs经过映射器被嵌入至度量空间;xt和xs在度量空间中表示为512维的特征嵌入向量xt′和xs′;该过程表示为:
13、x′t=wtxt+b;
14、x′s=wtxs+b;
15、其中,w和b分别表示映射器全连接层的权重和偏置;t为转置符号。
16、进一步地,所述步骤4的具体过程为:
17、步骤4.1、在度量空间中,通过层次聚类算法比较每张图像的特征嵌入向量xt′的相似度并进行聚类,通过聚类算法生成硬伪标签;
18、根据硬伪标签后构建带有标签数据的数据集d={(x1,y1),(x2,y2),…,(xi,yi),…,(xi,yi)};其中,i表示数据集所有原始农作物病害图像的数量;xi为第i个图像;yi为第i个图像对应的硬伪标签;
19、步骤4.2、使用困难三元组损失函数进行对比学习;首先,使用每个图像的硬伪标签进行采样操作,为每个图像构建困难三元组;第i个图像采样操作后构建的困难三元组为其中为第i个图像的锚样本,为第i个图像的困难正样本,为第i个图像的困难负样本;和的获取过程由公式表示为:
20、
21、
22、其中,xp为锚样本;xn为困难负样本;argmax(·)函数寻找与锚样本距离最远的正样本;d(·,·)代表欧氏距离;
23、困难三元组损失函数由公式表示为:
24、
25、其中,σ为三元组损失中的距离超参数;[·]+表示计算结果取正值;
26、步骤4.3、在计算欧式距离的过程中,使用的是图像由学生网络映射器生成的嵌入向量;模型在进行参数更新时会直接更新学生网络的参数。
27、进一步地,所述步骤5的具体过程为:
28、给定两个分类器,分别为教师网络分类器gt和学生网络分类器gs,分类器由线性层表示;xt经过教师网络分类器生成软伪标签pt;xs经过学生网络分类器生成类别预测向量ps;该过程表示为:
29、
30、
31、其中,和分别表示分类器全连接层的权重和偏置;
32、使用软伪标签pt来监督类别预测向量ps,使用软交叉熵损失函数来计算损失;软交叉熵损失函数由公式表示为:
33、
34、其中,为第i个图像的软伪标签;为第i个图像的类别预测向量;softmax(·)为softmax函数,由公式表示为:
35、
36、其中,q代表类别预测向量ps中的某一项;j为类别索引;j代表所有的类别数量;exp(·)为以e为底的指数函数。
37、进一步地,所述步骤6中,使用指数加权移动平均的方法更新教师网络的参数;在当前迭代时间t,教师网络的参数表示为e(θt),学生网络的参数为e(θt′);该更新过程由公式表示为:
38、
39、其中,α为平滑因子。
40、本发明所带来的有益技术效果:
41、通过无监督学习和知识蒸馏网络,有效利用大量未标注的农作物病害图像数据,避免了传统有监督方法所需的大量标注成本,提高了数据利用率和训练效率;
42、通过聚类生成硬伪标签和教师网络生成软伪标签的结合,能够减少伪标签中的噪声,有效解决模型在无监督度量学习训练中可能会选择错误的方向进行收敛的问题,提升了模型的泛化能力和鲁棒性;
43、该方法结合了深度度量学习和知识蒸馏网络的优势,可适用于不同类型的农作物病害图像分类问题,具有一定的通用性和可扩展性,有助于推广和应用于实际生产环境中。
1.一种基于知识蒸馏网络和度量学习的农作物病害图像分类方法,其特征在于,知识蒸馏网络包括教师网络和学生网络;方法具体包括如下步骤:
2.根据权利要求1所述基于知识蒸馏网络和度量学习的农作物病害图像分类方法,其特征在于,所述步骤2的具体过程为:给定两个图像特征提取器,分别为教师网络特征提取器ft和学生网络特征提取器fs,并由两种不同的损失进行优化;通过提取器ft和fs将农作物病害图像编码为特征向量;经过提取器ft(x)和fs(x)的输出分别表示为教师网络视觉特征向量xt和学生网络视觉特征向量xs。
3.根据权利要求2所述基于知识蒸馏网络和度量学习的农作物病害图像分类方法,其特征在于,所述步骤3的具体过程为:给定两个映射器,分别为教师网络映射器vt和学生网路映射器vs,映射器由线性层表示;xt和xs经过映射器被嵌入至度量空间;xt和xs在度量空间中表示为512维的特征嵌入向量xt′和xs′;该过程表示为:
4.根据权利要求3所述基于知识蒸馏网络和度量学习的农作物病害图像分类方法,其特征在于,所述步骤4的具体过程为:
5.根据权利要求4所述基于知识蒸馏网络和度量学习的农作物病害图像分类方法,其特征在于,所述步骤5的具体过程为:
6.根据权利要求5所述基于知识蒸馏网络和度量学习的农作物病害图像分类方法,其特征在于,所述步骤6中,使用指数加权移动平均的方法更新教师网络的参数;在当前迭代时间t,教师网络的参数表示为e(θt),学生网络的参数为e(θt′);该更新过程由公式表示为: