基于注意力机制改进卷积神经网络的柑橘病虫害识别
2024-06-03谭彬蔡健荣许骞孙力
谭彬 蔡健荣 许骞 孙力
摘要:柑橘是我国种植面积最大、产量最高的水果作物,对我国的经济发展具有重要作用。柑橘病虫害侵染是导致柑橘产量及品质下降的重要原因之一,高效、准确的柑橘检测技术对柑橘产业的发展具有重要意义。因此,本研究提出一种基于注意力机制改进卷积神经网络的柑橘病虫害识别算法,以多尺度特征提取网络Inception v3为基础,在Inception结构间加入CBAM注意力机制,构建基于注意力机制的多尺度特征提取网络;然后融合残差注意力网络,提升模型的整体性能,以实现对柑橘病虫害的精准识别。试验结果表明,基于注意力机制改进卷积神经网络的柑橘病虫害识别算法从通道和空间维度提高了对输入有效特征的关注度,在融合残差注意力网络后,提高了模型的整体性能,实现对5种柑橘叶片(溃疡病、潜叶蛾、黑点病、红蜘蛛和健康叶片)的识别准确率达到98.49%,比基础模型提高4.02百分点,说明本研究提出的方法对柑橘病虫害的识别效果较好。最后将模型进行部署,设计柑橘病虫害识别系统,实现基于移动端的柑橘病虫害智能检测,为相关研究提供参考。
关键词:柑橘病虫害;图像分类;注意力机制;深度学习;CBAM
中图分类号:TP391.41 文献标志码:A
文章编号:1002-1302(2024)08-0176-07
收稿日期:2023-06-12
基金项目:国家现代农业产业技术体系建设专项(编号:CARS-26)。
作者简介:谭 彬(1997—),男,山东临沂人,硕士研究生,从事图像处理和无损检测研究。E-mail:2670600717@qq.com。
通信作者:蔡健荣,博士,教授,从事食品、农产品质量快速无损检测研究。E-mail:jrcai@ujs.edu.cn。
作為柑橘重要的原产地之一,我国国土资源丰富,柑橘品种多样,同时具有悠久的种植历史。如今柑橘已经发展成为我国种植范围最广的水果作物之一,具有重要经济地位[1]。2021年柑橘年产量达到5 595.61万t,为柑橘种植者带来巨大的经济价值,同时为我国经济发展带来巨大驱动力。随着消费者需求和消费观念的转变,优质柑橘已经成为广大消费者最迫切的需求,但是由于病虫害导致的柑橘果型及水平品质的大幅下降严重降低了柑橘的销售潜力,影响柑橘产业的发展[2]。因此急需进行柑橘病虫害的检测研究,以及针对病害做出预警,提高柑橘品质,增强柑橘市场竞争力。
目前,针对农作物病虫害的检测工作主要是以人工目视识别为主,存在效率低、技术人员具有较高的专业性等问题[3]。采用生物学的检测方法需要专业检测设备[4],由专业检测人员在实验室操作,过程复杂、耗时长,而且成本较高,同样不适用于大面积果园防治工作。随着计算机技术的发展,使用传统图像处理技术对病害进行处理得到广泛的应用,研究人员通过对病斑区域的颜色、纹理和形状等特征进行提取[5-7],手动构建病害识别模型,实现对病害的识别分类。Zhang等使用K-means聚类算法对黄瓜病害叶片图像进行分割,提取颜色、形状特征,使用稀疏表示法对黄瓜叶片图像进行分类,总体准确率为85.70%,但受到人为主观选择因素影响以及客观试验背景条件的限制,存在泛化性差等问题[8]。
随着人工智能技术的发展,基于深度学习的图像智能识别研究取得较大的进展。卷积神经网络是深度学习的一个重要组成部分,凭借其强大的自主目标区域特征选择以及自我学习能力,在农作物病害识别领域应用广泛[9-15]。朱帅等通过在改进的残差网络中添加SE注意力模块的方法,在部分PlantVillage数据集上达到99.40%的准确率[16]。樊湘鹏等设计卷积神经网络结构,利用L2正则化和Dropout策略优化网络,对复杂背景下的玉米9种病害实现97.10%的平均精度[17]。李庆盛等采用基于非对称注意力机制残差网络方法对玉米病害图像检测达到97.25%的准确率[18]。杨泳波等采用基于SE-Inception和胶囊网络的方法对茄科病害进行识别,其识别精度达到95.20%[19]。贾兆红等采用基于Res2Net和双线性注意力的方法对7种番茄病害的平均识别准确率达到98.66%[20]。黄林生等在残差网络的基础上加入注意力机制SE-Net,提出了一种多尺度卷积结构与注意力机制相结合的农作物病害识别模型,并在复杂田间环境收集的8种农作物病害数据集上实现95.62%的平均准确率[21]。
上述研究表明,深度学习可以在图像智能识别中取得积极的效果。考虑到柑橘病虫害在不同时期和不同环境下病斑区域和尺寸大小不同,现有模型可能存在特征提取能力不足等问题。因此本研究基于当前深度学习模型结构,提出一种基于注意力机制改进卷积神经网络的柑橘病虫害识别算法,利用通道注意力模块和空间注意力模块分别从不同的维度提高特征注意力,并融合2个模型的特征提取能力,最终实现较高的检测精度。本研究通过在实际田间环境下拍摄柑橘叶片病虫害图像,自建柑橘叶片病虫害数据集,以期为真实场景下的柑橘病虫害识别应用提供指导。
1 材料与方法
1.1 样本获取及数据采集
本研究以患有溃疡病(canker)、潜叶蛾(leafminer)、黑点病(melanose)、红蜘蛛(redspider)等病虫害叶片和健康(health)叶片5种常见的柑橘叶片为研究对象,自建柑橘叶片病虫害数据集,所有叶片在江西省赣州市柑桔研究所和浙江省柑桔研究所内柑橘种植园获取。使用智能手机分别在田间复杂环境下拍摄和实验室内单一环境下拍摄获取实验数据,并按照病害种类将图像进行分类。本研究共收集251张溃疡病叶片图像,243张潜叶蛾叶片图像,348张黑点病叶片图像,350张红蜘蛛叶片图像,598张健康叶片图像,共计1 790张图像数据。柑橘各类别叶片如图1所示。
1.2 图像数据预处理
深度学习模型的性能表现一定程度上取决于训练数据的规模。本研究构建的柑橘叶片病虫害数据集的数量与训练模型所需要的数据量相比较小,容易出现过拟合现象,因此为提高模型的泛化能力,增强模型的鲁棒性,防止模型过拟合,对柑橘叶片病虫害数据集进行数据增强。本研究采用离线增强的方法[22],通过旋转、平移、改变亮度和增加高斯噪声4种方式对样本数据进行预处理,最终将原始数据扩充为原来的5倍。扩增后的数据按照6 ∶2 ∶2的比例划分为训练集、验证集和测试集,将所有输入图像尺寸调整为299×299×3,并对输入数据进行归一化处理。扩增前后数据分布见表1。
2 柑橘叶片病虫害识别模型
2.1 注意力机制
卷积块注意力模块(convolutional block attention module,简称CBAM)是由通道注意力模块(channel attention module,简称CAM)和空间注意力模块(spartial attention module,简称SAM)等2个部分组成[23-24] 。
通道注意力模块如图2所示,将输入特征基于高度和宽度进行全局最大池化和全局平均池化操作后,经过由多层感知机(MLP)组成的共享网络,将输出结果通过基于element_wise的加和操作,再经过Sigmoid激活,得到通道注意力特征图。
其过程如下式所示:
Mc(F)=σ{MLP[AvgPool(F)]+MLP[MaxPool(F)]}=σ{W1[W0(Fcavg)]+W1[W0(Fcmax)]}。(1)
其中,Mc(F)为通道注意力特征,σ为Sigmoid激活函数,F为输入特征,MLP为多层感知机,AvgPool为平均值池化,MaxPool为最大值池化,W0和W1分別表示2个全连接层的权重参数,权重参数可以共享。
空间注意力模块如图3所示,其主要探讨空间层面特征图之间的内在关系,利用特征的空间关系生成空间注意力图,突出目标区域的重要性。其操作是将CAM的输出特征作为SAM的输入,首先经过基于通道的平均池化和最大池化得到2个1×H×W的特征图,将其基于通道进行Concatenate操作后,经过卷积核大小为7×7的卷积层获得空间注意力特征图。
其过程如下式所示:
Ms(F)=σ(f7×7{[AvgPool(F);MaxPool(F)]})
=σ(f7×7{[Fsavg;Fsmax]})。(2)
其中,σ为Sigmoid激活参数,MLP为多层感知机,f为卷积操作,7×7为卷积核尺寸,Ms(F)为空间注意力特征。
2.2 模型结构设计
由于柑橘病虫害在不同的时期具有较大差异的叶面表征,实际环境下的光线照射以及拍摄角度等因素对使用传统卷积神经网络的识别影响较大,造成识别准确率不高,因此本研究提出一种基于注意力机制改进卷积神经网络的模型用于柑橘叶片病虫害的识别研究。注意力机制可以得到不同特征维度的各自权重系数,然后将权重分布施加在原来的特征之上,帮助模型提高对输入有效特征的关注度,抑制无效特征,提高网络模型的表达能力。针对柑橘叶片不同的病害区域,CBAM注意力机制能够更加关注叶片图像中对病虫害识别有意义的特征部分[25]。本研究选择Inception v3网络[26],因其采用分解卷积,使用2个3×3卷积代替5×5卷积,并采用非分对称卷积,将N×N卷积替换为成1×N和N×1卷积,在保持相同感受野的情况下可以减少计算量。为了更好地关注输入有效特征,在不同的Inception结构之间加入CBAM注意力机制模块,得到基于注意力机制的多尺度特征提取网络,以此实现提升每一个Inception模块提取到的特征之间通道和空间注意力的效果。
针对柑橘病虫害叶片复杂的病斑特征,可能存在单一网络的特征提取能力不足,因此本研究选择残差网络[27],其将原始输入特征跨通道连接到输出,有效保证了输出信息对原始数据输入特征信息的准确提取。本研究在ResNet34的所有残差结构中加入CBAM注意力机制模块,构建残差注意力网络(RCNet),然后使用Concatenate将基于注意力机制改进的2个子卷积网络进行融合,使得融合后的模型表征能力实现有效提高。其中在改进网络的尾部添加全局平均池化层,解决2个模型输出尺寸不一致问题,并添加全连接层,使用Softmax分类器完成识别。柑橘病虫害识别模型结构见图4。
3 试验结果与分析
3.1 试验平台及训练参数
本试验是在笔者自己制作的柑橘叶片病虫害数据集上完成的。本试验平台为Windows 10 64bit操作系统,处理器为Intel Xren Platinum P-8124 CPU@3.00 GHz,内存64 GB,GPU为NVIDIA GeForce RTX2080Ti,开发环境为Python 3.8,CUDA 11.1,试验所用深度学习框架为Keras 2.4.3和TensorFlow 2.4.0,编译软件为Pycharm 2020.3.3 x64。
本试验采用自适应矩估计Adam,经过反复测得最佳配置超参数:初始学习率0.001,学习率下降策略采用指数下降,损失函数为交叉熵损失函数,迭代次数为50次,批处理数量为32。其中指数下降为阶梯状衰减,学习率衰减因子为0.9。
3.2 评价指标
对于图像分类任务,采用准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1-score(F1值)和混淆矩阵作为实验的评价指标,实现对模型性能的评估。其中混淆矩阵可以直观的展现模型在各类别上正确分类情况,通过混淆矩阵可以计算得出准确率、精确率、召回率和F1值,各指标计算公式如下所示。
Accuracy=TP+TNTP+TN+FP+FN;(3)
Precision=TPTP+FP;(4)
Recall=TPTP+FN;(5)
F1-score=2×Precision×RecallPrecision+Recall。(6)
3.3 模型性能分析
3.3.1 消融试验
本研究提出的基于注意力机制改进卷积神经网络的柑橘病虫害识别算法,为验证该方法在柑橘叶片病虫害数据集上的有效性,对模型进行消融试验,分别使用Inception v3、Inception v3+CBAM、Inception v3+CBAM+RCNet,统一所有超参数在柑橘叶片病虫害数据集上进行训练,采用准确率作为评价指标。试验结果见表2,训练过程验证精度曲线见图5。
由表2可知,在基础模型Inception v3网络基础上加入CBAM注意力机制,准确率提升1.56百分点,说明不同的Inception模块分别经过通道注意力模块和空间注意力模块后,将使模型更加关注有效部分特征信息。在加入残差注意力网络(RCNet)后,模型的准确率提升2.46百分点,说明融合2个模型的输出特征将有效提升模型的特征提取能力,更好地提取柑橘病虫害叶片特征,最终实现模型准确率达到98.49%,相比基础模型提升4.02百分点。
由图5可知,与基础Inception v3模型以及加入CBAM注意力机制的模型相比,经过融合残差注意力网络的模型验证精度更好,训练过程中的验证准确率曲线前期快速平稳上升,振荡幅度小,表明本试验模型具有较高的稳定性。
3.3.2 对比试验
为更好地验证本研究方法的整体性能,将本研究模型分别与VGG16、DenseNet201、ResNet34以及Inception v3进行对比试验。由表3可知,在柑橘叶片病虫害数据集上达到98.49%的识别准确率,相比于Inception v3和ResNet34分别提升4.02、3.52百分点,与VGG16和DenseNet201相比也有较大的提升。因此,证明本研究方法所构建的网络模型在柑橘叶片病虫害识别应用中的识别效果更优,综合性能表现更好。
3.4 混淆矩阵分析
为进一步观察各模型在柑橘叶片病虫害测试集上的表现,通过混淆矩阵可以清晰地反映出各个模型对柑橘叶片不同类别病虫害的识别表现。混淆矩阵是以矩阵的形式将真实类别和预测类别进行汇总,观察混淆矩阵(图6)发现,本试验方法对柑橘叶片病虫害的识别效果最好,被误识别的数量最少。其中对溃疡病的识别效果最优,但在黑点病中有一部分叶片被误识别为健康和红蜘蛛,同时健康和红蜘蛛中也存在一些被误识别为黑点病的情况。这主要是因为这些病害病症较轻,其叶片的叶面表征及像素分布较为相似,同时也说明病害的相似度会一定程度上影响模型的识别精度。
为进一步研究不同改进模型对柑橘叶片各类别病虫害的具体识别差异,得出各类别病害的精确率、召回率和F1值。由表4可知,本研究方法在柑橘叶片病虫害数据集上对各类别病害都有较高的F1值。其中对于溃疡病的识别效果最好,识别精确率达到100%;在黑点病识别任务中各类指标较低,这主要由于黑点病的病斑较小,图像表征不明显,容易造成误判。总体上与其他改进模型相比,本研究方法在柑橘叶片病害识别中的各性能指标表现较优,表明该方法的试验有效性,并为柑橘病虫害的精准识别提供技术支撑。
3.5 模型鲁棒性分析
为进一步评估本研究方法的鲁棒性,将本试验方法应用于PlantVillage农作物公开数据集,其包含14种作物,38类病害,共计54 305张病害图像。在此试验中将本试验方法与其他模型进行对比试验,具体试验结果见表5。与其他模型相比,本试验方法在测试集的平均准确率达到99.14%,表明本研究方法对PlantVillage公开农作物病害數据集具有较好的识别效果,具有良好的鲁棒性。
3.6 柑橘病害识别系统
将保存的模型进行加载,使用前向传播部分进行推断,经过测试在使用GPU NVIDIA 1650(Compute capability:7.5)上,连续识别100张病害图像需要29.48 s,平均每张耗时0.294 8 s,模型加载需要10.64 s。因此在系统启动时就需要先完成模型加载,进行识别时可直接进行计算,减少计算时间。
本研究为实现田间柑橘病虫害的快速准确识别,使用Flask开发系统应用,以获得的柑橘病虫害识别模型为基础,设计网页端柑橘病虫害识别系统。用户通过浏览器完成注册后访问该系统,即可使用系统相关功能。系统主要功能界面包括病害查询、图片上传(图7)及诊断报告(图8)。其中图片上传功能栏用户使用移动端设备将需要诊断的柑橘病害图片上传至云服务器端,上传方式为选择本地图片和即时拍摄2种方式。服务器端对病害图片进行推断,并将处理结果与云数据库中柑橘病虫害防治数据库信息匹配,最后将推断结果和防治措施一同发送给用户,并显示在诊断报告功能栏。
4 结论
针对柑橘叶片病虫害的识别问题,本研究提出一种基于注意力机制改进卷积神经网络的柑橘病虫害识别算法。首先在Inception模块间嵌入CBAM注意力机制模块,构建多尺度特征注意力网络;然后基于注意力机制构建残差注意力网络,融合2个子网络的特征,从全局提高模型的整体特征提取能力。
通过试验发现加入注意力机制对提升模型性能的有效性,融合残差注意力网络使得模型的特征提取能力有效提高,在柑橘叶片病虫害数据集上达到98.49%的识别准确率。同时,构建柑橘病虫害识别系统,实现其应用价值,帮助柑橘管理者更好地进行种植生产活动。未来可以进一步增加病虫害种类,以及同种类不同程度的样本数据,进一步提升模型的应用价值。
参考文献:
[1]沈兆敏. 我国柑橘生产销售现状及发展趋势[J]. 果农之友,2021(3):1-4.
[2]祁春节,顾雨檬,曾 彦. 我国柑橘产业经济研究进展[J]. 华中农业大学学报,2021,40(1):58-69.
[3]王彥翔,张 艳,杨成娅,等. 基于深度学习的农作物病害图像识别技术进展[J]. 浙江农业学报,2019,31(4):669-676.
[4]唐利华,郭堂勋,李其利,等. 柑橘黄龙病田间诊断与检测技术研究进展[J]. 中国植保导刊,2018,38(8):81-87.
[5]Munisami T,Ramsurn M,Kishnah S,et al. Plant leaf recognition using shape features and colour histogram with K-nearest neighbour classifiers[J]. Procedia Computer Science,2015,58:740-747.
[6]Yang X,Ni H M,Li J K,et al. Leaf recognition using BP-RBF hybrid neural network[J]. Journal of Forestry Research,2022,33(2):579-589.
[7]Azlah M A F,Chua L S,Rahmad F R,et al. Review on techniques for plant leaf classification and recognition[J]. Computers,2019,8(4):77.
[8]Zhang S W,Wu X W,You Z H,et al. Leaf image based cucumber disease recognition using sparse representation classification[J]. Computers and Electronics in Agriculture,2017,134:135-141.
[9]Agarwal M,Gupta S K,Biswas K K. Development of efficient CNN model for tomato crop disease identification[J]. Sustainable Computing:Informatics and Systems,2020,28:100407.
[10]Mique E L Jr,Palaoag T D. Rice pest and disease detection using convolutional neural network[C]//Proceedings of the 1st International Conference on Information Science and Systems. 2018:147-151.
[11]Rangarajan A K,Purushothaman R,Ramesh A. Tomato crop disease classification using pre-trained deep learning algorithm[J]. Procedia Computer Science,2018,133:1040-1047.
[12]Geetharamani G,Pandian A. Identification of plant leaf diseases using a nine-layer deep convolutional neural network[J]. Computers & Electrical Engineering,2019,76:323-338.
[13]Xing S L,Lee M,Lee K K. Citrus pests and diseases recognition model using weakly dense connected convolution network[J]. Sensors,2019,19(14):3195.
[14]Liu B,Ding Z F,Tian L L,et al. Grape leaf disease identification using improved deep convolutional neural networks[J]. Frontiers in Plant Science,2020,11:1082.
[15]王 超,王春圻,刘金明. 基于深度学习的玉米叶片病害识别方法研究[J]. 现代农业研究,2022,28(6):102-106.
[16]朱 帅,王金聪,任洪娥,等. 基于多特征融合的残差网络果树叶片病害识别[J]. 森林工程,2022,38(1):108-114,123.
[17]樊湘鹏,周建平,许 燕,等. 基于改进卷积神经网络的复杂背景下玉米病害识别[J]. 农业机械学报,2021,52(3):210-217.
[18]李庆盛,缪 楠,张 鑫,等. 基于注意力机制非对称残差网络和迁移学习的玉米病害图像识别[J]. 科学技术与工程,2021,21(15):6249-6256.
[19]杨泳波,赵远洋,李振波,等. 基于胶囊 SE-Inception 的茄科病害识别方法研究[J]. 图学学报,2022,43(1):28-35.
[20]贾兆红,张袁源,王海涛,等. 基于Res2Net和双线性注意力的番茄病害时期识别方法[J]. 农业机械学报,2022,53(7):259-266.
[21]黄林生,罗耀武,杨小冬,等. 基于注意力机制和多尺度残差网络的农作物病害识别[J]. 农业机械学报,2021,52(10):264-271.
[22]侯发东. 基于卷积神经网络的棉花叶部病虫害自动识别研究[D]. 泰安:山东农业大学,2020.
[23]Woo S,Park J,Lee J Y,et al. CBAM:convolutional block attention module[C]//European Conference on Computer Vision.Cham:Springer,2018:3-19.
[24]张会敏,谢泽奇,张善文. 基于注意力胶囊网络的作物病害识别方法[J]. 江苏农业科学,2022,50(6):101-106.
[25]Chen J D,Zhang D F,Zeb A,et al. Identification of rice plant diseases using lightweight attention networks[J]. Expert Systems with Applications,2021,169:114514.
[26]Szegedy C,Vanhoucke V,Ioffe S,et al. Rethinking the inception architecture for computer vision[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).Las Vegas,NV,USA.IEEE,2016:2818-2826.
[27]He K M,Zhang X Y,Ren S Q,et al. Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).Las Vegas,NV,USA.IEEE,2016:770-778.