基于ResNet50的水稻病虫害识别
2024-11-05丁士宁
摘 要:为了准确识别水稻病虫害,收集8种水稻病虫害图像和健康水稻图像,构建水稻病虫害数据集。将残差网络ResNet50用于水稻病虫害识别,在原模型基础上引入了迁移学习和NonLocal注意力机制。实验结果表明,改进模型的准确率、精确率、召回率、F1-score分别达到99.12%、99.31%、99.27%、99.28%,相比于原模型分别提升了2.92%、2.91%、4.05%、3.60%。与模型DenseNet121、Inception V3、ShuffleNet V2、MobileVit-small、ResNext50相比,改进模型的准确率、精确率、召回率、F1-score至少高出2%。实验验证了所提模型的有效性,该模型可以准确识别这几种水稻病虫害。
关键词:水稻病虫害;ResNet50模型;迁移学习;NonLocal注意力机制
中图分类号:TP391.41;TP18 文献标识码:A 文章编号:2096-4706(2024)16-0127-05
Identification of Rice Pests and Diseases Based on ResNet50
Abstract: In order to accurately identify rice pests and diseases, 8 types of rice pests and diseases images and health rice images are collected, which are used to construct a rice pests and diseases dataset. The Residual Network ResNet50 is used for identification of rice pests and diseases, and Transfer Learning and NonLocal Attention Mechanisms are introduced on the basis of the original model. The experimental results show that the accuracy, precision, recall, and F1-score of the improved model have reached 99.12%, 99.31%, 99.27%, and 99.28%, respectively, which are 2.92%, 2.91%, 4.05%, and 3.60% higher than the original model. Compared with models DenseNet121, Inception V3, ShuffleNet V2, MobileVit-small and ResNext50, the improved model has at least 2 percentage points higher on accuracy, precision, recall, and F1-score. The experiment verifies the effectiveness of the proposed model, which can accurately identify these types of rice pests and diseases.
Keywords: rice pests and diseases; ResNet50 model; Transfer Learning; NonLocal Attention Mechanism
0 引 言
水稻作为我国主要的粮食作物,病虫害侵害对于水稻生长产生较大影响,不定期检测水稻病虫害,可以及时采取针对性的防治措施,有利于保障水稻的产量和质量[1]。
传统的水稻病虫害识别方法有赖于农民的丰富经验,识别效率低下;传统的机器学习方法又受限于人工特征提取[1]。而深度学习的代表性算法之一的卷积神经网络(Convolutional Neural Network, CNN)具有端到端的学习机制,为水稻病虫害检测提供了新的思路。目前已有许多基于深度卷积网络的植物病虫害识别的研究。黄双萍等使用GoogLeNet模型对水稻穗温病进行检测,准确率高达92.0% [2]。范春全等运用ResNet50预训练网络构建面向16种水稻病虫害的识别模型,模型使用了二分类数据过滤模型,最终top-1准确率达95.23% [3]。梁万杰等使用自行设计的10层卷积神经网络对水稻二化螟虫害进行识别,对应的模型交叉验证精度达89.14% [4]。代国威等构建融合ResNet和支持向量机的模型,将其用于葡萄园冠层图像叶片覆盖度分类[5]。姜红花等从注意力机制、特征图裁剪等方面改进ResNet18模型,对苹果5类叶片病害的识别准确率高达98.25%,优于原模型ResNet18和VGG [6]。陈浪浪等以DenseNet121为基础网络,引入迁移学习和坐标注意力机制后,在水稻病虫害数据集上的识别准确率达到98.95% [7]。江顺等在AlexNet模型的基础上,采用缩小卷积核、增加卷积层深度、引入RReLU激活函数等方法改进模型,改进模型对水稻害虫识别的准确率达到96.17% [8]。李聪等将感兴趣区域提取方法和迁移学习技术引入ResNeXt模型,提出了TL-ROI-X-ResNext-50分类模型,实现了干制哈密大枣果梗/花萼及缺陷识别,识别准确率达94.17% [9]。陈晓等提出了基于改进MobileViT网络的番茄病害识别模型,识别准确率达到99.16% [10]。胡骏等针对水稻稻瘟病识别,提出了VGG16的改进模型VGG16-H,改进模型的识别准确率达98.7%,比原模型VGG16提高1.6%[11]。
本文将模型ResNet50应用于水稻病虫害识别。首先收集8种水稻病虫害图像和健康水稻图像,构建水稻病虫害数据集;然后在ResNet50的基础上引入了迁移学习和注意力机制;最后通过实验验证模型的有效性。
1 材料与模型
1.1 数据来源
所用数据都是开源数据,来源于文献[12]。该数据集包含1 426张图像,其中包含5类水稻病害、3类水稻虫害以及健康水稻图像,共计9个类别。该数据集的图像是由孟加拉国水稻研究所(Bangladesh Rice Research Institute, BRRI)收集的,是真实环境中不同背景、不同天气条件下收集而来的。部分数据集图像如图1所示。
按照4:1的比例将数据集划分为训练集和测试集,训练集包含1 143张图像,测试集包含283张图像,水稻各类病虫害图像的数量如表1所示。该数据集图像数量偏少,为了避免过拟合,提升模型训练效果,采用图像翻转、图像旋转、添加噪声、高斯模糊等方法对图像进行增强,将图像数量扩增为原来的8倍。
1.2 水稻病虫害识别模型
1.2.1 ResNet模型
在残差神经网络出现之前,深度卷积神经网络面临退化问题。随着网络深度的增加,准确率达到饱和随后迅速下降,而残差学习解决了退化问题,有助于搭建层级更深、识别效果更好的神经网络模型[13]。
本文选择残差网络ResNet50作为基础模型。ResNet50的模型结构如图2所示。模型的输入图像是维度(224,224)的三通道RGB图像,模型由卷积层、最大池化层(Max Pool)、4类残差块(Residual Block)、全局平均池化层(Average Pool)、全连接层(Fully Connect, FC)等构成,其核心模块是残差块。残差块由2个1×1卷积层和1个3×3卷积层构成,4类残差块的基本结构相同,不同之处在于卷积层的通道数不同。对于水稻病虫害数据集,全连接层的输出类别数为9。
1.2.2 迁移学习
深度卷积神经网络的训练需要大量标注好的数据,需要大量数据同时也意味着需要大量的运算资源,但在水稻病虫害识别领域收集大量数据并进行标注是一件耗时又耗资的事情[7]。因此,在水稻病虫害识别领域引入迁移学习训练模型。将公开数据集ImageNet上的预训练模型作为初始模型,该预训练模型由框架mmpretrain提供;将在ImageNet上学习到的知识推广到水稻数据集,在知识推广的过程中,冻结模型低层特征,对于ResNet50模型,冻结前3个残差层及以前网络层的参数,微调第4个残差层及之后网络层的参数,最终获得训练好的模型。引入的迁移学习显著减少了构建深度卷积神经网73813438b5d6f53e863804b8ff1415c8络对图像数据量和计算资源的需求,同时还具有加快模型收敛、避免模型过拟合的作用。
1.2.3 注意力机制
水稻图像是在实际环境下采集的,背景复杂。在模型中引入注意力机制,可选择性地关注重要的、感兴趣的信息,减少关注甚至忽视关联不大的信息,进而提升模型的识别效果。在模型ResNet50的第四类残差块中引入NonLocal2d注意力机制,如图3所示。
非局部操作的通用计算式表示为:
其中,x为输入信号,y为与x维度相同的输出信号,i为输出位置,如空间、时间或时空的索引,j为输入特征中所有位置的索引,f函数计算xi和xj的相似度,g为函数计算输入信号在j的位置,最终的输出y通过相应因子C(x)进行标准化处理以后得到[14-15]。
将式(1)对应的非局部操作封装到一个非局部块(Non-Local block)中,定义为:
其中,WZ表示权重矩阵,+ xi表示残差连接[14-15]。非局部块的结构如图4所示。
2 实验结果与分析
2.1 实验环境和参数设置
本文中,所有模型均在相同环境下运行:采用Ubuntu 20.04操作系统、Python 3.7开发语言、PyTorch 1.10框架,显卡采用RTX A4000,GPU加速库采用CUDA 11.3和CUDNN 8.2。所有模型均借助深度学习开源框架mmpretrain 1.1运行。
对于本文的ResNet50模型,采用随机梯度下降算法(Stochastic Gradient Descent, SGD)更新模型参数,初始学习率设为0.001,momentum设为0.9,batch size设为32,epoch数设为100。在30、60、90个epoch之后,学习率衰减为原先的0.1。图像输入尺寸为(224,224),ResNer50模型首先在ImageNet数据集上训练,该模型作为训练的初始化模型由框架mmpretrain提供。
2.2 评价指标
采用准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1-score指标评价水稻识别模型的性能。这些指标的计算公式如下:
其中,TP(True Positive)表示将正类划分为正类的样本数量,FP(False Positive)表示将负类划分为正类的样本数量,FN(False Negative)表示将正类划分为负类的样本数量,TN(True Negative)表示将负类划分为负类的样本数量。
2.3 实验结果
为了说明迁移学习和注意力机制对模型结果的影响,将迁移学习和NonLocal2d模块依次加入ResNet50模型,结果如表2所示。原模型ResNet50的分类准确率、精确率、召回率、F1-score分别达96.20%、96.40%、95.22%、95.68%,引入迁移学习后,准确率、精确率、召回率、F1-score分别提升了2.39%、2.38%、3.65%、3.14%,继续引入NonLocal2d注意力机制后,准确率、精确率、召回率、F1-score分别提升了0.53%、0.53%、0.40%、0.46%。迁移学习和注意力机制的引入,有效提升了模型对水稻病虫害的识别精度。
为了验证模型的有效性,将模型与DenseNet121、Inception V3、ShuffleNet V2、MobileVit-small、ResNext50进行对比[16-20]。对比结果展示在表3中。本文模型与DenseNet121、Inception V3、ShuffleNet V2、MobileVit-small、ResNext50相比,准确率分别提升了2.26%、2.87%、1.81%、2.39%、3.14%,精确率分别提升了2.11%、2.78%、2.03%、2.93%、3.01%,召回率分别提升了3.14%、3.57%、2.57%、2.80%、3.76%,F1-score分别提升了2.69%、3.26%、2.38%、2.92%、3.46%。对比结果表明,改进模型的水稻病虫害识别精度最高。
3 结 论
收集8种水稻病虫害图像和健康水稻图像数据,构建水稻病虫害图像数据集。将残差网络ResNet50用于水稻病虫害识别,并引入迁移学习和注意力机制。改进后模型的准确率达99.12%,精确率达99.31%,召回率达99.27%,F1-score达99.28%,相比原模型分别提升了2.92%、2.91%、4.05%、3.60%。与DenseNet121、Inception V3、ShuffleNet V2等模型相比,本文模型对水稻病虫害的识别精度最高。但也存在所收集的水稻病虫害图像数据偏少的问题,下一步将收集更多的水稻病虫害图像,扩充数据集的图像数量。
参考文献:
[1] 王菁.基于改进卷积神经网络的水稻叶片病虫害识别方法研究 [D].哈尔滨:东北农业大学,2022.
[2] 黄双萍,孙超,齐龙,等.基于深度卷积神经网络的水稻穗瘟病检测方法 [J].农业工程学报,2017,33(20):169-176.
[3] 范春全,何彬彬.基于迁移学习的水稻病虫害识别 [J].中国农业信息,2020,32(2):36-44.
[4] 梁万杰,曹宏鑫.基于卷积神经网络的水稻虫害识别 [J].江苏农业科学,2017,45(20):241-243+253.
[5] 代国威,陈稼瑜,樊景超.融合ResNet与支持向量机的葡萄园冠层图像叶片覆盖度分类 [J].江苏农业学报,2023,39(8):1713-1721.
[6] 姜红花,杨祥海,丁睿柔,等.基于改进ResNet18的苹果叶部病害多分类算法研究 [J].农业机械学报,2023,54(4):295-303.
[7] 陈浪浪,张艳.基于改进深度卷积神经网络的水稻病虫害识别 [J].山东农业科学,2023,55(5):164-172.
[8] 江顺,黄红星,莫里楠,等.基于改进AlexNet的岭南水稻虫害识别方法研究 [J].江苏农业科学,2023,51(23):187-195.
[9] 李聪,喻国威,张原嘉,等.基于ResNeXt与迁移学习的干制哈密大枣果梗/花萼及缺陷识别 [J].食品与机械,2022,38(1):135-140.
[10] 陈晓,夏颖.基于改进MobileViT网络的番茄叶片病害识别 [J].电子测量技术,2023,46(14):188-196.
[11] 胡骏,陆兴华,林柽莼,等.改进的VGG16在水稻稻瘟病图像识别中的应用 [J].计算机应用,2023,43(S2):196-200.
[12] RAHMAN C R,ARKO P S,ALI M E,et al. Identification and Recognition of Rice Diseases and Pests Using Convolutional Neural Networks [J].Biosystems Engineering,2020,194:112-120.
[13] 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:IEEE,2016:770-778.
[14] WANG X L,GIRSHICK R,GUPTA A,et al. Non-local Neural Networks [C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City:IEEE,2016:770-778.
[15] 黄文明,阳沐利,蓝如师,等.融合非局部神经网络的行为检测模型 [J].图学学报,2021,42(3):439-445.
[16] HUANG G,LIU Z,MAATEN L V D,et al. Densely Connected Convolutional Networks [C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Honolulu:IEEE,2017:2261-2269.
[17] 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:IEEE,2016:2818-2826.
[18] MA N N,ZHANG X Y,ZHENG H T,et al. ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design [C]//Proceedings of the 15th European Conference on Computer Vision (ECCV). Berlin:Springer,2018:116-131.
[19] MEHTA S,RASTEGARI M. MobileViT: Light-Weight, General-Purpose, and Mobile-Friendly Vision Transformer [J/OL].arXiv:2110.02178v2 [cs.CV].[2024-01-06].https://arxiv.org/abs/2110.02178.
[20] XIE S N,GIRSHICK R,DOLLÁR P,et al. Aggregated Residual Transformations for Deep Neural Networks [C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Honolulu:IEEE,2017:5987-5995.