基于多尺度特征度量元学习的玉米叶片病害识别模型研究

2023-06-04 23:20:10惠巧娟孙婕
江苏农业科学 2023年9期

惠巧娟 孙婕

摘要:传统基于深度学习的玉米叶片病害检测模型检测精度不高、模型参数量大,基于此,提出一种融合多尺度、无参数度量学习的玉米叶片病害识别算法模型。首先,利用Vgg-16、Swin Transformer网络,将玉米叶片病害图片映射到全局和局部特征空间;然后,利用多尺度特征融合网络,实现全局和局部特征的深度融合,强化特征的分类能力;最后,利用无参数元学习网络,实现待測玉米叶片病害图片与特征集之间的度量,根据度量结果,实现玉米叶片病害的快速定位与识别。在开源Plant Village数据集、自建玉米叶片病害数据集上进行了测试,所提出模型的识别准确率分别为97.45%、96.39%,同时保持了较低的识别时间开销;相比其他经典玉米叶片病害识别模型,具有更强的鲁棒性和泛化性能。

关键词:玉米叶片病害识别;多尺度特征;度量元学习;全局和局部特征;Swin Transformer

中图分类号:TP391.41  文献标志码:A  文章编号:1002-1302(2023)09-0199-06

基金项目:宁夏高等学校科学研究项目(编号:NGY2020114);宁夏种业提升工程农作物新品种展示示范项目。

作者简介:惠巧娟(1981—),女,宁夏隆德人,副教授,主要研究方向为计算机视觉、智能农业。E-mail:huiqj0308@sina.com。

玉米具有产量高、适应环境能力强的优点,是畜牧业、养殖业、化工业等领域重要的食品和饲料加工原料。然而,近年来由于全球气候变化反常以及过度使用农药等,导致玉米叶片病害的发病率明显增加,直接影响玉米的产量和质量[1]。快速准确地识别玉米叶片病害,对玉米作物的稳定生产具有重要意义。

常见的玉米叶片病害包括锈病、叶斑病、纹枯病等多种类型[2],传统识别方法主要依靠人工观察玉米叶片上形成的斑点颜色和形状进行判断[3]。然而,缺乏经验的观察者容易出现诊断错误,极易错过最佳治疗时间;同时,人工识别方法费时费力,在一定程度上存在主观性。近年来,深度学习技术在计算机视觉领域应用广泛,并且取得了突破性的进展[4]。众多研究者开始尝试将深度学习相关算法应用于农作物的叶片病害检测任务中。Sun等提出了一种基于迁移学习的玉米叶片病害检测模型,并在Inception-V3、Inception-V4、Vgg-16、AlexNet等分类模型上进行改进与测试[5]。邓朋飞等利用迁移学习的方法提出了一种玉米病害识别模型,首先利用Inception对VGG-16网络的卷积块进行改进,并借助迁移学习和压缩迭代技术对深度特征进行编码压缩,降低模型的参数[6]。董萍等为了进一步降低玉米病害识别模型的时间开销,将Inception V3模型中的5×5卷积核分解成2个大小为3×3卷积核,并借助迁移学习的思想提升了模型的泛化性能[7]。Bao等针对传统卷积网络参数多、收敛慢、泛化能力局限的问题,通过重新组合卷积层和池化层对原始卷积网络进行改进,并应用到玉米叶片病害检测任务中[8]。虽然上述玉米叶片病害识别模型在一定程度上可以缓解模型识别时间开销大的问题,但改进后的模型仍然需要在大规模数据集上进行预训练;同时,该类基于迁移学习的玉米叶片病害识别模型对于新品种病害叶片的泛化性能具有局限性。曹藤宝等针对传统玉米叶片病害识别模型精度不高的问题,利用注意力机制和稠密块网络强化模型对玉米叶片病害区域的定位精度与识别性能[9]。Chen等提出了一种基于注意力嵌入的轻量级玉米叶片病害识别模型,通过利用深度可分离卷积替换DenseNet网络中的卷积块,降低了模型的识别时间开销;此外,在每一层卷积层嵌入注意力机制,聚焦叶片病害区域的特征,强化特征的分类能力[10]。

虽然上述模型在一定程度上降低了模型的时间开销、提高了识别精度,然而大多模型仍然存在如下问题:(1)现有模型大多采用迁移学习的思想或改进卷积网络降低模型时间开销;然而,该类方法仍需要在大规模数据集上做进一步微调或预训练,限制了模型对于新品种玉米叶片病害检测的泛化性能。(2)现有的主流玉米叶片病害检测模型大多采用单一的局部或全局特征进行下游病害识别任务,极易导致信息利用不充分。针对上述问题,提出一种基于多尺度特征无参数度量学习的玉米叶片病害检测新模型,结合玉米叶片病害图片的局部特征和全局特征,构造多尺度特征;其次,利用无参数的度量学习算法缓解模型时间开销大的问题,快速定位与识别玉米叶片病害区域。

1 数据集

利用开源数据集和自建数据集进行模型的训练与测试,其中开源数据集选择Plant Village数据集[11],选取数据集中的3 852幅玉米病害及健康叶片图像,主要为健康叶片、锈病、叶斑病、纹枯病4种类型。自建数据集主要来源于宁夏当地玉米种植基地,包括大小斑病、锈病、灰斑病、健康叶片4类,总共包含1 380幅玉米病害及健康叶片图像。上述数据集均按照8 ∶ 2的比例划分为训练集和测试集,详细数据信息见表1,数据集的部分可视化样本见图1。

2 方法论

2.1 模型结构

基于多尺度特征度量元学习的玉米叶片病害识别模型结构如图2所示。主要包括全局和局部特征提取、多尺度特征融合模块、无参数度量学习模块。首先,利用Vgg-16网络、Swin Transformer网络将玉米叶片病害图片分别映射到全局特征空间和局部特征空间;其次,提出一种多尺度特征融合模块,将全局和局部特征进行深度特征融合;最后,利用元学习网络框架并结合无参数的度量学习算法,实现待测试玉米叶片的定位与识别。

2.2 特征提取

当前主流玉米叶片病害检测模型大多仅利用传统卷积网络,提取单一的全局特征,导致给定图片信息利用不充分,尤其是对于早期农作物病害区域小、特征不明显的测试样本,极易造成漏报或误报,进而耽误最佳治疗时间。为此,本研究通过提取全局和局部特征,深度挖掘玉米病害区域的深层次特征,提高特征的区分能力。

2.2.1 全局特征提取 为了将玉米叶片病害图片映射到深度全局特征空间,采用图3所示的Vgg-16网络[12]挖掘玉米叶片病害区域的整体属性,包括颜色、纹理、形状特征。其中,Vgg-16网络由13个卷积层和5个池化层组成,此处,将全连接层截断,仅将第5个池化层的输出作为全局特征。具体计算如公式(1)所示。

式中:Fsvgg表示全局特征;Pool(·)表示全局平均池化层;Conv13(·)表示卷积层操作;Is表示玉米叶片病害图片。

2.2.2 局部特征提取 现有玉米叶片病害识别模型大多仅采用单一的全局特征,对于局部特征利用不充分。受SwinTransformer网络在小目标检测任务中应用成功的启发[13-14],本研究尝试利用SwinTransformer将玉米叶片病害图片映射到局部特征空间。SwinTransformer网络在VisionTransformer网络的基础上,利用多倍率的下采样操作,细粒度地捕获多层次特征,缓解玉米叶片早期病害区域小、特征不明显造成的特征丢失问题。此外,SwinTransformer网络引入了窗口机制,进一步提高了对目标区域细节特征的捕获能力。SwinTransformer网络结构如图4所示。

SwinTransfromer网络的核心部分主要为窗口多头自注意力(windows multi-head self-attention,W-MHSA)和偏移窗口多头自注意力(shifted windows multi-head self-attention,SW-MHSA)模块。假设玉米叶片病害图片经过Patch Partition后,首先在W-MHSA窗口内将整个映射特征图划分为W个窗口;Swin Transformer网络4个阶段的窗口个数分别为4、8、16、32;然后,在窗口内部计算多头自注意力,具体计算如公式(2)、公式(3)所示。

式中:FW-MHSA′表示窗口多头自注意力机制的输出特征图;W_MHSA(·)表示窗口多头自注意力机制;LN表示特征标准化;FW-MHSA表示窗口多头自注意力模块的最终输出; MLP表示多层感知机。虽然利

用窗口机制可以捕获玉米叶片病害区域的局部特征,然而仅在窗口内部进行多头注意力运算,极易忽略窗口间的信息流动。为此,将多头自注意力机制的输出,作为偏移窗口多头自注意力SW-MHSA的输入,利用窗口之间的偏移量,来细粒度划分玉米叶片病害特征图,在保持窗口间信息交互的同时,捕获玉米叶片病害区域的细粒度局部特征。偏移窗口多头自注意力SW-MHSA内部运算流程如公式(4)、公式(5)所示。

式中:SW_MHSA(·)表示偏移窗口多头自注意力机制;FSW-MHSA表示偏移窗口多头自注意力机制的输出特征图,即玉米叶片映射到局部特征空间中的局部特征图。

2.3 多尺度特征融合

为了强化玉米叶片病害特征的区分能力,将提取的全局和局部特征进行深度融合,构造多尺度特征集F,缓解传统玉米叶片病害识别模型仅利用单一特征而造成信息丢失的问题。特征融合详细流程如图5所示。

首先,计算全局特征Fsvgg和局部特征FSW-MHSA的融合矩阵F′,用于多尺度特征之间的信息交互,计算如公式(6)所示。

然后,利用SoftMax函数按矩阵行计算注意力分布权重w,权重值越大表示特征相关性越大,融合特征更具有区分能力,计算如公式(7)所示。

最后,将全局特征与注意力分布权重进行矩阵乘法运算,获取全局特征注意力图Fsvgg′;并在此基础上将局部特征FSW-MHSA与全局特征注意力图进行相乘,得到最终的多尺度融合特征集F,用于表示玉米叶片病害区域的分类特征。计算如公式(8)、公式(9)所示。

2.4 无参数度量学习

为了降低玉米叶片病害识别模型的时间开销,采用无参数的度量学习计算融合特征集和待识别玉米叶片映射特征之间的相似度,根据相似度值快速定位与识别叶片的病害区域。首先利用卷积网络将待测试玉米叶片图片映射到深度特征空间;然后,利用余弦相似度,逐區域逐位置计算映射到深度特征空间的待测试图片特征与融合特征F之间的相似度分数,并借助argmax函数计算每个位置处的最大相似度值,最终将所有位置的识别结果进行拼接,得到玉米叶片病害区域的识别结果。具体计算如公式(10)至公式(12)所示。

式中:S′(x,y)i表示位置(x,y)处映射到深度特征空间的待测试图片特征F(x,y)test与融合特征F(x,y)之间的相似度分数;cos(·)表示余弦相似度函数;S(x,y)i表示第i个区域位置(x,y)处的最大相似度分数;cat(·) 表示拼接函数;Rs表示待测玉米叶片病害区域的总分数值。最后,为了优化所提出玉米叶片病害检测模型的识别性能,采用交叉熵损失函数进行损失计算,根据损失值实现模型端到端的优化。

3 试验与分析

3.1 试验环境与评价指标

选择64位Windows 10操作系统,搭载NVIDIA V100的32 GB GPU,并采用PyTorch 1.7.1深度学习框架编码,编程语言采用Python 3.7,显卡Cuda版本为10.0;优化器选择SGD,初始学习率为1×10-3,batch大小设定为8。模型在训练集、测试集上的准确率变化、损失函数曲线如图6所示。模型约经过60个epoch后基本收敛,并且此时准确率已超过97%,loss值也达到了最低;为此,所提出模型的所有试验均在epoch为60的基础上进行。

选择当前主流的评价指标:准确率(Accuracy)、精准率(Precision)和召回率(Recall),计算如公式(13)至(15)所示。

式中:TP表示模型判斷为正样本的个数;TN表示模型判断为负样本的个数;FN表示将样本错误判断为负样本的个数;FP表示将样本错误判断为正样本的个数。

3.2 消融试验

为了分析玉米叶片病害图片的全局和局部特征对所提出模型识别性能的影响,在2个数据集上进行了表2所示的消融试验。可以看出,在开源的Plant Village数据集上,虽然单一使用局部或全局特征可以实现91%以上的识别准确率,但结合局部和全局多尺度特征,所提出模型可以实现96.39%的准确率、96.22%的精准率、97.63%的召回率。此外,在自建的玉米叶片病害小样本数据集上有类似的发现,即单一使用全局特征或局部特征不足以充分表示玉米叶片的病害区域,结合多尺度特征可以有效提高识别性能。

3.3 对比试验

3.3.1 识别性能分析 为了验证所提出模型的有效性,在开源Plant Village数据集上与当前经典玉米叶片病害识别模型进行对比试验,结果如表3所示。

由表3可以看出,所提出模型在准确率、精准率、召回率上均具有较强的竞争力。虽然在精准率上,所提出模型比Improved-CNN模型有所差距,但Improved-CNN模型的识别性能是在原始数据样本经过平移、滤镜等数据增强操作场景下取得。尤其是在准确率上,所提出模型比识别性能最好的LeNet-5、TNN模型分别提高了0.15、1.11百分点;在精准率上,比AEL-Net模型提高了14.73百分点;在召回率上,比Improved-CNN、AEL-Net模型,分别提升了0.16、14.07百分点。究其原因,所提出模型结合全局和局部特征构造了多尺度特征,充分挖掘了玉米叶片病害区域的特征,强化了特征的区分能力。

3.3.2 时间性能分析 传统玉米叶片病害识别模型大多利用迁移学习或利用深度可分离卷积改进传统卷积块,通过降低模型参数量来降低时间开销;然而,该类模型仍然需要在大规模数据集上进行微调或预训练,并且对于新测试类型的玉米叶片病害图片的泛化能力具有局限性。针对上述问题,本研究从无参数度量学习角度出发,利用无参数学习的余弦相似度来计算特征之间的相似度值,根据相似度值快速定位与识别玉米叶片病害区域,进而缓解模型的时间开销。为了验证所提出模型在时间开销方面的性能,选择当前经典的玉米叶片病害模型TNN、YOLOv5、AEL-Net、ResNet、AlexNet[18]等进行时间开销对比,结果如图7所示。

由图7可以看出,所有对比模型中,所提出模型在时间开销方面表现仍然具有较强的竞争力。进一步验证了所提出模型在利用多尺度特征提高识别性能的同时,还可以利用无参数度量学习缓解模型的时间开销。

3.4 不同类型病害的识别效果分析

由于玉米叶片病害类型不同,病害区域的纹理、颜色、形状也不尽相同,为了测试所提出模型对多类型玉米叶片病害的识别性能,进行了多个分类测试。图8给出了所提出模型在Plant Village和自建数据集的测试图像上进行预测的混淆矩阵。所提出模型在Plant Village数据集上对锈病、健康叶片、叶斑病、纹枯病的平均识别准确率分别为92.00%、97.00%、95.00%、97.00%。在自建数据集上对锈病、健康叶片、灰斑病、大小斑病的平均识别准确率分别为93.00%、97.00%、96.00、94.00%。图9给出了所提出模型在2个数据集上对多类型玉米叶片病害的可视化测试结果。可以看出,所提出模型无论在开源Plant Village数据集上还是自建数据集上均实现了较好的识别性能,进一步验证了局部和全局特征联合使用对于识别性能提升的积极作用。

4 讨论和结论

本研究探究了玉米叶片病害图片的全局和局部特征对于玉米叶片病害识别模型的影响程度,并结合无参数度量学习缓解模型识别时间开销大的问题。通过在开源数据集和自建数据集上,对多种玉米叶片病害进行识别与分类,试验结果与相关结论如下。

(1)在开源的Plant Village数据集上,实现了97.45%的准确率、98.18%的精准率、97.52%的召回率;在自建数据集上,实现了96.39%的准确率、96.22%的精准率、97.63%的召回率。

(2)所提出模型在Plant Village开源数据集上的测试时间为17.8 s,验证了使用无参数度量学习可以较好地降低玉米叶片病害识别模型的时间开销。

(3)虽然单一的局部或全局特征可以实现部分玉米叶片病害的定位与识别;但是,结合全局和局部特征,构造多尺度融合特征,可以有效提升模型的识别性能。

参考文献:

[1]Zhang X H,Qiao Y,Meng F F,et al. Identification of maize leaf diseases using improved deep convolutional neural networks[J]. IEEE Access,2018,6:30370-30377.

[2]Lin Z Q,Mu S M,Shi A J,et al. A novel method of maize leaf disease image identification based on a multichannel convolutional neural network[J]. Transactions of the ASABE,2018,61:1461-1474.

[3]Ahila Priyadharshini R,Arivazhagan S,Arun M,et al. Maize leaf disease classification using deep convolutional neural networks[J]. Neural Computing and Applications,2019,31(12):8887-8895.

[4]Li Z C,Zhou G X,Hu Y W,et al. Maize leaf disease identification based on WG-MARNet[J]. PLoS One,2022,17(4):e0267650.

[5]Sun X L,Wei J S. Identification of maize disease based on transfer learning[J]. Journal of Physics:Conference Series,2020,1437(1):012080.

[6]邓朋飞,官 铮,王宇阳,等. 基于迁移学习和模型压缩的玉米病害识别方法[J]. 计算机科学,2022,49(S2):444-449.

[7]董 萍,卫梦华,时 雷,等. 迁移学习在玉米叶片病害识别中的研究与应用[J]. 中国农机化学报,2022,43(3):146-152.

[8]Bao W X,Huang X F,Hu G S,et al. Identification of maize leaf diseases using improved convolutional neural network[J]. Transactions of the Chinese Society of Agricultural Engineering,2021,37(6)

[9]曹藤宝,张 欣,陈孝玉龙,等. 融合空间注意力机制和DenseNet的玉米病害分类方法[J]. 无线电工程,2022,52(10):1710-1717.

[10]Chen J D,Wang W H,Zhang D F,et al. Attention embedded lightweight network for maize disease recognition[J]. Plant Pathology,2021,70(3):630-642.

[11]张开兴,吕高龙,贾 浩,等. 基于图像处理和BP神经网络的玉米叶部病害识别[J]. 中国农机化学报,2019,40(8):122-126.

[12]Sibiya M,Sumbwanyambe M. Automatic fuzzy logic-based maize common rust disease severity predictions with thresholding and deep learning[J]. Pathogens,2021,10(2):131.

[13]Bi C G,Hu N,Zou Y Q,et al. Development of deep learning methodology for maize seed variety recognition based on improved swin transformer[J]. Agronomy,2022,12(8):1843.

[14]Tao Y,Chang F L,Huang Y H,et al. Cotton disease detection based on ConvNeXt and attention mechanisms[J]. IEEE Journal of Radio Frequency Identification,2022,6:805-809.

[15]蘇俊楷,段先华,叶赵兵. 改进YOLOv5算法的玉米病害检测研究[J]. 计算机科学与探索,2023,17(4):933-941.

[16]熊梦园,詹 炜,桂连友,等. 基于ResNet模型的玉米叶片病害检测与识别[J]. 江苏农业科学,2022,50(23):1-8.

[17]何 前,郭峰林,方皓正,等. 基于改进LeNet-5模型的玉米病害识别[J]. 江苏农业科学,2022,50(20):35-41.

[18]Lv M J,Zhou G X,He M F,et al. Maize leaf disease identification based on feature enhancement and DMS-robust alexnet[J]. IEEE Access,2020,8:57952-57966.