APP下载

基于知识蒸馏与EssNet 的田间农作物病害识别

2023-06-19温钊发蒲智程曦赵昀杰

山东农业科学 2023年5期
关键词:卷积准确率代表

温钊发,蒲智,程曦,赵昀杰

(新疆农业大学计算机与信息工程学院,新疆乌鲁木齐 830052)

如今,降低病害对农业生产的影响依然是全球重大挑战[1]。 在中欧等集约化农业生产地区因病害导致的产量减少高达50%[2],全球因病虫害造成的粮食生产损失在20%~40%之间[3]。 因此,作物病害的快速精准判别对粮食生产与农业发展具有重要意义。

传统病害判别需要农业人员实地考察判别或使用专业设备检测,时效性低[4]、主观性强、投入成本高,易误判或错过病害早期防治[5]。 随着图像处理技术的发展,研究者们将其与病害识别相结合并取得了较好的成果,但该方法需要人工选定病害特征并进行提取分割,耗时耗力且造成全局信息割裂,产生语义鸿沟[6]。 而深度学习不需要前期冗杂的数据处理工作,采用端到端的方式提取病害高级特征,在保持良好性能的同时降低其他负面影响。

冀常鹏等[7]使用Ghost 模块搭建的卷积神经网络在PlantVillage 数据集上对番茄叶面病害的识别准确率达到98.53%,参数量为2.51 M;郭利进等[8]通过修改LeNet 参数建立的深度学习卷积神经网络,在PlantVillage 玉米数据集上对其叶部3 种病害的识别准确率达到97.89%;孙文斌等[9]基于可见光谱在残差网络(ResNet)中引入注意力机制建立SMLP_ResNet18 网络,该网络在AI Challenger_2018 数据集上对多种农作物病害的识别准确率达到86.93%,模型权重为48.6 MB。 Ni等[10]结合密集连接思想改进ResNet50,相比原网络对作物病害识别的准确率提高了0.8%。 以上研究都是基于简单背景下的病害识别研究,网络模型的鲁棒性低、泛化性差,在实际复杂的农业生产环境中应用时易受外界因素干扰,准确率大幅降低。

在复杂背景病害识别研究中,孙俊等[11]在MobileNet-V2 模型中引入特征金字塔与注意力机制,使改进模型对复杂背景农作物叶片病害的识别准确率达到92.20%,参数量为3.5 M;叶中华等[12]使用目标检测SSD 模型,对复杂背景农作物病害图像识别的精度值达到83.90%;帖军等[13]通过减少ResNet34 的残差数量与网络宽度使对自然背景下柑橘病害图像的识别准确率达到93.6%;刘斌等[14]在Inception-ResNetV2 中引入注意力机制与Focal Loss 损失函数,并通过快照集成法集成模型,可使苹果叶部病害的识别准确率达到90.82%。 黄林生等[15]在ResNet18 中引入Inception 模块,并加入注意力机制,对田间8 种农作物病害的识别准确率达到95.62%,权重文件为44.2 MB。 这些研究虽然提高了复杂环境中模型的鲁棒性与泛化性,但依旧存在准确率不够理想、参数过多、权重文件过大,难以搭载至移动端进行实地应用等问题。

针对上述问题,本文以复杂背景下的玉米和苹果病害叶片为研究对象,提出一种基于知识蒸馏与EssNet 的病害识别方法,不仅实现了复杂环境下的农作物病害高效精准识别,还满足了模型轻量化要求,易于搭载至移动端,同时利用对比试验与消融试验证实了网络有效性,为以后基于深度学习的移动端病害识别模型研究提供了思路。

1 材料与方法

1.1 数据来源及预处理

1.1.1 数据采集 综合考虑模型对病害特征的显著性提取能力以及在复杂环境的鲁棒性应用,本文使用简单背景和复杂背景两大类叶片图像构成原始数据集,如图1 所示。 数据集共包含2 种作物(玉米、苹果)的9 种病害图像(苹果斑点落叶病、苹果褐斑病、苹果灰斑病、苹果花叶病、苹果锈病、苹果黑星病、玉米灰斑病、玉米大斑病、玉米锈病)和2 种健康图像(苹果健康、玉米健康),共6763 张。 图像数据从PlantVillage 数据集、New Plant Diseases Dataset 数据集、Apple Scab LDs 数据集以及实地拍摄图像中通过人工筛选、数据清洗得到,各类病害叶片图像数量如表1 所示。

表1 原始数据集样本分布

图1 作物病害图像样例

1.1.2 数据预处理 首先将原始数据集以8∶2 的比例划分为训练集与测试集,确保数据的相对独立性[16]。 然后在训练集上采用数据增强操作模拟多种田间复杂环境,提升数据多样性,缓解训练阶段的过拟合现象,提高模型的抗干扰能力[17]。颜色特征是病害表现的关键特征之一[18],为避免降低模型对病害特征的提取能力,在数据增强阶段不对颜色特征进行操作,仅采用左右翻转、垂直翻转、角度旋转、亮度调整、对比度调整5 种方式,效果如图2 所示。 为提高增强效果的随机性,同时避免数据增强过度,通过随机选取多种增强方法的方式进行增强操作,参数如表2 所示。

表2 图像增强操作

图2 图像增强效果展示

1.2 模型选取与方法改进

1.2.1 知识蒸馏 增加网络结构的深度与宽度是提高模型特征提取能力最直接的方法,但该操作会引起模型参数量变多、复杂度提高等问题。知识蒸馏(knowledge distillation,KD)[19]借助混合损失函数将学习能力强、性能优异但臃肿的教师模型先验知识萃取出来,然后传授给轻量级学生模型[20],在保证学生模型轻量化的同时使其概率分布趋近于教师模型,提高学生模型的收敛速度与性能表现。 KD 学习结构如图3 所示。 首先对教师模型标签与学生模型预测标签引入蒸馏温度进行处理,并使用KL 散度损失函数(Kullback-Leibler Divergence,KL)得到软损失函数值,如式(1)所示;再对学生模型预测标签与真实标签使用交叉熵损失函数(Cross Entropy Loss,CE)得到硬损失函数值,如式(2)所示;最后对两个损失函数值进行加权计算得到混合损失值,如式(3)所示。

图3 知识蒸馏学习结构

式中:XTi代表教师模型输出,XSi代表学生模型输出,SL 代表软损失函数值,HL 代表硬损失函数值,Tb 代表真实标签值,KDLoss代表混合损失值,i代表索引序号,n 代表i 的总数,α 代表损失权重值。

1.2.2 模型选取 随着深度学习的发展,卷积神经网络提出了许多新的结构与思想,在各个领域都取得了较好效果。 本研究将各主流网络在数据集上进行从头训练,各网络表现如表3 所示。 可见,EfficientNetB0 在测试集上的准确率、平均精确率以及平均F1 分数均最高, ShuffleNetV2_0.5 的网络参数量与训练出的模型权重最小。 因此,选取ShuffleNetV2_0.5 为基础网络,EfficientNetB0 为教师模型。

表3 网络在测试集的表现对比

1.2.3 ECA 通道重排模块 ShuffleNetV2_0.5 是Ma 等[21]提出的一种轻量级网络结构,该网络的通道重排模块由通道拆分、逐点卷积、深度卷积以及通道重排4 部分构成,如图4 所示。 其中通道拆分减少了ShuffleNetV1[22]中的卷积分组数,降低了网络碎片化程度,提高了模型运行速度;逐点卷积与深度卷积降低了卷积过程运算量,降低了模型运算复杂度;通道重排增强了拆分后各组的通道信息流动,提高了模型对全局信息的获取交互。

图4 ShuffleNetV2_0.5 的通道重排模块

但针对复杂背景下的作物病害图像识别任务,ShuffleNetV2_0.5 存在一些不足。 由于外界干扰因素过多、病斑面积大小不一,在网络特征提取过程中会出现特征丢失或特征提取错误等问题,使网络关注于叶片其他区域,基于此本文提出了ECA 通道重排模块,如图5(a、b)所示。 高效通道注意力(ECA)[23]综合考虑了输入特征各通道间的联系性与独立性,使用步长为1、大小为k 的一维卷积对输入通道计算权重,在不破坏特征信息的基础上实现了无降维的权重计算,增加了图像病害区域权重,提高了网络对病害区域特征的提取能力,如图5(c)所示,一维卷积尺寸k 计算如式(4)所示。 ECA 通道重排模块是在原深度卷积后面引入ECA 注意力机制,在不破坏病害整体特征信息的同时提高网络对复杂背景下病斑特征的关注度,从而提高网络收敛速度。 同时,在深度卷积后加入激活函数操作,并使用SiLU 激活函数作为全局激活函数,使网络在深层时具有更高精度,提高模型准确率,如图5(a、b)所示。

图5 ECA 通道重排模块

式中:|t |odd代表取最近整数,k 代表一维卷积大小,C 代表当前卷积核数量,γ=2,b =1。

1.2.4 余弦退火策略 在神经网络训练过程中,学习率是控制模型学习进度的步长,也是网络权重更新的超参数。 学习率越高,模型收敛速度越快,但此时模型容易跳过最优解位置;学习率太低,网络权重更新速度极慢,模型也可能会陷入局部最优解。 因此,本文选用周期性的余弦函数来调整学习率变化,即余弦退火策略(cosine annealing),如图6 所示。 该方法使学习率在规定周期内多次由大到小重复变化,当学习率处于较大值时,可以提高模型收敛速度,摆脱陷入局部最优解的困境;当学习率较小时,模型可以平滑地寻找全局最优解,提高模型准确率。

图6 学习率的不同调整策略

1.2.5 EssNet 网络结构 为满足作物病害识别的任务要求,本文设计了一种轻量化的网络结构EssNet,如图7 所示。 该网络以ShuffleNetV2_0.5为基础框架,由2 个卷积层、2 个池化层、16 个卷积模块以及2 个全连接层构成。 为了提高模型对病斑特征的提取能力与关注度,将原网络的通道重排模块使用ECAStage 模块进行替换,降低复杂背景对目标区域的影响,提高了网络准确率。 改进的网络得到任意像素的RGB 图像后首先将图像缩放为224×224 大小,然后对图像进行归一化处理,接着通过初始卷积层与最大池化层对特征进行提取,再将特征传入16 个ECA 通道重排模块提取高级特征,最后利用Softmax 得到叶片各类病害概率,选取最大概率作为模型输出。 网络相关参数如表4 所示。

图7 EssNet 网络结构

1.3 模型评价标准

设立评价标准可以更客观地对模型性能进行评估。 本文选用分类准确率、平均精确率、平均F1 分数、参数量、权重大小共5 个指标作为模型整体评价标准,如式(5~9)所示。

式中:Acc 代表分类准确率,Pre 代表精确率,F1_Score 代表F1 分数,Avg_Pre 代表平均精确率,Avg_F1 代表平均F1 分数,k 代表某种作物的病害种类,n 代表作物病害种类数量,TP 代表正样本被正确划分的个数;FP 代表负样本被划分为正样本的个数;FN 代表正样本被划分为负样本的个数;TN 代表负样本被正确划分的个数。

1.4 实验环境与参数设置

1.4.1 实验环境 所有网络模型的训练均在本地采用相同实验环境。 硬件方面CPU 处理器使用Intel®CoreTM i7-10875H CPU@2.30GHz,GPU图形处理器使用NVIDIA GeForce RTX 2060,显存6 G,运行内存16 G。 软件配置方面Pytorch 1.10作为深度学习框架,使用Python 3.8 编程语言在Pycharm 2020.3 平台完成网络的结构搭建与训练。

1.4.2 参数设置 本实验训练知识蒸馏温度设置为7,使用交叉熵损失函数(CE)与KL 散度损失函数(KL),选用Adam 优化器,训练过程中更新所有参数,初始学习率为0.01,最小学习率为0.0001,学习率变化周期为10 趟/次,训练趟数(Epoch)为50 趟,批处理图像数(Batch Size)为32 张/批。

2 结果与分析

2.1 不同网络的病害识别结果分析

为验证本文所提基于知识蒸馏与EssNet 病害识别方法的有效性,另选取基础网络Shuffle-NetV2_0.5、教师网络EfficientNetB0、轻量化网络MobileNetV2、ConvNext 在同一数据集上进行训练,并与本文建立方法进行对比,结果(图8)显示,由于余弦退火策略影响,本文建立的EssNet网络训练准确率出现了与学习率同周期变化的波动,但收敛速度明显高于其他4 种网络,更容易训练收敛。 由表5 可知,与原始网络相比,EssNet 准确率提高2.11 个百分点,平均精确率提高2.10 个百分点,平均F1 分数提高2.20 个百分点,模型的准确性、泛化性与鲁棒性更加优异。 EssNet 与MobileNetV2 性能相近且参数量仅为其15.6%,权重大小仅为其17.01%;虽然EssNet 性能比EfficientNetB0 低1 个百分点左右,但参数量减少91.29%,权重文件降低90.45%,进一步体现了本文建立方法的轻量化与优异性。

表5 不同网络在测试集的表现对比

图8 不同网络训练准确率变化曲线

2.2 不同超参数对网络的影响分析

2.2.1 不同温度值对知识蒸馏训练的影响 在训练过程中,蒸馏温度值与学生模型对教师模型病害识别错误的样本关注程度具有正相关性,温度值越高,学生模型对识别错误的样本关注度就越高。 本部分选用蒸馏温度分别为3、5、7 的ShuffleNetV2_0.5 网络进行训练,分析温度值对模型的影响,结果(表6)显示,当蒸馏温度为5 时,模型性能处于最低水平;当蒸馏温度为3 时,模型性能处于上升阶段;当蒸馏温度为7 时,模型性能最优。 因此,选定蒸馏温度值7 作为本文建立方法的超参数之一。

表6 不同蒸馏温度在ShuffleNetV2_0.5 的效果

2.2.2 不同最大学习率值对余弦退火策略的影响 最大学习率的数值高低影响余弦退火策略对网络训练的最终效果。 数值过高会导致学习率在本周期内波动剧烈,从而出现跳过局部最优点进入下一周期的情况;数值过低会导致网络收敛过慢,在本周期还未到达局部最优点便进入下一周期。 本部分选用最大学习率值分别为0.1、0.01、0.001 的同一网络进行训练,研究最大学习率对模型训练的影响,结果(图9)显示,当最大学习率为0.1 或0.001 时,网络尚未达到局部最优点便进入下一周期,导致模型准确率低,收敛速度慢;当最大学习率为0.01 时,每个周期内的网络训练都取得了最优准确率且收敛速度最快。 因此,选定最大学习率值0.01 作为本文建立方法的超参数之一。

图9 最大学习率对余弦退火策略的影响

2.3 消融实验结果分析

为验证本文使用方法对模型性能提升的有效性,本部分采用消融实验对各模块改进网络在同一数据集上训练,并将结果进行对比分析。 由图10 及表7 可知,在原始网络上引入知识蒸馏理论,使用教师模型对学生模型进行学习指导,加快了学生模型在训练前20 轮次中的收敛速度,在模型参数量与权重大小不变的同时,提高模型在测试集上的准确率1.16 个百分点、平均精确率1.37个百分点、平均F1 分数1.21 个百分点;在引入知识蒸馏的基础上,进一步引入ECA 注意力机制,提高了初始改进网络在特征提取过程中对病害区域的关注度,降低了复杂环境背景对模型的多因素干扰,进一步加快了模型的收敛速度,模型的准确率、平均精确率、平均F1 分数在初始改进网络的基础上分别提高了0.58、0.38、0.70 个百分点;进一步引入余弦退火策略的EssNet 网络结构由于学习率的周期动态变化,模型在网络训练中不仅可以更快速地趋于收敛,还可以更平滑地找到网络最优点,模型的收敛速度最快,性能最优,最终网络的准确率、平均精确率、平均F1 分数分别达到95.21%、94.88%、94.64%,比二次改进网络分别提高了0.37、0.35、0.29 个百分点,比基础网络分别提高了2.11、2.10、2.20 个百分点,验证了知识蒸馏理论、ECA 注意力机制以及余弦退火策略的消融性与有效性。

表7 各类方法在测试集的表现

图10 各类方法对网络训练准确率的影响

2.4 混淆矩阵结果分析

混淆矩阵可以清晰体现出模型对各类病害的识别效果,其横轴代表图像的真实病害标签,纵轴代表模型识别的预测病害标签。 本部分选取独立测试集图像数据对建立模型进行测试,结果(图11)显示,本文建立模型对2 种作物11 种病害中的大部分病害都可以达到很好的识别效果,但对苹果灰斑病的识别准确率相对较低,容易识别为苹果斑点落叶病。 这可能是由于两种病害在病斑形状、病斑颜色等特征上具有高度相似性,在病害前期或病斑不明显时容易出现识别混淆。 总之,本文所建立方法的整体表现优于现有其他网络识别方法,实现了对两种作物各类叶部病害的很好识别。

图11 EssNet 网络模型混淆矩阵

3 结论

本文针对现有农作物病害识别模型实地应用存在的多种问题,提出了一种基于知识蒸馏的EssNet 轻量级病害识别方法,实现了田间复杂背景下玉米、苹果叶部病害的快捷精准识别。 Ess-Net 网络以ShuffleNetV2_0.5 为基础网络,通过引入ECA 注意力机制降低了复杂背景与病斑面积大小不一对模型特征提取过程的干扰;利用SiLU激活函数替换ReLU 激活函数提高了在网络深层对正负标签的精度需求;基于知识蒸馏理论使用EfficientNetB0 对EssNet 网络进行训练指导,提高了模型的学习能力与收敛速度;最后通过余弦退火策略对学习率进行动态调整,使模型性能达到最优。 测试结果表明,本文建立方法在复杂背景测试集上的准确率达到95.21%,参数量仅为0.35 M,权重文件为1.49 MB,充分体现了该方法在解决复杂背景农作物病害识别问题上的优越性,可为以后的轻量级病害识别方法研究提供参考。

猜你喜欢

卷积准确率代表
诠释代表初心 践行人大使命
四季的代表
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
“代表通道”新观察
这个代表咋这么拗
从滤波器理解卷积
高速公路车牌识别标识站准确率验证法