基于深度学习的水稻病虫害识别系统:设计、实现与应用探索_第1页
基于深度学习的水稻病虫害识别系统:设计、实现与应用探索_第2页
基于深度学习的水稻病虫害识别系统:设计、实现与应用探索_第3页
基于深度学习的水稻病虫害识别系统:设计、实现与应用探索_第4页
基于深度学习的水稻病虫害识别系统:设计、实现与应用探索_第5页
已阅读5页,还剩138页未读, 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

家都息息相关。粮食安全是我国历代人民永远的追求,其核心是保障农业生产的稳定。虽然我国已经实现了口粮的自主安全,且粮食产量近年来增长明显,但依然面临多方面的问题。随着科技的进步,信息技术的发展,实现智慧农业、数字农业成为了保障粮食安全境等过程变为信息,进行可视化、数字化与信息化管理。而智慧农业指的是在数字农业的基础上,结合人工智能、物联网、云计算等技术,实现农业生产的精准控制,达到农水稻是我国的主粮之一,保障水稻的生长安全也就是守护着粮食安全,而病虫害是褐斑,纹枯等,而虫害方面,以稻飞虱,稻螟等最为常见。传统的病虫害识别方法自动化程度不高,识别准确率较低,主要依赖于水稻专家。普通农户自行识别不仅需要消耗大量的人力物力,还会受限于个人经验而存在很高的不可控性,病虫害检测的时效性也不准确,还会造成农药的不当使用,将对环境造成严重影响,因此,利用数字农业与智慧农业精确识别水稻的病虫害有助于提高作物的产量和品质。也是科研人员不断努力研究的方向。由于水稻病虫害类型多样,表现形式也各不相同,不同病虫害在水稻不同部位的病理表现存在差异,因此往往需要专业的诊断才能够避免因滥用广谱性的药物而造成的药性的下降、病原产生耐药性甚至是大规模的减产。随着图像处理、深度学习、5G网络等技术的发展,结合手机APP,可以实时地从田间获取病虫害图片,并利用远程计算中心的计1该技术存在许多制约因素:首先,此技术在单一背景下的识别效果显著,但应用于实际的复杂的农田背景环境中却不尽如人意。其次,基于人工构建的模型,需要不断地根据性能调整模型的参数,增加了建模的工作量和模型运行的识别时间。最后,模型的可拓展性差也是一个较大的短板,难以适应不同地域地貌,以及不同情况下的水稻病虫害诊深度学习在水稻病虫害识别中具有较明显优势6,主要表现在:(1)图片和分类结果可以以端到端的形式进行输入与输出,图片可以直接作为网络的输入,不需要对图像进行预处理,而网络的结果可以直接得到分类的答案;(2)模型的参数由计算机计算获得,不需要通过人工进行模型参数的不断优化,节省人工人力;(3)泛化能力强,对背景环境的依赖性低,可以根据任务的不同需要,调整输入的训练数据,从而针对不同的识别任务拓展与优化模型的识别能力。对于图像识别任务以卷积神经网络(Convolutional的网络实现复杂函数的自动计算与拟合。同时多个隐藏层可以非常好地自动提取图像的神经网络方面7,例如LeNet,VGG,Inception等优秀的神经网络不断出现,不断提高着神经网络的理解与应用。训练方法层面,优秀的优化器也不断出现81,基于不同的最优化算法的优化器,例如ADAM,SGD,SAM等,也可以让同样的模型更容易得到更好的泛化结果。而在原模型上添加可以提高网络性能的结构模块更是研究重点,以2015年残差结构最为出名.另外,基于对分类任务精确程度的追求,以及传统神经网络缺少对于特征中本文的研究重点聚焦于如何利用注意力机制以及更好的优化器来提高传统神经卷积神经网络的性能。由于缺乏针对常见水稻病虫害的公开数据集,所以在水稻病虫害识别任务综上,本文针对深度学习对于水稻病虫害分类识别问题展开研究。期望从卷积神经2万方数据网络模型的构成与数据集构建两个方面出发,提升水稻病虫害诊断模型的诊断效果,为1.2研究现状1.2.1基于传统方法的农作物病虫害识别1998年,Zayas(16利用RGB,HIS颜色空间提取颜色参数,利用模式识别技术进行散装小麦中的稻螟虫识别,准确率达到90%。度共生矩阵进行纹理特征参数识别,准确率达到99%。2005年Sogaard¹8]等利用超绿特征进行图像分割,再通过助攻的形状模板进行19种杂草识别,准确率达到65%以上。柑橘病害的识别分析,准确率达到91%。排列,通过区域标记法、贝叶斯等识别算法识别杂草,解决不同透视角度下的杂草识别得到的椭圆主轴的长度估计实际病斑长度。同理,利用椭圆拟合纹枯病病斑长度,两者平均正确率达到90%以上。准确率达到90%以上。3扬州大学硕士学位论文通过级联的方式得到一个AdaBoost级联分类器来识别害虫。准确率达到95%。2010年Rumpf26]等利用SVM算法进行甜菜病害分类和严重程度分期,准确率达到65%以上。通过以上文献可以发现,传统方法需要人工提取特征,制定规则。这些工作需要大量的农业专业知识,给非专业人员带来困难。同时大量的特征提取工作也增加了计算量。这些都成为了传统识别方法的缺陷。1.2.2基于深度学习的农作物病虫害识别深度学习与传统机器学习相比,有着可以自动提取图像特征进行分类的优点,不需要通过专业人员进行特征提取。近年来,国内外学者利用深度学习模型在对农业领域识别的研究中取得了突出的进展。国内外的主要研究工作有:2017年,黄双萍[27等自制水稻穗瘟病数据集,并使用GoogLeNet模型检测水稻穗瘟病,准确率达92%。2017年,LU[28]等使用卷积神经网络对500张图片进行水稻叶与茎的病害识别,准确率达到95.48%。2018年,刘永波[291利用Tripletloss双卷积神经网络结构学习玉米图像特征,再使用SIFT算法提取图像纹理细节,最后通过Softmax对玉米病害进行分类,并在训练时利用迁移学习。准确率达到90%以上2018年,张建华[30]等在VGG-16神经网络的基础上,利用6分类SoftMax分类器替换原有网络的SotfMax优化器,进行棉花病害识别,并与多种神经网络进行比较,准确率达到89.51%。2019年,王敬贤[31]等建立玉米与杂草识别数据集集,并通过迁移学习和多个神经网络模型融合的方法识别玉米和杂草种类,准确率达89.5%;2020年,范春全[32]等通过收集数据集,利用基于ResNet50的迁移学习模型在样本较少的情况下完成识别,并建立二分类模型进行数据过滤,以防止非水稻病虫害图片被识别为水稻病虫害的不合理情况,准确率可达95.23%。2020年,Jiang[33使用卷积网络提取水稻叶片病害特征,再利用支持向量机进行水稻4万方数据叶病害识别,通过10倍交叉验证法获得最优参数,准确率达96.8%。2020年,Rahman[34]使用两阶段小型卷积神经网络识别水稻病虫害,准确率达到四种卷积神经网络来识别虫害,并通过微调和迁移学习策略确定权重,平均准确率达到2022年,HelongYu[37],通过果蝇优化算法调整深度学习的学习率,使用IResNet50识别7种番茄害虫,平均准确率达94.4%。从以上工作的看出,基于深度学习的方法在准确率上面已经明显超过传统的机器学1.3论文主要工作本文针对水稻病虫害识别问题,主要开展了水稻病虫害数据集构建,识别模型的选工作一:针对常见的水稻病虫害,构建水稻病虫害分类识别数据集,以满足当前没有足够多水稻病虫害图像数据的问题。通过爬虫模块从网络中收集常见水稻病虫害的图像数据,再通过人工筛选与核对形成初始数据集。同时通过比较FMix,CutMix,MixUp三种数据增强方法,最终选取CutMix作为数据增强方法,最终得到7类共1.4万张图片的工作二:针对现有神经网络识别准确率偏低的问题,首先通过对比Inception-虫害数据集与公开数据集上证明SGIR识别模型的优势。结果表明,SGI稻病虫害数据集与公开数据集的准确率达93.0与91.6%,优于初始模型Inception-工作三:首先通过实验使用不同的深度学习优化器训练Inception-ResNetV2、MobileNet、VGG、ResNet50四种卷积神经神经网络模型各有所长的特点,通过多模型融合方法对比不同模型组合与不同融合方法的结果,得到识别准确率最优的集成模型。结构表明,集成模型的准确率达94.12%,优5万方数据工作四:基于本文数据集,使用基于迁移学习的识别方法进行对比实验,结果表明基于迁移学习的ResNet50识别模型准确率达到92.90%,低于本文提出的SGIR模型与多模型融合的识别准确率。证明本工作的有效性,工作五:构建了水稻病虫害识别与查询系统,该系统可以提供水稻病虫害数据集构建,识别模型训练,水稻病虫害识别与信息查询功能。绪论水稻病虫害数据集构建基于CNN多模型集成的水稻病虫害识别方法基于深度学习的水稻病虫害识别系统的设计与实现基于注意力机制与卷积神经网络的识别方法论文组织结构如图1-1所示。第一章主要介绍了水稻病虫害识别的背景和研究意义,简述传统的水稻病虫害识别方法及其不足。并介绍了针对水稻病虫害研究的现状,最后介绍本文的主要研究工作与提出的系统设计。第二章主要介绍了针对数据集的增强方式,介绍了主流的数据增强技术的原理,并基于水稻病虫害数据集,通过实验测试不同的数据增强方式的效果,选取最有效的数据6万方数据增强手段对水稻病虫害数据集进行增强。第三章主要介绍卷积神经网络与注意力机制的相关技术,通过比较传统卷积神经网络选取最优的神经网络。并基于传统的注意力机制,提出新颖的空间分组注意力机制。在最优神经网络的基础上融合空间分组注意力机制得到优秀的识别模型SGIR。第四章主要介绍了不同的深度学习优化器,并通过实验,通过不同模型比较不同优化器的优劣以取得每个卷积神经更好的训练结果。同时介绍多模型集成方法,并通过多模型集成进一步提高水稻病虫害的识别准确率。最后进行对比实验,基于本文数据集,使用基于迁移学习的识别方法与本文的识别方法进行识别准确度的对比。第五章基于Python语言与QT框架,基于第二章的数据集构建手段与第三章第四章的识别模型设计并实现基于深度学习的水稻病虫害识别系统。第六章,总结与展望,对本文的研究工作进行总结,并分析了本研究存在的疏漏之处,对未来研究的改进工作提出展望。7第2章水稻病虫害数据集构建虫害识别方法可以很好地识别水稻病虫害,达到很高的准确率。但在水稻病虫害识别领域,各个研究者针对的病虫害类别与任务目标基本不同,且研究者很少公开的水稻病虫害数据集,导致本领域缺乏高质量的水稻病虫害数据集,所以需要进行数据集构建。通过从互联网中收集相关图片,且因水稻病虫害数据集样本量过小,导致由于病虫害数据集内部不同类别间样本差异大。且水稻病虫害数据集中领域内的样本皆为同一类。为了进一步提高数据集的质量,提高数据集对对抗样本的敏感性,本文对数据集进行了数据增强138。主流的数据增强方法,代表性工作有CutMix、FMix、MixUp,其本质是对数据集进行领域样本的扩充,构建领域内的虚拟样本[39,以提高数据集的泛化能力。本工作通过对比实验,最终选择CutMix数据增强网络,优化水稻病虫害数据集,提升深度学通过查阅相关文献与咨询相关专家,本工作共确定以下7种常见的水稻病虫害作为数据收集对象。1)纹枯,是一种真菌病害,是水稻最为普遍的主要病害,容易导致稻米质病原菌引起的,会在水稻整个生长周期内发生。1)白叶枯,由真菌引起,主要发生在水第一步,数据收集与人工核对,该步骤的目的是从网络中通过爬虫模块收集相关类别的水稻病虫害图像。因为收集到的图像可能存在如类别错误,非实际图片等问题。需8万方数据万方数据第二步,数据增强。通过三种不同的数据增强方式,基于步骤一得到的初始水稻病第三步,该步骤是通过实验对比三种增强水稻病虫害数据集在相同卷积神经网络上爬虫模块爬虫模块图片数据初始数据集Step1数据收集增强数据集1增强数据集2增强数据集3Step2数据增强Step3数据增强方案选取实验评估增强水稻病虫害数据集人工核对2.3.1数据收集与人工核对水稻病虫害数据收集阶段,是利用Resquests网络爬虫模块[40在互联网9息的程序。网页爬虫技术从一个网页开始,获得初始网页的URL,在抓取网页信息的过程中,不断从当前网页中爬取有用的URL并存入等待队列。收集完一个网页信息后,它会根据一定的规则从队列中选择下一步要抓取的URL,并重复以上过程,直到达到某一百度&百度&关键词结束流程队列为空分析网页保存信息数据收集完成之后,为了减少过拟合,减少图片分类信息对人工进行人工核对。减少数据中的噪声数据,例如文字图片或是相关广告图片。经过人工核对后的图片,这些图像大部分来源于自然环境中的照片,少部分为实验室环境中的图片,具有不同的角度、姿态与背景。少部分来源于科研图像即拥有单一背景的识别图两次核对完成后将经过双方两次核对的图片保留作为水经过步骤1,通过以上工作共收集到14000张图片。表2-1列出来每种作物病害的样本数,其中1代表白叶枯,2代表稻瘟,3代表稻曲,4代表褐斑,5代表纹枯,6代表稻螟,7代表稻飞虱。水稻病虫害示例图片如图2-3所示。将数据集按9:1划分为训练集与第2章水稻病虫害数据集构建类别1234567图片数量深度学习在水稻病虫害的识别中取得了很大的成功,但成功的深度学习神经网络需要大量的标签,而收集到的水稻病虫害图片较少。为了弥补水稻病虫害数据集图片总量较小的问题,防止过拟合。所以采用数据增强的方式进行优化数据集,深度学习中数据增强的本质是弥补数据的不足,提升数据集的性能。通过拓展数据集的方式来优化数据集。传统的拓展数据集的方式有翻转、旋转、缩放、剪裁、位移等。这些传统的方式可以增加数据集的样本量,提高深度学习中网络的性能。这些方法简单有效,所以这些增强方法在训练中会以可选参数的形式自动进行。然而以上的数据增强方式并没有改变样本的分布,同一类别的领域内依旧是同一类别,所以需要采用具有创建虚拟样本,可以万方数据扩充样本类别间领域的方法进行数据增强。本步骤通过三种不同的数据增强方式CutMix、FMix与MixUp得到三种不同的增强后的数据集。CutMix数据增强CutMix[41]的原理是将图像中的一部分区域去除,使用训练集中的其他数据的区域数据填充,分类结果按比例分配。CutMix数据增强通过区域性的丢弃策略,可以增强卷积神经网络分类器的性能,可以让模型更有效地关注目标的重点部分,提高网络的泛化和重点区域的定位能力。Xa和Xb是两个不同标签的训练样本,Ya和Y,是对应的标签值。CutMix网络会生成新的训练样本Xa以及对应标签Y。Xa=(1-M)⊗Xa+M⊗XbYa=2⊗Ya+(1-λ)⊗YbMe{0,1}W×H是表示对原特征的剪裁区域,剪裁区域M的大小Ra×R₆为⊗表示逐位置CutMix数据增强流程如图2-4所示,CutMix会将训练集中一个训练批次中两个类型不同的训练样本,进行标签和样本的融合。通过这种办法,进行数据增强,拓展数据集。从图中可以看出,原图的一部分被其他图像所取代产生新的样本用于神经网络的训练。万方数据由图2-4所示,CutMix方法是将原样本的一部分区域直接剪切到另一个样本上面以FMix数据增强波器得到低频图像信息,最后二进制掩码的方式融合两种不同样本的图片,通过FMix方X₁和X₂是两个标签不同的训练样本,Y₁和Y₂是对应的标签值。CutMix网络会生成新X₁=Image2⊗mask(2.8)(2.9)特征中属于λwh范围之内的特征置为1,即不遮掩。其余置为0即遮掩。最后的输出Outlmage为选取的两个样本X₁与X₂,再分别与mask和(1-mask)相乘,两个结果相加FMix数据增强如图2-5所示,FMix方法可以基于多种不同的形状进行数据融合与增强,FMix首先会在原样本中,通过傅里叶变换选出不规则的区域,再将不同的训练样本的特征置入区域中,原图的一部分被其他图像所取代,产生新的样本用于神经网络的训万方数据万方数据MixUp数据增强MixUpl⁴3]数据增强方法,可以说成上面两种方法的原始版,通过在样本之间进行特征的叠加,再通过beta分布计算出来的混合系数进行样本融合。X₁和X₂是两个不同标签的训练样本,Y₁和Y₂是对应的标签值。CutMix网络的训练样本X以及对应标签Y。为融合后的特征与标签。MixUp数据增强如图2-6所示,MixUp方法是将两个不同类别的原样本,分别赋予符合Beta分布的λ权重再进行特征的直接相加以得到新的样本作为数据增强的方式[44]。所以MixUp在新样本中可以发现两个原样本的特征存在模糊的直接叠加的情况。与FMix,CutMix拥有直接替换的情况不同。万方数据原样本2.3.3数据增强方案选取数据增强方法评估实验设计如图2-7所示,将步骤二中得到的三种不同的经过数据增强后的水稻病虫害数据集作为训练集。各自通过相同的神经网络训练,并使用同样的测评估模型(1)神经网络本实验的卷积神经网络采用VGG神经网络,VGG⁴5]于2014年在论文《VeryDeep连续的3×3的卷积核代替例如11×11,7×7等较大的卷积核。例如,7×7的卷积核可以看成一个7×7的全连接层在7×7大小的区域滑动,可以先用一个3x3的卷积滤波器卷积,再级联两个3x3的卷积滤波器。这三个级联的卷积可以代替一个7×7的卷积。表2-2VGG网络构成2×2,步长228×28×512激活输出层图2-8VGG网络结构VGG网络组成结构如表2-2与图2-8所示,其结构非常的一致,整个网络只使用尺寸相同的3×3的卷积和2×2的最大池化函数。网络首先是通过两个相同的5×5卷积模块,在此模块中,由连续两个3×3的卷积层代替一个5×5的卷积层,经过连续卷积层之后是万方数据万方数据一个2×2的最大池化层。之后。再经过三个相同的7×7卷积模块,在此模块中,用三个连续的3×3的卷积层代替7×7的卷积层,经过连续卷积层之后是一个2×2的最大池化在SGD{46算法的流程中每次更新时只使用一个样本进行梯度下降。即随机梯度下降中随机的含义就是使用一个样本来表示所有的样本,且因为这个样本是从数据集中随机抽取的,所以这样的每次迭代没有办法得到一个准确的梯度,会导致每一次迭代得到的损失函数不一定是朝着全局最优方向。但通过多次样本梯度下降的方式,整体函数的优化方向依然是朝着全局最优解的方向靠近,最后得到的优化结果会邻近全局最优解。这种算法收敛的速度更快,也更容易不容易陷入单一的局部最小值。但从期望上来考虑其中,n表示样本的总数,{(x¹,y¹),….(x,y表示样本的标签。模型参数为θ,损失函数J(θ),对第i个样本的损失函数梯度为VeJi(θ,x',y)。α表示模型的学习率。准确率是评价神经网络的最常见的指标,其的指标意义也没非常容易理解,就是测试集中,所有被正确识别的样本总数与测试集中所有的样本数。用公式表示模型的准确其中,ACC表示模式识别的准确率,m是每次模型训练时的被划分的批次数,K;为在本章所有实验中,采用VGG作为神经网络结构,SGD作为深度学习优化器。实验的超参数保持不变。丢弃、衰退、训练轮次等超参数保持不变。其设置如表2-3所示。学习率被设置为0.01,且会随着训练轮次的增加而衰退。每50轮学习率衰退10倍,这种训练方式可以在训练轮次较多时,通过减少学习率的方法减少震荡的情况发生。Dropout参数为常规的0.2。本文所有的工作为基于Pytorch在Ubuntu平台中实现,Pytorch具有先进设计理念的框架,与其他框架相比,在使用中十分灵活,易用。深度学习平台50轮/0.1通过比较步骤二中得到的三种增强数据集,在选择VGG作为学习网络进行实验得到万方数据万方数据从表2-4中的结果可以得知,作为基准的VGG网络,准确率达到了89.96%,采用不同的数据增强方式的实验结果与基准相比都有增强,而采用了CutMix达到了最高准确率。所以采用CutMix作为数据增强方法,制作增强水稻病虫害数据集。本章针对缺乏公开水稻病虫害数据集的问题,通过爬虫技术制作数据集。并针对水稻病虫害样本量较少的问题,为了进一步提高数据集的性能来更好地训练网络。本文对比了CutMix,FMix,MixUp三种数据增强方法,通过实验结果选择经过CutMix数据增强的水稻病虫害数据集。第3章基于卷积神经网络和注意力机制的水稻病虫害识别方法水稻病虫害识别的关键是在于对病虫害图片处理和分类识别。整个流程为收集,处理,特征提取,分类识别。对于水稻病虫害的识别问题,需要从网络上收集或采集大量的图片。处理是在收集图像的基础上进行改善,对不合适的图像进行删减,对过大过小特征提取是通过图像处理计算利用卷积神经网络等算法手段对图像信息进行归纳计算,因此特征提取直接影响到作物的识别准确率。良好的特征提取是识别的前期保证,现在的主流方法使用深度学习来学习数据样本的内在规律和表示层次。在神经网络进行特征提取,神经网络能够模拟大脑进行分析和学习的一种手段。对于图像方面,使用最广泛,最有效的深度学习模型是卷积神经网络。本工作也采用卷积神经网络作为实验网络。卷积神经网络是一种可以进行信息分布式并行处理的数学模型,是深度学习的一个而大多图片方面的研究是使用卷积神经网络作为神经网络模型进行研究[48],卷积神经网络是神经网络的一种,卷积神经网络主要由卷积层,池化层,全连接层组成。关于图像的卷积神经网络算法有许多种,不同的算法有不同的优势,而如何提高准确率是神经网络算法不断追求的目标。近年来,优秀的卷积神经网络不断出现,例如VGG,ResNet50,Inception等。然而卷积神经网络模型的准确率有限,且很容易陷入过拟合的困境中,而注意力机制[49]可以很好地缓解过拟合,凸显特征的“是图3-1为基于卷积神经网络和注意力机制的水稻病虫害识别的总体思路。如图所万方数据万方数据第一步,该步骤的目的是通过比较Inception-ResNetV2、VGG、MobileNetV2、ResNet50四种传统的卷积神经网络模型在水稻病虫害数据集上的准确率,得到最适合水稻病虫害识别的卷积神经网络模型。第二步,该步骤的目的是通过研究现有的注意力机制。提出创新性的注意力机制,并与步骤一的卷积神经网络进行结合,优化现有网络,得到高准确率的网络模型。最优传统卷积神经网络Step1卷积神经网络选取空间注意力机制通道注意力机制优化模型2优化模型3优化模型4Step2注意力机制选取优化模型13.3.1卷积神经网络选取卷积神经网络由多个卷积层和最后输出的全连接层组成,中间也会加入激活函数和万方数据池化层,这一结构使得卷积神经网络能够利用输入数据的二维结构。与传统方法相比,卷积神经网络在图像和语音方面的工作中发挥出色。卷积神经网络使用反向传播算法进行训练。相比较其他类型的深度、前馈神经网络,卷积神经网络需要考量的参数更少,因此卷积神经网络成为一种新颖有效,备受关注的神经网络结构,越来越多的科研人员投入到卷积神经网络的研究。同时伴随着硬件处理水平的不断提高,越来越复杂、越来越有效的卷积神经网络不断出现。在2014年,深层卷积神经网络VGG被提出,同年,Google公司提出Inception结构[S²与GoogLeNet网络[S3],其结构也是Inception网络的前身2014年把网络加深到了20层左右,图像识别的错误率到接近人类的水平。2015年,残差结构被提出,基于残差结构的ResNet网络结构[54]被提出。2017年,基于残差结构与Inception结构的Inception-ResNet网络被提出。同年,MobileNet网络[55被提出,其设计思路就是专注于轻量级的CNN网络。相比于传统神经网络VGG,参数量只有其1/32。XX亩输入(1)VGG网络与节中一直,VGG模型的思路是反复叠加3×3的小卷积核与2×2的最大池化层,最终组成深层网络。(2)ResNet50网络是基于残差结构,如图3-2所示,残差结构的思路是把输入略过中间的参数层,直接输给输出层。即若输入为X,Inception层为F(X),则输出是Y=F(X)+X。残差结构通过一个“短路”结构跳过中间层,将原始特征与进行中间层的特征在输出层进行相加合并。在网络中,残差结构由残差块组成,残差块由多层卷积层叠加组成。用公式表达残差层为Xl+1=Fa(Xi+f(Xp,wi))X₁+1和X,表示第L和第l+1个残差块的输入与输残差块的权重参数。残差块中的卷积层包含着多组可学习权重与偏置。卷积层以上层的输入特征输入特征卷积层1×1卷积层1×1激活函数(3)Inception-ResNetV2网络,Inception结构于2014年在论文《Goingdeeperwithconvolutions》被提出,其思想是为了解决提取高维特征而导致的网络变大的问题。Inception的思想是通过叠加卷积块,使网络变宽,保证模型有效性的同时用于并提取高维特征。在Inception模块中,每层网络包含例如1x1卷积,3x3卷积,5x5卷积,3x3池化等多个尺寸的函数。通过这种方法,网路中每层函数都能提取到不同尺寸的特征,这种方式增加了网络的宽度,也获得了网络对尺度的适应性。2017年,Inception模块结合残差结构提出Inception-ResNet模块,并组成Inception-ResNetV2网如图3-3所示,Inception-ResNet模块为网络的积模块,主要由并行的1×1,3×3的卷积层组成。其中3×3的卷积层由级联的1×3卷积层和3×1卷积层代替,通过这种方式增加网络的深度,提高准确率。最后通过串联两条分支的输出,再通过激活函数进行输出。Inception模块并不改变特征的维度,因此可以级联多个模块。Incep万方数据逐点卷积是使用1×1的卷积核对特征图进行升维与降维。MobileNet的基本模块由深度可分离卷积与逐点卷积组成,基本模块如图3-4所示。输入输入逐点卷积层(1×1)深度卷积层(3×3)逐点卷积层(1×1)图3-4MoblieNet基本模块本步骤是通过比较四种传统卷积神经网络在经过CutMix数据增强后的水稻病虫害上一致。共比较了四种传统卷积神经网络,Inception-ResNetV2,VGG,ResNet50与实验结果如表3-1所示。Inception-ResNetV2为准确率最高的模型,为了进一步得到第3章基于卷积神经网络和注意力机制的水稻病虫害识别方法3.3.2注意力机制选取随着神经网络的发展,如何进一步的通过减少过拟合的问题来提高准确率也成为了使其对于结果产生更大的影响。最开始的注意力机制是在编码器-解码器中,注意力机制通过对编码器所有时间步的隐藏状态做加权平均来得到下一层的输入变量。而在计算机空间域注意力机制的作用是突出特征中的某一区域,增加其权重。使其在进行空间信息变换时能保留关键信息。正常是空间域方法是使用平均池化函数实现,即利用一个矩阵窗口在张量上进行扫描,将每个矩阵中通过取平均值来替代原有矩阵。通过这种方通道域注意力机制的作用是突出特征的信息。即用权重评价对不同通道对关键信息的贡献,用来代表该通道与关键信息的相关度。权重越大,即对最终结果的贡献程度就越大。通道域注意力机制正常是通过组归一化函数实现。即在batch方向上做归一化,对Squeeze-and-Excitation(SE)模块[56]于2017年在论文《Squeeze-and-ExcitationNetworks》被提出,SE模块实现了非常基础的通道注意力机制。SE模块结构如图3-5所SE模块结构如图3-5所示,SE模块主要基于通道注意力机制,共有两个操作组成,压缩和激励操作。假设输入特征的维度是C×W×H,压缩操作是将输入特征经过全局平均池化函数,将输入特征压缩到1×1×C的向量。之后是激励过程,由两个全连接层和激活函数组成,通过这种操作得到维度为1×1×C的每个通道的权重值。这些权重值之Z=FA(MLP(AvgPool(X))+MLP(MaxPool(X))第3章基于卷积神经网络和注意力机制的水稻病虫害识别方法用公式表示空间注意力机制为Z=FA(ConV₇x₇([AvgPool(X);Ma其中Z为权重,ConV₇×7表示7×7的卷积层,AvgPool为平均池化函数,MaxPool为最大池化函数,FA为激活函数。Llayer(3)SelectiveKernel模块SelectiveKernel结构[58于2019年在论文《SelectiveKernelNetworks》被提出,SelectiveKernel结构是一个轻量级嵌入式的模块,其思路是,我们在看不同尺寸不同远近的物体时,视觉皮层神经元接受域大小是会根据刺激来进行调节的。那么对应于CNN网络,一般来说对于特定任务特定模型,卷积核大小是确定的,是否可以构建一种模型,使网络可以根据输入信息的多个尺度自适应的调节接受域大小。SK模块结构如图3-7所示。这个网络的主要分为Split,Fuse,Select三个操作Split操作是指对输入向量X进行不同卷积核大小的完整卷积操作。对特征进行卷积核=3×3和卷积核=5×5的卷积操作,得到输出U1和U2之后U1和U2进入Fuse操作,通过U1与U2合并得到U3,之后U3经过全局池化函数与全连接函数与激活函数得到压缩之后的特征权值Z。万方数据扬州大学硕士学位论文先进行全局平均池化操作,后为先降维再升维的两层全连接层。需要注意的是输出的两个矩阵a和b,其中矩阵b为冗余矩阵,在如图两个分支的情况下b=1-a。Select操作对应于SE模块中的Scale。区别是Select使用a和b两个权重矩阵对进行Vc=ac·U₁+bc·U₂,ac+bc=1其中U₁与U₂表示,经过分割后的U1和U2经过不同卷积核之后的特征。a与bc表示经器中,注意力机制通过对编码器所有时间步的隐藏状态做加权平均来得到下一层的输入空间域注意力机制的作用是突出特征中的某一区域,增加其权重。使其在进行空间个矩阵窗口在张量上进行扫描,将每个矩阵中通过取平均值来替代原有矩阵。通过这种通道域注意力机制的作用是突出特征的信息。即用权重评价对不同通道对关键信息的贡献,用来代表该通道与关键信息的相关度。权重越大,即对最终结果的贡献程度就万方数据万方数据间分组注意力机制。空间分组注意力机制(SpatrialGroups,SG)在传统的空间注意力机制和通道注意力机制的基础上,加入了分组归一化再结合的思想。即输入特征先进行通道注意力权重赋值,后通过分组分块进行空间注意力权重计算。其算法核心是空间注意力中的组归一化函数并没有在维度层面进行计算,所以通过将原特征分组再进行通道注意力机制,更能突出一些微小特征的特点,可以让网络更好的识别是什么。SG模块流程如图3-8所示:特征A首先经过通道注意力机制进行权重赋值,通道注意力机制的构成与CBAM模块中的通道注意力机制一致。输入特征先经过平均池化函数,再通过计算了通道的方差目的是得到通道注意力权重,再经过线性函数与原值相加,最后通过Sigmod激活函数激活。这三个函数共同组成的通道注意力机制,给特征A附上了通道注意力权重,更好地体现出特征的“是什么”属性,即识别目标的分类结果;之后将输入在通道维度上按照参数G(分组数)进行分组,分组后的特征分组经过空间注意力机制。空间注意力机制的构成与CBAM模块中的空间注意力机制一致空间注意力机制首先组归一化函数,目的是得到归一化的空间注意力权重,再经过融合线性函数与原值相加,最后通过Sigmod函数激活。这三个函数共同组成的空间注意力机制,让特征更好地体现特征的“在哪里”属性,即需要识别的物体在哪里,更加突出此区域的特征。经过通道注意力机制赋权值和空间注意力机制赋权值的特征各组特征再经过特征合并函数回到最初的维度。最后,合并后的特征再一起经过通道转换函数打乱通道顺序融征分组用公式表达通道注意力机制为经过通道注意力得到的X,会经过参数G进行特征分组得到每组的特征Xi。再通过x{=o(Fea(Fcn(Xk))·Xi=o(W2Sz+b2)3.3.4基于卷积神经网络和注意力机制的识别模型比较流程如图3-9所示,本节工作是通过实验对比不同的注意力机制对Inception-ResNetV2卷积神经网络的优化作用。共比较了四种注意力机制,分别是SK、SE、万方数据CBAM与本章提出的空间分组注意力(SG)注意力机制。这四种注意力机制会通过实验结果比较对原卷积神经网络的优化作用。融合注意力机制的Inception-ResNetV2网络如图3-10所示。从图中可知,与Inception-ResNetV2相比,通过减少Inception-ResNetV2网络的层数,并在Stem、Inception-ResNetV2-A、Inception-ResNetV2-B、Inception-ResNetV2-C结构之后添加了注意力层。为了对比不同的注意力机制性能,分别采用空间分组注意力机制,SK,SE,CBAM进行对比实验。添加了空间分组注意力机制的Inception-ResNetV2网络为空间分组残差网平均池化层A本工作通过对比不同的注意力机制对Inception-ResNetV2网络的提升作用。在实验中主要采用网络正确识别的准确率作为指标来衡量网络的性能。实验参数设定与2.4节的实验设置保持不变。采用的数据集为经过CutMix数据增强的水稻病虫害数据集与公开数据集Cif-10。通过水稻病虫害数据集证明该模型在水稻病虫害上的表现,通过公开数据集Cif-10证明该模型与注意力机制的泛用性。万方数据3.4.1识别准确率对比水稻病虫害123461.从实验中可以看出,最高的准确率为实验6,即在Inception-ResNetV2网络中通过空间分组注意力机制进行优化。同时在公开数据集Cif-10中,其的准确率也是最高的,而会导致网络性能的下降。说明并不是所有的注意力机制都可以对网络起到优化作用,任意添加注意力机制不能确保一定可以提高分类性能,CBAM与SK注意力机制对3.4.2收敛速度对比图3-11展示了在相关的训练参数条件下,原始卷积神经网络Inception-ResNetV2与添加了空间分组注意力机制的SGIR网络的训练过程。折线代表SGIR网络,点线代表优于Inception-ResNetV2网络。说明在此网络中,SGR网络可以更好地完成水稻病虫害识别任务。同时SGIR网络训练后期没有明显的波动,与原始网络相比训练过率更加稳定。说明注意力机制可以帮助神经网络进行收敛。加快卷积神经网络的优化速第3章基于卷积神经网络和注意力机制的水稻病虫害识别方法准确率准确率3.4.3热力图对比不强的问题,其能够帮助分析对于某个类别的关注区域,其通过视觉解释卷积神经网络预测时的重点关注区域。根据图片中不同区域对结果的影响程度,通过算法做出注意力热力图。越红的区域代表对结果的贡献越大,越蓝的区域对结果的贡献越少。生成的注以组图为例,为基于Grad-CAM算法的注意力机制热力图可视化。图a为基于SGIR图3-12-a所示,白叶枯病症,基于SG注意力机制优化的SGIR模型对于叶片的病症对于图3-12-b所示,稻瘟病,基于SG注意力机制优化的SGIR模型对于稻穗部分的对于图3-12-c所示,纹枯症,基于SG注意力机制优化的域关注较多,给与了更大的权重,呈现红色。而原始模型Inception-ResNetV2却在背景区域的稻穗处给予了更大的权重,存在一定的过拟合问题。从图中可以看出,本文提出的模型结构与传统卷积神经网络Inception-ResNetV2相比,对背景的关注度更少,SGIR算法主要的关注区域都在水稻病虫害重点病害区域。注意力热力图的对比说明注意力机制减少了过拟合,从另外一个方面也说明了注意力机制提高了让卷积神经网络更加关注于数据的重点部位,提高了模型的可解释性。万方数据同时传统卷积神经网络存在缺乏注意力机制,导致准确率偏低的问题。本章基于卷积神经网络与注意力机制提出基于卷积神经网络与注意力机制的水稻病虫害识别方法。本章的内容为两个方面:(1)对比不同的卷积神经网络在水稻病虫害上的准确度,实验结果表明Inception-ResNetV2的识别准确度最高。(2)首先基于空间注意力机制与通道注意力机制,提出空间分组注意力机制。(3)以Inception-ResNetV2为原始网络,通过添加不同注意力机制进行结果比较,探索不同的注意力机制对网络的提升作用。结果表明,本章提出的空间分组注意力机制与Inception-ResNetV2结合后的SGIR网络,在水稻病虫害与Cif-10数据集中都取得了更好的识别准确率SGIR网络与Inception-ResNetV2相SGIR网络更能关注水稻病虫害图片的重点区域,说明SGIR网络减少了原始网络的过拟扬州大学硕士学位论文第4章基于CNN多模型集成的水稻病虫害识别方法积神经网络的水稻病虫害识别方法可以很好识别水稻病虫害。然而单个卷积神经网络模型的各有所长,将多种不同结构的网络模型融合可能会获得更好的识别效果。卷积神经优点,进一步提高卷积神经网络的泛化能力。因此,本研究从单个模型开始,通过排列组合的方式,选取VGG、SGIR、ResNet50、MobileNet四种模型两个即以上的模型通过直接权重平均法与加权法进行水稻病虫害识别。同时在训练模型时,为了获得更好的优最小化(SAM)[65]三种深度学习优化器在不同模型上的训练效果,以得到更好的训练结网络模型。StepStep1模型训练优化网络模型1Step2多模型集成多模型集成高准确度识别模型网络模型图4-1多模型集成的水稻病虫害识别框架4.3基于多模型集成的水稻病虫害识别的关键步骤4.3.1卷积神经网络训练优化水稻病虫客数据集水稻病虫客数据集对SGDSAM水稻病虫害数据集水稻病虫害数据集果对果比比图4-2神经网络优化器结果对比度法(SGD)、自适应矩估计法(ADAM)、锐度感知最小化(SAM)三种深度学习优化器进行优化训练。再通过对比每种模型基于不同深度学习优化器的训练结果以获得更本步骤中共采用SGD、ADAM、SAM作为对比优化器,其中,SGD优化器原理已在2.4(1)ADAM原理是一种对随机梯度下降法的扩展,ADAM算法与SGD算法是不同的。SGD算法在计算中对所有的权重更新保持一个单一的法会对低频参数给出更高的更新参数,对于高频参数给也根据最近的权重梯度的平均值(例如变化的速度)来调整每个参数的学习速率。ADAM算法可以提高在数据较稀疏时的性能,保证在数据稀疏情况下,可以更好地利用稀疏梯度信息,比SGD算法表现更好。但ADAM算法也会随着训练时间的增加,会导致权重的在公式中,g代表梯度,m代表梯度指数的移动平均数,β代表指数的衰减率,控制权重的分配,采用默认值0.9,v.指的是梯度的变化的指数移动平均数,控制梯度平方的(2)锐度感知最小化优化器(SAM)与其他常规的优化方法相比可以实现更好的泛化性能,让神经网络达到更好的优化结果。在随机梯度下降法或其他的优化算法中,其目标是找到一个收敛的方向。而SAM的目标的计算目标重点是放在领域内寻找具有均匀的低损失值的参数上,而不是只寻找一个低损失值的参数,通过这种方法完成更好的泛4.3.2多模型集成单模型(1)VGG和SGIR(3)VGG和MobileNet(2)VGG和ResNet50(4)SGIR和ResNet50(5)SGIR和MobileNet(6)ResNet50和MobileNet(1)VGG、SGIR、ResNet50和MobileNet(2)MobileNet、SGIR和ResNet50(3)VGG、SGIR和MobileNet(4)VGG、ResNet50和MobileNet四模型集成(1)VGG、SGIR、ResNet50和MobileNet万方数据四种模型产生的预测结果与权重相乘再相加之后得到最后的预测结果。识别准确率高的本章中,将用排列组合的方式对两个以上的模型进行集成。表4.4.1实验设计数据集采用前文经过数据增强的水稻病虫害数据集,共有7类水稻病虫害。采用的实验设置、实验平台、超参数等设置与2.4.1节一致。采用准确率为评价优化器与多模型集4.4.2实验结果与分析表4-2为对比同一种模型使用不同的神经网络优化器的结果,同时也横向对比了不同卷积神经网络在水稻病虫害数据集上的识别准确率。从表中的结果可以看出,包含空间分组注意力机制的SGIR可以达到最高的识别准确率93.64%,且在使用SAM优化器时,可以获得更高的准确率。其余的VGG,ResNet50,MobileNet模型在使用SAM优化器时都可以获得更高的准确率。说明SAM优化器与SGD、ADAM优化器相比,可以完成更第4章基于CNN多模型集成的水稻病虫害识别方法表4-3为在水稻病虫害数据集上单模型和多模型集成的平均权重法识别结果,表为在水稻病虫害数据集上单模型和多模型集成的随机权重法识别结果,随机权重采用随机函数进行权重的赋值,取最好结果展示。0代表SGIR,1代表ResNet53代表VGG。准确率(%)准确率(%)准确率(%)准确率(%)从表4-4中可以看出,单模型中SGIR对水稻病虫害的识别准确率是最高的,为93.64%。VGG对水稻病虫害的识别准确率是最低的,为92.90%。在平均权重法中,最高的准确率为SGIR,ResNet50与MobileNet的直接权重平均,准确率达到93.82%。在基于加权法的集成模型中,最高准确率为SGIR、ResNet50、MobileNet与VGG四模型集成得出,为94.12%。随机权重法的最高准确率比直接平均法高,也超过了单一模型识别的最高准确率,结果表明卷积神经网络的集成可以进一步提高水稻病虫识别问题的准确率。4.5基于迁移学习的对比实验由于不同研究者使用的数据不相同,为了验证本文提出的数据增强、注意力机制优化模型与多模型融合的识别方法,证明其有效性,本文根据的基于迁移的学习的水稻病虫害识别方法思路在本工作的数据集上进行实验以证明本文工作的有效性。由于针对水稻病虫害识别任务,不同研究者使用的数据、病虫害的种类各不相同,为了验证本文提出的数据增强、注意力机制优化模型与多模型融合的识别方法的有效性,本文根据的基于迁移的学习的水稻病虫害识别方法思路在本工作的数据集上进行对比实验以证明本文工作的有效性。对比实验采用ResNet50预训练网络模型并根据数据集进行适应性调整。将顶层全连接层的参数全部删除并保留其他层的模型参数,以获得预训练模型下的参数。在此基础上重新设计全连接层,并随机初始化参数。相关超参数如表所示。值学习率万方数据第4章基于CNN多模型集成的水稻病虫害识别方法4.5.3对比实验结果采用基于迁移学习的ResNet50网络训练后的实验结果的识别准确率为92.90%。优于本文工作中基于非迁移学习的ResNet50的准确率91.7%,但低于本文提出的SGIR模型的准确率93.64%与多模型融合准确率94.12%。对比实验证明本工作的有效性。本章采用卷积神经网络多模型集成与多深度学习优化器对比的虫害的识别准确率。首先,本章基于四种卷积神经网络模型SGIR,ResNet50,MobileNet,VGG。对比四种模型在不同深度学习优化器中的准确率结果,确保模型的优化性能。另一方面,通过训练四种多个卷积神经网络模型,将其预测结果进行融合。通过排列组合,取四种模型中的两个及以上用于水稻病虫害识别。同时也比较了平均权重法与随机权重法两种模型集成方式。实验结果表明:(1)与传统深度学习优化器SGD、ADAM相比,SAM优化器可以达到更好的优化效果。(2)在水稻病虫害识别问题中,卷积神经网络多模型集成的方法与单一卷积神经网络相比,可以进一步提高模型的准确率。SGIR、ResNet50、MobileNet与5.1引言本章基于深度学习网络设计了水稻病虫害识别系统,通过该系统帮助农业从业人员识别水稻病虫害。整个系统包含水稻病虫害数据集构建,病虫害信息查询,水稻病虫害5.2需求分析5.2.1应用需求分析目前,水稻病虫害是影响水稻产量的重要原因。这主要体现在:1)水稻病虫害识别智能化程度低,当发生病虫害时,还有许多的人员会去寻找农业保护站或者植保人员解决。需要花费大量的时间与精力,同时识别的准确率和训练速度还急需提升。2)对于大部分目前的水稻病虫害识别系统,缺乏系统对图像中的重点信息进行突出表示,难以让使用系统的用户了解病虫害信息的重点区域。3)现有的水稻病虫害识别模型需要随因此,本章设计的基于深度学习的水稻病虫害识别系统对于帮助农业从业者识别水稻病虫害是有一定作用的。本章结合前三章内容,针对水稻病虫害进行开发应用系统。首先,用户可以根据需求从网络中爬取数据,并使用增强网络数据增强,训练模型提升系统的识别能力。其次系统通过前章训练好的神经网络对用户上传的图片进行识别,并5.2.2用户需求分析本章设计的基于水稻病虫害识别系统主要分为两类用户:系统管理员和农业相关人员。系统管理员负责对整个系统进行管理,包括水稻病虫害图片收集,神经网络训练,识别模型的更新,以保证系统稳定,高效地运行。农业从业人员可以进入识别系统进行基于神经网络的水稻病虫害识别系统基于神经网络的水稻病虫害识别系统水稻病虫害数据集构建模块·Requests爬虫模块·人工筛选·CutMix数据增强·模型训练·多模型集成水稻病虫害识别模块水稻病虫害信息查询模块图5-1水稻病虫害识别系统框架5.2.3功能需求分析本小节根据前文工作以及水稻病虫害识别需求,具体介绍了水稻病虫害数据集构建系统管理员进入该模块后,可以使用该模块进行数据集的构建与模型的训练。数据集构建首先是管理员根据需求通过Requests模块进行网络爬虫收集相关图片,之后图片会由管理员与专业人员进行筛选与分类。筛选分类完成之后的图片会经过CutMix数据增强网络成为数据集。管理人员可以根据需要选择与之前的数据集融合再训练新的神经网络模型,或是重新训练成为一个新的卷积神经网络模型。管理员可以选择多种神经网络进行训练,并可以根据需要进行模型集成。(2)水稻病虫害识别模块。练的神经网络模型进行水稻病虫害识别。能够帮助用户准确得了解输入图片的水稻病虫害种类,并显示模型识别的概率。同时用户还能够使用VGG、ResNet50、SGIR、MobileNet、融合模型多种不同的模型进行识别,进一步减少错误识别的可能性。该模块在识别同时也会基于Grad-CAM注意力热力图模块可以在图片中展示图片的重点区域,让用户更能了解病虫害的重点部位。使用户更容易发现使用的深度学习是否存在严重的过拟合的问题,便于进一步优化模型。用户进入水稻病虫害信息查询模块之后,可以使用信息查询模块进行常见水稻病虫害信息查询,即通过点击相关水稻病虫害名称,系统会自动输出相关水稻病虫害的信息以及防治手段,给与用户简便的查询方式。本小节具体介绍了本系统的三个模块水稻病虫害数据集构建模块,病虫害信息查询模块,水稻病虫害识别模块。(1)水稻病虫害数据集构建模块该模块的主要功能是管理员根据用户的需要进行水稻病虫害数据集的构建,该模块主要由网络爬虫功能、数据增强功能、模型训练功能组成。网络爬虫功能主要基于Requests模块实现,可以实现根据关键词从网络中收集图片并保存的功能。数据增强功能主要基于CutMix功能实现,可以实现对现有的数据集进行数据增强的功能。模型训练功能主要基于Pytorch框架实现,可以实现给定数据集的情况下根据给定的模型进行训练。该模型的主要功能是通过训练好的神经网络进行水稻病虫害识别,并返回识别的结果与概率。根据用户上传的图片信息并选择相应的神经网络模型,会将图片导入对应的神经网络模型中进行特征处理并基于输出进行预测对应的水稻病虫害的概率。还可以根据图片与模型产生注意力热力图。识别模块主要基于Pytorch框架实现,使用由管理员训练好的模型对相关图片进行特征提取并进行水稻病虫害类别预测。热力图模块主要基于Grad-CAM算法计算图片不同区域对结果的贡献值。基于贡献值,生成注意力热力图。将贡献值大的区域以越红的方式展示,贡献值小的区域以越蓝的方式展示。注意力热力图万方数据可以帮助用户理解图片的重点区域。(3)水稻病虫害信息查询模块。该模块的主要作用是通过事先收集的水稻病虫害相关信息,整理存入系统中。并设计对应的查询按钮,用户在使用时,可以方便简单地查询并获得相关水稻病虫害信息。该模块的水稻病虫害信息主要收集了同识别类别一样的七种水稻病虫害,分别是:白叶枯,稻瘟,稻曲,褐斑,纹枯,稻螟,稻飞虱。涵盖了最常见的水稻病虫害数据。收集了典型图片以及病虫害相关信息,也包括防治手段。该模块的实现主要基于管理员收集的相关水稻病虫害的信息与防治手段,并在系统中加入对应的查询界面进行水稻病虫害信息查询。本系统基于python语言的QT框架,QT即PyQt是开支Digia的Qt5应用程序框架,适用于Python语言。它有着强大的图像程式框架和Python接口,可以运行在多个平台当中。本文考虑到PyQt的易用性和易拓展性,跨平台性选择PyQt作为界面开发框架。使用Pytorch作为深度学习框架,并在PyCharm上进行开发运行。相关版本信息如表所示。系统信息系统使用的神经网络模型与注意力机制模型均基于Pytorch,来源于前文的训练模型。该系统主要包括三个功能模块,具体实现主要分为数据收集、界面制作、系统集成三个阶段。(1)数据收集阶段第一阶段的主要任务是进行数据收集,收集水稻病虫害图片进行神经网络模型训练以及水稻病虫害相关信息以供查询。具体实现如下:1)通过Resquests爬虫模型根据是的万方数据万方数据病虫害相关关键词从谷歌图片、百度图片中获取图片数据集。并结合一些公开数据集增大数据量。查询相关水稻病虫害的数据,整理数据2)与专业人员进行数据筛选与分类,将非病虫害图片与不符合要求的图片去除。形成初始数据集。3)基于CutMix数据增强网络对初始数据集进行数据增强,得到水稻病虫害数据集。4)基于Pytorch框架,使用VGG、ResNet50、SGIR、MobileNet多种模型基于水稻病虫害数据集进行模型训练,得到多种卷积神经网络模型。5)使用多模型集成随机权重法,对四种卷积神经网络模型进行模型集成,形成融合模型。(2)界面制作阶段第二阶段的任务是针对面向用户的水稻病虫害多模型识别功能、水稻病虫害信息查询功能两种功能进行界面的制作。具体实现如下:1)针对程序的主界面,添加水稻病虫害多模型识别与信息查询的选择按钮。2)针对多模型识别功能,主要需要在界面中添加上传图片的功能,展示图片窗口、展示热力图窗口、多种识别模型的选择按钮。3)针对水稻病虫害信息查询功能,添加图片展示窗口,信息展示窗口,病虫害类别选择按钮。(3)系统集成阶段第三阶段的任务是将多种功能、不同模块进行系统集成。具体实现如下:1)集成水稻病虫害数据集构建功能,该功能集成Requests数据收集功能与CutMix数据增强功能,以及Pytorch神经网络训练功能。2)集成水稻病虫害识别构建功能,将加载神经网络模型功能置于系统中,将训练完成的多种神经网络模型置于系统后台,将上传图片功能与神经网络模型加载图片功能相关联,将神经网络结果输出功能与结果输出功能相关联,将神经网络模型热力图功能与热力图展示功能相关联。3)集成水稻病虫害信息查询功能,将收集的信息存入后台,并与对应的病虫害类别选择按钮相结合。urL='https:/L1mage,beidusoup=BeautiruLsoup(driver.page_source,'htmL.pbody=soup.rind('div°,attrs={'abody=body.rind('div°,attrs={'fd*:body=body.rind('div',attrs={'万方数据本系统共包含三个模块:水稻病虫害数据集构建模块,水稻病虫害识别模块,水稻病虫害信息查询模块。上述功能主要基于QT框架与Pytorch完成。dercutaix(data,target,aindicesztorch.randpeshurrled_data=data[inshufrled_target=target[indices]Lam=np.random.beta(bbx1,bby1,bbx2,bby2=rand_bbovutils.save_image(data,t'new_pic/cut/{IND}rr{NUN}0.jpg',normalize:yx1:vutils.save_image(new_data,t'new_pic/cut/{IND}rr{NUN}1.Jpg',normalizereturnnew_data,shuffLed_(1)数据集构建模块,该模块主要由爬虫功能与数据增强功能,主要在管理员负责的后台系统中。爬虫关键代码图5-2所示,数据增强关键代码如图5-3所示。(2)水稻病虫害功能选择界面,如图5-4所示,此界面为本系统的初始界面,有水稻病虫害识别、水稻病虫害信息查询两个功能供用户选择,点击水稻病虫害信息查询按钮会跳转到水稻病虫害信息查询页面,点击水稻病虫害识别按钮会跳转到水稻病虫害识别页面(3)水稻病虫害识别界面。本系统的初始界面如图5-5所示是图像上传与识别模块,允许用户上传本地图片进行水稻病虫害识别。在左框中显示原始图片。用户可以通过选择按钮选择用于识别的模型,点击按钮后,后台会运行神经网络进行预测。之后会在下方文本框中显示识别结果,与模型识别概率。之后后台还会基于Grad-CAM模块基于选择的神经网络模型输出注意力热力,在右图中显示。如图5-6所示,为正确识别不同种类的万方数据水稻病虫害示例,并返回相应的注意力热力图。(3)水稻病虫害信息查询界面。本系统的功能是便于用户直接查询水稻病虫害信息,在界面中,用户点击相应的水稻病虫害名称。会在左图中显示示例图片,并在下方文本框中显示相关病虫害信息与防治手法。例如用户,可以点击白叶枯,下方会显示关于白叶枯的相关信息,以及相关的防治手法。信息查询结果如图5-7所示。(4)水稻病虫害识别。图5-6与图5-9至5-10为水稻病虫害识别系统识别七种水稻病虫害并基于相应的图片输出注意力热力图的界面。由图可知,系统对水稻病虫害进行了正确的识别,同时输出识别概率与对应的注意力热力图。图5-8白叶枯…图5-10稻飞虱C幅面R跳C幅面R跳e图5-12稻曲图5-9褐斑ii图5-11稻螟由测地由测地p…图5-13白叶枯万方数据万方数据本章基于Requests网络爬取模块、CutMix数据增强模块实现水稻病虫害数据集构建功能,并将识别功能、注意力热力图功能、水稻病虫害信息查询功能用PyQt框架进行集成。使用Python语言基于PyQt框架与Pytorch框架开发了一个可以精确识别水稻病虫害,并展示分类结果与概率,查询常见水稻病虫害信息,同时通过注意力机制热力图展示图片重点区域的水稻病虫害识别跨平台系统。万方数据第6章总结与展望研究水稻病虫害的自动识别技术对于发展智慧农业和保障口粮安全十分重要。近年来,随着人工智能的发展和硬件计算能力的进步,越来越多的研究人员开始使用卷积神经网络来进行水稻病虫害识别。现有的卷积神经网络存在着重点特征不突出,易导致过拟合的问题。另一方面,难以获取大规模的数据集也制约着网络的性能。针对这两个问题,本工作自制数据集并通过网络进行增强,针对传统神经网络准确率不足的问题,通过添加注意力机制与多模型融合进行优化。并在模型的基础上开发水稻病虫害识别系统。本文的主要工作与研究内容如下:(1)水稻病虫害识别数据集制作与增强:针对缺乏公开的水稻病虫害数据集的问题,通过网络爬虫技术收集相关水稻病虫害图片类。通过比较不同的数据增强方式,最终使用CutMix网络对其进行数据增强,得到七类水稻病虫害数据集共1.4万张。(2)基于注意力机制和卷积神经网络的水稻病虫害算法:首先对比传统卷积神经网络Inception-ResNetV2,ResNet50,VGG,MobileNet四种模型。基于通道注意力机制和空间注意力机制提出空间分组注意力机制(SG),再基于最优模型Inception-ResNetV2网络,对比添加SK,SE,CBAM,SG注意力机制对比结果。实验结果表明空间分组注意力机制可以很好得优化Inception-ResNetV2网络性能,提高模型准确率,提高拟合速度并减少过拟合。同时在公开数据集上的结果也表明,空间分组注意力机制具有泛用性。(3)深度学习优化器选取与多模型集成:通过使用不同的深度学习优化器来提高四种卷积神经网络的训练结果。结果表明,对比传统的随机梯度下降法优化器(SGD),锐度感知最小化(SAM)可以实现更好的收敛效果,并选择四种不同的神经网络模型VGG,ResNet50,SGIR,MobileNet进行多模型集成。用平均权重法和随机权重法测试每种模型的组合。结果表明用随机权重法综合四个模型可以达到最好的效果。万方数据(4)通过基于迁移学习识别方法进行对比实验基于本文构建的初始数据集,使用ResNet50网络的迁移学习识别方法进行对比实验。实验结果表明本文中提出的SGIR模型与多模型融合识别方法的准确率优于基于ResNet50网络的迁移学习识别方法。证明了本工作的有效性。(5)利用Python语言和QT框架搭建水稻病虫害识别系统:实现了用户上传图像进行水稻病虫害识别,并生成对应模型的注意力机制热力图。同时收集了相关水稻病虫害信息,可以在系统中进行查询。本文的创新点有以下三点:(1)数据集构建,针对缺乏公开全面水稻病虫害数据集的问题,制作数据集并选择CutMix网络进行数据增强。(2)注意机制优化,基于空间注意力机制和通道注意力机制提出了空间分组注意力机制。在与Inception-ResNetV2结合的实验中,其他注意力机制相比,可以提高模型准确率,提高拟合速度并减少过拟合。基于Inception-ResNetV2与空间分组注意力机制提出的SGIR模型的识别准确率也优于传统卷积神经网络。(3)更好的深度学习优化器,针对传统深度学习中使用的随机梯度下降法优化器,选择了锐度感知最小化优化器进行优化,达到了更好的训练效果。(4)多模型集成,选择四种不同的神经网络模型VGG,ResNet50,SGIR,MobileNet进行多模型集成。通过对比选用随机权重法进行模型集成,进一步提高了识别的准确率。本文对水稻病虫害的识别问题进行探究,提出了空间分权分组注意力机制对卷积神经网络进行优化。随取得了一定的研究成果,但仍有不完善之处值得进一步的研究(1)对注意力机制在泛用的公开数据集的研究还不够,对于注意力机制底层原理的研究也缺乏思考与研究。(2)数据集的制作不够完善,受限于网络中图片数量和类别过少,来源也单一,数据类型也局限于图片,缺乏其他形式的数据,且数据类别分布也不均匀。需要与专业机构进行合作以获得更多的数据类型与相关数据。万方数据(3)目前的研究还停留在二维图像识别,智慧农业、精准农业不能仅仅停留在平面数据中。未来希望可以基于农业数据在三维识别,三维检测方面做更多的研究。实现对病虫害的空间定位和空间识别。扬州大学硕士学位论文[3]孙忠富,杜克明,郑飞翔,尹首一.大数据在智慧农业中研究与应用展望[J].中国农业科技导报,2013,15(06):63-71.[5]刘淑清.振兴农业科教发展现代农业[J].山西农经,2022(02):148-150.DOI:10.16675/14-[6]翟肇裕,曹益飞,徐焕良,袁培森,王浩云.农作物病虫害识别关键技术研究综述[J].农业机械学报,2021,52(07):1-18.[8]李明,来国红,常晏鸣,冯志强.深度学习算法中不同优化器的性能分析[J].信息技术与信息化,2022(03):206-209.[10]PangY,YuanY,LiX,etal.EfficientHOGhumandetection[J].Signalproces[11]OlivaA,TorralbaA.Modelingtheshapeofthescene:AholisInternationaljournalofcomputervision,2001,42(3):145-175.[12]BayH,TuytelaarsT,GoolLV.Surf:vision.Springer,Berlin,Heidelberg,2006:404-

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论