第 1 章 绪论
1.1 研究背景及意义
番茄是一种非常受大众喜爱的食物,在人们的饮食结构中占据重要位置。然而病虫害会大大降低番茄的产量,且番茄的质量也会相应变得很差。我国番茄有多个品种,所患病虫害类型也很多,一种病虫害在同一品种番茄植株的各个生长时期可能存在不相同的症状。侵染番茄植株的病虫害主要有以下几类:1.真菌性病害,遭受真菌侵害生成的病症种类最多见;2.细菌侵害造成的细菌性病症;3.病毒病,大多依靠带毒的昆虫感染,部分病毒病可经过线虫感染;4.线虫病,病原线虫,体积纤小,普遍肉眼无法看到。番茄产量的减少和质量受损的主要原因之一为病虫害,假如没有及时察觉并实施对应方法进行防治,将导致种植者的收入大幅下降,甚至会影响社会经济的稳定发展[1]。从目前来看,诊断方法还主要停留在利用人工观察病虫害症状,对比相关图像再判断出所属病虫害类别的水平。病情初始阶段症状不明显,人工很难诊断出结果,即使诊断出结果,也无法保证准确率,因此,这种诊断方法可靠性较低,可能导致实施错误的防治措施,最终造成番茄质量和产量的下降,并且造成了人力资源浪费。传统的诊断方法造成对病虫害种类不及时、不准确地判断,致使农药不能够准确适量地使用,因此准确快速地诊断出病虫害种类并实施恰当的防治手段对番茄的生产具有重要意义。
随着计算机技术与图像处理技术的持续进步并在应用上展现出较理想的效果,其被众多领域普遍运用,随后也被应用于诊断病虫害。使用深度学习相关技术进行番茄病虫害的诊断代替传统的人工诊断可以提高诊断准确率,节省人力资源,增加番茄的产量;进而使用恰当的防治措施,提升番茄的品质。现有的基于深度学习技术研究出的番茄病虫害的诊断方法具有一定实用性,然而存在诊断准确率较低、诊断病虫害种类较少、泛化能力较差、运算量较大等问题,也没有结合防治知识库开发诊断防治系统。因此,本文开发了一种基于深度学习技术的泛化能力较强、诊断准确率较高、运算量相对较小的番茄病虫害诊断防治系统。
.............................
1.2 国内外研究现状
1.2.1 基于深度学习的病虫害诊断防治国外研究现状
国外研究人员早在 20 世纪七八十年代便将深度学习技术与传统农业相结合[2]。随着深度学习技术的发展,国外研究人员对基于深度学习的病虫害识别技术进行了探索和研究,并获得了很大的进展。
2015 年,Mokhtar U 等采用不同核函数的支持向量机分类计数,研究出一种对番茄黄化曲叶病(TYLCD)及番茄斑点枯萎病(TSWV)进行识别的方法。该方法由输入图像、图像预处理、病斑分割、特征提取及输出分类五个部分组成。数据集由200 张被 TYLCD 和 TSWV 侵染的番茄叶片图像构成,经训练和测试,平均诊断正确率为 90%,单个种类病虫害的诊断正确率最高达 92%[3]。Kawasaki Y 等研究出了一个新的基于卷积神经网络的植物病害检测系统,研究对象为 3 种类型的黄瓜叶片图像组成的数据集,共计 800 张图像,取得了 94.9%的平均识别准确率[4]。
2016 年,Mohanty S P 等通过对 AlexNet 模型和 GoogleNet 模型进行迁移学习研究出一种鉴定作物病情的模型,并将该模型部署到智能手机进行病情鉴定,对使用智能手机进行病虫害诊断的研究具有重要意义[5]。Mwebaze E 等设计了嵌入智能手机的基于叶片图像的植物病害严重程度判别系统,研究对象为 4 种植物病害,将每种病害根据严重程度分别分为 5 级,其中 1 级为健康植物,通过分析实验结果得出使用 ORB 提取特征方法的分类效果最好[6]。
2017 年,Ramcharan A 等通过对卷积神经网络的迁移学习来完成对木薯的褐斑病(BLS)、红叶螨损伤(RMD)、绿叶螨损伤(GMD)、木薯褐条病(CBSD)和花叶病(CMD)的识别。研究结果表明,使用 Inception V3 模型进行迁移学习训练出来的模型识别效果最佳,对测试集的图像进行识别,其准确率为 93%[7]。Hassan S I 等研究出一种基于深度卷积神经网络的萝卜枯萎病的识别方法,通过无人机采集图像,对采集的图像进行预处理,再对患有病害的萝卜进行识别,经测试,该方法对萝卜枯萎病的识别准确率为 93.3%[8]。
..............................
第 2 章 深度学习技术研究
2.1 神经网络
神经网络是深度学习的基础,本节从以下几点对其进行简单介绍:
2.1.1 感知器
深度学习中的感知器以生物神经元为原型,感知器互相连接构成神经网络[30]。图 2-1 为生物神经元的工作原理,图 2-2 为感知器的工作原理。分析图 2-1 和图 2-2得知,感知器的 与生物神经元的树突相对应,感知器对输入的加权求和计算与生物神经元的输入向细胞体发送脉冲相对应。感知器的激活函数与生物神经元的脉冲相对应。

图 2-1 生物神经元工作原理图
2.2 卷积神经网络
2.2.1 卷积神经网络概述
卷积神经网络(Convolutional Neural Networks,CNN)是深度学习的重要形式之一,适合处理像 RGB 图像、三维立体图像等可以呈现在 2D 平面的输入数据。其最大的优点之一是通过多层网络的特征提取最终能够提取到输入数据的高维特征,且每个层次输出的特征图特点不同[33]。通常情况下浅层卷积层的卷积核尺寸较小,提取到的特征为纹理、颜色等特征;深层卷积层的卷积核尺寸较大,提取到的特征属于全局特征,比较抽象。输入数据中物体的尺寸、位置和角度等信息在深层卷积层学习到的特征中几乎无体现,因此,CNN 非常适合应用于图像识别。
2.2.2 卷积神经网络基本结构
卷积神经网络的结构主要包括输入层、隐层、输出层,隐层将输入数据加权求和并通过激活函数生成非线性特征输入到下一层,按照此步骤循环直到最后一层隐层的输出传递到输出层。隐层含有以下不同功能的层:卷积层、池化层以及全连接层[34]。像堆积木一样反复放置不同功能的层便能实现一个卷积神经网络。图 2-6 为卷积神经网络的结构模型。

图 2-6 卷积神经网络的结构模型
.............................
第 3 章 基于卷积神经网络的番茄病虫害诊断研究.....................21
3.1 番茄病虫害数据集建立.........................21
3.1.1 收集数据集...........................21
3.1.2 划分数据集...........................22
第 4 章 基于迁移学习 ResNet 网络的番茄病虫害诊断研究.................. 30
4.1 迁移学习..............................30
4.1.1 迁移学习概述.....................30
4.1.2 迁移学习类型....................30
第 5 章 番茄病虫害诊断防治系统的设计与实现..........................45
5.1 系统可行性分析.........................................45
5.1.1 技术可行性.............................45
5.1.2 操作可行性..........................................45
第 5 章 番茄病虫害诊断防治系统的设计与实现
5.1 系统可行性分析
5.1.1 技术可行性
本系统选用的编程语言为 Python,深度学习框架为 TensorFlow,环境管理工具为 Anaconda3,系统框架为 Flask,数据库为 MySQL,开发工具为 Pycharm。迁移学习技术发展较为成熟,且 ResNet50 是识别率较高的网络模型,对 ResNet50进行迁移学习,经多次训练从中选出最优模型用来开发番茄病虫害诊断防治系统。因此,番茄病虫害诊断防治系统在技术上是可行的。
5.1.2 操作可行性
本系统的各个模块功能明确且简单易懂,界面显示简洁清晰。只需要访问 web页面便可使用本系统对番茄病虫害实现有效诊断及查看具体防治信息,操作非常简单。因此,番茄病虫害诊断防治系统在操作上是可行的。
5.1.3 经济可行性
本系统使用个人计算机进行系统开发,在设计与实现的整个过程中应用到的开发工具可以在互联网上下载安装,操作、维护比较简单。在系统的开发过程中涉及到的经济成本主要为人力成本和个人计算机的耗损,成本较低;与本系统投入使用对番茄质量和产量的提高、对番茄产业相关人员收入的提高以及对人工诊断番茄病虫害所需成本的节省相比较是非常值得的。因此,番茄病虫害诊断防治系统在经济上是可行的。
........................
结论
本文对基于深度学习的番茄病虫害诊断防治系统进行了研究、设计及实现,以常见的番茄病虫害为研究对象。主要包括对番茄病虫害诊断防治系统的需求研究、番茄病虫害数据库的建立、基于浅层传统卷积神经网络的番茄病虫害诊断研究、基于迁移学习 ResNet50 网络的番茄病虫害诊断研究和番茄病虫害诊断防治系统的设计与实现。主要研究成果与创新如下:
(1)基于卷积神经网络的番茄病虫害诊断。通过设置不同的卷积核尺寸和池化方法设计了 10 种不同的网络结构,利用番茄 8 种类型叶片图像进行训练。将训练好的模型在测试集上进行检验,通过对比实验结果,性能最好的模型是采用 3×3和 5×5 卷积核及最大值池化方法训练所得,其测试准确率达 95.47%。
(2)基于 ResNet50 网络模型迁移学习的番茄病虫害诊断。提出了对卷积层的最终输出进行批归一化,加快模型的收敛速度;在自定义的全连接层之前进行全局均值池化操作,降低计算负担;使用 Adam 优化模型。分别使用冻结源模型和微调源模型的方法进行迁移学习,对两种方法的最优模型进行分析比较,诊断正确率达 95.94%和 98.83%,说明迁移学习后的模型性能较佳,尤其是微调源模型的全部层进行迁移学习训练好的模型其诊断正确率高,泛化能力强,鲁棒性较好。
(3)利用 Flask 框架将微调 ResNet50 进行迁移学习得到的模型部署到服务器,在数据库中建立防治知识库,设计多种功能模块,开发了基于深度学习的番茄病虫害诊断防治系统。实现通过前端发送请求调用后台已训练好的模型,模型对单张图像完成诊断后返回前端并在前端界面实现可视化的诊断结果及防治信息;实现用户对防治知识库的访问与查看。经测试系统的主要功能均可实现,诊断正确率达到预期目标。
参考文献(略)