基于卷积神经网络和迁移学习的瓯柑病虫害识别研究
2022-12-05刘玉耀彭琼尹
刘玉耀 彭琼尹
基于卷积神经网络和迁移学习的瓯柑病虫害识别研究
刘玉耀 彭琼尹
(浙江东方职业技术学院 浙江温州 325000)
传统的瓯柑病虫害检测方式主要依靠人工肉眼查看,效率较低,而且需要检测人员具备丰富的专业知识。针对这些问题,文章提出了基于卷积神经网络和迁移学习的瓯柑病虫害识别方法。首先选取Xception、InceptionResNetV2、MobileNetV2、DenseNet121四种深度卷积模型,然后采用迁移学习策略,将各个模型在PlantVillage数据上训练得到预训练模型,迁移到瓯柑病虫害识别模型中,并对比各个模型的识别性能。结果表明:(1)迁移学习能够大大提高模型的泛化能力,经过迁移学习后,4种模型在瓯柑病虫害训练集和验证集上的准确率均达到了85%以上,其中Xception迁移模型表现最好,准确率在训练集和验证集上分别为99.3%,97.1%;(2)在测试集上,Xception迁移模型的整体性能优于其他3种迁移模型,总体测试准确率达到了97.38%,精确率、召回率和F1 Score也均达到了97%以上。综上所述,Xception迁移模型识别精确率高,实用性强,可为今后瓯柑病虫害防控提供参考。
瓯柑病虫害;卷积神经网络;迁移学习;PlantVillage;Xception迁移模型
瓯柑(BlancocvSuavissima),产于浙江省温州市瓯海区,是瓯海的传统特产,也是国家地理标志产品之一,在营养和药用方面均有很高的价值。但瓯柑产量容易受到天气、病害、虫害等自然因素的影响,其中病虫害是制约瓯柑产量提高的关键性因素[1]。因此,精准、快速识别出瓯柑病虫害并及时提供防治措施,对于有效防控瓯柑病虫害以及提高其总产量极其重要。
传统的瓯柑病虫害鉴定主要通过人工肉眼检测,主观性强,容易造成误判,并且该方法需要检测人员具有很强的专业知识和丰富的经验。近年,随着深度学习理论的不断完善和计算机硬件性能的不断提高,人工智能技术得到了飞速发展[2],使卷积神经网络在机器视觉、自然语言处理等领域取得的重大突破[3],很多基于卷积神经网络的图像分类与识别方法已经广泛应用于农业领域[4]。帖军等[5]提出一种基于ResNet34模型的融合模型F-ResNet,该模型解决了单一模型中泛化能力弱、鲁棒性较差等问题,对自然环境下柑橘病害识别准确率达到93.6%。马浚诚等[6]采用了一种复合颜色特征及其检测方法,构建了一个基于卷积神经网络的温室黄瓜病害识别系统,识别准确率为95.7%。郭阳等[7]对比4种卷积网络模型后,选取识别精度较高的YOLOv3算法并引入田间复杂情况下的水稻虫害识别法,识别准确率大于98%。孙鹏等[8]将注意力机制引入到卷积神经网络中,构建了大豆病虫害识别模型,识别准确率达到了96.85%,比引入前的卷积神经网络准确率提高了6.53%。顾兴健等[9]提出一种多尺度U网络,引入CB模块将病害特征提取阶段与病斑分割阶段连接,同时实现番茄叶部病斑分割与病害识别,经测试平均像素准确率、平均交并比和频权交并比分别达到了86.15%,75.25%和90.27%。黄双萍等[10]提出了基于深度卷积神经网络GoogLeNet构建的水稻穗瘟病检测方法,采用SGD优化GoogLeNet模型,在验证集上水稻穗瘟病识别率达到了92.0%。郭小清等[11]提出一种适用于移动平台的多尺度识别模型Multi-ScaleAlexNet,该模型大大降低了运行所消耗的内存,番茄叶部病害的识别率达到了89.2%。
深度卷积神经网络技术在图像分类识别上的优异性能,使其广泛应用于各种领域。然而在实际应用场景中,如果想要得到一个高识别率的神经网络模型,往往需要海量的数据作为支撑,而且从中提取特征信息时也会消耗大量的时间和计算资源,这为研究基于深度卷积神经网络的瓯柑病虫害智能识别技术增加了难度。迁移学习理论的提出为此类问题提供了解决方法,其思想是把预训练模型的权重参数迁移到新模型中来帮助新模型训练,从而加速模型收敛,迁移学习能够避免模型重新学习,有效弥补小数据量上出现的过拟合问题,极大程度上缩减模型的学习时间[12]。目前迁移学习在农业领域也取得了快速的发展,杨红云[13]等将VGG16模型在图像数据集ImageNet上训练得到的权重参数,迁移到水稻害虫的识别当中,该模型的平均测试准确率达到了99.05%。林相泽等[14]提出了一种基于迁移学习和Mask R-CNN的稻飞虱图像分类方法,先利用迁移学习在ResNet50框架上训练数据,然后基于Mask R-CNN分别对水稻飞虱进行分类,平均识别精度达到了0.923。赵立新等[15]改进了AlexNet模型,采用迁移学习策略先在PlantVillage数据集训练取得预训练模型,经过参数微调后获得迁移模型,最终识别率达到了93.50%。
综上所述,文章以瓯柑的疮痂病、红蜘蛛、黄龙病、溃疡病、潜叶娥和炭疽病6种常见的病虫害为研究对象构建数据集,在深度学习框架下,分别建立基于Xception、InceptionResNetV2、MobileNetV2、DenseNet121等4种深度卷积神经网络模型,并结合迁移学习训练思想,将PlantVillage数据集训练得到预训练模型参数,迁移到瓯柑病虫害识别模型中,通过对比不同模型的识别精度,选取识别效果最佳的瓯柑病虫害识别模型,旨在帮助果农减少因病虫害造成的经济损失,加速瓯柑种植业的发展。
1 数据集
1.1 图像采集
瓯柑在自然生长环境下的病虫害有400多种,其中危害严重的多达50种。为了方便研究,只选择较为常见的疮痂病、红蜘蛛、黄龙病、溃疡病、潜叶娥和炭疽病6种病虫害作为研究对象。瓯柑病虫害数据主要来源于两部分,一部分通过搜索互联网图库获取,一部分拍摄于浙江省温州市大罗山瓯柑采摘园。为了能够获取最佳图片数据,采用高性能数码相机分别在不同角度、不同背景下进行拍摄,最终共获取样本数据图片457张;其中疮痂病65张,溃疡病76张,炭疽病81张,黄龙病100张,红蜘蛛60张,潜叶娥75张。图1为6种不同的瓯柑病虫害图像。
1.2 数据集预处理
瓯柑病虫害发生是动态的,在自然条件下很难大量采集,而将模型在源数据量较少的情况下进行训练,很容易发生过拟合现象,导致识别效果不佳。为了提高模型的泛化能力,避免发生过拟合情况,本研究使用离线数据增强技术,对源数据进行扩充;具体做法是对源数据集中的每一张图片进行随机旋转、平移、缩放、左右翻转、随机裁剪、颜色变换、改变亮度、高斯噪声等相应的变化,经过数据增强后,样本图像由原来的457张扩增到4 391张;经过增强图像数据处理后的模型,更有能力去应对真实场景下的变化。另外,为了方便神经网络模型的训练,将1.1中所采集到的6类瓯柑病虫害的图像整理归类,分别放入6个子文件夹中;同时,为了提高模型的识别速度、减少算法开销,将图片的大小统一调整为224×224×3像素,在保留病虫害区域的同时去除背景、黑边框等冗余信息。对于小规模样本集,为了更准确地反映模型的效能,常见的划分比例是60%训练集、20%验证集、20%测试集,故本研究将扩充后的数据集按6:2:2比例划分成训练集、验证集和测试集,分别用于模型的训练、验证和测试,详细分配情况如表1所示。
表1 病虫害数据集分配
2 模型构建
2.1 卷积神经网络
卷积神经网络是基于人类视觉,通过逐层分级对不同物体进行区分的理论基础上提出的一种网络结构,主要由输入层、卷积层、激活函数、池化层、全连接层和输出层等多层组成(图2)。在卷积神经网络中,原始图片从输入层输入后,经卷积、池化等一系列操作,从输出层输出所属类的概率。其中,卷积层作为卷积神经网络的最核心部分,主要用于输入图片的特征提取,每一个神经元输入通过与卷积核进行卷积计算获取特征信息。卷积计算公式为:
池化层作为卷积神经网络另一个重要组成部分,主要用于对输入特征图的压缩,特征图通过平均池化或最大池化进行降维,经池化后可以简化神经网络的参数计算量,降低计算资源消耗,提高计算速度,同时还可提高模型的鲁棒性。图片经过多次卷积、池化操作后,将图片特征输入一至多层的全连接层(图2),最后输出层使用Softmax分类函数输出所属类的概率。
图2 卷积神经网络的结构
2.2 基于迁移学习的卷积网络模型构建
深度卷积网络在图像特征提取方面的优异表现,使其被广泛应用于图像分类、目标检测、图像分割等方面。因此,本研究采用Xception、InceptionResNetV2、MobileNetV2、DenseNet121四种在ImageNet数据集上表现优异的深度卷积网络来实现瓯柑的病虫害检测;为了使模型能够在少量数据的情况下依然能够有效地提取图片特征信息,结合迁移学习思想,先在PlantVillage数据集上进行预训获得4个迁移学习模型,经进一步改造后用于瓯柑病虫害检测。整个迁移卷积网络的计算过程如下。
(1)将瓯柑病害原始数据预处理后,按6:2:2的比例划分为3部分,一部分为训练数据(主要用于模型的训练),一部分为验证数据(主要用于模型的调参),一部分为测试数据(主要用于模型的性能评价)。
(2)用与瓯柑病虫害相似度较高的PlantVillage数据集对各个模型进行迁移学习,获得迁移学习模型。
(3)分别去掉各个迁移学习网络模型顶部包括输出层在内的全部全连接层,然后使用一组自定义的顶层替代,结构如图3所示。自定义顶层由一层全局平均池化层+两层包含2 048个节点的全连接层(激活函数为ReLU)+Dropout层+一层包含6个节点的Softmax输出层组成。
(4)用图3中自定义顶层结构替代原来各个迁移学习模型的顶层,对迁移学习模型进行改造。
(5)将上述划分的训练数据集输入到改造后的迁移学习模型中,冻结除自定义顶层外的其它网络层的参数,训练模型自定义顶层。
(6)将(1)中划分的测试集数据输入到训练后的深度迁移学习模型中,对模型的识别率进行测试。
图3 自定义顶层结构
3 结果与分析
3.1 基于迁移学习的模型训练结果分析
将上述所构建的瓯柑病虫害训练数据集和验证数据集随机打乱,分别输入到Xception、InceptionResNetV2、MobileNetV2、DenseNet121四个预训练模型中进行训练,模型的输入图像分辨率均为224×224×3,优化算法采用能够通过动量和自适应学习率来加快收敛速度的Adam,选取交叉熵损失函数,各个模型超参数的详细配置如表2所示。在训练过程中,模型的准确率(acc)和损失值(loss)随着训练次数的增加而不断变化,其变化直接反映各个模型的训练情况。各个迁移模型分别在训练集和验证集上的值和值的曲线变化情况见图4。随着epochs训练轮数的增加,各个模型的值不断的下降,值不断上升;当训练次数达到80轮时,和开始趋于平稳,最终经过100个epochs的训练后,各个模型趋于收敛。从综合模型的准确率和损失函数变化情况可以看出, Xception预模型在训练集和验证集上表现最好,loss值在训练集上为0.04,在验证集上为0.13;acc值在训练集上为99.3%,在验证集上为97.1%,具有较好的拟合特性。而其余3个预训练模型在训练集和验证集的loss和acc之间的差值均较大,存在一定程度的过拟合现象。
表2 模型超参配置
3.2 基于迁移学习的模型测试结果分析
为了进一步探究各个模型对瓯柑病虫害的识别效果,使用2.2节划分的瓯柑病虫害测试集对模型进行测试,分别建立了Xception、InceptionResNetV2、MobileNetV2、DenseNet121迁移模型的分类混淆矩阵,如图5所示。从混淆矩阵可以看出,Xception迁移模型对6类病虫害识别错误数明显低于其它3个迁移模型,预测值与实际值吻合度高,识别效果最好,尤其在疮痂病、炭疽病、黄龙病和红蜘蛛这4类病虫害上表现最好,同时在相对比较难识别的溃疡病和潜叶娥上也有较好的表现。
A. 各模型训练损失值曲线;B. 各模型验证损失值曲线;C. 各模型训练准确率曲线;D. 各模型验证准确率曲线。
A.Xception;B.InceptionResNetV2;C.MobileNetV2;D.DenseNet121。
进一步对比分析4种迁移模型的准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1 Score,结果如表3所示。从表3可以看出,Xception迁移模型的准确率、精确率、召回率和F1 Score均高于其它3种迁移模型,参数值分别为97.39%、99.43%、97.01%、98.19%,整体性能表现优异,泛化能力好。同时,对比与Xception迁移模型在准确率、精确率、召回率和F1 Score上比较接近的InceptionResNetV2迁移模型,两模型可训练的参数总量接近,但在模型大小方面InceptionResNetV2迁移模型是Xception迁移模型的2倍多;因此,训练需要占用更多计算资源、耗费更多时间,而且InceptionResNetV2迁移模型检测完成所有测试集消耗16 s,Xception迁移模型却只消耗8 s。综上所述,本研究选取Xception迁移网络模型作为瓯柑病虫害的检测与识别算法,实现对瓯柑病虫害的自动、准确、快速、即时诊断。
表3 各个迁移模型在测试集上性能对比
4 结论
文章以常见的6种瓯柑病虫害为研究对象,提出了基于深度卷积神经网络和迁移学习的瓯柑病虫害自动识别技术,先选取Xception、InceptionResNetV2、MobileNetV2、DenseNet121四种在ImageNet数据集上表现优异的深度神经网络,使用与瓯柑病虫害数据特征较为相似的PlantVillage数据集对各个模型进行迁移学习,获得迁移模型;然后利用所建立的瓯柑病虫害数据集对4种迁移模型进行训练和测试,得出以下研究结论:
(1)各个迁移模型在训练集和验证集上的对比分析结果表明,基于PlantVillage数据集的迁移学习大大提高了模型的泛化能力,使得模型能够在源数据较少的情况下获得较好的识别效果。经过迁移学习后,4种模型在瓯柑病虫害训练集和验证集上的准确率均达到了85%以上,其中Xception迁移模型表现最好,acc值在训练集和验证集上分别为99.3%,97.1%。
(2)各个迁移模型在测试集上的对比分析结果表明,Xception迁移模型的整体性能优于其它3种迁移模型,针对疮痂病、炭疽病、黄龙病和红蜘蛛这4类病虫害的识别效果最好,总体测试准确率达到了97.38%,精确率、召回率和F1 Score也均达到了97%以上。
综上,本研究构建的Xception迁移模型可用于瓯柑病虫害的快速识别,所提供的理论基础和技术可以推广应用到其他农作物上。但模型仍然需要进一步优化改进,以降低复杂多变的自然条件对识别精度的影响,如天气、角度、光线等,这些因素可能会导致模型在实际应用中识别效果不理想;在以后的研究中,将针对此类不足进行优化研究。
[1] 魏开炬, 胡玉彪. 瓯柑主要病虫害的防治[J]. 特种经济动植物, 2009, 12(11): 53-54.
[2] Andreas Kamilaris, Francesc X, Prenafeta-Boldú. Deep learning in agriculture: A survey [J]. Computers and Electronics in Agriculture , 2018, 147: 70-90.
[3] Najafabadi M M, Villanustre F, Khoshgoftaar T M, et al. Deep learning applications and challenges in big data analytics[J]. Journal of Big Data, 2015, 2(1): 1.
[4] 边柯橙, 杨海军, 路永华. 深度学习在农业病虫害检测识别中的应用综述[J]. 软件导刊, 2021, 20(3): 26-33.
[5] 帖军, 罗均, 郑禄, 等. 基于改进残差网络的柑橘病害识别[J]. 中南民族大学学报(自然科学版), 2021, 40(6): 621-630.
[6] 马浚诚, 杜克明, 郑飞翔, 等. 基于卷积神经网络的温室黄瓜病害识别系统[J]. 农业工程学报, 2018, 34(12): 186- 192.
[7] 郭阳, 许贝贝, 陈桂鹏, 等. 基于卷积神经网络的水稻虫害识别方法[J]. 中国农业科技导报, 2021, 23(11): 99-109.
[8] 孙鹏, 陈桂芬, 曹丽英. 基于注意力卷积神经网络的大豆害虫图像识别[J]. 中国农机化学报, 2020, 41(2): 171-176.
[9] 顾兴健, 朱剑峰, 任守纲, 等. 多尺度U网络实现番茄叶部病斑分割与识别[J]. 计算机科学, 2021, 48(S2): 360- 366+381.
[10] 黄双萍, 孙超, 齐龙, 等. 基于深度卷积神经网络的水稻穗瘟病检测方法[J]. 农业工程学报, 2017, 33(20): 169-176.
[11] 郭小清, 范涛杰, 舒欣. 基于改进Multi-Scale AlexNet的番茄叶部病害图像识别[J]. 农业工程学报, 2019, 35(13): 162-169.
[12] Eihan Wen, Ssiprsad Ravishankar, Yoram Bresler. Structured, Over complete Sparsifying Transform Learning with Convergence Guarantees and Applications[J]. International Journal of Computer Vision, 2015, 114(2-3).
[13] 杨红云, 肖小梅, 黄琼, 等. 基于卷积神经网络和迁移学习的水稻害虫识别[J]. 激光与光电子学进展, 2022, 59(16):1615004-1-8.
[14] 林相泽, 朱赛华, 张俊媛, 等. 基于迁移学习和Mask R-CNN的稻飞虱图像分类方法[J]. 农业机械学报, 2019, 50(7): 201-207.
[15] 赵立新, 侯发东, 吕正超, 等. 基于迁移学习的棉花叶部病虫害图像识别[J]. 农业工程学报, 2020, 36(7): 184-191.
Research on Diseases and Insect Pests Identification of OuGan Based on Convolution Neural Network and Transfer Learning
LIU Yuyao PENG Qiongyin
(Zhejiang Dongfang Polytechnic, Wenzhou, Zhejiang 325000, China)
The traditional method of detecting diseases and insect pests of OuGan (a mandarin orange) mainly relies on manual inspection, which is inefficient and requires rich professional knowledge of the inspector. In order to solve these problems, this paper proposed a method of identifying diseases and insect pests of OuGan based on convolutional neural network and migration learning strategy. Firstly, four convolutional models were selected such as Xception, InceptionResNetV2, MobileNetV2, and DenseNet121. Then, the migration learning strategy was adopted to train each models on the Plantvillage data to obtain the pre-trained model, which was migrated to the pests and diseases identification model of OuGan. Finally, the recognition performance of each model was compared.The result showed that: 1) Migrating learning strategy can greatly improve the generalization ability of the model. After migration, the accuracy of pre-trained models were above 85% on the training set and validation set. Among them, the pre-trained Xception model had the best identification effect and the accuracy rate was 99.3% on the training set and 97.1% on the validation set. 2) On the test set, the pre-trained Xception model was better than the other pre-trained models. The overall test accuracy was 97.38% and the accuracy, recall and F1 Score also were above 97%. In conclusion, the pre-trained Xception model had high recognition accuracy and strong practicability, which could provide reference for future pest control of OuGan.
OuGan pests and diseases; convolution neural network; transfer learning; PlantVillage; pre-trained Xception
S436.66,TP183
A
10.12008/j.issn.1009-2196.2022.09.012
2022-05-06;
2022-05-16
温州市科技计划项目(No.N20210018)。
刘玉耀(1990—),男,硕士,软件设计师,主要研究方向为人工智能、数据库,E-mail:355678428@qq.com。
(责任编辑 林海妹)