APP下载

基于深度学习的黄花病株智能识别系统的开发

2022-07-08张叶娥侯怡婧杨航

电子技术与软件工程 2022年2期
关键词:池化黄花病株

张叶娥 侯怡婧 杨航

(山西大同大学计算机与网络工程学院 山西省大同市 037009)

1 引言

山西省大同市云州区黄花种植具有600多年的历史,享有“黄花之乡”美誉。大同黄花作为大同市重要的特色农产品,曾多次荣获全国农博会金奖,黄花产业已成为大同市力推的主导产业。据2021年经济日报相关报道,大同黄花的当地种植面积达到了26.1万亩,与2018年的14.5万亩同期相比下有了极大的进步与发展。习近平总书记走访山西时提到:黄花作为大同当地的“致富花”,是大同脱贫致富的关键产业。

随着全国黄花的种植量和需求量的与日俱增,黄花的品质与产量受到业界的密切关注。然而黄花在生长过程中易出现根腐病、锈病、叶枯病、褐斑病等疾病,其生长过程中也常受红蜘蛛、蚜虫等虫害威胁,这些病虫害需要及时防治,否则严重影响当地黄花的产量与品质。目前黄花种植基地的监测及预警系统并不完善,而黄花菜的各种生长因素要求较为苛刻,农耕者们需要投入大量的人力资源和精力,去及时防治因各种环境因素所产生的黄花病虫害。而且人工监测识别费时费力,不能及时对大面积黄花植株进行实时监测与反馈,因此,开发黄花病株智能识别系统,辅助或代替人工监测识别黄花病株,及时防治,提高黄花的品质与产量,进而推动大同黄花产业的健康发展。

2 系统设计框架

黄花病株智能识别系统由智能识别模块和网页模块两部分组成,如图1所示。在智能识别模块中实现图片的载入,载入图片输入到识别系统中进行智能识别。通过调用训练好的网络模型参数处理、运算、识别图片,并反馈分类结果和分类准确率。在网页模块中,搭建四个网页,并在系统中设置跳转链接实现页面跳转,实现对大同市云州区黄花种植情况的宣传、黄花植株病害知识普及,提供防治举措。

图1:黄花病株智能识别系统框架

3 智能识别模块设计

3.1 深度学习框架

本文采用SqueezeNet框架来构建卷积神经网络黄花病株识别模型,为处理计算机搭载Intel(R) Core(TM) i7-8550U处理器,内存8GB。实验环境为windows10 64位系统,使用MATLAB R2021a软件(MATLAB、MATLAB runtime、MATLAB App Designer)实现。

3.2 数据集准备

通过黄花植株的相关病症的研究分析,为保证训练模型能够较为精准地识别载入黄花植株图片所患病症类型,并使之具有较高的泛化能力,选择其中蚜虫病、叶枯病和铁锈病三种特征较为突出且对黄花产量影响较大的病症进行识别。通过对大同云州区农业合作社黄花试验田的监测,收集大量黄花蚜虫病、叶枯病、铁锈病以及正常植株的样本图片,选取其中一部分特征清晰的图片分类归入“healthy-叶”、“healthy-花”、“unhealthy-蚜虫病”、“unhealthy-叶枯病”和“unhealthy-铁锈病”共五个文件夹,作为深度学习的训练数据集。训练模型的原始数据集包括50个正常植株花样本、58个正常植株叶样本、50个蚜虫病植株样本、35个叶枯病植株样本以及22个铁锈病植株样本。本文将原始数据的60%作为训练数据集,40%作为验证数据集,并通过配置图像数据增强选项对原始数据集进行有效扩充。

3.3 网络设计

为了在保证训练模型精度的同时尽可能减少训练时长,在设计网络时迁移学习了SqueezeNet神经网络。网络共设计了68层,其中有26次卷积以及4次池化。通过卷积,对卷积核和图像的重叠部分进行积分运算来代替二维图像向一维空间的压缩,达到对图像进行局部选择、特征增强的效果。关于池化,在设计中使用了3次最大池化以及1次全局平均池化。池化的主要作用是降低维度以减少运算数据量。最大池化是输出图像每个子区域的最大值来代替该子区域,以实现维度的降低。平均池化减少了来自上层隐藏层的复杂计算,可以不受目标的倾斜或者旋转的影响,有效降低数据维度。而全局平均池化则是在平均池化的基础上进一步对子区域像素求平均值,以替代全连接层。由于全局平均池化比全连接层所含未知参数的数量要少,从而有效地防止了过拟合、减少了计算量。

3.4 基于MATLAB的模型训练

MATLAB是一种高级矩阵语言,它集成了大量的算法、公式和模块工具,在图形化显示等方面也具有独特优势。为此,系统选择MATLAB作为网络模型搭建和训练的主要平台,极大地缩短了系统开发的时间成本。模型的具体训练流程如图2所示。

图2:基于MATLAB的模型训练流程

3.4.1 参数设置

将前期准备的数据集导入并分为训练数据集和验证数据集,对所有数据集进行图像增强。创建一个图像数据增强器,在训练前对图像进行预处理。该增强器以[-90,90]度范围内的随机角度旋转图像,并以[1,2]范围内的随机比例因子调整图像大小。将左右方向的随机反射指定为逻辑标量,当RandXReflection为true时,每个图像以50%的概率水平反射,当RandXReflection为false时,不会反射任何图像。最后将图像大小统一调整为[227,227,3],以匹配网络输入层。

完成数据集的相关参数设置后,进行具体训练的参数设置。使用引入动量的随机梯度下降(SGDM)优化器,避免参数更新卡在梯度较小的点。由于SGDM不能对学习率进行自适应更新,为此进行了大量的实验,在保证训练效果的同时尽可能减少训练时长,最终设置学习率为0.001。设置训练最大周期数为100,每次训练从数据集中选择20张图片。导入分好的验证数据集,设置验证频率为8。设置训练网络的硬件资源,使用GPU加速模型训练。

3.4.2 模型构建

使用MATLAB提供的deepNetworkDesigner模块工具搭建前期设计的网络。搭建完成后,将预训练网络参数导入在编译器中。创建层次图变量以包含网络层,然后添加网络分支到层次图中。每个分支均为一个线性层组,将网络中所有的层分支连接起来,最终创建网络图。

3.4.3 网络训练

使用指定选项和训练数据对网络进行训练。为方便下一次调用与后期模型的加载更新,将训练好的模型参数保存为“.net”后缀的独立文件。在整个训练过程中结果具有较好的收敛性。通过不断调整预训练参数和数据集结构,最终使验证准确率达到92.11%。由于SqueezeNet本身的优势以及采用GPU加速等辅助配置,平均训练时间约为15分钟,训练时间较短。网络训练代码如下:

% 网络训练

[net, traininfo]= trainNetwork(augimdsTrain,lgraph,traini ng_options);

% 保存网络参数

save('daylily','net')

具体训练过程和结果如图3所示。

图3:网络训练相关信息

3.4.4 模型评估

使用指定的验证数据验证模型参数的准确性,按照指定规则在验证数据中挑选图片做出预测并显示分类的结果。

代码:

为了方便分析和改进模型,针对训练模型绘制如图4所示的混淆矩阵。观察分析矩阵,整体上数据集中于对角线上,模型灵敏度和特异度较高,误报和漏报的现象较少,模型较优。其中铁锈病分类预测的准确率相对较差,是由于前期关于该病症的数据收集不足。

图4:验证集数据混淆矩阵

4 网页模块设计

为了更好的展现大同黄花相关信息,提高系统的实时性与实用性,设计了网页模块。在本模块共设计了“首页”、“黄花植株病害”、“黄花产品推荐”和“大同黄花介绍”四个页面。

首页界面展示了大同黄花试验田的地域风景。其中使用jQuery Easing Plugin提供的"easeOutExpo"动画效果实现字体切换;使用transform功能对文字或图像进行旋转、缩放等调整;使用jquery.prettyPhoto.js插件实现图片展示特效;使用jquery.themepunch.revolution.min.js插件实现响应动画滑动图片切换效果。

黄花植株病害界面详细介绍蚜虫病、铁锈病、根腐病、红蜘蛛、褐斑病、叶枯病等黄花植株常见病害的相关信息以及防治措施,为黄花病株识别系统识别的病害知识提供信息,更好地服务于黄花种植的病害防范与治理。黄花植株病害页面引入 jQuery 库,通过过渡平滑、元素位移等实现图片渐隐和文字弹出效果;在setInterva方法中使用innerText输入数值实现数值动态变化的效果。

黄花产品推荐界面详细分析介绍了黄花菜的营养成分含量及其人文价值、药用价值、实用价值、审美价值等,同时对黄花饼、黄花酱、大同特级黄花菜干货、大同高档火山黄花菜等大同特色黄花产品进行宣传推荐。其中通过导入产品链接实现购买界面跳转;使用fadeInUp、fadeInRight等实现左右摇摆动画。

大同黄花介绍界面详细介绍大同黄花地域优势、历史背景、国家政策及其发展前景。

5 系统封装与测试

使用MATLAB App Designer第三方开源工具箱封装设计系统界面。设计系统界面布局,运用回调函数工具,将训练好的网络参数导入在模型中,编写载入、关闭等函数模块并链接网页页面。然后采用MATLAB Compiler创建独立的桌面应用程序,配置MATLAB runtime运行环境并运行测试该系统。黄花病株智能识别系统主界面与部分测试结果如图5所示。

图5:黄花病株识别界面与测试结果

6 结语

黄花病株智能识别系统主要功能是通过迁移学习SqueezeNet网络模型,实现对蚜虫病、叶枯病和铁锈病三种黄花疾病进行智能识别,以能实际应用于大同黄花种植基地为最终目标。目前,该系统主要针对黄花植株进行识别预测,但其设计思路和方法同样适用于其他植株的病害识别检测,具有良好的扩展性和推广性。今后将搭建黄花病株智能识别手机APP、运用物联网技术配置农田摄像头实时捕获农田数据并开发预警系统,实现对黄花农田的实时监管,使之在农业领域拥有更广阔的应用前景。

猜你喜欢

池化黄花病株
面向神经网络池化层的灵活高效硬件设计
基于Sobel算子的池化算法设计
云小萱:助大同黄花飘香
三利黄花:三代人专注59年
黄花梁啊黄花香
路边种黄花“一种三得”
豌豆抗白粉病资源田间评价试验
中国南北方禽流感病毒蛋白进化差异的探究
绩溪县水稻纹枯病发生特点及防治意见
基于卷积神经网络和池化算法的表情识别研究