CNN与BiLSTM相结合的水稻病害识别新方法

2023-12-02 07:33路阳刘婉婷林立媛张欣梦管闯
江苏农业科学 2023年20期
关键词:卷积神经网络图像识别深度学习

路阳 刘婉婷 林立媛 张欣梦 管闯

摘要:针对水稻病害图像识别中浅层特征无法记忆、深层特征提取不充分、序列特征鲁棒性较弱等问题,提出一种将CNN与BiLSTM相结合的水稻病害识别新方法。首先,利用卷积神经网络自动提取水稻病害的浅层特征;然后,利用BiLSTM中各个循环单元之间的反馈链接可以充分挖掘和记忆水稻特征序列数据中的上下文相关信息和位置信息的优势,将浅层特征与序列特征结合形成一个新的特征序列,解决了特征无法记忆、提取不足的问题;最后,使用全局平均池化层代替全连接层,以减少参数、防止过拟合。针对自建的水稻病害数据库,试验结果显示:所提出模型的水稻病害平均识别精确率达到了99.38%,与CNN和CNN-LSTM模型相比,所提出模型分别提高0.63、1.38百分点。同时,在召回率和F1值上也显现出了优势,分别达到99.42%、99.39%。因此,所提出的方法提升了水稻病害识别精确率,可应用于实际的水稻病害诊断中。

关键词:水稻病害;图像识别;长短期记忆神经网络;卷积神经网络;深度学习

中图分类号:TP391.41文献标志码:A

文章编号:1002-1302(2023)20-0211-07

水稻是重要的粮食作物之一,我国有60%以上的人口以大米为主食[1]。在水稻生长过程中会发生许多病害,影响水稻的产量,因此对这些病害的正确识别,进一步掌握其发生的规律和动态,才能达到精确的预测和防治。而传统识别方式主要依靠专家的经验,或是肉眼观察,或是在实验室进行鉴别,费时费力,成本昂贵,无法普及。

随着机器学习技术的发展,许多学者利用人工智能的方法对水稻病害分类识别进行研究,通过使用支持向量机、神经网络等方法检测和分类病害,为水稻病害识别提供了技术基础。陈宇等利用交换粒子群优化算法优化支持向量机径向基函数的参数和惩罚因子,通过支持向量机模型对3种水稻叶部病害进行识别,平均识别准确率达到了93.2%[2]。陈悦宁等提出了一种基于优化BP神经网络的水稻病害识别方法,对稻瘟病、白叶枯病以及细菌性条斑病3种水稻病害进行识别,准确率分别达到98.5%、96.0%、92.5%[3]。但机器学习在病害特征提取方面是需要人工提取的,人工提取耗时耗力,出现错误的可能性也大。近年来,深度学习在图像识别和分类的研究中取得了巨大的进步,尤其是卷积神经网络(convolutional neural network,简称CNN),由于其能够从输入的大量水稻病害图像中自主学习、提取出病害特征,因此在水稻病害图像识别的应用中不断深入。刘婷婷等采用AlexNet深度卷积神经网络模型对水稻纹枯病进行识别,试验结果证明ALexNet模型达到了97%的识别率[4]。Saeed等提出了ResNet152的变体,用于检测水稻和玉米等基本作物的疾病,对主要和次要疾病亚群的准确率分别达到99.10%、82.20%[5]。虽然CNN在水稻病害图像识别中取得了显著的效果,但由于CNN内部有循环单元,使CNN在学习提取特征时,往往会丢掉在初始层学习到的浅层细粒度细节,一些重要的细节没有传递到网络的深层。

现阶段一些研究人员将循环神经网络(recurrent neural network,简称RNN)中的模块结合CNN识别图像,取得了不错的效果。David等提出了一种 CNN-RNN 混合深度学习模型,对番茄叶部病害进行检测分类,利用时间序列数据实现早期病害检测,检测分类准确率最高达到了98.25%[6]。Banzi等提出一种将长短期记忆网络(long short-term memory,简称LSTM)嵌入到CNN层中的组合结构对100种不同类型的植物物種进行分类识别,所提出的模型能够以95%的准确率对每幅图像的特定类别进行分类[7]。

为深度挖掘水稻病害特征,提高水稻病害图像的识别准确率,提出一种结合了CNN与双向LSTM的水稻病害识别新方法,即双向长短期记忆网络(bidirectional long and short-term memory,简称BiLSTM),。该系统能够检测和识别5种水稻病害类别,其中包括3种常见的水稻病害类型纹枯病、稻瘟病、白叶枯病,以及与稻瘟病和白叶枯病分别有着高相似度的胡麻斑病和东格鲁病。首先通过CNN提取浅层病害特征,再由BiLSTM模型进行前后信息相关性的建立,同时筛选、存储病害特征序列以及病害位置信息,挖掘各个病害区域间的上下文相关信息,从而进一步加深对特征信息的提取。最后通过比较、分析模型的训练效果和评价性能指标,验证所提出模型的优异性,为水稻病害识别提供新的、有效的方法。

1 相关工作

1.1 Inception v1模块

Inception v1模块是GoogLeNet模型的一个重要的组成部分,其基本结构如图1所示[8]。原始的Inception结构将卷积核尺度为1×1、3×3和5×5的卷积层以及最大池化层4个部分堆叠在一起,并通过ReLU激活函数增加网络的非线性特征。由图1可知,基于稀疏网络结构的Inception v1分别在卷积核尺度为3×3和5×5的卷积层之前以及最大池化层之后加入了尺度为1×1的卷积层,在多个尺度上同时进行卷积,这使得其能够在提取到更丰富特征的同时降低计算复杂度[9]。Inception v1中4个部分的卷积层可以独立完成,每个部分的运算之间没有依赖,可以实现并行计算,极大地加快了模型的训练速度,最后将各个卷积运算输出结果连接为一个高维的特征图,可以获得更好的图像表征。从而实现在有限的资源和内存下得到更好的训练结果,是性能和资源利用率较好的选择。

1.2 长短期记忆神经网络

RNN作为神经网络的一个重要分支,相较于CNN最大的特点是具有循环神经单元,具有记忆功能,可以很好地利用输入间隐含的依赖关系。而传统的RNN存在梯度消失和梯度爆炸等问题,导致无法解决长时依赖的问题,为解决这些问题[10],Hochreiter和Schmidhuber(1997)提出了LSTM[11]。

LSTM基本单元如图2所示。LSTM由输入门(input gate,简称IG)、遗忘门(forget gate,简称FG)和输出门(output gate,简称OG)组成[12],特别的是,隐藏状态和单元状态的使用使LSTM拥有短时间和长时间的记忆能力。简单来说LSTM的工作原理就是保留重要的信息,遗忘不重要的信息。LSTM解决了RNN在实际应用中出现的梯度消失和梯度爆炸等问题,需要的参数少,学习速度快[11]。

LSTM网络结构中包含遗忘门、输入门和输出门。遗忘门决定了来自上一个时间步的单元状态中有多少信息被丢弃,有多少信息需要被继承;输入门决定了当前处理的时间步中有多少输入信息添加到当前的单元状态中;输出门决定当前单元状态中将会有多少信息作为处理当前时间步的输出值,用于下一层网络的更新中。计算公式如 (1)~(6)所示:

yt=ht=tanh(ct)ot。(6)

式中:xt、ft、it、ct′、ct、ot和yt分别为输入量、遗忘门、输入门、输入节点、状态单元、输出门和中间输入的状态;W为对应门与输入xt和中间输出ht相乘的权重矩阵;b为对应门的偏差;σ表示sigmoid函数变化。

1.3 双向长短期记忆神经网络

BiLSTM是LSTM的一种扩展。LSTM解决了特征信息无法记忆的问题,但忽略了对病害区域间的上下文相关信息和位置信息。BiLSTM由正向LSTM层和反向LSTM层融合而成,它既能捕获过去的信息,也能捕获未来的信息。BiLSTM各循环单元之间具有反馈连接,具有记忆性和进一步挖掘的能力[13],同时考虑到了序列过去的特征和未来的特征,进而提高模型处理序列问题的性能。BiLSTM结构如图3所示。

2 CNN-BiLSTM混合深度学习模型

本研究设计了一种在卷积神经网络中融入双向长短期记忆网络的水稻病害识别模型。将CNN挖掘特征的能力与BiLSTM整合特征序列未来、过去相关信息的能力相结合。在设计的模型中,水稻病害的识别分为3个部分:第1部分是初级特征提取模块,实现对水稻病害图像中病害特征的初步提取;第2部分是深度特征提取模块,通过该模块实现对水稻病害特征的进一步挖掘和处理;第3部分是降维识别模块,实现对水稻病害的分类识别。 CNN-BiLSTM 网络模型的结构如图4所示,并且给出了每个模块输出的特征图的宽度、高度和通道数目。

2.1 初级特征提取模块

第1部分的浅层特征提取模块是由卷积层+最大池化层+BN层的组合组成,对病害特征进行局部特征提取。

对于深度网络的训练是一个复杂的过程,只要网络的前面几层发生微小的改变,那么后面几层就会被累积放大下去。一旦网络某一层输入数据的分布发生改变,那么这一层网络就需要去适应学习这个新的数据分布,所以如果训练过程中,训练数据的分布一直在发生变化,将会影响网络的训练速度。

BN算法是一种旨在解决在训练过程中中间层数据分布发生改变的算法[14],在该模块中使用BN层可以让梯度变大,以此避免梯度消失问题的产生,提高模型稳定性,提高学习收敛速度,加快训练速度。

2.2 深度特征提取模块

第2部分的深层特征提取模块是由Inception模块+BiLSTM模块的组合组成。通过Inception模块的多特征融合特性实现对水稻病害的高维特征融合,通过BiLSTM模块对特征序列信息的提取、整合过去、未来特征信息的能力实现对病害特征的深度提取。

2.2.1 Inception模块

由于现有的水稻叶部病害图像数据集中各类病害所包含的图像数量较少,不利于叶部病害的特征提取,而Inception模块正好可以解决资源有限的问题,同时防止由于训练集数据不足而产生的特征提取偏差。设计3个Inception模块,这些模块能够增加网络的宽度,也能降低feature map的厚度。为了保证Inception 模块中3个尺寸的卷积操作和最大池化操作能够进行维度上的连接,将卷积操作的步长设为1、Padding方式设为same,池化操作的步长设为1,最后将这4个部分得到的特征图通过Concatenate()拼接在一起,作为下一层的输入。由于Inception v1自身的稀疏性,可以在很大程度上解决因为增加网络的深度和宽度而导致的计算量剧增、参数量爆炸甚至过拟合等问题,从而提高深度网络模型质量[15]。为了可以更进一步地挖掘水稻病害特征,在每个Inception 模块之后加入BiLSTM模块。

2.2.2 BiLSTM模块

本研究设计的模型选择使用BiLSTM作为特征学习存储单元与Inception模块相结合,是因为相较于LSTM只能单向进行特征学习,BiLSTM可以实现双向特征学习,能够更好地获取水稻叶部病害特征信息之间的相关性,提供了处理序列数据的全新角度,能够捕捉到可能被单向LSTM忽略的信息,挖掘并记忆特征序列上下文的相关信息以及病害区域的位置信息。

在经过TimeDistributed()处理后,将特征序列传入BiLSTM中,首先将输入数据输入到一个LSTM层,然后通过另一个反向的LSTM层重复训练,从而进行双向特征学习,提高模型的依赖性,提高模型的精度,使其实现更深层次特征信息的挖掘并且对特征序列中的有用信息进行存储。

2.3 降维识别模块

第3部分的降维识别模块是由Global Average Pooling(GAP)层+Softmax层的组合组成。

使用GAP替代全连接层(fully connected,FC)基于2点:一是GAP在特征图与最终的分类间转换更加简单自然;二是不像FC层需要大量训练调优的参数,降低了空间参数会使模型更加“健壮”[16],有效防止第2部分產生过拟合现象;三是GAP整合了全局空间信息,对于输入图像的spatial translation更加鲁棒[17]。GAP图解如图5所示。

2.4 模型参数

创建的CNN-BiLSTM网络模型每一层的内核大小、参数个数及输出尺寸如表1所示。

3 基于CNN-BiLSTM的水稻病害诊断

3.1 水稻病害图像数据库的建立

在本研究中,一部分水稻病害图像数据于2021年8月采集自黑龙江八一农垦大学水稻试验田,在自然光照条件下使用1 600万像素的OPPO N3手机拍摄获取的水稻病害图像。另一部分水稻病害图像数据取自Kaggle公开数据集。将每张图像按照病害类型命名,存储到对应病害名称的文件夹中,共同组成水稻病害图像数据集。

数据集中包括纹枯病、稻瘟病、白叶枯病、胡麻斑病、东格鲁病5类水稻病害图像,其中既有真实田间环境下复杂背景的病害图像数据,也包含将含有病害的叶片单独裁剪出的图像数据。通过对图像进行图像增强处理来扩充数据集,由于样本数量不足且不均衡,采用了水平翻转、垂直翻转、随机水平平移和随机垂直平移等图像增强技术对每种病害样本进行扩充,扩大数据集的数量。数据量被扩充至2 550幅图像,每种病害各含有510幅图像,每幅图像的大小统一调整至256×256。水稻病害示例图像如图6所示。

3.2 数据预处理

3.2.1 图像归一化

在模型反向传播时,梯度值更新与学习率一样,当学习率较小时,梯度值较小会导致更新缓慢,当学习率较大时,梯度值较大会导致模型不易收敛,因此为了使模型训练收敛平稳,对图像进行归一化操作,把不同维度的特征值调整到相近的范围内,这样就可以采用统一的学习率加速模型训练。

采用min-max标准化通过对原始图像数据进行线性变换,使其对应的像素值均能缩放在[0,1]的范围内,具有保留原始数据关系、消除量纲和数据取值范围的影响等优点[18]。min-max标准化的公式如式(7)所示。

(7)

式中:X′是归一化后的值;X是原始图像像素值;Xmin表示原始图像像素值中的最小值;Xmax表示原始图像像素值中的最大值。

3.2.2 独热编码

在分类机器学习任务中,特征之间距离或相似度的计算是非常重要的,并且常用的距离或相似度的计算都是基于欧氏空间的相似度计算。

水稻病害特征的取值是[blast,blight,…]即病害对应的名称,其之间没有大小的意义,但分类器往往默认数据是连续的,并且是有序的[19],因此进行独热编码处理,将离散特征的取值扩展到了欧氏空间,离散特征的某个取值就对应欧氏空间的某个点。解决了分类器不好处理属性数据的问题,并且在一定程度上起到了扩充特征的作用。数据库

中含有5类水稻病害类别,使用5位状态寄存器来对5个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候其中只有1位有效。

4 结果与分析

在本研究中的试验环境为windows10、64位操作系统,CPU型号为 Intel Xeon CPU E5-2678 v3 @ 2.50 GHz,GPU型号为NVIDIA GeForce RTX 2080 Ti,显卡内存为11 G。采用Python编程语言和Tensorflow深度学习框架。

试验时按照8 ∶2的比例将数据集随机划分为训练集和测试集。将初始学习率lr设置为0.000 1,损失函数loss为多分类交叉熵损失函数,迭代次数epoch为50。应用构造的水稻病害样本集分别对CNN模型、CNN-LSTM模型、CNN-BiLSTM模型进行训练,训练过程中3个模型随着迭代次数的增加准确率和损失率的收敛曲线如图7、图8所示。3种模型对水稻病害分类识别的结果如表2所示。

4.1 模型评价指标

水稻病害分类可划分为5种二分类情况,当将稻瘟病作为正类时,纹枯病、白叶枯病、胡麻斑病以及东格鲁病4种病害作为负类。那么在训练过程中正确判定为正类的数量记为TP,实际为正类但判断为负类的总数量记为FN,实际为负类但判定为正类的总数量记为FP。为了评估提出的水稻病害识别模型的准确性和稳定性,本研究使用精确率P(precision)、召回率R(recall)以及F1值(F1 score)3项指标进行模型的评价。

精确率表示正确判定为正类的个数占模型分类为正类的个数的比例,计算公式如式(8)所示:

(8)

召回率表示模型判定正确的正类个数占实际中正类的个数的比例,计算公式如式(9)所示:

(9)

正常情况下,精确率和召回率是相互影响的,理想状态下是期望2个指标都高,但是实际两者是相互制约的,精确率高召回率便低,反之,精确率低召回率便高。这就需要综合考虑,最常见的便是引入F1值,表示准确率和召回率的调和均值,用来权衡精确率和召回率,F1值越大说明模型的质量越高。计算公式如式(10)所示:

(10)

3种模型的精确率、召回率以及F1值如表3所示。

4.2 讨论与分析

由图7中的训练曲线可以看出,CNN-BiLSTM模型的准确率上升速度最快。由图8中的收敛曲线可以看出,CNN-BiLSTM模型的损失率在经过9次迭代之后开始趋于平稳,并没有明细的波动,相较于CNN-LSTM模型在经过22次迭代之后开始平稳,以及CNN模型直至训练结束也未平稳、波动较大,CNN-BiLSTM模型的损失率在这3种识别模型中下降最快、稳定性最好。因此,CNN-BiLSTM模型的收敛效果更好。由表2可知,CNN-BiLSTM 模型的训练集损失率只有0.08%,是这3类模型中损失率最小的,CNN-BiLSTM模型训练集准确率比CNN模型高1.27百分点。在测试集上,CNN-BiLSTM模型的测试准确率比CNN-LSTM模型的测试准确率高出0.62百分点,比CNN模型的准确率高1.43百分点,相对的损失率比CNN-LSTM模型低出0.92百分点,比CNN模型低出1.56百分点。所以无论是從准确率、损失率还是从稳定性来看,CNN-BiLSTM模型的训练结果都要比其他2种模型的效果好。 因此从训练结果来看,CNN-BiLSTM模型比其他2种模型更具优势。

由表3可知,CNN-BiLSTM模型的精确率、召回率和F1值分别达到99.38%、99.42%、99.39%。精确率比CNN模型高出1.38百分点,比CNN-LSTM模型高出0.63百分点;召回率比CNN模型高出1.67百分点,比CNN-LSTM模型高出0.63百分点;F1值比CNN模型高出1.52百分点,比 CNN-LSTM 模型高出0.63百分点。因此从模型的评价指标来看CNN-BiLSTM模型比其他2种模型都要好。

综合试验结果表明,无论是从训练结果还是评估指标上看,CNN-BiLSTM都明显优于CNN-LSTM模型和CNN模型。CNN-BiLSTM模型加快了模型的收敛速度、训练速度,提高了识别准确率,减少了过拟合的风险,使模型更具有鲁棒性,训练效果更好,是这3种模型中最具优势的。

5 结束语

根据BiLSTM可以联系病害区域间的上下文相关信息和位置信息,提出一种CNN与BiLSTM相结合的水稻病害识别新方法。应用CNN模型、CNN-LSTM模型和CNN-BiLSTM模型,分别对水稻病害图像数据集进行训练、测试。结果表明,所设计的CNN-BiLSTM模型水稻病害图像识别率最高,平均识别率达到了99.38%。结果证明,在CNN模型中加入BiLSTM对于水稻病害识别诊断的准确性具有一定的提高作用,同时也增加了模型的稳定性并且加快了模型的收敛速度,因此本研究提出的将CNN与BiLSTM结合的这种新方法对于水稻病害诊断方面具有一定的可行性。

参考文献:

[1]胡培松,圣忠华. 水稻种植业的昨天、今天和明天[EB/OL]. (2021-04-22)[2022-10-20]. http:www.zys.moa.gov.cn/mhsh/202104/t20210422_6366373.htm.

[2]陈 宇,路 阳,蔡 娣,等. 基于SPSO+SVM的水稻叶部病害识别方法研究[J]. 上海农业学报,2021,37(6):136-142.

[3]陈悦宁,郭士增,张佳岩,等. 基于优化BP神经网络的水稻病害识别算法研究[J]. 电子技术应用,2020,46(9):85-87,93.

[4]刘婷婷,王 婷,胡 林. 基于卷积神经网络的水稻纹枯病图像识别[J]. 中国水稻科学,2019,33(1):90-94.

[5]Saeed Z,Raza A,Qureshi A H,et al. A multi-crop disease detection and classification approach using CNN[C]//2021 International Conference on Robotics and Automation in Industry (ICRAI).October 26-27,2021,Rawalpindi,Pakistan.IEEE,2021:1-6.

[6]David H E,Ramalakshmi K,Gunasekaran H,et al. Literature review of disease detection in tomato leaf using deep learning techniques[C]//2021 7th International Conference on Advanced Computing and Communication Systems (ICACCS).March 19-20,2021,Coimbatore,India.IEEE,2021:274-278.

[7]Banzi J,Abayo T. Plant species identification from leaf images using deep learning models (CNN-LSTM architecture)[J]. Tanzania Journal of Forestry and Nature Conservation,2021,90(3):93-103.

[8]Szegedy C,Liu W,Jia Y Q,et al. Going deeper with convolutions[C]//2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).June 7-12,2015,Boston,MA,USA.IEEE,2015:1-9.

[9]薛文龙,于 炯,郭志琦,等. 基于特征融合卷积神经网络的端到端加密流量分類[J]. 计算机工程与应用,2021,57(18):114-121.

[10]Hua Y S,Mou L C,Zhu X X.Recurrently exploring class-wise attention in a hybrid convolutional and bidirectional LSTM network for multi-label aerial image classification[J]. ISPRS Journal of Photogrammetry and Remote Sensing,2019,149(3):188-199.

[11]Hochreiter S,Schmidhuber J. Long short-term memory[J]. Neural Computation,1997,9(8):1735-1780.

[12]李丰君,王 磊,赵 健,等. 基于天气融合和LSTM网络的分布式光伏短期功率预测方法[J]. 中国电力,2022,55(11):149-154.

[13]Cui Z,Ke R,Pu Z,et al. Deep bidirectional and unidirectional LSTM recurrent neural network for network-wide traffic speed prediction[EB/OL]. (2018-01-07)[2022-10-26]. https://arxiv.53yu.com/abs/1801.02143.

[14]Ioffe S,Szegedy C. Batch normalization:accelerating deep network training by reducing internal covariate shift[EB/OL]. (2015-02-11)[2022-10-26]. https://arxiv.org/abs/1502.03167.

[15]黄双萍,孙 超,齐 龙,等. 基于深度卷积神经网络的水稻穗瘟病检测方法[J]. 农业工程学报,2017,33(20):169-176.

[16]陈绮丹. 基于卷积神经网络的电驱动总成故障数据分类识别研究[D]. 重庆:重庆理工大学,2020.

[17]Lin M,Chen Q,Yan S C. Network in Network[EB/OL]. (2013-12-16)[2022-10-28]. https://arxiv.org/abs/1312.4400.

[18]梅 莹,尹艺璐,石称华,等. 基于改进VGG卷积神经网络的叶菜霜霉病智能识别算法研究[J]. 上海蔬菜,2021(6):76-84.

[19]梁 杰,陈嘉豪,张雪芹,等. 基于独热编码和卷积神经网络的异常检测[J]. 清华大学学报(自然科学版),2019,59(7):523-529.

收稿日期:2023-01-27

基金项目:国家自然科学基金(编号:U21A2019、61873058、61933007);黑龍江省自然科学基金联合引导资助项目(编号:LH2022C061);黑龙江省博士后科研启动基金(编号:LBH-Q17134);海南省科技专项(编号:ZDYF2022SHFZ105);黑龙江省省属高等学校基本科研基金(编号:ZRCPY202020)。

作者简介:路 阳(1976—),男,黑龙江双城人,博士,教授,博士生导师,从事复杂系统智能故障诊断及模式识别技术研究。E-mail:luyanga@sina.com。

猜你喜欢
卷积神经网络图像识别深度学习
基于Resnet-50的猫狗图像识别
高速公路图像识别技术应用探讨
图像识别在物联网上的应用
图像识别在水质检测中的应用
基于深度卷积神经网络的物体识别算法
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现
基于卷积神经网络的树叶识别的算法的研究