基于混合注意力机制的植物病害识别
2021-06-24尚远航余游江吴刚
尚远航,余游江 ,吴刚,2*
(1塔里木大学信息工程学院,新疆 阿拉尔 843300)
(2新疆维吾尔自治区教育厅普通高等学校现代农业工程重点实验室,新疆 阿拉尔 843300)
新疆地区日照时间长,可耕种地面积广,适合机械化规模化的种植经济作物,是我国主要的水果蔬菜产地之一。然而,植物生长环境复杂多样,植物自身的免疫系统对生长环境的适应能力有限,从而使得植物病害种类日益增多,在规模化种植时更容易导致发病率高且难以防治。目前,植物病害是导致新疆农产品产量减少和品质下降的主要因素之一[1]。经过大量的研究发现,植物大部分病害主要发生在植物叶片上,通过对植物叶片的观察即可判断出植物的病害类型[2]。传统的植物病害判断方法主要依靠专家人工肉眼观测,这种方法费时费力[3],而且许多植物病害在早期病斑面积较小,使用人工手段难以发现。因此在第一时间正确识别植物病害症状,是有效控制病害蔓延,将病害造成的损失降到最低的关键一步。如何使机器代替人识别作物病害,已成为21世纪农业自动化领域新的研究方向。
目前使用计算机视觉技术对农业生产进行智能化管控,已经成为许多国家农业发展的主要趋势。其中计算机视觉技术也是实现对不同类型的植物病害快速识别的有效手段之一。我国的植物病害分类的相关研究与国外相比起步较晚。张开兴等[4]使用BP神经网络算法对玉米6类病害叶片进行分类识别,通过对叶片病害图像的分割,及形状特征的提取,实验结果显示,对玉米6类病害叶片的识别准确率达93.4%。蒋丰千等[5]以自然环境下采集到的生姜病害图片为基础,使用卷积神经网络及轮廓分割等预处理方法相结合,对炭疽病、姜瘟病、根结线虫病和白星病进行分类识别研究,最终对生姜的4类病害的识别准确率达96%。刘婷婷等[6]在水稻纹枯病的研究中,使用传统SVM识别方法与卷积神经网络相结合的方法,对水稻的单一病害进行识别,最终达到95%的识别准确率。李就好等[7]对自然环境下的苦瓜叶片病害图像进行研究,使用Fatester R-CNN为基础网络模型,ResNet50网络为特征提取层,对苦瓜健康叶片、白粉病、灰斑病、蔓枯病、斑点病的平均精确率分别为 89.24%、81.48%、83.31%、88.62% 和89.28%。李丹[8]使用残差神经网络与迁移学习相结合的方式,对黄瓜的靶斑病、炭疽病、灰霉病、白粉病和褐斑病5种黄瓜叶片病害图像进行分类识别,最终识别精度达98%。MA J等[9]人针对黄瓜病害的识别问题,构建了一种深度卷积神经网络模型,并采用数据增强方法来扩充数据集,在对黄瓜炭疽病、霜霉病、白粉病和叶斑病四种病害识别的准确率达到了93.4%。RANGARAJANAK等[10]人采用 AlexNet和VGG-16模型,通过分析图像数量和超参数对模型的影响,进而对番茄叶片的病害图片进行识别。IQBAL Z等[11]人针对柑橘类农作物(柠檬、橘子、葡萄柚和酸橙等)病害识别的问题进行了研究。ZHU X等[12]人针对植物种类识别的问题,提出了一种改进的深度卷积神经网络,使用InceptionV2网络获得了更高的识别精度。
综上所述,目前国内外对于植物病害研究存在一些问题:(1)多数研究针对单一作物的病害识别精度较高,然而在多种作物及多种病害的分类识别却鲜有涉及;(2)现有多分类植物病害识别方法存在准确率不高的问题,无法作为智慧农业的识别依据。为了解决这些问题,本实验在现有卷积神经网络模型上进行优化,通过增加混合注意力机制,提高现有模型的准确率,以期为我国在植物病害分类识别提供一种新方法。
1 基于注意力机制的残差网络
1.1 Resnet50单元结构
近年来在图像分类识别领域,卷积神经网络有很好的效果。与传统的分类方法相比更为优秀,识别率更高,在卷积神经网络上发展出一批优秀的深层神经网络,主要代表有AlexNet[13]、VGG[14]、GoogleNet[15]、ResNet[16]等,这些网络与传统的卷积神经网络相比识别率更高。然而,深度神经网络有两个很严重的问题:梯度消失和梯度爆炸。随着神经网络的层数增加,准确率在不断的提高,但是问题也在加重。为了解决这两个问题,残差网络可以通过旁路的输入x来避免层数带来的问题。其中,ResNet50是一种优秀的、计算负担小的残差网络模型。在ResNet50网络模型中,最为重要的模块就是残差学习单元,其独特的设计结构解决了深层神经网络容易出现的梯度消失和梯度爆炸问题。其单元结构如图1所示。
图1 ResNet残差结构
其结构的输入为x,期望输出是F(x),拟合函数为F(x)+X。该单元弥补了在图像信息处理过程中的信息扭曲、损失等不足,极大的提高了网络的学习能力。虽然残差网络能够有效解决梯度增加所带来的一系列的问题,例如梯度消失、梯度爆炸等,但是如果要进一步的提高训练模型的准确率,增加网络深度的同时,网络的宽度与复杂度也会增加,这会提高模型训练的所需要的显存,增加模型训练的难度,从而无法获得较高分类准确率的模型。
1.2 混合注意力模型
近几年,一种新型的深度学习模型在各个领域被广泛关注,基于注意力的深度学习模型对图像识别分类的问题有着理想的处理效果。深度学习的注意力模块仿照了人类的注意力机制,人类接触一幅图片时,会首先快速浏览整幅图片,寻找重点区域,之后将注意力投入重点区域,以获取更多详细信息,减少无用信息的干扰。人类的注意力机制如图2所示。
图2 人类的注意力机制
2018年WOO S等[17]人提出了一种注意力机制的神经网络模型。魏祥坡等[18]人基于这一思想,使用单一注意力残差网络解决了高光谱图像分类问题。但是该神经网络模型只从图像的通道维度去提取特征,无法获得更详细的图像特征。为了解决这一问题,本实验提出一种混合注意力机制的残差网络模型,通过从通道维度以及空间维度这两个维度进行混合,以串行结构加入深度残差网络,使网络尽可能获取足够的图像特征,进一步提高图像分类问题的准确率。该网络的混合注意力的模型如图3所示。该模型由两条通路组成,下方的通路为残差网络卷积过程,上方的通路分别为通道注意力模块和空间注意力模块,作用为增加网络对于图片局部的关注。每次当特征图通过通道注意力模块时,会与Resnet的卷积输出相乘,并将其结果作为空间注意力模块的输入特征图,然后再进行下一次ResNet卷积的过程,以获得空间注意力特征图。最后再次将两个分支融合即可获得不同注意力域下的结果。
1.2.1 通道注意力模块
在图像分类识别领域中,现有的基于深度学习的方法,大都将图像的所有通道特征统一处理,因此网络不能从每个通道的不同的重要性进行自适应的学习,降低了图像分类识别的准确率。通道注意力模块的设计结构如图4所示。利用不同通道之间的依赖性,提出通道注意力模块,使网络能够提升细节部分的注意力,以提高分类的准确率。
图4 通道注意力模块
将输入的特征图分别进行最大池化及平均池化,并将结果分别送入两次共享参数神经网络,之后分别使用对位相乘、相加后的结果通过Sigmoid激活函数,获得通道注意力特征图。
通道注意力特征图计算公式
1.2.2 空间注意力模块
与通道注意力模块不同之处,在于空间注意力模块是通过特征图的空间维度信息进行特征提取,能够对通道注意力模块进行补充,加强网络对特征图像细节部分的提取,提高网络的学习力,增强网络的识别率。空间注意力模块如图5所示。
图5 空间注意力模块
空间注意力模块与通道注意力模块极为相似,其主要区别在于对特征图进行池化处理的方式不同,通道注意力是沿着通道维度,空间注意力是沿着空间维度。首先使用来自于上一次通道注意力的特征图,对输入的特征图进行最大池化,其结果再进行平均池化。池化后获得两个二维的特征图,将其按照通道维度拼接,拼接后通过卷积层对特征图卷积,再使用Sigmoid函数激活,最终得到空间注意力特征图。
空间注意力特征图计算公式
2 实验设计
2.1 实验数据集
为了验证该方法对于植物病害多分类识别问题的有效性,本实验使用Plant Village公开数据集[19]。数据集图片如图6所示。该数据集隶属于宾夕法尼亚州州立大学,其官方网站提供了大量各类植物病害图片以方便有关学者的研究工作。
图6 实验数据集图片
实验中的数据集共有60个类别名称,代表60类病害,包含10种作物,42 719张图片(表1)。其中包含训练集、验证集、测试集,各数据集分别含有32 768张、4 992张、4 959张图片。
续表1
2.2 数据预处理
将训练数据集所有图片按照标签分类,如图7所示,发现训练集中第44、45类标签中训练集图像数量过低,为了提升模型的准确率,将这两类的图像剔除。
图7 训练集图片分布图
本实验数据集图像尺寸大小不一,在多次的模型训练中发现将训练集图像预处理为224像素×224像素的大小时,模型的准确率最高,之后在此基础上对图像进行数据增强操作。
在机器学习中,数据增强是提高准确率的关键操作,本实验在模型训练中使用高斯噪声、亮度变化、左右翻转、上下反转、色彩抖动、锐度变化对图像进行预处理。
2.3 实验环境
本实验环境如表2实验环境所示。
表2 实验环境
2.4 混合注意力机制的残差网络
为了提高模型的准确率,深度神经网络在不断的发展。随着神经网络的不断加深、加宽,随之而来出现了以下问题:
(1)因为模型训练需要的数据量过大,难以实际应用;
(2)网络参数越来越多,模型训练时间过长;
(3)梯度消失;
(4)模型难以优化;
因为7×7与3×3的卷积核会使训练中的模型参数过于庞大,为了保障降低训练规模的同时,不损失模型的精度,因此本实验的网络结构在每一个单元(Block)的初始与结尾使用1×1的卷积核来降低模型的每一次通过单元后参数,通道维数。本实验中的网络结构如表3所示。
表3 混合注意力机制的残差网络结构中每层的具体参数
本实验中网络模型的第一层使用了7×7的大卷积核,其目的是为了更好的保留了较多的图片的细节,避免了图像特征信息的丢失。苹果健康叶片训练模型的第一层特征提取图如图8所示。
图8 特征提取示例
2.5 超参数与训练过程
本实验中使用的网络为混合注意力机制的残差神经网络模型,其主要目的是提取训练图片中具有代表性的特征向量。在训练的阶段,每个特征向量在空间中以点的形式高斯分布。本实验着重于对特征点的分类,其主要原理是计算不同特征点的距离,并根据距离对每一个点进行分类,以达到对图片分类识别的目的。
因交叉熵损失函数能计算不同图片间的距离,更好的完成多分类任务,而本实验使用的图片数据每个类别相互独立且排斥,一幅图片只属于一个类,所以使用交叉熵损失函数作为神经网络的损失函数。本实验使用Sigmoid函数作为激活函数,使用随机梯度下降优化方法g1=∇θr-1f(θr-1))。
机器学习的模型训练中,学习率能够影响模型的训练速度以及准确率。学习率Δθt=-η×gt,其中θ是待学习的参数,gt是下降梯度。学习率决定了权重的更新速度,为了能加快模型的收敛速度及提升模型精度,实验中使用动态学习率及动态动量对训练参数优化。
本实验数据集在数据清洗后共有58个类,其中训练集的图像不同类之间的数目差距过大,为了避免图像数目较多的类过大的影响模型的准确率,所以在模型训练时加入惩罚性权重,以提高其对分类结果的影响。对训练集中每一个大于1 000张图片的类,将其权重值设为50,其余所有类权重值设置为1。经过实验测试,使用惩罚性权重能够大幅度提高实验结果的准确率。
为了验证本实验方法的有效性,在实验中,将基于注意力机制的植物病害分类识别方法与ResNet34、ResNet50、DenseNet121方法进行对比。以上代码均取自作者的官方代码,在同一超参数下进行训练测试,以保证实验测试结果的可靠性(表4)。
表4 各网络训练参数
2.6 性能评价指标
在本实验中应用训练集准确率、验证集准确率、测试集准确率、验证集Loss、模型规模来评估模型。其中测试集准确率为机器学习中评价模型优劣的最重要的指标。准确率公式如下:
其中N(C)是正确识别的个数,N(t)是总个数。
3 结果与分析
3.1 训练曲线分析
本实验均在Pytorch深度学习框架下完成,使用统一的超参数(表4)进行模型训练。本实验所提出的混合注意力机制的植物病害识别方法与ResNet50卷积神经网络的训练结果分别如图9、图10所示。
图9 ResNet50检测方法
从图9、图10显示的结果可以看出,本实验所使用的方法与ResNet50卷积神经网络均随着批次次数的增加,准确率在不断的上升,误差曲线逐步下降。ResNet50神经网络的准确率曲线在15个批次时,逐渐趋于平缓,并最终稳定在88.21%。本实验所使用的方法在15个批次时准确率就已大幅度超越ResNet50神经网络,准确率曲线在第25个批次时趋于稳定。通过上述的对比可以看出本实验所使用的模型在准确率高于ResNet50神经网络。
3.2 多模型的检测准确率对比
在统一超参数下,本实验与ResNet34、ResNet50、DenseNet121使用相同预处理后的数据集进行实验。
表5是本次实验的结果,由表中数据可知,ResNet34的识别准确率较差,其网络层数过低,无法有效对模型进行训练。ResNet50与ResNet34相比,ResNet34在每一个单元使用的是3×3~3×3的卷积核,而非ResNet50改进后的1×1~3×3~1×1小卷积核,在使用小卷积核后网络对特征图的特征的提取并不会降低,也能在增加网络的深度的同时,避免因为大卷积核而带来的参数过大的问题。实验结果也证明了这一点,ResNet50无论是训练集、验证集、测试集在准确率上均超越ResNet34。
表5 植物病害分类识别准确率
而网络层数更深的Densenet121较ResNet50相比,虽然网络的深度以及宽度增加了,但是准确率提升并不高,其原因在于DenseNet121的网络结构中的大卷积核会造成在模型训练过程中的参数远大于ResNet50,大幅度影响模型的训练时间,且网络层数的加深,会造成模型的学习逐渐停滞,无法获得更高的准确率。
本实验所使用的方法在图像预处理阶段使用多种数据增强的方法,以提升图像的特征信息。在模型训练阶段使用小卷积核来降低模型训练过程中的参数,同时对样本量较大的分类使用惩罚性权重值,提升模型对于大样本量的分类的注意力。本实验在ResNet50方法的基础上增加了通道注意力以及空间注意力模块,使模型能够在植物病害图片的细节部分能够给予更多的注意力,进一步提升网络的学习能力,最终的实验结果表明在添加注意力模块后的模型准确率较现有算法有所提升。
4 结论与展望
本实验针对现有农作物病害多分类识别时准确率不高的问题,结合深度学习在图像识别领域的优异表现,提出了一种提高植物病害识别能力的新方法,基于混合注意力机制深度残差网络。该网络是基于现有的残差网络,增加通道注意力与空间注意力两个模块,以提高对病害图片的注意力。对数据集使用多种图像预处理方法,归一化图像尺寸,在模型的训练阶段使用惩罚性的权重值,最终训练后的模型对植物病害分类识别准确率达到92.08%。为了验证其有效性,分别与现有的方法ResNet34、ResNet50、DenseNet12进行对比实验,使用相同的数据集、超参数。通过实验证明,基于混合注意力机制的植物病害识别方法的准确率较现有方法有明显提升,一定程度上解决了多分类植物病害识别准确率不高的问题,但仍需要进行以下探索。
第一,模型训练速度的优化,在模型训练速度方面,是否可以使用更加先进的并行处理方式,减少模型的训练时长。
第二,随着互联网技术的发展,实时采集植物病害图像及视频已经实际应用,在后续的研究中可以考虑接入视频从而提供实时预警,减少农户的经济损失。