基于卷积循环神经网络的桃树叶部病害图像识别

2021-01-09 12:29孙文杰牟少敏董萌萍周子豪
关键词:网络层区域间图像识别

孙文杰,牟少敏,董萌萍,周子豪,李 颀

山东农业大学信息科学与工程学院,山东 泰安271018

我国是世界桃生产第一大国[1],由于受各种叶部病害的影响,桃的产量和品质下降,造成了巨大的经济损失。因此,准确、高效地识别早期桃树叶部病害至关重要,而桃树叶部病害的识别主要是凭借植保技术人员和桃农的经验判断,误差大且费时费力。

近年来,随着深度学习技术的深入研究,卷积神经网络(Convolutional Neural Network,CNN)在农作物病害图像识别中的应用不断深入。龙满生等[2]利用深度卷积神经网络学习油茶病害特征,并借助迁移学习将AlexNet 模型在ImageNet 数据集上学习的参数迁移到油茶病害识别中。Hu GS 等[3]提出一种多尺度的深度卷积神经网络用于茶叶病害图像识别,缩短了训练时间且具有较高的准确率。王昌龙等[4]提出了一种基于双通道卷积神经网络的南瓜叶片病害识别算法,提取了病斑的全局特征与细节特征。Zeng WH 等[5]提出了一种基于自注意力的卷积神经网络用于农作物病害图像识别,具有较高的识别准确率和较强的鲁棒性。任守纲等[6]提出了一种基于反卷积引导的VGG 网络模型用于番茄叶部病害图像识别,在遮挡和弱光等环境下具有良好的鲁棒性。目前,基于深度学习的桃树叶部病害图像识别的研究较少。虽然CNN 在农作物病害图像识别中取得了显著效果,但未考虑病害区域间的上下文相关信息和位置信息。

桃树叶部病斑具有相似度高和关联度高的特点,而不同的病害发生的部位不同,如图1 所示,炭疽病和褐斑病的病斑特征非常相似,但炭疽病多数发生在叶尖、叶柄基部和叶缘位置[7],而褐斑病一般发生在叶缘以内的任何位置[8]。CNN 在识别桃树叶部病害图像时,卷积层中多个卷积核独立地对局部病害区域进行卷积操作并对局部特征进行组合,池化层对卷积层提取的病害特征进行池化操作,忽略了各病害区域间的上下文相关信息[9]和位置信息。双向长短期记忆网络(Bidirectional Long Short Term Memory,BiLSTM)由两个正向和反向的LSTM 组成,且各循环单元之间具有反馈连接,具有记忆性[10],可以记忆病害区域的位置信息和挖掘各病害区域间的上下文相关信息。为提高桃树叶部病害图像的识别准确率,本文提出了基于VGGNet-BiLSTM 的桃叶部病害图像识别算法,该算法融合了各病害区域间的上下文相关信息和位置信息。

1 数据采集与处理

1.1 数据采集

本文实验所用的桃树叶部病害图像在山东省泰安市道朗镇、济南市莱芜区雪野镇南栾宫村和莱西市沽河街道桃园采集,以3024×4032 的像素进行拍摄,并按病害种类进行人工标注。共采集桃树褐斑病421 张、炭疽病263 张和花叶病191 张。桃树叶部病害图像示例如表1 所示。

表1 桃树叶部病害图像示例Table 1 Image samples of peach leaf disease

1.2 数据预处理

由于本文实验选用VGG16 作为网络改进基础,其输入维度需要固定,所以首先对桃树叶部病害图像进行归一化处理,将图像裁剪为224×224 像素大小。其次,由于受到温湿度等各种自然界因素影响,桃树叶部病害并非每年都发生,图像获取难度大且获取周期长,为减少因数据集中图像数量较少造成模型泛化能力差的影响,对病害图像进行了图像增强。由于受光照影响,拍摄的图像亮度较低,使得病斑不明显,所以对图像进行亮度增强处理,在亮度增强的基础上,进行色度增强、翻转和3 个角度(90°、180°和270°)的旋转等预处理方式扩充数据集,扩充后数据集总数为6125张,并按7:3 划分训练集和测试集。数据增强后如表2 所示。

表2 桃树叶部病害图像预处理Table 2 Image preprocessing of peach leaf diseases

2 VGGNet-BiLSTM 网络

本文提出的模型以VGG16[11]为基础构架,由卷积神经网络层、循环神经网络层和多层全连接层组成。其中卷积神经网络层包括五个卷积模块,用于提取桃树叶部病害的特征。循环神经网络层由一个双向长短期记忆网络组成,用于挖掘和记忆各病害区域间的上下文相关信息和位置信息。多层全连接层含有两个全连接层和一个Softmax 层,两个全连接层汇总全局病害图像特征,Softmax 层用于病害识别。VGGNet-BiLSTM 网络结构如图2 所示。

图2 VGGNet-BiLSTM 网络结构Fig.2 Structure of VGGNet-BiLSTM

2.1 卷积神经网络层

VGG16 结构简洁,整个网络有13 个卷积层和5 个最大池化层,其中卷积核尺寸大小为3×3,最大池化尺寸大小为2×2。本文在VGG16 模型的基础上进行改进,在每一卷积层后面加入了批标准化(Batch Normalization,BN)层,激活函数替换为PReLU 函数。卷积神经网络层结构如图3 所示。

图3 卷积神经网络层结构Fig.3 Structure of convolutional neural network layer

2.1.1 批标准化 为了解决网络训练过程中的梯度消失问题并加快训练速度,本文在每个卷积层后面引入了批标准化层[12]。批标准化算法通过一定的规范化手段将分散的输入分布强制拉回到标准正态分布,使得非线性变换函数的输入值落入敏感区域,避免了梯度消失且加快了训练速度。

输入批处理数据为X={x1,x2,…,xn},λ和β是训练参数,批标准化过程如公式(1)~(4)所示。

式(1)中μ为X的均值,公式(2)中σ为X的方差,式(3)对xi进行标准化,所得的均值为0,方差为1,式(4)对进行反标准化,通过自我调节λ和β的值达到更好的值,即输出数据y。

2.1.2 激活函数ReLU 函数和PReLU 函数如图4 所示。

图4 ReLU 与PReLU 对比Fig.4 Comparison of ReLU and PReLU

由图4 可以看出,ReLU 函数在负区间梯度为0,相应权重不再更新,导致神经元激活失败。而PReLU 函数在负区间增加了一个动态变化的参数ai,解决了ReLU 函数在负区间神经元激活失败的问题,所以本文选用PReLU 函数替换ReLU 函数。PReLU 函数定义如公式(5)所示。

其中,i表示不同的通道,xi表示在第i通道上的输入,ai表示负区间上的自学习参数。

2.2 循环神经网络层

通过卷积神经网络层提取桃树叶部病害局部特征,将512 维度7×7 特征矩阵作为循环神经网络层的输入。由于桃树炭疽病和褐斑病的病斑位置信息不同,所以将7×7 的特征矩阵进行降维,得到一维病害区域序列。又因各桃树病害区域不仅与先前的区域有相关性,且与之后的区域有相关性,所以选用BiLSTM[13]作为该层的基础网络结构。

BiLSTM 由两个正向和反向的LSTM 组成,不仅能够利用过去时刻的信息,也能访问未来时刻的信息,使网络可以同时处理正向和反向的数据,得到序列数据的上下文整合信息且具有记忆性,所以能够记忆病害区域的位置信息和挖掘各病害区域间的上下文相关信息。为避免过拟合问题,本文在BiLSTM 结构内部,加入了dropout 层。结构如图5 所示。

图5 BiLSTM 网络结构Fig.5 Structure of BiLSTM

BiLSTM 中LSTM 为解决RNN 梯度消失和梯度爆炸问题设置了输入门、遗忘门和输出门三种类型的门控结构。其中输入门决定t时刻记忆单元保存哪些输入数据;遗忘门控制信息的保存和遗忘,并决定丢弃哪些历史信息;输出门决定t时刻输出记忆单元中的哪一部分。

BiLSTM 中前向和后向的LSTM 结构相同,但不共享参数,输入序列由卷积神经网络层提取到的特征矩阵降维得到,用X={x1,x2,…,xt,…,xs)表示,t时刻在处理输入数据X的过程中,前向LSTM隐藏层更新公式如(6)所示,反向LSTM 隐藏层更新公式如(7)所示。

加入dropout 层后前向和反向结果叠加后的最终输出结果如公式(8)所示。

公式(8)中Bernoulli(p)表示生成概率向量,随机删除p比例的神经元,防止过拟合。

2.3 多层全连接层

循环神经网络层挖掘到的各病害区域间的上下文信息和位置信息输入到多层全连接层,为避免梯度消失,首先经BN 层进行批标准处理,多层全连接层汇总循环神经网络层提取的全局病害特性信息,为避免过拟合在两个全连接层后加入了dropout 层,最后由Softmax 进行病害识别(图6)。

图6 多层全连接层结构Fig.6 Structure of multi-layer fully connected layer

计算公式如(9)~(12)所示。

其中,公式(9)中的H 表示循环神经网络层的输出结果,公式(10)对H进行批标准化处理。公式(11)表示加入dropout 后全连接计算公式,σ为PReLU 函数,Wh为的权重矩阵,bh为偏置项。公式(12)为分类层计算公式,δ为Softmax 函数,Wy为c的权重矩阵,by为偏置项。

3 实验结果及分析

3.1 评价标准

本实验选择平均准确率作为评价指标,如公式(13)所示。

nepoch为迭代的次数,nai为每次迭代中预测正确的样本数,ni为每次迭代中输入的样本总数。

3.2 参数设置

为验证本文提出方法的有效性,选择CNN、AlexNet 和VGG16 网络在桃树叶部病害图像数据集上进行对比实验。本文所有实验的硬件环境为Intel Corei7 3.70GHz 处理器、16GB 运行内存和NVIDIA GeForce GXT 1080 Ti GPU;软件环境为Windows 7 64bit 操作系统、Python 3.6.4 和TensorFlow1.8 深度学习框架。

本文采用有监督的方式对模型进行训练,训练前通过置零法对网络参数进行初始化。VGGNet-BiLSTM 网络参数设置如表3 所示。

表3 VGGNet-BiLSTM 网络参数设置Table 3 Parameters of VGGNet-BiLSTM

3.3 结果及分析

3.3.1 自对比实验 本文首先将基础网络VGG16 和VGGNet-BiLSTM 进行自对比实验,实验结果如图7 所示。

图7 VGG16 和VGGNet-BiLSTM 准确率曲线Fig.7 Precision curves of VGG16 and VGGNet-BiLSTM

由图7(a)可知,VGG16 迭代50 次趋于收敛,最终的训练准确率为99.78%,而VGGNet-BiLSTM迭代45 次趋于收敛,最终的训练准确率为99.96%,准确率高于VGG16,因本文提出的VGGNet-BiLSTM 算法中加入了BN 层,所以能够加快模型的收敛速度。VGG16 测试集上准确率为91.72%,VGGNet-BiLSTM 测试集上准确率为93.73%,比VGG16 的准确率高2.01%,由于本文提出的算法融合了桃树叶部病害区域间的上下文相关信息和位置信息,所以在测试集上的准确率高于VGG16。

3.3.2 与其他模型对比实验 本文选择CNN 和AlexNet 进行对比实验,实验结果如表4 所示。

表4 模型训练结果Table 4 Training results of models

由表4 可知,CNN 对桃树叶部病害图像的识别准确率较低,因为在识别过程中忽略了病害区域间的上下文信息和位置信息,因此识别效果较差。AlexNet 测试集上的准确率为90.03%,AlexNet作为CNN 的变体具有更深的网络结构,能够提取深层次的病害特征,但仍未考虑病害区域间的上下文信息和位置信息。本文提出的算法融合了病害区域间的上下文相关信息和位置信息,在测试集上的准确率可达93.73%,相较于CNN 和AlexNet 具有更高的识别准确率。

4 结论

为解决CNN 未考虑桃树叶部病害区域间的上下文信息和位置信息导致降低了病害图像识别准确率的问题,本文提出了一种基于VGGNet-BiLSTM 的桃树叶部病害图像识别算法。首先,通过卷积神经网络层对桃树叶部病害特征进行提取,其次对病害特征矩阵进行降维,将其作为输入进入循环神经网络层,挖掘病害区域间的上下文相关信息和位置信息,最后,多层全连接层根据全局病害图像特征进行病害识别。结果表明,本文提出的算法在相同测试集上具有更高的识别精度。

猜你喜欢
网络层区域间图像识别
支持向量机的舰船图像识别与分类技术
浅谈图像识别技术在打击绿通假证逃费中的应用
基于Resnet-50的猫狗图像识别
常喝茶减缓认知能力下降
常喝茶减缓认知能力下降
我国包容性增长现状分析
论物联网安全威胁及其应对策略
试说幼儿园区域间各个区角学具制作与环境布置
图像识别交互系统
物联网技术在信息机房制冷系统中的应用