一种基于MDFC-ResNet神经网络的农作物病害细粒度识别方法

文档序号:749675 发布日期:2021-04-23 浏览:8次 >En<

阅读说明:本技术 一种基于MDFC-ResNet神经网络的农作物病害细粒度识别方法 (Crop disease fine-grained identification method based on MDFC-ResNet neural network ) 是由 胡伟健 李灵芳 樊杰 李宝山 张万锴 于 2020-12-28 设计创作,主要内容包括:一种基于MDFC-ResNet神经网络的农作物病害细粒度识别方法,属于人工智能技术领域,为了解决了传统的农作物病害识别方法中存在细粒度病害识别准确率低、普适性差等问题。对采集的农作物图片进行预处理以适于模型训练;优化传统的ResNet-50神经网络得到改进的MDFC-ResNet神经网络:对ResNet-50神经网络的初始化器与优化器进行优化,为模型选出最优的初始化器与优化器,让模型更加适应数据集;采用训练好的改进的MDFC-ResNet神经网络对多种农作物病害进行细粒度识别。本发明主要用于农作物病害进行细粒度识别。(A crop disease fine-grained identification method based on an MDFC-ResNet neural network belongs to the technical field of artificial intelligence and aims to solve the problems of low fine-grained disease identification accuracy, poor universality and the like in the traditional crop disease identification method. Preprocessing the collected crop pictures to be suitable for model training; optimizing the traditional ResNet-50 neural network results in an improved MDFC-ResNet neural network: optimizing an initializer and an optimizer of the ResNet-50 neural network, and selecting the optimal initializer and the optimal optimizer for the model to make the model more adaptive to the data set; and (3) performing fine-grained identification on various crop diseases by adopting a trained improved MDFC-ResNet neural network. The invention is mainly used for fine-grained identification of crop diseases.)

一种基于MDFC-ResNet神经网络的农作物病害细粒度识别 方法

技术领域

本发明属于人工智能技术领域,涉及一种农作物病害细粒度识别方法,特别涉及一种基于深度残差网络的MDFC-ResNet神经网络的。

背景技术

农作物病害对农业的产量有着十分巨大的负影响,如何对农作物病害进行快速、准确的识别成为了挽回农业损失亟待解决的问题。传统的农作物病害识别大多采取人工的方式,主要由农民自己在田间对农作物病害进行诊断、识别,这很依赖于农民自身对农作物病害的经验,而且还存在个人主观因素强、识别效率低、识别错误率高等问题。近几年,机器学习和深度学习逐步应用在了农作物病害识别中,并且取得了不错的效果。机器学习方法中,数据的特征需要由相关领域专家识别并处理之后,再送入到模型中去学习;而深度学习模型会自己从数据集中提取分类所需的特征信息。传统的机器学习提取到的特征信息相比于深度学习非常有限,所以采用深度学习技术对农作物病害进行识别已经成为当下研究的热点问题之一。

但是,通过对现有的农作物病害识别方法的分析,发现现有的方法在农作物种类和神经网络上还存在一定的局限性,难以在实际的农业生产生活中起到指导作用,其具体表现为:

1.传统的人工识别方式过于依赖人对农作物病害的经验,且极易受到个人主观因素的影响,存在识别效率低、识别错误率高等一系列问题。

2.在机器学习上,数据中的特征需要由相关领域专家识别并处理之后,再送入到模型中去学习;而深度学习模型会自己从数据集中提取分类所需的特征信息。所以传统的机器学习提取到的特征信息相比于深度学习非常有限。

3.在农作物种类方面,现有的深度学习方法通常识别的农作物种类十分单一(诸如:番茄、黄瓜),支持多农作物、多病种的、具有高普适性的方法还较少。

4.目前的农作物病害识别都集中在粗粒度病害识别上,即仅区分出农作物所患病害的种类,并不能明确的识别出农作物所患的病害的细粒度程度,即农作物所患病害的严重程度。而在实际的生产生活中,识别出农作物病害的程度极其重要,农作物病害的程度直接决定了对农作物采取的治疗方案以及用药种类和水平,错误的用药方式不仅难以治疗农作物病害,而且还会影响农作物食用者的安全以及对周围生态环境造成破坏。

5.在神经网络方面,现有的方法多集中于AlexNet、VGG等浅层神经网络模型,虽然在粗粒度病害上取得了不错的识别效果,但在更为复杂的细粒度病害识别上,结果并不理想。而伴随着层数的加深,识别准确度有望进一步提高。

发明内容

本发明要解决的技术问题为:

本发明为了解决了传统的农作物病害识别方法中存在细粒度病害识别准确率低、普适性差等问题,进而提供了一种基于MDFC-ResNet神经网络的农作物病害细粒度识别方法。

本发明为解决上述技术问题所采用的技术方案为:

一种基于MDFC-ResNet神经网络的农作物病害细粒度识别方法,所述方法的实现过程为:

步骤一、数据预处理:对采集的农作物图片进行预处理以适于模型训练,具体包括:

第一步、数据增强:数据增强用于消除各个类别之间图片数量的差异,每个类别对应一个具体农作物的健康状态或某种疾病的程度,通过对图片数量较少的类别使用数据增强技术(水平翻转与旋转)来对样本进行扩充;

第二步、数据归一化:对图片大小归一化用于统一采集的农作物图片大小,在模型训练前将数据增强后的数据集的图片统一归一化为224像素×224像素;

第三步、SVD压缩图片:SVD压缩图片用于改善图片质量,从原始图片中的提取出重要信息并去除图片中的噪声;

步骤二,通过对传统的ResNet-50神经网络的初始化器与优化器进行优化,为模型选出最优的初始化器与优化器,得到优化后的ResNet-50神经网络;

以数据预处理后获得的数据集中的训练集作为模型的输入、数据集中农作物图片对应的农作物病害识别结果做为输出作为模型的输出对优化后的MDFC-ResNet神经网络进行训练,从而得到最终的训练好的MDFC-ResNet神经网络,即获得用于多种农作物病害进行细粒度识别的模型;

步骤三,采用训练好的MDFC-ResNet神经网络对多种农作物病害进行细粒度识别。

进一步地,在步骤一中,将数据集按照4:1的比例划分为训练集和验证集,再留一小部分作为测试集;训练集、验证集和测试集三者独立存在,互相之间没有交集。

进一步地,在步骤二中,训练集用于作为训练模型的输入,验证集输入给验证模型,训练模型的输出结果输入给验证模型,验证模型给出训练模型是否符合预期的判判:如果是,则保存模型,测试集输入给保存模型,保存模型输出测试准确率,否则,调整训练模型的参数,再通过验证模型进行判断,直至符合预期。

进一步地,在步骤三中,采用改进的MDFC-ResNet神经网络对多种农作物病害进行细粒度识别的过程为:

具体为:在第一维度即物种识别维度中,对农作物叶片进行物种识别,得出其物种维度识别的矩阵分布结果;在第二维度即粗粒度病害识别维度中,对农作物叶片进行粗粒度病害识别,得出其粗粒度病害识别的矩阵分布结果;在第三维度即细粒度病害识别维度,对农作物叶片进行细粒度病害识别,得出其细粒度病害识别的矩阵分布结果;

在三个维度之后,设立补偿层,补偿层接收来自三个维度的识别概率分布矩阵,将所属物种的概率分布矩阵、所得粗粒度病害的概率分布矩阵作为反馈数据补偿进所得细粒度病害的概率分布矩阵,从而提高细粒度病害的识别结果。

进一步地,三个维度与补偿层之间关系具体为:

在第一维度(物种识别维度),对农作物叶片进行物种识别,得出其物种维度识别的矩阵分布结果;在第二维度(粗粒度病害识别维度),对农作物叶片进行粗粒度病害识别,得出其粗粒度病害识别的矩阵分布结果;在第三维度(细粒度病害识别维度),对农作物叶片进行细粒度病害识别,得出其细粒度病害识别的矩阵分布结果。在三个维度之后,设立了补偿层,补偿层接收来自三个维度的识别概率分布矩阵,将所属物种的概率分布矩阵、所得粗粒度病害的概率分布矩阵作为反馈数据补偿进所得细粒度病害的概率分布矩阵,从而提高细粒度病害的识别结果。

进一步地,在步骤一的第一步中,每个类别对应一个具体农作物的健康状态或某种疾病的程度,类别0-59分为60类,具体的类别如表1所示。

进一步地,补偿层的公式如下所示:

式中,α、β分别表示物种维度识别的矩阵的权重、粗粒度病害识别的矩阵的权重,

等式右边的三个矩阵分别表示物种维度识别的矩阵、粗粒度病害识别的矩阵、细粒度病害识别的矩阵;

Xi表示植物物种,i取值0-9,Yj表示植物的粗粒度疾病,j取值0-35;Z表示植物的细粗度疾病。

本发明具有以下有益技术效果:

本发明通过合理的算法改进以及数据的预处理对多种农作物病害进行细粒度识别。本发明采用MDFC-ResNet神经网络对农作物病害进行细粒度识别。本发明先对数据集进行了一些处理:数据增强、图片大小归一化和SVD图像压缩,目的是方便后面的模型训练,提高最终的准确率。再对ResNet-50神经网络的初始化器与优化器进行了优化,目的是为模型选出最优的初始化器与优化器,让模型更加适应数据集。最后采用MDFC-ResNet神经网络对多种农作物病害进行细粒度识别。相比于传统的农作物病害识别,本发明是对农作物病害进行更加细粒度的识别。在实际的生产生活中,农作物所患病害的程度不同,所采取的治疗方案以及用药量等都会不同。本发有实现了对农作物病害进行更加细粒度的识别,在农作物病害治疗、减少农药的用量、保护农作物本身和保护自然环境等方面更加具有指导意义。

本发明中的MDFC-ResNet神经网络以调优后的深度残差网络为基础模型,从物种、粗粒度病害、细粒度病害三个维度出发构建多维残差神经网络模型,同时引入补偿层,本发明的发明点主要在于补偿层的补偿操作,将物种维度和粗粒度维度的识别结果反馈补偿到细粒度识别结果中,形成补偿纠错机制。补偿层接收来自三个维度的识别概率分布矩阵,将所属物种的概率分布矩阵、所得粗粒度病害的概率分布矩阵作为反馈数据补偿进所得细粒度病害的概率分布矩阵,得出最终的识别结果。

附图说明

图1是本发明的流程图;

图2是本发明的数据增强示意图;

图3是本发明的SVD示意图;

图4是本发明的MDFC-ResNet神经网络对多种农作物病害进行细粒度识别示意图。图中CONV是卷积层,BatchNorm是BN层,ReLu是激活函数,MaxPooling是池化层,Convolutional block(50)是ResNet-50神经网络的恒等残差块,Identity block(50)是ResNet-50神经网络的卷积残差块,Softmax是分类器,Identity block(34)是ResNet-34神经网络的卷积残差块

图5是本发明的MDFC-ResNet神经网络补偿层示意图。

具体实施方式

现结合附图和具体实施方式对本发明所述的基于MDFC-ResNet神经网络的农作物病害细粒度识别方法作进一步描述。

具体实施方式一:如图1所示,为农作物病害细粒度识别流程图,包括以下操作步骤:

步骤一,数据预处理,包括三步:第一步数据增强是为了解决各种类图片数量差异问题,每个类别对应一个具体农作物的健康状态或某种疾病的程度,具体的类别如表1所示;通过对图片数量较少的类别使用数据增强技术(水平翻转与旋转)来对样本进行扩充;第二步数据归一化是为了解决图片大小问题,在实验前将数据集的图片统一归一化为224像素×224像素;第三步SVD压缩图片是为了解决图片质量问题,从原始图片中的提取出重要信息并去除图片中的噪声。

表1

对数据集进行了一些处理(数据增强、图片大小归一化和SVD图像压缩),如图2和图3所示。将数据集中图片数量不足1000张的类别扩充至1000张,同时去除图片的噪声、降低图片的维度。

在步骤一中,将数据集按照4:1的比例划分为训练集和验证集,再留一小部分作为测试集;训练集、验证集和测试集三者独立存在,互相之间没有交集。

步骤二,优化传统的ResNet-50神经网络,对ResNet-50神经网络的初始化器与优化器进行了优化,目的是为模型选出最优的初始化器与优化器,让模型更加适应数据集。

在步骤二中,训练集用于作为训练模型的输入,验证集输入给验证模型,训练模型的输出结果输入给验证模型,验证模型给出训练模型是否符合预期的判判:如果是,则保存模型,测试集输入给保存模型,保存模型输出测试准确率,否则,调整训练模型的参数,再通过验证模型进行判断,直至符合预期。

步骤三,采用MDFC-ResNet神经网络对多种农作物病害进行细粒度识别。

在步骤三中,采用改进的MDFC-ResNet神经网络对多种农作物病害进行细粒度识别的过程为:

具体为:在第一维度即物种识别维度中,对农作物叶片进行物种识别,得出其物种维度识别的矩阵分布结果;在第二维度即粗粒度病害识别维度中,对农作物叶片进行粗粒度病害识别,得出其粗粒度病害识别的矩阵分布结果;在第三维度即细粒度病害识别维度,对农作物叶片进行细粒度病害识别,得出其细粒度病害识别的矩阵分布结果;

在三个维度之后,设立补偿层,补偿层接收来自三个维度的识别概率分布矩阵,将所属物种的概率分布矩阵、所得粗粒度病害的概率分布矩阵作为反馈数据补偿进所得细粒度病害的概率分布矩阵,从而提高细粒度病害的识别结果。

三个维度与补偿层之间关系具体为:

在第一维度(物种识别维度),对农作物叶片进行物种识别,得出其物种维度识别的矩阵分布结果;在第二维度(粗粒度病害识别维度),对农作物叶片进行粗粒度病害识别,得出其粗粒度病害识别的矩阵分布结果;在第三维度(细粒度病害识别维度),对农作物叶片进行细粒度病害识别,得出其细粒度病害识别的矩阵分布结果。在三个维度之后,设立了补偿层,补偿层接收来自三个维度的识别概率分布矩阵,将所属物种的概率分布矩阵、所得粗粒度病害的概率分布矩阵作为反馈数据补偿进所得细粒度病害的概率分布矩阵,从而提高细粒度病害的识别结果。

补偿层的公式如下所示:

式中,α、β分别表示物种维度识别的矩阵的权重、粗粒度病害识别的矩阵的权重,

等式右边的三个矩阵分别表示物种维度识别的矩阵、粗粒度病害识别的矩阵、细粒度病害识别的矩阵;

Xi表示植物物种,i取值0-9,Yj表示植物的粗粒度疾病,j取值0-35;Z表示植物的细粗度疾病。

将物种分0-9,共10个物种,粗粒度疾病分别0-35类,共36类,0-59是细粒度疾疾,共60类。识别过程为,先识别出物种,是十个物种中的哪一类,然后再粗粒度疾病识别,最后再进行细粒度疾病的识别,这个过程就是识别一个疾病的过程。具体来说,先识别出患病叶子属于是哪一个物种,比如说是苹果还是葡萄,再识别出是哪一类的粗粒度疾病,比如是苹果黑星病。然后再识别出细粒度疾病,比如是苹果黑星病一般还是苹果黑星病严重。然后通过物种和粗粒度类的识别结果再对最终的识别的细粒度疾病进行矫正。比如说举个例子来说,对物种和粗粒度疾病的识别是很准的,但是细粒度疾病识别结果错误不符合实际,那么通过物种和粗粒度疾病的识别结果对细粒度疾病识别结果进行矫正。

实施例:

如图4和图5所示,为具体的识别过程和补偿层的“补偿”过程。

在第一维度(物种识别维度),对农作物叶片进行物种识别,得出其物种维度识别的矩阵分布结果;在第二维度(粗粒度病害识别维度),对农作物叶片进行粗粒度病害识别,得出其粗粒度病害识别的矩阵分布结果;在第三维度(细粒度病害识别维度),对农作物叶片进行细粒度病害识别,得出其细粒度病害识别的矩阵分布结果。在三个维度之后,设立了补偿层,补偿层接收来自三个维度的识别概率分布矩阵,将所属物种的概率分布矩阵、所得粗粒度病害的概率分布矩阵作为反馈数据补偿进所得细粒度病害的概率分布矩阵,从而提高细粒度病害的识别结果。

在同等条件下,MDFC-ResNet神经网络与传统神经网络的对比结果如表2所示,可以看出MDFC-ResNet神经网络的识别结果优于其他传统的神经网络模型。MDFC-ResNet神经网络的训练集准确率能达到93.96%,验证集准确率为89.82,测试集准确率为85.22%。

表2

模型 VGG-19 <u>AlexNet</u> ResNet-50 <u>MDFC-ResNet</u>
训练集准确率(%) 92.86 85.52 88.65 93.96
验证集准确率(%) 89.74 85.70 86.79 89.82
测试集准确率(%) 80.19 83.10 82.04 85.22

16页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种特高压瓷质绝缘子串铁帽温度曲线拼接方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!