首页 > 分享 > 深度学习下的小样本玉米叶片病害识别研究

深度学习下的小样本玉米叶片病害识别研究

摘要

通过深度学习网络模型来实现玉米叶片病害识别分类已成为主流,但深度学习的模型需要拥有较多的数据集,然实际是人工获得的样本种类和数据是有限的,且小样本数据集下的模型易出现过度拟合丧失泛化能力的情况。基于该背景下,本文提出一种迁移学习下的小样本玉米叶片病害识别方法,一方面从迁移学习角度出发,解决因少样本而导致模型泛化差的问题;另一方面从深度学习方向出发,采用并训练AlexNet、ResNet50和MobileNetV2模型,对比三种模型在基于迁移学习下的病害识别准确率。研究结果表明,迁移学习有助于提高小样本泛化能力,MobileNetV2模型更适合小样本玉米叶片病害的识别。

Abstract

It is the main method to recognize maize leaf disease by deep learning network model, but the deep learning model needs more data sets, but in fact, the sample types and data obtained artificially are limited, moreover, the model with small sample data set is prone to over-fitting and loss of generalization ability. Based on this background, this paper proposes a method of identifying maize leaf disease with small samples by migration learning. On the one hand, it solves the problem of poor generalization caused by small samples from the perspective of migration learning ,On the other hand, Alexnet, resnet 50 and mobilenet V2 models were adopted and trained from the direction of deep learning to compare the accuracy of disease recognition based on the three models. The results showed that the mobility learning could improve the generalization ability of small samples, and the mobilenet V2 model was more suitable for the identification of leaf diseases in small samples .

1 引言

在玉米生长过程中,病虫害是制约质量和产量的主要因素[

1]。因此,提高对玉米叶片病害的准确识别率,并提前进行有效干预,有利于提高作物产量[2]。随着互联网和大数据等技术快速发展,深度学习也在农业领域中广泛应用,深度学习的图像识别方法在叶片病害种类的准确识别方面有了突破[3]。

李娇娇等先对图像采取预处理的操作,然后通过自适应分割算法获取病害特征并搭建病害具体分类特征集,最后使用模糊识别算法进行病斑种类判断,完成了玉米病害的信息化识别[

4]。王国伟等使用LeNet模型开展实验,选取Adam算法改进网络模型,通过卷积神经网络完成玉米叶片病害的识别,实验数据表明该方法对玉米叶部病害进行了分类,其识别平均准确率达到96%,通过此方法提高了玉米叶片病害识别中特征提取的效率,表明深度学习的算法比传统算法的性能更好[5]。

传统的病害识别过程不仅耗时费力,而且不能保证病害判断的准确度。另外,通过人工采集和标记玉米叶片病害图像是非常困难的,并且获取到的玉米叶片病害图像样本的种类和数量是十分有限的[

6],所以针对小样本的农作物病害图像进行特征提取和分类的研究是十分有必要的。

论文详细阐述了在只有小样本数据集的情况下,使用迁移学习解决小样本量问题,通过比较具有不同特点的网络模型训练结果,得到能够识别玉米叶片病害准确率最高的模型,为以后玉米等农作物的病害识别发展提供一个很好的探索方向。

2 数据集来源和处理

2.1 数据集来源

本论文以玉米叶片铁锈病、玉米叶片枯萎病、玉米叶片灰斑病和健康玉米叶片为研究对象,涉及多个数据集,采用的公开数据集是PlantVillage,PlantVillage中包含了大量的植物彩色叶片图像,这些图像覆盖了草莓、番茄和土豆等作物遭受的常见的各种病害,每个图像都经过专业人员标记了具体的病害类型和位置信息。PlantVillage数据集共有38类样本,包括13种作物,由54305张健康叶片和患病叶片图像组成[

7-9]。

另外,本论文采用的小样本为在本地创建的玉米叶片病害虫数据集,涵盖铁锈病、玉米叶片枯萎病、玉米叶片灰斑病和健康玉米叶片,每类数据各300张。数据集被随机分成5份,4份作为训练集,一份作为验证集,

2.2 数据增强处理

在Python中使用OpenCV图像处理库,调用相应的函数进行图像缩放和随机翻转,加强数据的全面性和多样性,帮助模型学习对象的不同姿态。此外,改变图像的亮度,使模型可以在不同光线下识别相同的样本图像,以此来提高模型的泛化能力。

实验中还利用了keras库来实现数据增强,主要是设置提供给模型的每个样本数据批次(即batch_size)大小,并对每一批样本进行归一化处理,这样可以达到每一轮训练时输入的样本批次不会完全相同的效果。

3 迁移学习和模型的构建

3.1 迁移学习

迁移学习是一种机器学习方法[

10],通过运用已有的知识来学习新的知识,找到已有知识和新知识之间的相似性,通过相似性的迁移去达到迁移学习的目的。当前机器学习的成功应用是依赖于大量数据标签可用的情况下,因此在小样本的场景下,会因数据量小而导致泛化能力差,迁移学习可以先让模型在足够多样本的数据集上进行多次训练后,使模型具有很强的提取特征能力,然后将其迁移至目标小样本数据集上进行训练,进而改善小样本数据量在玉米叶片病害识别中产生的问题。

3.2 AlexNet模型

AlexNet是一种经典的深度卷积神经网络[

11]。它含有5层卷积结构和3个全连接层。其中,每一个卷积层都含有卷积核、偏置项、ReLU激活函数与局部响应归一化模块。第1、2、5这三部分的卷积层后面都有一个最大池化层,最后的输出层为softmax分类器,将网络输出转变成概率值,用来进行对图像类型的预测,如

图1

所示。

图1  AlexNet网络结构

icon 下载:  原图 | 高精图 | 低精图

AlexNet通过Dropout操作,让全连接层前两层的神经元在训练过程中不参与计算且不更新权值,来减少过拟合现象。局部响应归一化是在卷积层和池化层之间添加的一种归一化操作,在卷积层中,每个卷积核都对应一个特征图,局部响应归一化就是对这些特征图采取归一化操作。更确切地来说,就是对于每个特征图上的每个位置,计算该位置周围的像素的平方和,然后将当前位置的像素值除以这个和。其本质是通过对相邻神经元的反应进行抑制,使得神经元产生更大的反应,这种技术在某种程度上可以减少过拟合现象,并使网络的泛化能力得到提升。

实验中采用了Relu函数,Relu函数是一个线性函数,其主要特性是收敛速度快,使梯度计算更容易,但它比较脆弱。它对负数取0,对正数则为输入等于输出,即公式(1)。

所以Relu函数公式为:

计算经卷积后的矩阵尺寸大小,其公式为:

W为图片大小,F为Filter大小,S为步长,P为padding的像素数。

3.3 MobileNetV2模型

MobileNetV2是为了适用移动和嵌入式设备而产生的一种轻量级网络[

12],它是使用一种深度可分离卷积结构和倒置残差结构来搭建而成的轻量级深度神经网络,MobileNetV2网络结构如

图2

所示。

图2  MobileNetV2网络结构

icon 下载:  原图 | 高精图 | 低精图

此外,MobileNetV2利用倒残差来替代深度卷积核。输入经预处理成为尺寸大小为224的玉米叶片图片, 经过MobileNetV2网络结构第一层次为32的卷积通道。输出的尺寸大小为公式:

其中,S是步长,W是输入图片大小,F是大小为3的卷积核,P是填充像素,输出的图片通过Batch Normalization,使特征图达到均值为0、方差为1的分布规律要求, 实现归一化操作, 使用此办法能够减少网络的收敛时间并且提升准确度。

此外,MobileNetV2网络结构的激活函数也与AlexNet网络模型的激活函数不一样,在倒残差模块中使用的是 ReLU6 激活函数,ReLU6 激活函数表达式为:

y=ReLU6(x)=min(max(x,0),6)" role="presentation">y=ReLU6(x)=min(max(x,0),6)

(5)

3.4 ResNet50模型

ResNet50网络模型包含7个部分,首先是没有残差块的第一层次,它主要负责计算数据的卷积、激活函数、正则化和最大池化;另外,中间四个部分结构都含有残差块,其中小部分结构残差块的尺寸不会发生变化,仅有残差块的维度会发生变化。网络首先进行大小为224×224×3的输入,通过计算第一、二、三、四和五部分的卷积,得到7×7×2048的输出,接着池化层会将它转变为一个特征向量,最后softmax分类器将会计算这个特征向量并对类别概率进行输出[

13]。

ResNet50网络的过程为input-> stage0-> stage1-> stage2-> stage3-> stage4-> output。stage0比较简单,输入由(3,224,224)经过64个大小为(7,7)、步长为2的卷积核,此时输出通道数为64(卷积层输出的特征图数目等于卷积核的数量);接着经过BN层(Batch Normalization),批量归一化层是一种常用于深度神经网络中的正则化技术,BN层可以加速神经网络的训练过程,可以使得网络中的梯度在反向传播过程中更加稳定;ReLu是激活函数,最后经过最大池化层,其中卷积核(kernel)大小为3×3,步长为2,最后输出的尺寸为:

即经过stage0,形状由(3,224,224)变为(64,56,56),经过stage1、stage2、stage3和stage4形状变化也是一样的。ResNet50网络结构如图3所示。

图3  ResNet50网络结构

icon 下载:  原图 | 高精图 | 低精图

3.5 初始训练模型

实验分别在AlexNet、MobileNetV2、ResNet50网络模型上训练P1antVillage数据集,不断调整参数进行训练,针对不同的卷积神经网络的输入尺寸的差异,在将图像数据输入到模型之前,先将其调节到对应的尺寸大小(224*224),颜色模型设置为RGB,并在训练前对图片进行在线处理,包括数值归一化,上下左右翻转,随机旋转30度等。根据训练结果,不断改变训练轮次,保留最好的训练权重以便进行后续的迁移学习。

4 实验流程与结果分析

4.1 实验流程

以Anaconda3为基础,创建虚拟环境,在虚拟环境下,实验模型通过Tensorflow 2.10框架调用Keras库构建。实验的硬件环境为i5-1135G7处理器,16GB内存,软件环境为Windows11操作系统,使用的编程工具有Python3.8和PyCharm2023.3.4。具体的实验环境配置如表1所示。

名称配置参数 操作系统 Windows 11 深度学习框架 Tensorflow 2.10 环境管理 Anaconda3 编程语言工具 Python3.8 编辑工具 PyCharm Community2023.3.4 CPU intel(R) Core(TM) i5-1135G7 @ 2.40GHz 2.42 GHz

首先使用拥有38种样本图像的PlantVillage数据集进行三种模型的训练,在三种模型下获得合适的参数后,保存模型的权重,利用迁移学习,将完成学习的浅层网络的模型参数迁移到新的网络中。首先将属性设置为include_top设置为False,来保证在调入模型时不会冲击池化层和最后的连接层,然后将weights设置为已经在PlantVillage数据集上训练好的权重保存的路径,接着设置feature.trainable为False来冻结这个模型所有的网络层权重参数,然后加上两个新的全连接层直接训练模型,此时模型只需要进行最后两个全连接层的训练。在小样本数据集下进行训练,数据集的80%作为训练集,20%作为测试集,然后对模型进行训练。

实验使用的是keras的应用模块提供的带有预训练参数权重的AlexNet网络、MobileNetV2网络和ResNet50网络模型进行迁移学习,来解决样本量少的问题。实验参数设置如表2。

参数名称参数值 图片输入尺寸 224*224*3 样本批次 16 迭代次数 30 交叉熵损失函数 Categorical_crossentropy 分类器 Softmax

4.2 实验结果与分析

针对玉米叶片的病害识别,经过迁移学习,在AlexNet模型下,经过30轮次训练,训练损失函数达到0.1305,验证损失函数达到1.302,训练集准确率达到95.12%,验证准确率达到96.01%;在MobileNetV2模型下,经过30轮次训练,训练损失函数达到0.1277,验证损失函数达到0.1065,训练准确率达到96.99%,验证准确率达到98.96%;在ResNet50模型下,使用经过30轮次训练,训练损失函数达到0.1155,验证损失函数达到0.1153,训练准确率达到95.15%,验证准确率达到96.06%。

(1)AlexNet模型训练结果:

图4  AlexNet 模型损失函数训练结果

icon 下载:  原图 | 高精图 | 低精图

图5  AlexNet模型准确率训练结果

icon 下载:  原图 | 高精图 | 低精图

(2)RexNet50模型训练结果:

图6  RexNet50模型损失函数训练结果

icon 下载:  原图 | 高精图 | 低精图

图7  ResNet50模型准确率训练结果

icon 下载:  原图 | 高精图 | 低精图

(3)MobileNetV2模型训练结果

图8  MobileNetV2模型损失函数训练结果

icon 下载:  原图 | 高精图 | 低精图

图9  MobileNetV2模型准确率训练结果

icon 下载:  原图 | 高精图 | 低精图

由训练结果可知,在迁移学习的情况下即使是样本量较少,也可以得到很好的识别效果,并且在AlexNet、MoblieNetV2和ResNet50三种模型进行相同的迁移学习方式训练下可以看出MoblieNetV2的性能在小样本玉米叶片病害识别中更好,有着更高的准确率,同时收敛速度也很快,泛化能力得到很好的表现,具体如表3所示。

模型Train_lossVal_lossAccuracy(%)Val_accuracy(%) AlexNet 0.1305 1.302 95.12 96.01 MobileNetV2 0.1277 0.1065 96.99 98.96 ResNet50 0.1155 0.1153 95.15 96.05

5 结论

论文使用迁移学习缓解小样本数据量在玉米叶片病害识别中产生的问题,对比具有不同特点的三种模型在迁移学习下小样本玉米叶片病害识别的准确率和损失率,通过训练结果得知在AlexNet、MobileNetV2和ResNet50三种模型下,MobileNet V2网络模型在玉米叶片病害识别准确率方面表现出更好的性能,这为以后在农作物病害识别和预防方面提供了一个很好的学习方向。

参考文献

1

赵秀梅,刘悦,郑旭,等. 我国玉米害虫防控现状与对策建议[J]. 现代农药, 2022, 21(06): 6-14. [百度学术] 

2

赵秀梅,刘悦,郑旭,等. 我国玉米害虫防控现状与对策建议[J]. 现代农药, 2022, 21(06): 6-14 [百度学术] 

3

何雨霜,王琢,王湘平,等. 深度学习在农作物病害图像识别中的研究进展[J].中国农机化学报, 2023, 44(02): 148-155 [百度学术] 

4

李娇娇. 玉米叶部病斑图像智能处理算法的研究与实现[D]. 北京: 北京邮电大学, 2010. [百度学术] 

7

B. SAI REDDY, S. NEERAJA. Plant leaf disease classification and damage detection system using deep learning models[J]. Multimedia tools and applications, 2022, 81(17): 24021- 24040. DOI: 10. 1007/ s11042- 022- 12147- 0. [百度学术] 

8

Afifi A,Alhumam A,Abdelwahab A. Convolutional neural net-work for automatic work for identification of plant diseases with limited limited data[J]. Plants, 2020,10(1): 28. [百度学术] 

9

Xu Y,Zhao B, Zhai Y, et al. Maize diseases identification method based on multi-scale Convolutional global pooling neural net-work[J]. IEEE Access,2021, 9: 27959-27970. [百度学术] 

10

HESHENG LIU. A leaf disease deep learning classification method using EfficientNet [C]. //5th International Conference on Computer Information Science and Application Technology (CISAT 2022), Part Two of Two Parts: Chongqing, China.29-31 July 2022.: Society of Photo-Optical Instrumentation Engineers, 2022: 1245154- 1-1245154-5. [百度学术] 

相关知识

基于小样本学习的植物病害识别研究*
基于深度学习的农作物病害图像识别技术进展
基于深度学习的植物叶片病害识别系统(网页版+YOLOv8/v7/v6/v5代码+训练数据集)
深度学习在植物种类及病害识别领域的研究
深度学习在植物叶部病害检测与识别的研究进展
基于深度学习/YOLOv8的植物叶片病害识别系统【附源码+可远程安装部署】
基于深度学习的百合花种类识别研究
基于深度学习的农作物叶片病害检测系统(UI界面+YOLOv5+训练数据集)
基于深度学习的玉米病虫害检测系统(网页版+YOLOv8/v7/v6/v5代码+训练数据集)
深度学习在植物病害目标检测的科研进展

网址: 深度学习下的小样本玉米叶片病害识别研究 https://m.huajiangbk.com/newsview167712.html

所属分类:花卉
上一篇: 基于深度迁移学习的农业病害图像识
下一篇: 枸杞病害识别:基于区分深度置信网