APP下载

基于深度迁移学习的EfficientNet玉米叶部病害识别

2023-06-19王大庆于兴龙耿丽丽任志鹏

东北农业大学学报 2023年5期
关键词:集上灵敏度病害

王大庆,禄 琳,于兴龙,耿丽丽,任志鹏*

(1.黑龙江省农垦经济研究所,哈尔滨 150030;2.黑龙江省农垦科学院,哈尔滨 150030;3.二道河农场,黑龙江 佳木斯 154000)

玉米是世界上重要粮食作物和工业原料,稳定产量对粮食安全、农民增收和国民经济具有重要意义,病害是降低玉米质量和产量直接因素。常见玉米病害达十几种,病发处多为叶部、穗部和根部,其中以叶部大斑病、锈病及灰斑病为主。玉米叶部病害识别是现阶段智慧农业重点发展领域,快速、准确识别叶部病害,对玉米病害防治具有重要意义。

病害识别本质为图像分类任务,传统机器学习“特征提取+分类器”模式已被深度学习技术中的卷积神经网络(CNN)取代。CNN 在不同作物的表观病害识别任务效果良好,对叶部、茎部病害、虫害均具有较高的准确率[1-4]。早期研究注重网络架构与训练方法的调整,如调整超参数、简化模型,尤其是通过跳跃连接、空间卷积和较短隐藏层连接的CNN[5-6]。近年来,数据集的重要性逐渐受到关注,尤其是基于真实环境采集的数据集与合理的数据增强方法[7-8]。通过调整CNN架构[9],构建完备数据集,进行合理预处理和增强(如分割、去除背景等),优化训练方式等方法可有效增强CNN模型性能[10]。

研究表明,CNN 病害识别方法存在环境鲁棒性问题[11]。作物病害发病随机性强,大多数研究不具备采集真实环境数据条件,其训练样本数据均来自于受控条件或公用数据集,数据集背景简单,规模小,仅能通过数据增强方式堆积样本量。特定作物、特定病害的数据收集更困难。经训练得到的深度学习模型存在泛化能力差、适应性差、抗干扰能力弱等问题[12]。基于田间环境识别病害,提升有限数据的利用率成为研究重点。

迁移学习可借助现有领域知识解决目标领域学习问题,源领域到目标领域差距越小,获得的模型精度就越高[13]。由于源领域数据集规模较大,模型得到充分训练,具备较强特征提取能力,降低目标领域样本数量要求。因此迁移学习资源利用率高,节省人工标注成本,解决了因目标领域样本匮乏导致的过拟合、模型泛化能力低等问题。针对玉米病害识别问题,Xu 等采用迁移学习法解决模型在玉米病害数据集上的过拟合;Chen等基于ImageNet 预训练模型,在玉米、水稻作物数据集上开展迁移学习,均获得较高识别精度,其中玉米病害识别模型的本地数据集迁移时,平均准确率仅降低2.64%[14-16]。Yin等基于ImageNet的8种预训练模型,在辣椒病、虫害数据集上分别取得85.6%和93.62%准确率[17]。

尽管ImageNet 预训练模型已取得一定效果,但仍存在域迁移问题。源数据集与目标领域数据集相似程度决定迁移学习效果,如果领域间相关性差,自源领域学习得到的特征提取参数难以适应目标领域,即域迁移问题。此外,深层卷积神经网络所需的计算能力依赖高性能硬件,但在农业设备向移动端发展的过程中,需要权衡网络深度、参数量应与识别精度,因此轻量级卷积神经网络如MobileNet、EfficientNet B0 逐渐进入病害识别领域[18-20]。CNN在植物叶片疾病诊断中的应用仍存在一定局限性。如何在解决环境鲁棒性问题的前提下减少训练成本,在完成架构创新的同时平衡模型精度、规格与效率,将更具实践意义的模型部署于移动端农机设备是现阶段研究重点。

基于上述问题,本研究基于深度迁移学习理论,提出一种两阶段的迁移学习训练方法:一是将不同层数EfficientNet 在ImageNet 数据集上的预训练模型迁移至公共实验室条件下采集的Plant Village 数据集上,进行模型微调以解决域迁移问题;二是将PlantVillage 预训练模型迁移至自主构建、真实田间采集的玉米叶部病害数据集上训练,解决过拟合和小样本问题,微调后模型在预留的预测数据集上测试,同时训练CNN模型与Ef⁃ficientNet 进行对比试验。实现田间复杂背景下对玉米叶片大斑病、灰斑病以及锈病的智能识别。

1 材料与方法

1.1 数据集

本研究涉及多个数据集,首先在ImageNet 上充分训练预训练模型,其次迁移至Plant Village 数据集微调,最后在本地自建玉米叶片数据集上训练并预测。本文使用的公开植物病害数据集Plant Village 包含14 种植物叶部病害,共有39 个类别[21]。其中38 个类别为实验室条件下采集的叶片图片,另外1个类别为背景图片,不含叶片或植物主体,多为人类社会或城市复杂背景。Plant Vil⁃lage 图像数据按类别存放在39 个文件夹内,每个文件夹代表一个标签,共计61 486 张图片,该数据集已通过图像翻转、伽马校正、噪声注入、PCA颜色增强、旋转和缩放等六种增强技术进行增广。参考Mohanty 等训练经验,以4∶1 比例将Plant Vil⁃lage 数据集划分为训练集和测试集,分别包含49 193张图片和12 293张图片[22]。Plant Village 数据集的数据样例如图1所示。

图1 Plant Village数据集数据样例Fig.1 Sample images of augmented Plant Village dataset

本研究自行构建的玉米叶部病害数据集来自黑龙江省肇东市玉米试验田,使用摄像头拍摄,分辨率为3 024×4 032,拍摄时间为早晨、中午、下午的不同时刻;手机拍摄的原始图片被裁剪成300×300固定大小图片,确保叶片主体清晰,叶片病斑明显,真实背景可见。最终得到2 628张图片,涵盖灰斑病、锈病、大斑病以及健康四种玉米叶片状态。从数据集中抽取10%的数据作为预测集,剩余90%按照4∶1 比例划分为训练集和测试集。训练集和测试集用于模型训练和测试过程,预测集用于评估模型的识别精度和性能。本地构建数据集的详细情况见表1,数据集样例如图2 所示,a~d 分别为灰斑病、锈病、大斑病和健康叶片。

表1 本地构建的玉米叶部病害数据集详细情况Table 1 Details of maize leaf disease dataset

图2 玉米叶部病害数据集数据样例Fig.2 Sample images of maize leaf disease dataset

考虑到不同CNN 模型输入大小不同,所有数据在进入模型前,均被调整为相应大小(224×224,299×299等),在训练前对图片进行在线数据增强,包括数值归一化、旋转(旋转20°、40°)、平移(水平方向、垂直方向)、缩放、翻转(上下翻转、左右翻转)、错切等。数据增强可提高模型泛化能力和鲁棒性。

1.2 试验环境与网络搭建

本试验所用设备为搭载有Intel®CoreTMi9-9900K@3.6GHz×16 的CPU 处理器、RTX 3090 24G显存显卡、32G内存以及2.5T存储空间的深度学习工作站,显卡驱动版本号为455.45.01,安装CUDA版本为11.1,cuDNN 版本号为8005。操作系统为64 位Ubuntu 20.04 LTS,使用的编程语言为python 3.7.9,使用Tensorflow-gpu框架下的keras2.4.3在虚拟环境中完成所有网络结构编写、网络模型训练和模型性能测试。

本文与EfficientNet[23]对比的经典CNN 模型共有6 种:VGG19,ResNet50,InceptionV3,Dense Net201,MobileNet 以及MobileNetV2,上述经典网络的详细结构不再赘述。VGG19 为VGG 网络中的一种经典结构,包含16 个卷积层和3 个全连接层,比VGG16 减少3 个卷积层。结构简洁且可通过加深网络结构使性能不断提升,同时拥有大量参数。

2015 年ILSVRC-2015 分类任务冠军ResNet 参考VGG19 网络,引入短路机制,加入残差单元,解决深层网络中的退化梯度弥散和训练集精度下降问题。Inception V3为谷歌公司开发“Deep Learn⁃ing Evolutionary Architectures”系列的第三个版本,包含因子分解功能,在不降低网络效率情况下减少连接数和参数。DenseNet 设计基本思路与ResNet 一致,建立前面所有层与后面层的密集连接(Dense connection),网络名称也由此而来。此外,DenseNet 通过特征在各通道上的连接实现特征重用(Feature reuse),使其在参数和计算成本更少的情形下实现比ResNet 更优的性能。2017年4 月,谷歌提出专注于在移动设备上的轻量级神经网络MobileNetV1(即MobileNet),MobileNetV1把VGG 中的标准卷积层换成深度可分离卷积,MobileNetV2 则加入1×1 卷积核升维,引入短路(Shortcut)且去掉ReLU 激活函数,改为Linear 激活函数。对于移动端CNN 模型,其主要设计思路在于模型结构设计和模型压缩。ShuffleNet 和Mo⁃bileNet 通过设计更高效的网络结构实现模型变小和变快。

自2012 年以来,ImageNet 数据集中模型较复杂,分类任务精度提高,但模型计算负载高。而EfficientNet模型以66 M参数准确率达到84.4%,属于最先进模型之一。EfficientNet 为一组CNN 模型,由8个介于B0和B7之间的模型组成,随着模型数量增加,计算参数数量不会大量增加且准确度显著提高。EfficientNet在缩小模型的同时,通过均匀缩放深度、宽度和分辨率实现更高效结果,复合缩放的第一步为搜索网格,找到固定资源约束下基线网络的不同缩放维度之间关系,确定深度、宽度和分辨率尺寸的合适比例因子,再将基线网络缩放至目标网络。EfficientNet主要构建模块为MBConv,由一个先扩展后压缩通道的层组成,使用深度可分离卷积,有效减少参数数量。本研究所用网络模型入口尺寸及参数量见表2,图3为Effi⁃cientNet B0网络模型示意图。

表2 网络模型入口尺寸及参数量Table 2 Detail parameters of CNN models

图3 EfficientNet B0网络模型Fig.3 Architecture of EfficientNet B0

1.3 迁移学习

迁移学习为一种机器学习技术,指在源领域学习,为解决特定任务将知识应用于目标领域[24]。深度学习中使用频率最高的方法为基于模型的迁移学习。这一方法将训练于源领域数据集的CNN模型冻结全部或部分参数,应用在目标领域数据集,解决目标领域训练数据不足、训练效率低等问题。冻结大部分参数,训练小部分参数的迁移学习训练方法被称为微调。迁移学习效果取决于源、目标领域及任务的相似程度,否则会产生域迁移问题。本研究中将ImageNet预训练模型去除全连接层后保存各层权重,在Plant Village 数据集上进行微调,此为第一次迁移。将Plant Village预训练模型去除全连接层后保存各层权重,在本地自建玉米病害数据集上冻结全部层进行迁移,即第二次迁移。第一次迁移解决域迁移问题,减少无关模式的干扰;第二次迁移解决训练效率低、资源利用率低以及过拟合导致的精度下降等问题。本文工作流程图如图4所示。

图4 两阶段迁移学习工作流程Fig.4 Flow of two-stage transfer learning

1.4 超参数设置

在第一次迁移过程中,学习率(Learning rate,lr)设定10-3~10-6,设置学习率衰减(Learning rate decay),即当损失值(交叉熵,Cross-entropy)减少速度变慢时,学习率降为原来的二分之一,耐心值设置为5;当学习率最小,损失值在连续10个迭代次数内增加或不变时,设置训练早停(Early stop⁃ping),此时训练停止并保存最优模型,记录损失值收敛到最小的训练迭代次数(Epoch);允许模型最大迭代次数(Epoch_max)为100;本试验环境允许单次训练批处理数目(Batch_size)为32,训练集共49 193张图片,经过1 538个步长(Steps)后完成一轮epoch。batch 训练过程不作为参考,仅记录每轮epoch结束后准确率、损失值变化。鉴于ReLU激活函数存在“死神经元”现象,采用效果优于ReLU的Mish[25]激活函数,其表达式见式(1)。选择adam优化器(Optimizer)。

小数据集上训练深度CNN 时容易过拟合,Dropout 通过阻止特征检测器共同作用防止过拟合,提高神经网络性能[26]。第一次迁移过程中设置Dropout 参数为0.5,即每个训练批次均忽略50%的特征检测器(50%隐层节点值为0),减少特征检测器(隐层节点)的相互依赖,使模型不依赖局部特征,增强泛化性。

在第二次迁移过程中,学习率设定10-4~10-7,设置学习率衰减和训练早停,减少学习率衰减耐心值到5,早停耐心值到3,epoch_max 和batch_size 保持不变。训练集共1 892 张图片,经过60 个步长(steps)后完成1 个epoch。使用Mish 激活函数和adam优化器,设置Dropout参数为0.5。

1.5 模型评价指标

考虑到PlantVillage 数据集内有39 个分类,以混淆矩阵作为分类评判指标存在困难,同时有误导性,本文在两次迁移过程中均使用准确度(Accu⁃racy,下文中简称为Acc,其余指标同理)、灵敏度(Sensitivity,Sen)、特异性(Specificity,Spe)、精准度(Precision,Pre)以及F1分数(F1 score,F1)作为模型的评价指标。准确度为所有样本中正确分类样本的比率;灵敏度为所有真实阳性中正确预测阳性的比率,体现模型对阳性样本的识别能力;特异性为所有真阴性中正确预测阴性的比率,体现模型对阴性样本的识别能力;精准度为所有阳性识别中正确预测阳性的比例,体现模型对阳性样本的识别精准度。F1 分数用于评估模型性能,是基于精准度与灵敏度计算得到的指标,用于衡量模型识别能力。

上述指标除F1 分数外,均可通过真阳性(TP)、真阴性(TN)、假阳性(FP)和假阴性(FN)四个指标进行计算,计算公式如式(2)~(6)所示。

2 结果与分析

2.1 ImageNet-PlantVillage迁移学习过程

在第一次迁移学习过程中,本文将ImageNet预训练模型在Plant Village 数据集上进行迁移学习并微调。根据2.5 节模型评价指标,表3 给出第一次迁移中模型平均准确度、敏感性、特异性、精准度以及F1 分数,下划线表示最优模型与最优性能。如表3所示,在第一次迁移学习过程中,所有模型准确度和特异性均超过99%,表现较为理想,但各模型灵敏度和精确度值存在较大差异。说明各模型对负样本区分能力较强,考虑到样本分布不平衡导致准确度失去参考价值,因此本阶段不以准确度为主要模型优劣判别指标。表3 中EfficientNet B4 模型具有最高灵敏度、最高精确度和最高F1 分数,为全部ImageNet 预训练模型中最优模型。除EfficientNet B4 模型外,EfficientNet B5模型和Inception V3 模型为第一阶段迁移学习过程中top3 模型,B4 比B5 模型平均灵敏度高1.37%,B5 模型比Inception V3 模型的平均灵敏度仅高0.07%,可见top3模型性能差距小。VGG19平均灵敏度仅为89.08%,F1分数为0.8960,效果最差。

表3 ImageNet预训练模型迁移学习表现(第一阶段)Table 3 Performance of ImageNet pretrained models(The first stage)(%)

本文与Chen 等研究结果一致,ImageNet 预训练模型具有强大特征提取能力[16]。对比Ferentinos等[27]以Plant Village为基础构建的数据集(包含25种植物,58种类别,共计87 848张图片)进行病害识别时,经典CNN 最高达到99.53%的准确率,可见训练数据充足与否影响准确率。理论上层数更深,结构更复杂的网络可更好提取特征,同时需要更多训练数据。因此,迁移学习训练方法能够有效提高资源利用率,降低模型过拟合风险。但本阶段迁移训练中的VGG19 模型灵敏度较低,即对正例的区分度不够,与以往网络结构性能研究结论相符,但可能出现域迁移问题。理论上,Ima⁃geNet 预训练模型具有更好的粗粒度识别能力,但细粒度识别能力可能较差。因此,在表3中,灵敏度较高模型具备较好的“叶片+病斑”细粒度特征提取能力,即对相似叶片、相似病斑区分能力较好。

对EfficientNet B0至B7模型,各模型准确度和特异性接近,无显著差别。随着层数加深,各模型灵敏度和精确度呈先增后降趋势,在B4 模型达到最大灵敏度、最大精确度以及最大F1 分数。反映各模型特征提取能力和细粒度识别能力的变化趋势,表明B4模型为该阶段最优模型。

B0、B1、B2 模型与MobileNet 和MobileNet V2参数量相似,本研究将对比其与MobileNet 系列网络。在本阶段迁移学习试验中,作为应用在移动端的轻量级网络,MobileNet 和MobileNet V2 模型性能不亚于深层网络模型。参照表2 中模型参数量,B0 模型参数量略多于MobileNet 和MobileNet V2模型,但B0模型达到95.99%的灵敏度和0.9634的F1分数,综合性能优于除Inception V3外其他模型。可见B0 模型性能已超越MobileNet 系列模型,具备代替轻量级网络的潜力。

在本阶段迁移学习过程中,通过对比不同深度EfficientNet、经典CNN 网络以及轻量级网络Im⁃ageNet 预训练模型在PlantVillage 数据集上表现,各模型负样本识别能力较好,考虑正样本识别能力以及识别精准度,EfficientNet B4 模型识别不同植物叶片、不同病害效果最好,B4 模型参数量介于深层网络和轻量级网络之间,为本阶段最优识别模型。EfficientNetB0 模型参数量虽略多于本试验中MobileNet 系列网络,但识别能力更优,可完全替代轻量级网络模型。总体而言,第一次迁移学习使模型获得ImageNet 预训练模型提取粗粒度特征的能力,扩充训练数据量,同时避免直接进行“ImageNet-Local”迁移学习时,样本量较少导致的域迁移问题。

2.2 Plant Village-Local迁移学习过程

在2.1 节模型训练、测试阶段基础上,本文将EfficientNet B4 模 型、 Inception V3 模 型 以 及ResNet50 模型在本地自建玉米病叶数据集上进行第二次迁移训练和预测,即“PlantVillage-Local”迁移过程。本地玉米病叶数据集中,2365 张图片数据被划分为训练集和测试集,参与模型训练和测试过程,剩余263 张图片数据为2.1 节提及的预测集,用于评估模型识别性能。表4给出玉米病叶数据集上所有模型的平均准确度、敏感性、特异性、精准度以及F1 分数,下划线标记的值表示最佳评价指标。

表4 Plant Village预训练模型迁移学习表现(第二阶段)Table 4 Performance of Plant Village pretrained models(The second stage)(%)

与表3相比,表4 中所有模型的性能指标均有提升。主要原因如下:首先,相对于第一次迁移,本阶段的源领域和目标领域更为相似,细粒度特征提取效果更好,增强模型性能;其次,参考Too等[28]在未进行数据增强的Plant Village数据集(14 种作物,26 种疾病,共计54 306 幅图像)上使用ImageNet 预训练模型迁移学习识别病害的经验,除VGG16 外其他模型均达到90%以上识别准确率,而本阶段试验使用经过数据增强和数据增广的Plant Village 数据集,对模型性能产生积极影响;最后,考虑到本地数据集规模较小,且均为玉米叶片,类间差距较大,病斑区分度高,而第一阶段的Plant Village 数据集类间差距小,病斑区分度低,识别难度下降,导致精度升高。

与第一阶段类似,本阶段所有模型的准确度和特异性均达到较高水平,但敏感性和精确度存在较大差距。EfficientNet B4 模型在本阶段训练中敏感性、精确度和F1 分数均为最优,因此为两阶段迁移学习过程中表现最优的网络模型。

EfficientNet B4、Inception V3 和ResNet50 模型为第二阶段迁移学习过程中的top3 模型,且B4 模型比Inception V3 模型的平均灵敏度高0.36%,In⁃ception V3 模型比ResNet50 模型的平均灵敏度仅高0.03%,因此本阶段迁移学习中top3模型性能差距较小。相比于上阶段迁移学习,VGG19 的平均灵敏度上升至93.76%,F1 分数增至0.9381,对比之下仍为最差模型。除VGG19 外,其余模型的灵敏度均超过96%,F1 分数均在0.97 以上,试验结果表明,相比于ImageNet 预训练模型,PlantVillage上的预训练模型在玉米病叶数据集上具有更好识别效果。

参与本阶段迁移学习的8个EfficientNet模型依然保持与第一阶段类似的模型特点,即灵敏度和精确度的先升高后降低,B4 模型为EfficientNet 模型中最优模型。B0 模型达到97.81%的灵敏度和0.9780 的F1 分数,综合性能优于除Inception V3、ResNet50外的其他模型。两阶段试验中的Efficient⁃Net模型变化趋势与Atila等的结论相似,本试验考查B0、B1、B2模型取代轻量级网络的潜力,且综合Sen、Pre 及F1 分数后,发现B0 模型性能优于MobileNet系列网络[20]。

在两阶段的迁移学习过程中,EfficientNet B4模型的五个评价指标均为最优。尤其在第二次迁移中,以99.10%的灵敏度、99.05%的精确度以及0.9908的F1分数超越所有模型。此外,Efficient⁃Net B4模型参数量为19.467M,介于DenseNet201和MobileNet 之间。综合看来,EfficientNet B4 模型对复杂背景下玉米病叶识别效果最佳。

在上述模型训练、测试阶段基础上,本文分别绘制EfficientNet B4模型、Inception V3模型以及ResNet50模型在预测集上混淆矩阵,如图5中a、b和c 所示。横、纵坐标轴分别用0、1、2、3 代表灰斑病、锈病、大斑病以及健康叶四种状态。评估预测集图像数据发现,三种模型均能够对健康叶片实现100%的正确分类,但灰斑病与大斑病之间存在一定程度的误识别。对EfficientNet B4 模型而言,锈病叶片可能被误判为灰斑病,Inception V3 模型更倾向于将其误判为大斑病,ResNet50 模型则判别正确。试验结果表明,采用Mish 激活函数两阶段迁移学习训练方法,能够提升模型细粒度和粗粒度识别能力,解决迁移学习中存在的域迁移和样本不足所导致的过拟合问题。

图5 Top3模型在预测集上的混淆矩阵Fig.5 Confusion matrix of Top3 models on prediction dataset

3 结 论

对于小规模玉米病叶数据集,两阶段迁移学习方法可解决域迁移问题和小样本问题,且混用实验室图片数据和真实图片数据可增强模型的环境鲁棒性。EfficientNet B4 模型参数量少于经典深层网络,识别性能也超过先进模型。与轻量级网络参数量近似的B0 模型在性能上优于先进模型,可完全作为移动端模型部署于农机。对小规模数据集下叶部病害识别,本研究提供有效的训练方法和应用实例,后续将扩充病叶数据集内的作物种类与病害类别,尤其是收集早期病斑细粒度识别样本和复杂背景病斑样本。此外,从服务器端模型到移动端农业设备应用存在成本问题。

猜你喜欢

集上灵敏度病害
早春养羊需防六大病害
小麦常见三种病害咋防治
葡萄病害周年防治历
果树休眠期咋防病害
Cookie-Cutter集上的Gibbs测度
链完备偏序集上广义向量均衡问题解映射的保序性
导磁环对LVDT线性度和灵敏度的影响
复扇形指标集上的分布混沌
地下水非稳定流的灵敏度分析
穿甲爆破弹引信对薄弱目标的灵敏度分析