基于知识蒸馏的细粒度农业病虫害图像识别方法及系统与流程
未命名
10-21
阅读:65
评论:0
1.本发明涉及图像处理技术领域,具体而言,涉及一种基于知识蒸馏的细粒度农业病虫害图像识别方法及系统。
背景技术:
2.植物病虫害是指植物在生长发育过程中,由于遭受其它生物侵害或受外部环境条件(非生物因素)的影响,导致植物的正常生理机能受到破坏,组织形态发生改变,甚至导致死亡的现象;其中,农作物的病虫害对农业生产效益存在巨大影响,因此有必要针对农业病虫害进行防治,而如何准确地识别农作物病虫害是防治农作物病虫害的重要先决条件;传统依赖人眼识别农作物病虫害的方式不仅耗时、准确度较低,而且针对农作物病虫害的诊断需要大量专业知识,依赖于专业人员的协助,人力成本高的同时具有很大的主观性。
3.随着深度学习技术的发展,现有技术延伸出了通过搭建神经网络对物品进行特征提取和识别分类工作,使机器识别具有较高的准确度;目前基于神经网络的识别方法在针对特定农作物的识别存在不足,尤其是同时对同种农作物的不同病虫害的识别准确性较低,因此需要一种可针对目标农作物不同病虫害进行细粒度分类识别的图像识别方法,同时提升对农作物病虫害识别的准确性,以满足农业病虫害识别任务。
技术实现要素:
4.本发明的目的在于提供一种基于知识蒸馏的细粒度农业病虫害图像识别方法及系统,用以实现针对目标农作物不同病虫害进行识别的图像识别,提升识别准确性的技术效果。
5.本发明第一方面技术方案提供了一种基于知识蒸馏的细粒度农业病虫害图像识别方法,包括如下步骤:基于深度神经网络模型对农作物虫害图像信息集合分别进行学习,构建目标品种农作物虫害的细粒度分类老师模型;根据目标品种农作物种类数量构建学生模型;选取目标品种农作物虫害的细粒度分类老师模型及目标农作物虫害图像信息,利用知识蒸馏方法训练学生模型;基于训练后的学生模型对多目标农作物虫害图像信息进行细粒度分类和标注。
6.进一步地,构建目标品种农作物虫害的细粒度分类老师模型具体包括:选取efficientnetb1模型为细粒度分类老师模型,基于flatten展平操作以及矩阵乘法对efficientnetb1模型中mbconv模块的se压缩与激励模块进行优化;优化后的effiflatnetb1模型,基于自注意力机制获取目标品种农作物图像的位置关系权重矩阵集合。
7.进一步地,自注意力机制的表达式为:
式中,表示农作物虫害图像样本信息在se模块中获取的中间值,将中间值的长、宽二维数据通过flatten操作展平后的一维向量;表示的格式,表示图像样本信息的层数,表一维向量的特征数,表示矩阵转置,为的转置。
8.进一步地,构建学生模型具体包括:选取优化后的resnet8网络为学生模型,resnet8网络的优化过程包括:删除resnet8网络中的平均池化层和全连接层,引入bcnn模块并通过双线性池化操作获取学生模型的检测权重。
9.进一步地,bcnn模块的表达式为:式中,表示输入bcnn模块的值,即农作物虫害信息输入resnet8网络的输出值;表示的格式,表示图像的高度,表示图像的宽度。
10.进一步地,利用知识蒸馏方法训练学生模型包括:确定知识蒸馏的温度变量为t;计算细粒度分类老师模型、学生模型在温度变量为t的条件下蒸馏后的置信度;获取细粒度分类老师模型、学生模型在真实标签下的损失值;基于真实标签损失值以及细粒度分类老师模型损失值计算总体损失值;基于总体损失值对学生模型的参数进行更新。
11.进一步地,知识蒸馏的表达式为:式中,表示细粒度分类老师模型在温度变量为的条件下softmax层输出在第类上的值,即细粒度分类老师模型蒸馏后的置信度;表示细粒度分类老师模型的logits向量;式中 ,表示学生模型在温度变量为的条件下softmax层输出在第类上的值,即学生模型蒸馏后的置信度;表示学生模型的logits向量。
12.进一步地损失函数的表达式为:式中,表示损失函数的值,表示学生模型对原始数据的学习权重,表示学生模型对第个细粒度分类老师模型的学习权重,表示学生模型对原始数据学习的置信度的损失值,表示学生模型对第j个细粒度分类老师模型的损失值。
13.进一步地,学生模型对第个细粒度分类老师模型的损失值以及学生模型对原始数据学习的置信度的损失值的表达式为:数据学习的置信度的损失值的表达式为:式中,表示农作物样本种类总数;表示在第类上的ground truth值,即真实正负标签,,若农作物样本种类与分类种类相同,。
14.本发明第二方面技术方案提供了一种基于知识蒸馏的细粒度农业病虫害图像识别系统,包括多个细粒度分类老师模型和学生模型,该系统还包括:训练模块,配置为基于深度神经网络模型对农作物虫害图像信息集合分别进行学习,构建目标品种农作物虫害的细粒度分类老师模型;数据采集模块:配置为获取农作物虫害图像信息;知识蒸馏模块,配置通过知识蒸馏方法对学生模型进行知识蒸馏,计算细粒度分类老师模型、学生模型在温度变量为t的条件下蒸馏后的置信度、真实标签下的损失值以及细粒度分类老师模型损失值计算总体损失值;更新模块,配置为基于总体损失值对学生模型的参数进行更新;标注模块,配置为基于学生模型检测结果获取判定区域的热力图标注。
15.本发明的有益效果至少包括:相较于现有技术中针对多种农作物病虫害进行全部识别,识别过程中分支较多的方法,本发明采用知识蒸馏进行模型压缩以及双线性融合强化细粒度识别方法,利用知识蒸馏方法训练学生模型,在减少了识别过程中参数量、计算量的同时保证识别的准确度,对农作物虫害的识别分类准确度较高,能够满足实际生产中针对特定农作物病虫害识别分类的需求,尤其是在面对指定的一种或多种农作物病虫害时能够便捷地适配,减少了过多的无用且不符合实际生产的分类标准,同时,针对相同品种的农作物进行识别时能够很好地区分不同的病虫害情况,便于后续的防治工作。
附图说明
16.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
17.图1为本发明实施例提供的基于知识蒸馏的细粒度农业病虫害图像识别方法的步骤示意图;图2为本发明实施例提供的基于知识蒸馏的细粒度农业病虫害图像识别方法的流程示意图;
图3为本发明实施例提供的基于知识蒸馏的细粒度农业病虫害图像识别系统的结构示意图。
具体实施方式
18.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
19.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
20.请参看图1和图2所示,本发明第一方面技术方案提供了一种基于知识蒸馏的细粒度农业病虫害图像识别方法,包括如下步骤:步骤s100:基于深度神经网络模型对农作物虫害图像信息集合分别进行学习,构建目标品种农作物虫害的细粒度分类老师模型;其中,目标品种农作物虫害的细粒度分类老师模型具体指对同一品种农作物的不同病虫害的细粒度分类老师模型,例如,如图1所示,当某个细粒度分类老师模型训练目标品种农作物为苹果的病虫害细粒度分类老师模型时,则只选取含有健康苹果、黑星病苹果、黑腐病苹果、桧胶锈病苹果等常见苹果病虫害的图像数据进行训练,不包含非苹果类病虫害的图像数据和分类项;步骤s100中,构建目标品种农作物虫害的细粒度分类老师模型具体包括:步骤s110:选取efficientnetb1模型为细粒度分类老师模型,基于flatten展平操作以及矩阵乘法对efficientnetb1模型中mbconv模块的se压缩与激励模块进行优化;其中,efficientnetb1模型为现有卷积神经网络模型,其具有较高的图像识别准确率,可提高农作物虫害图像的识别准确度,基于flatten展平操作以及矩阵乘法对efficientnetb1模型中mbconv模块的se压缩与激励模块进行优化,其中展平操作可以将mbconv模块中高维的数据转换为一维向量,减少了参数的数量和复杂度,从而降低了计算成本;通过矩阵乘法,可以对se压缩与激励模块进行优化,使其能够更好地利用特征之间的关系,矩阵乘法可以将特征之间的相关性进行建模,有助于提取更具代表性的特征,从而提升模型的分类能力,优化后的se压缩与激励模块能够更好地捕捉农作物虫害图像中的重要特征,从而提高模型在识别农作物虫害方面的准确性和鲁棒性。
21.步骤s120:优化后的effiflatnetb1模型,基于自注意力机制获取目标品种农作物图像的位置关系权重矩阵集合;步骤s120中,利用自注意力机制捕捉目标品种农作物图像中不同位置之间的关系权重,相较于现有技术中农作物图像识别数据无交互的方法,本实施例提供的技术方案具有农作物虫害图像样本信息所有位置信息的双线性融合,进而可提高对于农作物虫害细粒度图像分类的能力;在步骤s120中,自注意力机制的表达式为:(1)公式(1)中,表示农作物虫害图像样本信息在se模块中获取的中间值,将中间值的长、宽二维数据通过flatten操作展平后的一维向量;表示的格式,表示图像样本信息的层数,表一维向量的特征数,表示矩阵转置,为的转置;步骤s200:根据目标品种农作物种类数量构建学生模型;具体的,当需要进行病虫
害分裂的农作物不多于3种时,学生模型选用resnet8+bcnn,每增加3种农作物,则相应增加6层resnet的网络层数,即当农作物多于3种小于6种时,采用resnet14,以此类推;在步骤s200中,构建学生模型具体包括:步骤s210:选取优化后的resnet8网络为学生模型,resnet8网络的优化过程包括:步骤s220:删除resnet8网络中的平均池化层和全连接层,引入bcnn模块并通过双线性池化操作获取学生模型的检测权重;在步骤s220中,删除resnet8网络中的平均池化层和全连接层可减少模型的参数数量和复杂度,有助于减轻过拟合风险,避免特征的空间信息丢失,从而在图像识别中保留更多的细节;bcnn模块是一种基于双线性池化操作的特征融合方法,将bcnn模块集成到resnet8网络中,以捕捉图像特征的空间关系;在步骤s220中,bcnn模块的表达式为:(2)公式(2)中,表示输入bcnn模块的值,即农作物虫害信息输入resnet8网络的输出值;表示的格式,表示图像的高度,表示图像的宽度;实际运用时,bcnn模块会将维度合并,将新维度的输入同其自身的转置进行矩阵乘,由于矩阵运算的关系,会除以保持结果数量级一致性;实际运用时,由于公式(1)、公式(2)中细粒度分类老师模型和学生模型均采用了双线性融合方法,因此步骤s220可与上述步骤s120所匹配;步骤s300:选取目标品种农作物虫害的细粒度分类老师模型及目标农作物虫害图像信息,利用知识蒸馏方法训练学生模型;其中,学生模型的训练应采用与细粒度分类老师模型目标农作物病虫害图像信息匹配的图像进行训练,例如:选用的细粒度分类老师模型是对苹果和桃子的分类模型,则学生模型训练时需要利用包含对苹果分类和对桃子分类图像进行训练;例如:需要针对苹果叶和西红柿叶的病虫害进行识别,则利用细粒度分类老师模型分别获取两种农作物的检测权重,再通过知识蒸馏方法得到可以同时检测两种农作物的病虫害的学生模型,用于实际操作中的检测和定位;需要说明的是,在利用知识蒸馏时,还需对不同的细粒度分类老师模型进行标签权重的修正,例如:真实训练图像是某特定品种农作物病虫害时,则增加对应的细粒度分类老师模型知识蒸馏损失值的学习权重,减少其他细粒度分类老师模型的权重;知识蒸馏方法可以通过利用细粒度分类老师模型的知识来训练学生模型,从而实现模型的压缩、提升性能和加强泛化能力的目的。
22.在步骤s300中,利用知识蒸馏方法训练学生模型包括:步骤s310:确定知识蒸馏的温度变量为t,温度变量t用于控制蒸馏过程中软化类别分布的参数,通常t的值越高,软化效果越明显,学生模型更容易学习到细粒度分类老师模型的知识,可以根据具体的任务和数据集来选择合适的t值;步骤s320:计算细粒度分类老师模型、学生模型在温度变量为t的条件下蒸馏后的置信度,即使用softmax函数分别对细粒度分类老师模型和学生模型的logits向量除以温度变量t进行归一化操作,得到每个类别的概率分布,知识蒸馏的表达式为:(3)
公式(3)中,表示细粒度分类老师模型在温度变量为的条件下softmax层输出在第类上的值,即细粒度分类老师模型蒸馏后的置信度;表示细粒度分类老师模型的logits向量;同样表示老师模型的logits向量,为的下界;(4)公式(4)中 ,表示学生模型在温度变量为的条件下softmax层输出在第类上的值,即学生模型蒸馏后的置信度;表示学生模型的logits向量同样表示学生模型的logits向量,为的下界。
23.步骤s330:获取细粒度分类老师模型、学生模型在真实标签下的损失值,损失函数的表达式为:(5)公式(5)中,表示损失函数的值,表示学生模型对原始数据的学习权重,表示学生模型对第个细粒度分类老师模型的学习权重,表示学生模型对原始数据学习的置信度的损失值,表示学生模型对第个细粒度分类老师模型的损失值;其中,原始数据的学习权重为学生模型直接对原始数据进行学习的结果的占比,该权越大,学生模型则更依赖于直接对原始数据学习,不依赖与细粒度分类老师模型的蒸馏,本实施例中,的取值优选0.5;数值的设定方法为:若细粒度分类老师模型进行细粒度分类的农作物类别和对应的农作物数据为同类,则将的数值设定为0.4,反之,其中,指参与知识蒸馏的细粒度分类老师模型的数量;在步骤s330中,学生模型对第个细粒度分类老师模型的损失值以及学生模型对原始数据学习的置信度的损失值的表达式为:(6)(7)公式(6)和公式(7)中,表示农作物样本种类总数;表示在第类上的ground truth值,即真实正负标签,,若农作物样本种类与分类种类相同,。
24.步骤s340:基于真实标签损失值以及细粒度分类老师模型损失值计算总体损失值;步骤s350:基于总体损失值对学生模型的参数进行更新,通过多次迭代更新优化学生模型的参数,以获得一个最小化的总体损失函数l,进而提升学生模型的识别性能;步骤s400:基于训练后的学生模型对多目标农作物虫害图像信息进行细粒度分类和标注,其中,目标农作物虫害信息的标准优选xgradcam组件获取判定区域的热力图标注,达到人为可识别验证的效果,作为能够协助使用者的判定依据,具有一定可解释性,可二次验证的特点
综上,本技术提供的基于知识蒸馏的细粒度农业病虫害图像识别方法,基于神经网络构建细粒度分类老师模型针对病虫害分别进行细粒度分类学习,利用知识蒸馏技术将不同病虫害分类模型融合,通过混合病虫害图像数据进行训练,实现对病虫害图像的准确分类,具有较高的识别准确率;通过知识蒸馏技术进行二次学习减少网络参数,在保证识别精度的基础上大幅降低其参数与资源消耗,使其适合于部署在以arm为计算平台的嵌入式设备中,方便农业生产者和技术人员方便、快速、准确地在现场进行农作物病虫害识别。
25.本发明第二方面技术方案提供了一种基于知识蒸馏的细粒度农业病虫害图像识别系统,包括多个细粒度分类老师模型和学生模型,该系统还包括:训练模块,配置为基于深度神经网络模型对农作物虫害图像信息集合分别进行学习,构建目标品种农作物虫害的细粒度分类老师模型;数据采集模块:配置为获取农作物虫害图像信息;知识蒸馏模块,配置通过知识蒸馏方法对学生模型进行知识蒸馏,计算细粒度分类老师模型、学生模型在温度变量为t的条件下蒸馏后的置信度、真实标签下的损失值以及细粒度分类老师模型损失值计算总体损失值;更新模块,配置为基于总体损失值对学生模型的参数进行更新;标注模块,配置为基于学生模型检测结果获取判定区域的热力图标注。
26.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
技术特征:
1.基于知识蒸馏的细粒度农业病虫害图像识别方法,其特征在于,包括如下步骤:步骤s100:基于深度神经网络模型对农作物虫害图像信息集合分别进行学习,构建目标品种农作物虫害的细粒度分类老师模型;步骤s200:根据目标品种农作物种类数量构建学生模型;步骤s300:选取目标品种农作物虫害的细粒度分类老师模型及目标农作物虫害图像信息,利用知识蒸馏方法训练学生模型;步骤s400:基于训练后的学生模型对多目标农作物虫害图像信息进行细粒度分类和标注。2.根据权利要求1所述的基于知识蒸馏的细粒度农业病虫害图像识别方法,其特征在于,构建目标品种农作物虫害的细粒度分类老师模型具体包括:选取efficientnetb1模型为细粒度分类老师模型,基于flatten展平操作以及矩阵乘法对efficientnetb1模型中mbconv模块的se压缩与激励模块进行优化;优化后的effiflatnetb1模型,基于自注意力机制获取目标品种农作物图像的位置关系权重矩阵集合。3.根据权利要求2所述的基于知识蒸馏的细粒度农业病虫害图像识别方法,其特征在于,自注意力机制的表达式为:式中,表示农作物虫害图像样本信息在se模块中获取的中间值,将中间值的长、宽二维数据通过flatten操作展平后的一维向量;表示的格式,表示图像样本信息的层数,表一维向量的特征数,表示矩阵转置,为的转置。4.根据权利要求1所述的基于知识蒸馏的细粒度农业病虫害图像识别方法,其特征在于,构建学生模型具体包括:选取优化后的resnet8网络为学生模型,resnet8网络的优化过程包括:删除resnet8网络中的平均池化层和全连接层,引入bcnn模块并通过双线性池化操作获取学生模型的检测权重。5.根据权利要求4所述的基于知识蒸馏的细粒度农业病虫害图像识别方法,其特征在于,bcnn模块的表达式为:式中,表示输入bcnn模块的值,即农作物虫害信息输入resnet8网络的输出值;)表示的格式,表示图像的高度,表示图像的宽度。6.根据权利要求1至5任一项所述的基于知识蒸馏的细粒度农业病虫害图像识别方法,其特征在于,利用知识蒸馏方法训练学生模型包括:确定知识蒸馏的温度变量为t;计算细粒度分类老师模型、学生模型在温度变量为t的条件下蒸馏后的置信度;获取细粒度分类老师模型、学生模型在真实标签下的损失值;基于真实标签损失值以及细粒度分类老师模型损失值计算总体损失值;
基于总体损失值对学生模型的参数进行更新。7.根据权利要求6所述的基于知识蒸馏的细粒度农业病虫害图像识别方法,其特征在于,知识蒸馏的表达式为:式中,表示细粒度分类老师模型在温度变量为的条件下softmax层输出在第类上的值,即细粒度分类老师模型蒸馏后的置信度;表示细粒度分类老师模型的logits向量;式中 ,表示学生模型在温度变量为的条件下softmax层输出在第类上的值,即学生模型蒸馏后的置信度;表示学生模型的logits向量。8.根据权利要求7所述的基于知识蒸馏的细粒度农业病虫害图像识别方法,其特征在于,损失函数的表达式为:式中,表示损失函数的值,表示学生模型对原始数据的学习权重,表示学生模型对第个细粒度分类老师模型的学习权重,表示学生模型对原始数据学习的置信度的损失值,表示学生模型对第个细粒度分类老师模型的损失值。9.根据权利要求8所述的基于知识蒸馏的细粒度农业病虫害图像识别方法,其特征在于,学生模型对第个细粒度分类老师模型的损失值以及学生模型对原始数据学习的置信度的损失值的表达式为:度的损失值的表达式为:式中,表示农作物样本种类总数;表示在第类上的ground truth值,即真实正负标签,,若农作物样本种类与分类种类相同,。10.一种基于知识蒸馏的细粒度农业病虫害图像识别系统,其特征在于,包括多个细粒度分类老师模型和学生模型,该系统还包括:训练模块,配置为基于深度神经网络模型对农作物虫害图像信息集合分别进行学习,构建目标品种农作物虫害的细粒度分类老师模型;数据采集模块:配置为获取农作物虫害图像信息;知识蒸馏模块,配置通过知识蒸馏方法对学生模型进行知识蒸馏,计算细粒度分类老
师模型、学生模型在温度变量为t的条件下蒸馏后的置信度、真实标签下的损失值以及细粒度分类老师模型损失值计算总体损失值;更新模块,配置为基于总体损失值对学生模型的参数进行更新;标注模块,配置为基于学生模型检测结果获取判定区域的热力图标注。
技术总结
本发明涉及图像处理技术领域,尤其是提供一种基于知识蒸馏的细粒度农业病虫害图像识别方法及系统,其中识别方法包括:基于深度神经网络模型对农作物虫害图像信息集合分别进行学习,构建目标品种农作物虫害的细粒度分类老师模型;根据目标品种农作物种类数量构建学生模型;选取目标品种农作物虫害的细粒度分类老师模型及目标农作物虫害图像信息,利用知识蒸馏方法训练学生模型;基于训练后的学生模型对多目标农作物虫害图像信息进行细粒度分类和标注。其目的在于,实现针对目标农作物不同病虫害进行识别的图像识别,提升识别准确性的技术效果。技术效果。技术效果。
技术研发人员:李锐 苏旺德 周宗洪 李松 罗晟桁 罗汉景 赧昌芝 李超力 杨灿仙 代灵 胡菊
受保护的技术使用者:云南瀚哲科技有限公司
技术研发日:2023.09.05
技术公布日:2023/10/19
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/