基于MobileNetV2和迁移学习的玉米病害识别研究

2022-02-07 02:25刘合兵鲁笛席磊
河南农业大学学报 2022年6期
关键词:微调准确率卷积

刘合兵, 鲁笛, 席磊

(1.河南农业大学信息与管理科学学院,河南 郑州 450046;2.河南经贸职业学院,河南 郑州 450046)

玉米作为一种重要作物,其整个生长周期会受到各类病害的侵袭,病发处多为叶部、穗部和根部,其中叶部的大斑病、灰斑病和锈病等会对玉米生长造成严重的影响[1-3]。近年来,此类病害有加重迹象[4]。目前,相关农作物病害识别多通过传统机器学习方法进行,包括支持向量机(support vector machines, SVM)模型[5-7]以及BP神经网络(back propagation neural network, BPNN)模型[8]等。但是,此类方法操作繁琐,误差大,且需要人为提取特征,实际应用较为不便。卷积神经网络(convolutional neural network,CNN)是在人工神经网络(artificial neural networks,ANNs)基础上进行卷积计算,并通过局部连接、池化等操作令模型具有对图像的自我判断能力,从而使病害识别更为高效。目前,CNN已在小麦、黄瓜以及烟草等病害识别中取得不错的进展[9-11]。但在实际应用中,CNN模型还存在缺乏数据去训练网络的情况,导致在病害识别过程中相关信息无法得到及时反馈[12]。迁移学习是将已有的数据或模式应用到相关却不同的领域中,通过利用一个或者多个辅助领域任务中学到的有用知识来改变特定领域数据不足的问题,从而达到提高学习效果的目的[13]。相关研究表明,迁移学习深度模型的泛化能力能缩短训练时间。郑一力等[14]发现,将迁移学习应用在Inception-V3等网络进行训练可以得到较好的植物叶片识别效果。随着时代的发展,传统的CNN模型存在复杂度高、部署困难等缺点,不适合移动设备的开发与应用,而不需要网络连接、只部署在手机端的作物病害识别应用软件(application, APP)更符合实际需求。刘洋等[15]综合比较了MobileNetV1模型和 InceptionV3模型在移动端的差异后,发现MobileNetV1作为轻量级神经网络在移动端性能更优。而Mobile Net系列模型都具有相同特点[16]。因此,本试验以来自PlantVillage[17]公共数据集的玉米叶部病害为研究对象,将MobileNetV2和迁移学习相结合,在改进网络识别能力基础上开发了移动端玉米病害识别系统,并对实地筛选的真实玉米叶片进行验证,证明该系统具有良好的鲁棒性和识别能力,减少了在异常和特殊情况下系统崩溃导致的识别错误,为相关研究提供理论基础与技术支持。

1 材料与方法

1.1 数据来源

本研究以健康玉米叶片以及3种玉米病害(玉米大斑病、玉米灰斑病、玉米锈病)叶片作为试验对象。试验数据来自PlantVillage[16]公共数据集,共3 852幅。示例图像如图1所示。

图1 健康玉米叶片与玉米病害叶片示例图像Fig.1 Example images of healthy maize leaves and diseased maize leaves

1.2 数据增强与数据预处理

由于试验中健康玉米叶片以及3种玉米病害(玉米大斑病、玉米灰斑病、玉米锈病)叶片数据量有限,故选择通过数据增强[18]的方法扩大数据集的规模,以增强原数据集中存储图像的多样性,进而达到增加模型泛化能力的作用。数据增强技术包含了多种变换因素,包括空间、几何等各方面的变换操作均可以实现图像增强的目的。本试验使用Python的PIL模块对所有试验数据图像进行水平翻转以增强模型鲁棒性及适应性。同时,针对数据集中玉米灰斑病图像数量过少的情况,本试验特别对玉米灰斑病图像增加垂直翻转操作。数据增强后的所有样本共计8 730幅,示例图像如图2所示。

为方便模型训练,将8 730幅图像统一调整为224像素×224像素,并用0、1、2和3作为数据集的标签分别代表健康玉米叶片、玉米大斑病、玉米灰斑病和玉米锈病。依据增强后的图像划分数据集,按8∶2的比例将数据分为训练集和测试集。数据增强后的图像数量如图3所示。

1.3 试验环境与思路

本研究采用TensorFlow作为玉米病害识别模型搭建和训练平台,模型在GPU环境下运行。试验的软件及硬件配置如表1所示。

图2 增强后健康玉米叶片和玉米病害叶片示例图像Fig.2 Example images of healthy maize leaves and diseased leaves of maize after enhancement

图3 数据增强后图像数量Fig.3 Image numbers after data enhancement

表1 试验软硬件配置Table 1 Test software and hardware configuration

试验选择的模型为MobileNetV2模型[19],其结构如表2所示。其中,Conv2d为二维的卷积操作,Bottleneck为反向残差模块,Avgpool为全局池化操作,t为通道扩展因子,c为输出通道数,n为块重复次数,s为步长,k为自己样本训练通道数。对试验所用的batchsize和学习率进行测试并优化,选择其中效果最好的batchsize和学习率参数作为试验默认参数。对试验所用数据的前2层卷积块与最后一层卷积块进行特对比分析。采用ImageNet上预训练好的MobileNetV2模型参数作为迁移对象,用特征提取、全部迁移和微调3种方法,对迁移模型进行训练。

表2 MobileNetV2模型结构Table 2 Mobilenetv2 model structure

1.4 超参数设置

采用随机梯度下降算法进行优化,随机梯度下降算法的公式如下:

(1)

由公式(1)可知,除了梯度本身,bachsize和学习率这2个参数直接决定了模型的权重更新,从优化本身来看是影响模型性能收敛最重要的参数[20]。η直接影响模型的收敛状态,n则影响模型的泛化性能,因此本试验来测试bachsize和学习率对模型性能的影响。

1.5 模型评价指标

采用准确率(accuracy,A) 作为病害检测结果的主要评价指标,对模型进一步分析采用精确率(precision,P)、召回率(recall,R) 、特异度(specificity,S)作为评价指标[21]。各个指标的计算是由分类结果的混淆矩阵得出,如表3所示。

表3 混淆矩阵Table 3 Confusion matrix

1.5.1 准确率 准确率即指识别分类任务中正确识别的样本数与样本总数的比值。准确率的计算公式为:

(2)

对于普通数据集来讲准确率越高则模型效果越好。但对于数据集样本数量不均等时,准确率就不能作为评价的唯一标准,还需要其他指标辅助进行评判。

1.5.2 精确率 精确率可以简单理解为一个类的精确率越高,这个类被其他分类误判的数量就越少。精确率的计算公式为:

(3)

1.5.3 召回率 召回率指一个类被错误判断给其他类的数量,数量越少则召回率的值越高。召回率跟精确率是相互制衡的指标。如果一个类精确率提高,那么其召回率也会相应的下降。召回率的计算公式为:

(4)

1.5.4 特异度 特异度表示的是所有负例中被分对的比例,衡量了分类器对负例的识别能力。特异度的计算公式为:

(5)

前面提到的评价指标常被用在二分类模型评估上,而本试验的对象是四分类问题,因此使用平均值的方法构建试验的评价指标。

1.6 迁移学习

试验迁移学习的过程如图4所示。迁移学习[22-24]可以加快网络模型收敛进程,减少网络训练所需的样本数量和时间。利用迁移学习,将ImageNet从大量试验中得到的模型通用参数迁移到试验中,实现对玉米病害的识别。试验采用全部参数迁移、特征提取、微调3种不同迁移方法得到的模型与全新训练的MobileNetV2模型进行对比,通过准确率、精确率、召回率和特异度的对比,最终选择效果最好的模型迁移方法。

1.6.1 全部参数迁移 全部参数迁移指的是基于模型的迁移学习方法,也是最常用的迁移学习方法,即通过一些手段来对源域的样本进行权重权衡,来对源域和目标域的样本进行迁移。试验中全部迁移是采用预训练模型的结构和初始权重,即ImageNet上已经训练好的MobileNetV2模型文件在玉米病害数据集上直接应用。

1.6.2 特征提取 特征提取是指将目标域除全连接层之外的所有网络的权重冻结,将源域中模型的全连接层替换为具有随机权重的新全连接层,并且只训练新的全连接层。在本试验中,将ImageNet上已经训练好的MobileNetV2网络结构,将原本的输出层去掉,添加1个四分类的分类器,将ImageNet的MobileNetV2预先模型训练好的网络作为试验任务的特征提取器,只对最后增加的分类器参数进行重新学习,而预先训练好的网络参数不会被修改或冻结。

1.6.3 微调 微调则是重新设计要迁移模型的卷积模块,冻结网络的部分层,重新训练部分层。通俗来说,就是使用预训练网络的初始化网络,用新数据训练部分或整个网络。试验将MobileNetV2网络的第10个Bottleneck开始冻结,然后对后面的Bottleneck重新进行训练。因为底层网络捕获的是曲线、边缘这种普遍的特征,在一般卷积神经网络底层提取信息都是相通的。保证这些权重不变,让网络在学习过程中重点关注玉米病害数据集特有的一些特征,对后面的网络进行调整,直到冻结所有卷积层为止,寻找出准确率最高的微调方法作为试验的最终微调模型。

图4 迁移学习流程图Fig.4 Flow chart of transfer learning

2 结果与分析

2.1 超参数性能评估

2.1.1 batchsize值对模型性能的影响 将batchsize值设置为4的倍数,分别测试当batchsize值为16、32、64时对模型准确率的影响情况,测试结果如图5所示。当bachsize值为16时,模型识别准确率显现较低的水平。当batchsize值为32时识别准确率明显增加,当batchsize值为64时,准确率的提升不明显。最终设定试验默认batchsize值为32。

图5 不同bachsize值的测试准确率对比Fig.5 Comparison of test accuracy for different bachsize values

2.1.2 学习率对模型性能的影响 神经网络每次更新参数都会存在误差,学习率即指控制此误差的其中1个参数。当学习率设置过大时,会使损失函数曲线错过理论最优点,网络永远无法到达极值点;当学习率设置过小时,损失函数曲线离理论最优点较远,会增加网络到达极值点的时间,且容易导致网络困在局部最小值附近。试验对4种不同学习率进行测试,分别设置学习率为0.1、0.01、0.001、0.000 1,在同样条件下观察试验结果。测试结果如图6所示。本试验中,当学习率设置为0.1时,由于损失函数震幅大,一直在梯度最小值附近,导致模型准确率偏低。当学习率设置为0.01时,准确率有明显提升。当学习率设置为0.001时,准确率继续提升,但是增长幅度较小,说明学习率已经接近最优值。当学习率为0.000 1时,模型测试准确率出现降低,且准确率稳定过慢,说明学习率可能错过最优值。因此,将学习率为0.001作为试验的默认学习率。

2.2 特征图可视化对比

对MobileNetV2网络卷积块进行特征可视化,可以更好地理解该模型的识别病害过程。从卷积块(Bottleneck)浅层到深层选择进行可视化,结果如图7所示。分别选取网络第1个卷积、第2个卷积与第16个卷积进行对比。从图中可以看出卷积层图像的形状特征在第16个卷积时已经无法辨认其信息,原因是神经网络的浅层卷积层提取的特征强调的是纹理、细节等普遍存在的特征信息,在第1个卷积与第2个卷积图像上基本能比较清晰地展现出来。随着卷积层数的增加,深层卷积层提取的更多是抽象特征信息,这些抽象特征需要通过一些复杂运算才能具体描述其中的含义[25]。

图6 不同学习率下的测试准确率Fig.6 Test accuracy at different learning rates

2.3 迁移学习方法性能评估

图8是MobileNetV2迁移学习前后的混淆矩阵对比。混淆矩阵中X和Y轴的数字0、1、2、3分别对应着玉米正常叶、玉米大斑病、玉米灰斑病和玉米锈病。其中,X轴代表真实标注的标签,Y轴代表网络的预测标签,当预测标签与真实标签一一对应,即蓝色深度越深时,证明识别相应标签的效果越好。利用混淆矩阵可以明显看出模型预测结果和实际结果之间的误差。结果表明,微调模型在识别玉米大斑病和玉米灰斑病时有更好的识别准确率。

表4为4种网络模型测试集的准确率、精确率、召回率、特异度与模型训练1个epoch所用时间的对比。其中,微调模型的性能最好。在整体识别率上,微调模型分别比全新训练模型、特征提取模型和全部迁移模型高出3.09%、4.69%和1.66%。精确率、召回率和特异度也有相应的提升。对比4种模型训练1个epoch的平均时间可知,特征提取模型因为冻结了全部的Bottleneck,减少了模型对预训练的Bottleneck重新学习的过程,因此耗时最短。全新训练模型、全部迁移模型和微调训练模型的单个epoch时间所差无几,三者的epoch时间约为特征提取模型的2倍。

从试验评价指标来看,MobileNetV2微调模型最佳。从耗时成本来看,MobileNetV2特征提取模型用时最短。经过试验得出不同迁移学习方法相比传统模型在准确率和时间上均有明显优势,微调的MobileNetV2网络更适合移动端系统搭建。

图7 不同卷积层的特征图对比示例Fig.7 Comparative examples of characteristic diagrams of different convolution layers

(0)健康叶片(1)枯叶病(2)灰斑病(3)锈病 (0) Healthy leaves (1) Leaf blight (2)Gray spot (3) Rust图8 4种模型的混淆矩阵Fig.8 Confusion matrix of four models

表4 4种模型结果对比Table 4 Comparison of results of four models

如图9所示,对比传统全新训练的MobileNetV2网络,采用微调迁移学习方法的模型可以更快收敛,且微调模型的效率提升更为显著,鲁棒性更好。

2.4 玉米病害识别系统

为实现田间玉米病害的快速准确地识别,以微调的MobileNetV2模型为基础,开发移动端玉米病害识别系统。该系统无须借助网络连接,用户打开手机APP进行相应操作便可实现对玉米叶部病害的精准识别。系统界面包含“选择照片”和“实时获取”2个模块。“选择照片”模块为静态图像的识别,可通过MobileNetV2模型对用户手机中的图片或现场拍照的照片进行图像处理与结果展示。“实时获取”模块为动态图像识别,即通过调用手机摄像头权限进行视频拍摄,并把拍摄的视频流转化成图像,然后通过MobileNetV2模型进行实时分析,动态展示识别结果。系统运行过程如图10所示。

系统使用Android Studio进行开发,在编译时引入Java API、C++ API及TensorflowLite相关工具库。首先将训练好的微调模型存储为h5的格式,利用TensorflowLite自带的转换功能将模型转换为tflite 的格式。添加调用摄像头、读取图库和动态申请的权限,并在 Android 识别界面中添加“选择照片”“实时获取”按钮,将编译好的代码运行在 Redmi Note4X 3GB内存标准版测试手机上。导入图像后“识别结果”文字上方会显示导入的图像,在“识别结果”文字下方会显示识别的标签、结果、准确率及运行时间。系统识别系统界面如图11所示。

图9 全新训练模型与微调模型对比Fig.9 Comparison between the new training model and the fine tuning model

为验证玉米病害识别系统在自然场景下的鲁棒性,在大田环境下开展实测。在“选择照片”模块的测试中,先对实地病发玉米叶片进行拍照,然后随机选取50幅用作测试样本。测试结果如表5所示。经测试,本系统能够对42个测试样本进行准确识别,识别准确率为84%,每个样本的平均测试耗时为1.16 s。在“实时获取”模块的测试中,同样选择实地拍摄的视频中的50帧图像作为测试样本,本系统能够准确识别的有37帧,识别准确率为74%,每个样本的平均测试耗时为0.13 s。实地大田拍摄的图像光照背景差异较大,且在拍摄过程中存在抖动等现象,导致“实时获取”模块的识别准确率低于“选择照片”模块。“实时获取”模块中图像差异度相对较小,几乎相当于模型重复对一种图片进行识别,因此平均耗时较短。

图10 玉米病害识别系统运行图Fig.10 Operating diagram of maize disease identification system

图11 手机识别系统界面Fig.11 Mobile phone identification system interface

表5 玉米病害实地测试结果Table 5 Field testing results of maize diseases

3 结论与讨论

本研究提出一种基于迁移学习和MobileNetV2模型的玉米病害识别方法,保留了传统MobileNetV2网络模型对于浅层的识别能力,并在此基础上加入迁移学习,将迁移学习后的模型进行卷积层的删减试验。试验结果表明,微调迁移学习后的MobileNetV2模型比全新训练的MobileNetV2模型在识别效率与识别准确率方面均有所提高。微调的迁移学习方法相比于许景辉等[26]提到的迁移学习方法具有更好的识别结果。

试验结果表明,在准确率、精确率、召回率、特异度4种评价指标上,全新训练的MobileNetV2模型的结果为96.16%、95.87%、95.85%和98.75%;特征提取模型的结果为94.56%、94.15%、94.12%和98.22%;全部迁移模型的结果为97.59%、97.40%、97.40%和99.20%;微调模型的结果为99.25%、99.25%、99.20%和99.75%。通过分析发现,在4种指标的性能表现上,微调模型优于其他3种模型。在模型识别准确率上,本文的微调MobileNetV2模型方法优于王国伟等[27]的改进LeNet模型和刘翱宇等[28]的TFL-ResNet模型。这表明本试验提出的微调MobileNetV2模型能更有效实现玉米叶部病害分类,为玉米病害辨识提供一种有效可行的方法。

为了验证本研究所提方法模型的实际性能,本研究设计并实现了基于Android平台的玉米病害识别APP,并进行实地数据测试。采用拍照和实时获取2种方法进行试验,在准确率和平均耗时2种评价指标上,拍照的结果为84%、1.16s,实时获取的结果为74%、0.13s,识别准确率及速度略优于刘洋等[15]的移动端植物病害识别程序。与PRASAD等[29]的研究相比,本系统不需要手工设计特征并上传至服务器。根据本研究提出的方法搭建的系统能更好应用于日常检测玉米病害,为开发相关APP的提供参考。

猜你喜欢
微调准确率卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
乐海乐器“微调轴”研发成功
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
卷积神经网络的分析与设计
从滤波器理解卷积
高速公路车牌识别标识站准确率验证法
基于傅里叶域卷积表示的目标跟踪算法
我国的民族优惠政策应往何处去?