APP下载

基于AI的桃树病害智能识别方法研究与应用

2022-07-13吴建伟黄杰熊晓菲高晗秦向阳

中国农业科技导报 2022年5期
关键词:图像识别准确率桃树

吴建伟 , 黄杰 , 熊晓菲 , 高晗 , 秦向阳 *

(1.北京市农林科学院,北京 100097;2.国家农业信息化工程技术研究中心,北京 100097;3.北京派得伟业科技发展有限公司,北京 100097)

桃树是我国主要的果树树种之一,2017年,我国桃树种植面积达78.19万hm2,桃总产量达1 429万t,居世界首位[1]。近年来,桃产业不断适应市场变化,逐渐发展成为富民产业和生态产业[2]。桃树极易遭受病害的侵扰而影响果品的品质和产量,及时准确地识别病害可以控制病害蔓延、降低管理成本、减少经济损失,对桃产业的高质量发展具有重要意义[3-4]。传统果园病害识别主要依赖人工鉴定及专家系统查询和远程服务[5-6],这些方法成本较高、效率低,而且容易受到经验知识、信息传递、沟通时效、专家维护等多种因素影响,缺乏稳定性和可靠性。物联网(internet of things,IOT)、人工智能(artificial intelligence,AI)等新一代信息技术的快速发展使农作物病虫害智能识别成为植物保护主流趋势[7-9],利用AI图像识别技术自动对果树病害进行诊断,无需聘请专业技术人员进行现场或远程的咨询鉴定,具有操作简便、识别效率高、成本节约等优点,利于病害的及时诊出,为提高果园病害监测预警和科学防治水平提供了有效途径[10-11]。

基于AI的病害图像识别方法主要利用机器学习、计算机视觉等技术,通过特定的计算机算法和模型对病害的光谱和图像信号进行挖掘和分析,实现对病害情况的识别和鉴定[12]。经典的图像处理技术(降噪、腐蚀、图像增强、图像分割、特征提取等)和机器学习方法(最小二乘法、K均值聚类算法、支持向量机、人工神经网络等)在不同的农作物病虫害识别方面已有大量研究并取得一定进展,然而受限于依赖人工设计特征提取、环境条件和发病期不同、样本数量不足等因素,识别效果难以满足应用需求[13-14]。将深度学习引入病虫害图像识别,在解决图像分类和可视化问题上具有显著优势,通过通用的学习过程自主提取病害图像高层次特征,数据处理效率和识别准确率更高[15-16]。目前应用较多的深度学习网络技术包括卷积神经网络(convolutional neural networks,CNN)、受限玻尔兹曼机(restricted boltzmann machine,RBM)、深度置信网络(deep belief networks,DBN)、深度玻尔兹曼机(deep boltzmann machine,DBM)、循环神经网络(recurrent neural networks,RNN)、生成式对抗网络(generative adversarial networks,GAN)、胶 囊 网 络 (capsule network,CapsNet)等。其中,CNN被认为是进行图像识别的较优算法之一[17-18],基于CNN产生了许多性能良好的神经网络模型用于作物病害识别,如 AlexNet、LeNet-5、GoogleNet、VGGNet、ResNet、InceptionV3、MobileNet、DenseNet、R-CNN、SSD等。黄双萍等[19]利用GoogleLeNet建模,用于水稻穗瘟与健康稻穗的分类,最高穗瘟检测精度可达92.0%。刘阗宇等[20]基于区域Faster R-CNN建立模型定位葡萄叶片位置,不仅能成功分辨病虫害的种类,还能输出目标检测的位置信息。郭小清等[21]针对番茄叶部病害,对AlexNet模型进行了改进,运行性能和不同发病时期识别准确率都优于MobileNet、SquezeeNet、LeNet模型。近年来,利用深度CNN对柑橘、苹果、梨、桃等果树的病害识别进行了大量探索研究:张敏等[22]采用Alexnet网络模型对柑橘溃疡病样本识别率高达98%,超过了支持向量机(support vector machines,SVM)、Adaboost、人工神经网络(artificial neural network,ANN)、极限学习机(extreme learning machine,ELM)等传统机器学习方法;金瑛等[23]基于ResNet-50深度卷积网络模型,对梨黑斑病、梨锈病、苹果花叶病、苹果锈病4种果树病害的平均识别率达到92.9%;张敏等[24]基于GoogLeNet改进模型对苹果锈病、斑点落叶病叶片测试的平均准确率达到96%;Yao等[25]针对桃树7种主流病害的识别,提出了改进的L2MXception网络,该研究还对比了AlexNet、ResNet50、Xception、SENet154、DenseNet-169、HRNet-w48、MobileNetV3模型在原始、L2和L2M条件下的验证准确率,其中原始条件下的DenseNet-169模型的验证准确率为89.32%,明显高于其他模型。DenseNet属于密集型网络,由Huang等[26]于2016年提出,借鉴了ResNet与GoogLeNet的优点,通过进一步特征重用和Bypass思想大幅度减少了网络参数量,并在一定程度上缓解了层数加深后梯度消失的问题。本研究从桃园的病害识别与防治需求出发,突破传统病害识别依赖人工、成本高、效率低、准确度低等问题,面向桃树常见的11种病害,基于卷积神经网络DenseNet-169分类模型进行微调改进,并搭建Web端,集成开发桃树病害智能识别软件系统,搭建便捷的“以图识病”平台,为桃树产业的智慧化发展提供支持。

1 材料与方法

1.1 图像收集

通过果树病虫害数据库以及果园实地拍摄等不同途径采集桃树病害样本图像共计3 263张,涉及桃园主要发生的病害11种,包括桃黑斑病、桃褐腐病、桃黑星病、桃炭疽病、桃缩叶病、桃灰霉病、桃褐斑穿孔病、桃霉斑穿孔病、桃细菌性穿孔病、桃树流胶病、桃树木腐病;采集1 000张健康植株图像作为对照,全图像集共计4 263张。

1.2 基于深度学习的桃树病害识别模型构建

1.2.1 样本处理与数据集分割 图像扩增是处理较少样本数据集的有效方法,本研究采用随机裁剪、改变尺寸、随机水平翻转、随机竖直翻转、随机旋转、高斯噪声、椒盐噪声、对比度调整等图像数据增强方法进行扩增(图1),以提高所训练网络的鲁棒性。数据集切分按照7∶2∶1比例划分为训练集、验证集及测试集。

图1 经过不同方法处理的桃黑星病图像Fig.1 Images of peach black spot disease processed by different methods

1.2.2 模型选用与改进 本研究基于大型公开图像分类数据集ImageNet预训练的DenseNet-169对病害识别模型进行微调,加入注意力机制,即在DenseBlock前、transition层后各加入SElayer层(图2),并修改模型最后一层分类层为需要训练的病害类别总数量+1(other类)。

图2 DenseNet改进模型结构Fig2 DenseNet improved medel structure

1.2.3 模型训练与测试 ①数据预处理。为了改善模型特征提取性能,对图像进行预处理,将输入数据归一化到[-1,1]之间,以防止数值过大造成网络训练参数的不稳定,并加快模型收敛速度,固定输入图片尺寸为224×224×3。

②模型训练。选用合适的梯度下降算法、学习率、batch size等超参数,本研究模型的优化算法为随机梯度下降(stochastic gradient descent,SGD),初始学习率设为0.001,随着epoch的增加而逐步减小。DenseNet模型虽然较小,参数量较少,但是特征重用所造成的计算量大大增加,因此在计算能力有限的情况下要选择较小批量(batch size),本次训练选用大小为16。保存训练时训练集和验证集的loss变化,通过loss曲线确定模型有无欠/过拟合现象,在确认不会发生上述情况时,将验证集数据与训练集数据进行合并训练,得到最终模型。

③模型测试。使用训练后的模型进行测试,同样需要对图像进行归一化和图像大小的处理,在输入图像路径后,选择对应的模型即可进行识别。识别过程中进行与训练相统一的数据增强,对增强的所有图片进行预测,加权求均值。

1.3 桃树病害智能识别软件系统设计

1.3.1 Web端搭建 搭建Web端接口以实现软件系统对算法模型的调用,主要步骤包括:定义web_api.py,在此脚本中定义resolveJson方法,将包含模型名称及此模型内类别名称的Json文件传入方法中进行解析,得到每个模型的名称及其包括的类名;定义路由打开网页时,跳转到index.html页面,页面中定义超链接,跳转到单张测试/批量测试页面,在单张/批量测试页面定义表单,用来传输图片路径、模型名字及类别数量;将表单中的数据接收到后台,并判断模型是否存在以及类别数量是否与模型数量一致。进行单张测试,调用test.init_param方法,将参数传入进行模型的初始化及图片测试前的预处理,最后调用eval-single方法,返回预测结果及置信度;进行批量测试,调用test.init_param方法,将参数传入其中,进行模型的初始化及图片测试前的预处理,最后调用eval方法,返回批量预测结果。使用matplotlib统计不同病虫害的数量,并以图表形式进行展示。

1.3.2 系统设计 桃树病害智能图像识别系统主要采用JAVA语言开发,以Springboot+Mybatis框架,基于XML和Web Services组件化开发模式实现业务模块/组件的松耦合,软件部署上采用B/S结构,数据库使用MySQL。

①总体架构。该系统总体架构主要包括数据层、支撑层、应用层。数据层存储和管理桃树病害图像数据、病害防治知识数据、用户数据与系统使用数据等;支撑层提供AI算法模型、底层算法库、基础中间件、服务组件等应用支撑模型和组件;应用层实现桃树病害查询、分析、决策等数据可视化服务。

②功能设计。主要包括用户登录、AI识别、诊断记录、系统管理4个模块,为用户提供完整的桃树病害智能图像识别应用。用户注册、登录系统后,选择并上传待测桃树病害图像,调用AI算法模型进行识别,返回识别结果和防治建议,并可查询历史诊断记录,进行系统后台管理(图3)。

图3 桃树病害智能图像识别系统Fig.3 Intelligent image recognition system of peach diseases

2 结果与分析

2.1 损失值和准确率分析

本研究用DenseNet-169网络对桃树11种主要病害样本数据集进行训练,根据损失值(loss)和准确率(accuracy)曲线分析结果(图 4),形成SEDDenseNet模型,验证集损失值和准确率随着迭代次数的增加逐步趋于稳定,未出现大幅波动,没有过拟合现象,模型效果稳定。

图4 模型训练的损失值与准确率Fig.4 Loss value and accuracy curve of training model

2.2 样本训练准确率分析

训练结果(表1)显示,11种桃树病害样本准确率在85.00%~98.28%之间,平均准确率91.47%,总体识别率93.65%,训练模型实现了对桃树主要病害的准确识别;桃黑斑病准确率样本最多达到569个,准确率最高达到98.28%,桃褐斑穿孔病样本最少(208个),准确率最低达(85%),样本数量对于准确率正相关。

表1 桃病害图像识别DenseNet-169改进模型测试结果Tab.1 Test results of DenseNet-169 improved model for peach tree diseases image recognition

2.3 模型对比分析

与DenseNet基准模型相比,以迭代次数50递加,改进的SEDenseNet网络模型准确率提升了2.7个百分点(图5)。

图5 DenseNet-169模型改进前后对比曲线Fig.5 Comparison curve before and after improvement of DenseNet-169 model

2.5 系统功能分析

本研究开发了桃树病害智能图像识别系统(图6),注册用户通过输入用户名和密码进入系统,上传待识别的桃树病害图片,系统自动对图片进行预处理并匹配相应算法模型,推理出相似度排名前5病害种类及其相似度,并结合相应知识模型,提供所识别相似度最高的病害的名称、症状特点、防治方法等信息。系统提供上传图片、上传时间、识别结果与置信度等查询功能,结合AI诊断模型管理,实现对训练的各类桃树病害深度学习算法模型的管理和维护。结合桃园现场的病害识别试验应用,系统有效集成主要发生的桃树病害图像识别算法模型,平均识别速度达10.3 fps,实现了快捷、准确的“以图识病”。

图6 桃树病害智能图像识别系统界面Fig.6 Interface of intelligent image recognition system for peach diseases

3 讨论

植物病虫害图像识别相对于传统的人工鉴定与专家远程服务,显著改善识别效率,为广大农户提供便捷、快速、准确的诊断服务,从而减少病虫害损失,提升作物产量与品质。近年来,在农林领域得到了快速发展与较好应用。现有研究探讨了基 于 GoogLeNet、 FI-DenseNet、 ResNet50、MobileNet、one-shot、EESP、Xception-CEMs、VGG-16等深度学习模型在植物病害图像识别方面的实践,并取得了良好的应用效果[27-30]。本研究采用DenseNet-169网络模型,通过特征在通道上的连接来实现特征重用,前面所有层和后面层密集连接,每层都可以直接利用损失函数的梯度以及输入信息[31],加强了特征的传递和有效利用,解决小数据集容易过拟合等问题,使得模型更容易训练,对于农业病虫害样本不易获得的情况尤为有利。同时,还加入了注意力机制,目的是让模型能够忽略无关信息,让深度神经网络学到每张样本图片中需要关注的病害植株区域,形成注意力,从而提高识别效率。结果显示,11种桃树病害样本准确率处于85.00%~98.28%之间,平均准确率91.47%,实现了智能识别。目前,本研究开发的桃树病害智能识别与应用系统已在北京市平谷区规模化桃园开展试点应用,促进桃园植保防治工作更加及时高效;同时,随着该方法的使用与推广,桃园病害数据不断积累,AI模型将得到优化,以实现更精准、智能的识别诊断,为进一步监测预警与大数据分析提供有效支撑。

猜你喜欢

图像识别准确率桃树
支持向量机的舰船图像识别与分类技术
抬水
基于计算机视觉的图像识别技术研究
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
小桃树的朋友
人工智能背景下图像识别技术浅析
图像识别交互系统