APP下载

基于深度学习的园林植物病虫害智能识别系统

2022-10-11何怀文蔡显华杨毅红

现代计算机 2022年15期
关键词:园林植物虫害病害

何怀文,蔡显华,杨毅红

(1.电子科技大学中山学院,中山 528400;2.中山花木城园林有限公司,中山 528421)

0 引言

园林环境作为社会主义生态文明建设的重要组成部分,越来越受到广大民众的喜爱和关注。园林植物是城市绿化中提升生态环境质量的重要环节。但是目前由于生态污染问题严重,园林植物生长过程中经常会遭受病虫害侵扰,导致其发病部位组织器官损坏,如出现落叶、腐烂、坏死斑等,大大降低了植物的观赏价值,严重制约了园林业的发展。例如,松树在感染松材线虫后,一个月左右会死亡。而目前国内防治专家与植物养护员之间往往存在“信息孤岛”现象,从而导致在植物病虫害出现时无法正确识别和及时对症下药。

近年来,随着机器学习技术的蓬勃发展,利用人工智能方法准确识别和预测病虫害的发生,从而进行精准防治,受到广大研究者的广泛关注。文献[6]提出了一种基于深度学习的病虫害识别方法,通过提取灰度图像的PCANet特性,再使用支持向量机进行识别;文献[7]基于VGG16网络模型,研发了一个农作物病虫害智能识别的APP系统,提供移动端的病虫害识别和诊断方法;文献[8]基于Spring MVC框架,构建了病虫害图像识别和疫区防治的微信小程序;文献[9]针对机器学习建模中的样本采集问题,构建了大田作物的高质量农业病虫害原始图像数据。但是,上述研究在构建深度学习模型时仅针对固定数据集,无法根据应用场景来动态构建机器学习模型,缺乏一定的灵活性,给应用带来了不便。

因此,本文针对园林植物病虫害的智能识别问题,提出了一个能够针对不同应用情景下动态构建机器学习模型的方法,为植物病虫害诊治提供数据支持和帮助。主要完成工作包括:①建立了常见园林植物的植物信息数据库和病虫害数据库;②提供了自定义病虫害识别数据集构建功能,允许用户自定义病虫害识别模型;③提供植物、病虫害数据图像采集和标注功能;④提供了基于深度学习园林植物病虫害识别功能。

1 系统设计

本文围绕园林植物养护过程的实际需求进行设计,系统从功能上分为七大模块:新闻公告模块、植物数据库模块、病虫害数据库模块、盆景养护视频模块、数据采集和标准模块、AI识别模型训练模块和系统管理模块。系统功能模块如图1所示。

图1 系统功能模块图

每个功能模块的具体业务描述见表1。

表1 系统功能模块描述

系统采用前后端分离的架构进行开发,其中前端采用了Vue3+ElementUI+TypeScript+Axios技术栈,有利于组件封装和代码重用。后端则基于主流的Java EE技术栈进行开发,采用了SpringBoot+JPA+QueryDsl+Sa-token技术栈,其中JPA+QueryDsl用于实现持久层操作,Sa-token则用于实现系统安全权限。深度学习模块基于Python+Pytorch+Flask进行构建,其中Pytorch用于构建深度学习识别模型,Flask用于将训练好的深度学习模型部署到Web服务器,并提供图像识别接口。系统架构如图2所示。

图2 系统架构图

2 主要模块实现

系统主要分成以下三个部分:①植物病虫害数据网站,提供植物、病虫害数据展示和搜索功能;②数据管理系统,提供植物、病虫害数据库数据管理、深度学习模型管理功能;③深度学习模型训练系统,用于构建病虫害智能识别的深度学习模型和模型部署。

2.1 植物病虫害数据网站

该部分是一个用于展示常见园林植物、病虫害的网站系统,并提供病虫害图片识别接口,用户无须登录即可访问,提供植物搜索功能、病虫害的诊断功能、盆景养护视频在线播放功能。页面前端基于Vue3.0进行开发,采用Type-Script定义前端接口类型,使前端代码整洁规范。前后端通信通过Axios实现,数据格式为JSON格式。在前端设计中,本文采用组件化思想,对界面相似组件进行抽离,封装了Base-Table、BasicPage、BaseSearch等多个组件,提高了代码的重用性。网站主页如图3所示。

图3 园林病虫害数据库网站

2.2 后端数据管理模块

后端数据管理平台主要用于植物数据库、病虫害数据、盆景养护视频以及AI模型的管理。后端功能详情如下:

对网站发布的新闻和公告进行管理,其中新闻文章具有不同的分类。

用于存储常见的园林植物标准数据,包括植物基本信息(名称、拉丁文名、科类、属类和别名)和植物的详细信息(生长习性、主要产地、形态特征、园林用途、管理护养和图片集等)。植物数据库的建立有助于形成统一标准的植物信息数据,养护员可以通过前端查询或者智能图片识别快速确定植物的类型,优化病虫害诊断的及时性和准确性。

由于植物病害和虫害对植物生长的损坏和防治属于不同范畴,因此划分为病害和虫害两部分。其中病害数据库包括病害基本信息(病害名称、危害部位、被害状、属类、分布和危害)和详细信息(病原、发生规律、防治方法以及病害图集)。而虫害数据库则包括虫害基本信息(虫害名称、拉丁文、科属、危害植物、危害部位、被害状、分布与危害)和详细信息(形态特征、发生规律、防治方法和虫害图集)。通过建立病虫害数据库,提供了一个基于数据库的病虫害的快速诊断功能,通过输入植物的名称、危害部位和被害状态,可以快速定位到产生该危害的病害或者虫害,并提供相应的防治措施,及时对症下药。

数据集是深度学习训练的数据基础,系统数据集分为病害数据集、虫害数据集和植物数据集三大类。每一个主类别下再按照病虫害和植物名称进行细分。每个病虫害大约包含类500~800张标注好的图片。用户可以往数据集中上传新的图片并进行标注,也可以对数据集中尚未标注的图片进行标注。

数据集以文件形式存储在深度学习服务上,有利于深度学习模型训练时减少IO操作。每种病虫害对应一个文件夹,文件夹名称为病虫害的数据表ID+病虫害中文名称,文件夹中包含该病虫害对应的原始图片JPG文件,文件名称以拍摄时流水号命名。病虫害的详情和具体防治措施则存储在Mysql数据库中,将病虫害数据和深度学习模型驱动数据分离,使系统的数据维护更为灵活和易于拓展。

为了方便用户在不同应用场景的智能识别应用,本文设计了一个可以自定义深度学习模型构建方式,具体流程如图4所示。

图4 自定义机器学习模型构建过程

首先需要填写模型的基本信息,包括:模型名称、模型标识符、用途说明等。然后选择需要识别的数据集,可以从病虫害和植物数据库中选择全部类别,也可以选择其中的某些种类。深度学习模块会根据用户选择的数据类别读取相应的图像集进行训练。接下来可以选择深度学习网络模型和算法,系统提供了RESNET-50和VGG16等常用网络模型可供选择。接着可以设置深度学习的相关参数,包括损失函数、优化器、迭代次数、批量大小等参数。模型构建完成后,可以开启模型训练。模型训练完成后,会自动部署到服务器,并提供Web API接口进行图像识别。其中数据集构建界面如图5所示。

图5 自定义数据集

2.3 基于深度学习的病虫害识别

本文采用深度学习来构建病虫害的智能识别模块,该部分主要实现了深度网络的训练并将收敛稳定后的网络模型部署到Web服务器,其主要流程如图6所示。

图6 深度学习模型训练流程

在深度学习模型训练过程中,对要识别的每种病虫害数据,使用70%的图片作为训练集,20%的图片作为测试集,剩余的作为验证集。首先读取训练集的图像数据,并进行图像增强,包括图片翻转、旋转、颜色变化、对比度增强、噪声扰动等。然后根据之前设置好的模型参数进行训练,神经网络模型收敛稳定后,进行模型性能测试。在多次调整相应的参数后,将最终识别效果较好的模型通过Flask部署到Web服务器,从而实现对前端提交图像的智能识别。

在实际应用中,本文使用的深度学习服务器硬件环境如下:操作系统为Ubuntu 16.04.6 LTS;处理 器 为Intel(R)Xeon(R)Silver 4116 CPU@2.10GHz;内存为DDR4 128 G;显卡为4×GeForce RTX2080Ti;开发环境为Anaconda3+Py-Torch+Pandas+Flask。

本系统对包含14种作物、26种病害的共54306张公开PlantVillage植物病害数据集进行了拓展,对其进行了补充,对包括穿孔病、白粉病、黑斑病、灰霉病、霜霉病、煤污病等15种常见病害进行识别,最好的识别准确率约92%,单张图片识别平均耗时0.85秒,效果良好。

3 系统应用

本文构建了15种病害和30种虫害的常见园林植物病虫害数据库,并利用深度学习进行模型训练。其中几种常见的病害和虫害如图7所示。

图7 园林植物常见病虫害数据集的部分样本

系统提供了Web和APP两种方式的智能识别界面,其中Web识别效果如图8所示。

图8 病虫害识别界面

用户上传病虫害图片后,系统智能识别引擎会对图片进行识别,并给出概率最大的病虫害名称,用户可以点击查看相应的病虫害详情并获得防治方法。

4 结语

深度学习作为一种可方便实现图像特征自动提取的技术,解决了传统农林业中仅依靠经验丰富的专家诊断模式所存在的问题,在园林种植减灾和养护领域具有广阔的前景。本文提出了一个基于深度学习的园林植物病虫害识别系统,构建了常见的园林植物数据库、病害和虫害数据库,同时还提供了一个允许用户自定义构建病虫害识别模型的方法,通过与深度神经网络模型相结合,实现了对植物病虫害快速、高效的识别。

猜你喜欢

园林植物虫害病害
基于改进DenseNet的茶叶病害小样本识别方法
苦参碱对小麦虫害的防治效果试验分析
某道路病害原因及维修改造方案探讨
乡村无人机喷药
蔬菜病害田间诊断依据
气候变化下的林业虫害防治措施
西北园林植物景观的空间意象与结构解析研究
园林植物害虫种类及防治技术
园林植物景观设计浅议
土传病害防治技术