基于跨深度学习模型的作物病害检测方法
2022-05-13李萍邵彧齐国红张善文
李萍 邵彧 齐国红 张善文
摘要:作物病害叶片症状是病害类型识别的依据,与作物病害发生相关的环境信息是作物病害预测的依据。由于病害叶片症状和环境信息的复杂多样性,使很多作物病害检测方法的准确率不高。针对大田作物病害检测难题,提出一种基于卷积神经网络(convolutional neural networks,简称CNN)和双向长短时记忆网络(BiLSTM)相结合的跨深度学习模型的作物病害检测方法。首先,利用CNN提取作物病害叶片图像的分类特征,利用BiLSTM提取病害发生的环境信息的特征;然后,利用注意力机制对2种特征进行融合;最后,利用Softmax分类器进行病害检测。在作物病害相关数据库上进行试验,识别准确率为92.35%。结果表明,该方法優于传统的病害检测方法和基于长短时记忆神经网络(LSTM)的检测方法。该方法能够准确检测出作物病害,有助于提高大田作物病害检测系统的准确率和鲁棒性。
关键词:作物病害检测;卷积神经网络;双向长短时记忆;注意力机制;跨深度学习模型
中图分类号:TP391.41 文献标志码: A
文章编号:1002-1302(2022)08-0193-06
多年来,我国作物病害防治主要依靠农药。尽管农药防治最简便、有效、快速,但造成土壤、水和环境严重污染[1-2]。一般来说,病害发生初期容易防治,若发现不及时不仅防治困难,而且需要大量农药。但是,由于引起作物病害的因素多且复杂,病害初期症状不明显,很难被发现,导致对病害分析存在一定难度,往往出现病害检测不及时和误判现象,从而导致农药误用、滥用[3]。作物病害叶片症状是病害类型识别的依据,与作物病害发生相关的环境信息是作物病害预测的依据[4-6]。将病害叶片图像和环境因子相结合进行作物叶部病害早期检测,有望提高病害检测的准确率。但检测方法一直是人工智能和农业等领域的一项应用性强、难度大、具有挑战性的研究课题[7-9]。主要原因是:(1)病害叶片复杂多样无规则(图1-A),早期病斑不明显、类间差异小(图1-B、图1-C)、且时变(图1-D、图1-E),所以仅利用叶片检测病害不准确,可能误判;(2)作物病害发生原因复杂多变,主要与温湿度、光照、降水量、CO2等环境因子相关,各种因子相互关联、相互影响,所以难以预测病害发生规律;(3)物联网采集的病害叶片图像和环境因子是海量、多源、异构、时变的大数据,传统的人工智能方法不能有效处理和利用这些数据进行作物病害检测;(4)尽管从书籍、电视、农科站、搜农网等能获得大量病害检测和防治的先验知识,但格式多样、描述差异大等,很难整合、有效管理和利用;(5)基于深度网络的病害检测方法效果显著,但参数多、计算复杂度大、对算力要求高,解释性较差,难以应用于大田作物病害检测系统;(6)将符号化的知识表达为深度网络能处理的数值后,大量的语义信息被丢弃,难以实现环境因子和病害图像内容与对应的语义信息有机结合,检测效果低。导致作物病害早期检测方法研究面临病害发生原因多且复杂,多源异构、早期病害症状不明显,深度网络对算力要求高、可解释性差等难题[10]。
计算机、农业物联网、卫星遥感以及机器学习等技术不断发展,为作物病情监测预测带来新的机遇,也出现很多作物病害自动检测方法和技术。一些学者将环境因子和病害叶片图像特征相融合进行作物病害早期检测,取得了较高的识别率[2,11]。该类方法符合人们的思维方式,但现有方法仅将环境因子与病害叶片特征简单堆积成特征向量,很少考虑各种环境因子之间的相互联系和相互影响,所以这些方法在实际作物病害早期检测中的识别率有限。研究表明,环境信息是作物病害预测的依据,作物病害的发生和发展与气候、气象和生长环境等因素有关,其中与温度、湿度、风、雨、光照、CO2等关系最为密切[12-13]。王标等研发了一种农作物重大病虫害监测预警信息系统[14]。该系统具备病虫监测数据采集、管理、统计、图形化分析、网页信息推送、可视化展示等功能模块,实现了与农业农村部农作物重大病虫害数字化监测预警系统无缝对接。张竞成等综述了作物病害识别、严重度监测和损失评估等方面所使用的算法,指出了目前作物病害遥感监测中尚需解决的关键技术问题和如何实现大面积作物病害遥感监测的研究思路[15]。鲁军景等总结了目前基于遥感的作物病害预测研究现状,探讨了作物病害遥感检测研究中存在的问题和未来的发展趋势[2]。利用农业物联网各种传感器(图2)和云平台容易采集和存储与作物病害检测相关的温湿度、风、光照以及病害叶片图像等数据,为实现远程大田作物病害自动检测提供了基础[2,12]。但这些数据是多源、异构、含噪声和冗余大的数据,而且实际病害发生原因多、病害叶片多种多样、无规律,因此如何有效结合病害叶片图像和环境因子对作物病害进行早期检测仍然是一个重要的难题。
卷积神经网络(convolutional neural networks,简称CNN)广泛应用于作物病害检测方法地研究中,并取得了显著的成果[16-17]。张善文等针对AlexNet模型参数多、特征尺度单一等问题,提出了一种将扩展卷积与全局卷积相结合的全局CNN,并在黄瓜病害叶片图像数据库上进行了验证[18]。长短时记忆神经网络(LSTM)广泛应用于各种长时程依赖性的预测问题[19]。Xiao等将病虫害发生问题表述为时间序列预测,利用长短时记忆网络预测棉花病虫害的发生,取得了较好的预测效果,进一步验证了天气因素对病虫害的发生有很强的影响[20]。肖晴欣提出了一种基于LSTM的棉花病虫害的发生预测方法。通过对LSTM网络的不断训练和迭代优化,并利用1981—2011年间印度地区棉花病虫害数据、天气因素变化数据和部分大气环流数据,验证了该方法的有效性[21]。注意力机制(attention mechanism)被广泛应用于在自然语言处理、图像识别及语音识别等各种不同类型的深度学习任务中,在深度学习中得到了普遍关注和深入研究[22]。在此基础上,本研究利用注意力机制将CNN与双向长短时记忆神经网络(BiLSTM)相结合,提出一种作物病害检测方法,并进行试验验证。其中,BiLSTM能够提取环境因子特征,CNN能够提取病害叶片图像较强的分类特征,注意力机制用于将CNN和BiLSTM相融合进行病害检测。
1 材料与方法
1.1 试验材料
在陕西杨凌农业示范区采集小麦2种常见病害发病时的叶片图像及其对应的环境信息和气象数据。这2种病害与环境和气象信息紧密相关,空气温湿度和日照对病害影响最大,病原生物的繁殖、传播等与气象因素相关度很大,在长时间低温、阴雨、缺少阳光等环境下发病率较高,在多雨天会快速产生分裂孢子,在适宜的环境条件下会引起小麦这2种病。土壤类型和温湿度及其酸碱性对病害发生有一定影响。利用数码相机、智能手机和物联网等采集2种病害叶片图像各500幅,利用物联网传感器记录对应的日均影响因子各500条。图3为病害叶片图像,表1为对应的环境信息和气象数据。
将每幅病害叶片图像对应表1中的各个日均因子进行归一化处理,然后利用主因子分析方法选择30个主因子,构成一个因子特征向量;然后由日均因子特征向量構建成一个矩阵,其中矩阵的行为 1 000 ,表示特征向量的数量,列为30,表示每个样本的日均因子(用数值表示)。将整理好的数据文件data.xls通过xlsread函数导入MATLAB中。
1.2 试验方法
1.2.1 长短期记忆模型
LSTM是一种特殊的递归神经网络(recursive neural network,简称RNN)[23]。与RNN的区别在于,LSTM的3个控制门为输入门、输出门、遗忘门。其中,输入门控制保存长期状态c;输出门控制把即时状态输入到长期状态c;遗忘门控制是否把长期状态c作为当前LSTM的输出。LSTM通过加入的3个控制门学习长期依赖的信息,使其能够保存长期状态,解决只有一个隐藏层状态h的RNN模型所存在的问题。在t时刻,LSTM有3个输入,即当前时刻网络状态的输入xt、上一时刻的输入ht-1和上一时刻的单元状态ct-1;LSTM有2个输出,即当前时刻输出ht和当前时刻的单元状态ct。其中,x、c、h都为向量。LSTM的关键为如何控制长期状态c。
假设W是门的权重向量,b是偏置项,则门控
制表示为
g(x)=σ(Wx+b)。(1)
式中:σ为sigmoid函数,其值域为(0,1)。
遗忘门、输入门和输出门分别表示如下:
ft=σ(Wf·[ht-1,xt]+bf)
it=σ(Wi·[ht-1,xt]+bi)
ot=σ(Wo·[ht-1,xt]+bo)。(2)
式中:Wf为遗忘门的权重矩阵;ht-1为t-1时刻状态向量;[ht-1,xt]为把2个向量连接成一个更长的向量;bf为遗忘门的偏置项。
根据上一次的输出和本次输入计算用于描述当前输入的单元状态ct′:
ct′=tanh(Wc·[ht-1,xt]+bc)。(3)
计算当前t时刻的单元状态ct:
ct=ft·ct-1+it·ct′。(4)
由式(4)把当前的记忆ct′与长期的记忆ct-1结合起来,作为新的单元状态ct。LSTM最后的输出由输出门和单元状态共同决定,表示为
ht=ot·tanh(ct)。(5)
反向传播算法训练LSTM的主要步骤为:(1)前向计算每个神经元的输出值ft、it、ot、ct、xt、ht;(2)反向计算每个神经元的误差项,包括2个方向:一个是沿时间的反向传播,即从当前时刻t开始,计算每个时刻的误差项;另一个是将误差项向上一层传播;(3)根据相应的误差项,计算每个权重的梯度;(4)用梯度下降的误差后向传播算法更新权重。
1.2.2 卷积神经网络
由于病害叶片图像及其病斑图像的复杂、多样性,以及同一幅病害叶片或果实在不同情况下拍摄的病害图像之间可能存在视角、亮度、平移、噪声、扰动等差异,使得很难从病害图像或病斑图像中提取出有效的分类特征。针对现有CNN的训练收敛时间长、模型参数庞大等问题,提出一种改进的CNN模型,描述如下:计算每个批次n个样本的均值与方差,μ=1n∑ni=1xi,σ=1n∑ni=1(xi-μ)2,其中μ和σ分别为批次均值和方差;再将图像归一化,x~i=xi-μσ2+ε,其中ε为一个很小正数,保证表达式有意义,默认取为0.001。因为简单地将数据归一化可能影响原始生态的特征分布,所以通过变换重构来恢复原始的特征分布:yi=γix~i+βi,其中γi和βi分别为方差和均值,通过训练得到。在模型训练过程中,使用批次样本的归一化均值与方差,测试时则使用全体样本的均值和方差。
为减少参数和克服过拟合问题,利用全局池化操作代替全连接操作,该操作是将最后一个卷积层的每个特征图的所有值融合为一个特征值。与一般CNN模型中的全连接层相比,全局池化能够增强特征图与类别的关系、防止过拟合、对输入的数据空间变换不变性、可避免Dropout参数寻优。改进的CNN模型结构,包括批归一化处理、卷积和池化操作、全局池化操作、激活操作和分类识别。改进CNN模型的架构如图4所示。
1.2.3 跨深度学习模型的作物病害检测方法
虽然物联网实时采集的作物视频图像和环境信息是2个完全不同的复杂数据模态,但他们之间存在着内在的必然关联:若作物生长环境条件满足某种病害发生的条件,则该病害发生;病害发生则会引起作物叶片出现病斑症状;病害图像出现,则表明有病害发生;若病害图像的病斑逐渐增大,则表明该病害有发展趋势,所以作物病害图像和环境信息都与病害发生有着紧密联系,将两者综合考虑能够更准确地检测作物病害及其发展趋势。在CNN和BiLSTM的基础上,提出一种跨深度学习模型,并应用于作物病害检测中,其基本架构如图5所示。
在注意力机制层使用注意力机制计算CNN和BiLSTM的每个特征ai在当前时刻t的权重αt,i:
αt,i=exp(eti)/∑Lk=1exp(etk)。(6)
式中:eti=fatt(ai,ht-1),etk=fatt(ak,hk-1)为多层感知器;fatt(·)为中间变量;ht-1为最后时刻的隐藏状态。
通过权值的测量,可以使网络聚焦于最具鉴别性的区域和特征图。分类层将注意力机制层输出的结果,输入Softmax分类器进行病害分类。损失函数J(θ)定义为
J(θ)=-∑x(i),y(i)∈Dlog[p(y=y(i)|x(i),θ)]。(7)
式中:θ为模型参数;D表示样本数据构成的训练集;[x(i),y(i)]表示训练集中第i个样本数据,x(i)是10维的向量,y(i)为病害类别;p[y=y(i)|x(i),θ]表示样本[x(i),y(i)]病害检测的概率。
2 结果与分析
为验证基于跨深度学习模型的作物病害预测方法的可行性,以小麦白粉病为例,利用小麦病害发生期间的环境信息进行病害预测试验,并对2种传统方法和2种深度学习方法进行试验比较。2种传统方法为基于颜色、形状、纹理特征的植物叶片病害图像检索分析(CST)[7]和基于叶片图像和环境因子方法(LIEI)[12],2种深度学习方法为基于LSTM作物病害检测方法[20]和基于知识图谱与双向长短时记忆网络(KGBiLSTM)[23]。试验的硬件环境为内存 32 G、CPU Intel(R) Core(TM) i7-4790 8×3.60 GHz、GPU GeForce GTX Titan X,训练速度使用单核Intel 3.47 GHz的15倍以上,深度学习架构为Keras,编程语言为python。
利用5折交差验证法进行试验,并进行50次交差验证试验,对病害叶片图像和选择的环境信息经过归一化、分组和划分数据集后,分别输入CNN和输入BiLSTM模型进行训练。训练时每次将1组数据输入模型进行训练,然后将模型预测结果与实际结果相比得到错误率,再使用一种合适的优化算法更新权重矩阵,以此提高模型的预测准确率。直到所有数据都输入模型进行预测与权重调整后,完成对网络的一轮训练。试验结果为50次试验的平均值。利用Keras实现基于CNN和BiLSTM神经网络的小麦病害预测模型,权重初始化选用均值为0、方差为1的高斯分布,隐藏层激活函数选用ReLU函数,输出层激活函数选用SoftMax,选用交叉熵损失函数binary_crossentropy,即logloss,隐藏层节点数设置为32,优化算法选用Adam算法。以上这些参数作为默认参数。影响CNN和BiLSTM模型预测准确率的主要因素是batch_size与是否使用Dropout等。
由于使用Dropout抑制了部分节点,所以随着迭代次数增加,准确率出现抖动情况,但验证集准确率高于训练集,未出现明显的过拟合现象。CNN和BiLSTM模型在训练集上的最高准确率达90.27%,在测试集上的最高准确率达94.38%(图6)。
由表2可知,CNN与BiLSTM相结合的跨模型准确率最高,远高于其他4种方法,其原因是跨模型方法利用了病害叶片图像和环境信息,并利用注意力机制对得到的特征进行融合;LIEI方法次之,其原因是LIEI方法也利用了病害叶片图像和环境信息进行病害检测;KGBiLSTM方法的识别率比LSTM方法高,其原因是KGBiLSTM能将多源异构环境信息和气象信息等关联起来, 得到病害发生的主要因素;CST方法的识别率最低,其原因是该方法很难从病害叶片图像中提取鲁棒性的分类特征。传统方法的训练时间较短,其原因是传统方法需要训练的参数很少;跨模型方法的训练时间很长,其原因是该方法涉及到的训练参数很多,但当模型训练好后,识别时间与一般深度学习模型基本一样。跨模型在学习大量病害叶片图像和环境信息后,能总结出一系列病害发生和发展的变化规律,由此可以预测环境信息对作物病害检测和识别的影响,提出的作物检测方法不具有该功能。因此,跨模型在作物病害检测方面具有较好的准确率和稳定性。
3 结论
作物病害叶片图像与病害发生相关的环境信息是病害识别与检测的依據,但这2类数据是高度异构、冗余的,跨模型深度学习方法能够通过在2类深度学习模型得到的特征进行融合,解决了基于病害图像和病害环境信息相结合的病害识别与检测问题。针对基于环境因子的作物病害检测难题,在CNN、LSTM的基础上,本研究提出了一种基于CNN和LSTM相结合的作物病害检测方法。该方法为基于物联网的作物病害检测方法研究提供了一个新思路。结果表明,该模型能有效过滤缺失数据和噪声数据,学习一系列环境因子序列的变化规律及其对作物病害检测的影响,有助于提高大田作物病害检测的准确率和可靠性。由于跨模型方法的参数很多,所以模型的训练时间很长。下一步研究将对跨模型进行优化,提高训练效率。
参考文献:
[1]陈 洁. 农药暴露与肿瘤的关系及非职业暴露人群农药水平的评估与干预初探[D]. 广州:南方医科大学,2017.
[2]鲁军景,孙雷刚,黄文江. 作物病虫害遥感监测和预测研究进展[J]. 遥感技术与应用,2019,34(1):21-32.
[3]Andreotti G,Hou L F,Beane Freeman L E,et al. Body mass index,agricultural pesticide use,and cancer incidence in the agricultural health study cohort[J]. Cancer Causes & Control,2010,21(11):1759-1775.
[4]李 红,丁丽丽,田 英,等. 2019年新疆兵团棉花病虫害发生趋势预测及防治对策[J]. 中国棉花,2019,46(3):42-43,46.
[5]刁智华,袁万宾,刁春迎,等. 病害特征在作物病害识别中的应用研究综述[J]. 江苏农业科学,2019,47(5):71-74.
[6]Barbedo J G A. A review on the main challenges in automatic plant disease identification based on visible range images[J]. Biosystems Engineering,2016,144:52-60.
[7]Patil J K,Kumar R. Analysis of content based image retrieval for plant leaf diseases using color,shape and texture features[J]. Engineering in Agriculture,Environment and Food,2016,10:69-78.
[8]Singh V,Misra A K. Detection of plant leaf diseases using image segmentation and soft computing techniques[J]. Information Processing in Agriculture,2017,4(1):41-49.
[9]Ganatra N,Patel A.A survey on diseases detection and classification of agriculture products using image processing and machine learning[J]. International Journal of Computer Applications,2018,180(13):7-12.
[10]Ashourloo D,Mobasheri M,Huete A.Evaluating the effect of different wheat rust disease symptoms on vegetation indices using hyperspectral measurements[J]. Remote Sensing,2014,6(6):5107-5123.
[11]Zhang J C,Pu R L,Yuan L,et al. Integrating remotely sensed and meteorological observations to forecast wheat powdery mildew at a regional scale[J]. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing,2014,7(11):4328-4339.
[12]王獻锋, 张善文,王 震,等. 基于叶片图像和环境信息的黄瓜病害识别方法[J]. 农业工程学报,2014,30(14):148-153.
[13]马慧琴. 基于多源数据的小麦白粉病遥感监测与预测模型研究[D]. 南京:南京信息工程大学,2017.
[14]王 标,谭小平,尹 丽,等. 湖南省农作物重大病虫害监测预警信息系统的研发与应用[J]. 中国植保导刊,2018,38(1):37-43.
[15]张竞成,袁 琳,王纪华,等. 作物病虫害遥感监测研究进展[J]. 农业工程学报,2012,28(20):1-11.
[16]邱 靖,刘继荣,曹志勇,等. 基于卷积神经网络的水稻病害图像识别研究[J]. 云南农业大学学报(自然科学),2019,34(5):884-888.
[17]孙文杰,牟少敏,董萌萍,等. 基于卷积循环神经网络的桃树叶部病害图像识别[J]. 山东农业大学学报(自然科学版),2020,51(6):998-1003.
[18]张善文,黄文准,尤著宏. 基于物联网和深度卷积神经网络的冬枣病害识别方法[J]. 浙江农业学报,2017,29(11):1868-1874.
[19]王献锋,张传雷,张善文,等. 基于自适应判别深度置信网络的棉花病害预测[J]. 农业工程学报,2018,34(14):157-164.
[20]Xiao Q X,Li W L,Chen P,et al. Prediction of crop pests and diseases in cotton by long short term memory network[M]//Huang D S,Jo K H,Zhang X L,et al. Intelligent computing theories and application. Cham:Springer International Publishing,2018:11-16.
[21]肖晴欣. 基于长短时记忆网络的棉花病虫害发生预测研究[D]. 合肥:安徽大学,2019.
[22]Mi Z J,Jiang X H,Sun T F,et al. GAN-generated image detection with self-attention mechanism against GAN generator defect[J]. IEEE Journal of Selected Topics in Signal Processing,2020,14(5):969-981.
[23]张善文,王 振,王祖良. 结合知识图谱与双向长短时记忆网络的小麦条锈病预测[J]. 农业工程学报,2020,36(12):172-178.