基于注意力机制与残差网络的玉米病害识别*

2023-08-22 03:47:02倪光亮
计算机时代 2023年8期
关键词:残差准确率卷积

代 丽,倪光亮

(浙江理工大学经济管理学院,浙江 杭州 310018)

0 引言

玉米是全世界产量最高的作物,是我国重要的谷类作物、饲料和工业原料作物[1,2]。玉米作物的病虫害严重影响其产量,近年来,全球气候的持续改变进一步加剧了玉米病虫害的发生。及时发现并准确地识别出玉米病害的类型,对于病害的防治十分重要。随着计算机视觉技术的快速发展,机器学习技术在农业领域得到了广泛应用。传统的机器学习方法在农作物病害的识别中主要依靠人工设计特征,利用颜色、纹理和形状等信息构建特征向量,再通过支持向量机、贝叶斯分类器和随机森林等方法将特征向量分类[3,4]。然而,依靠人工选定特征,要消耗大量的时间对图像做预处理以及评估特征的有效性[5]。由于受植物类型、生长阶段、病害种类等因素的影响,病害症状复杂,特征提取困难,而识别模型缺乏普遍适用性,不能满足实际农业生产中的需求[6,7]。

近年来,卷积神经网络成为农作物病害图像分类上的核心模型,由于提取农作物病害的有效特征对于病害的识别非常重要,而卷积神经网络能够系统地从原始输入图像中自动学习特征,其端到端的结构简化了识别流程为农业领域的研究提供了便利[8,9]。Zhao等[10]通过将注意力机制模块SENet集成到ResNet50每个stage 之后,提出了SE-ResNet50 模型,模型对番茄中10 种病害的识别准确率达到96.81%。Zeng 等[11]提出了一种SKPSNet-50 卷积神经网络模型用于自然场景中玉米叶部病害的识别,该模型将骨干网络ResNet-50 中3×3 的卷积核替换为Kernel-Point-Swish_B(SKPS),并将ReLU 激活函数替换为Swish_B激活函数来提高病斑的特征提取能力,采用焦点损失函数解决数据类别不平衡问题,该模型对自然场景中玉米叶部病害的识别准确率达到了92.9%。因此,本文以玉米病害图像为研究对象,提出一种基于注意力机制与残差网络的玉米病害识别方法,来实现对玉米病害准确、快速地识别。

1 实验数据

1.1 数据来源

本实验所采用的玉米叶部病害图像来自于公开数据集PlantVillage,从中选取四类玉米叶部病害(包含健康叶片)的图像进行识别,分别为玉米锈病1192张、玉米灰斑病513 张、玉米健康1162 张、玉米大斑病985张。每幅图像的像素大小为256×256,4种玉米叶部病害的样本图像如图1所示。

图1 玉米叶部病害样本示例

1.2 数据增强

为了减少模型在训练时的过拟合问题,提高模型的泛化能力,使用数据增强方法对数据进行扩充。所采用的数据增强手段包括随机旋转、随机翻转、改变锐化、改变亮度、改变饱和度以及对比度变换。最终获得的玉米病害数据集包含有16400 张图片,数据集按照8∶2的比例随机分为训练集和验证集。数据集的具体信息如表1所示。

表1 玉米病害数据集

2 玉米病害识别模型的构建

2.1 残差网络结构

卷积神经网络能够在不同语义层级上对图像进行特征提取,并且网络层数越多,能够提取到不同水平的特征也越丰富[5]。随着网络层数的不断加深,网络在训练过程中会出现梯度消失或者梯度爆炸现象,且退化现象的发生也会使网络的准确率出现饱和甚至下降,网络优化也越来越困难。因此,He 等[12]提出了残差神经网络(ResNet),使得网络深度大幅提升的同时可以达到更高的准确率。

ResNet 通过恒等映射结构,采用捷径连接的方式将多个浅层网络连接起来,使得不同层的特征可以互相传递,实现了特征的复用,缓解了网络过深伴随的梯度消失问题。根据网络层数的不同,设计了两种不同残差路径的“残差学习模块”。如图2 所示:(a)是为浅层网络设计的残差模块,称之为“构建模块”,由两个3×3的卷积层构成;(b)是为深层网络所设计的残差模块,称之为“瓶颈构建模块”,由两个1×1 的卷积层和一个3×3 的卷积层所构成,其中两个1×1 的卷积层对输入进行先降维后升维的操作,一定程度上减少特征图的层数,从而减少了参数量和计算时间。

图2 残差学习模块

2.2 SENet模块

SENet[13](Squeeze-and-Excitation Networks)是一个轻量级通道注意力机制模块,如图3所示,通过关注不同通道的权重,让模型学习得到不同特征通道的权重系数,根据特征通道权重系数的大小,对有效特征通道进行增强,对无效特征通道进行抑制。SENet 模块通过以下三个步骤对特征图进行操作。

图3 SENet模块

第1 步压缩操作,将输入的特征图X使用全局平均池化进行挤压,得到大小为1× 1×C(C为通道数)的特征图Zc。计算公式如下:

其中,Zc为输出的特征图;Fsq为压缩操作;uc为输入的特征图;H,W为特征图的高和宽;i,j为特征图上的位置。

第2步激励操作,将生成的特征图Zc经过两个全连接层,第一个全连接层将特征图的通道数调整为C/16,接着使用ReLU 函数进行激活。随后第二个全连接层将特征图的通道数还原为C,经过Sigmod 激活函数,得到各通道的权重参数。计算公式如下:

其中,S为通道间调整权重的参数;Fex为激励操作;σ为ReLU激活函数;δ为Sigmod激活函数。

第3步特征重标定操作,将激励操作输出的通道权重参数与原始输入特征图的对应通道相乘,得到权值更新后输出的特征图。计算公式如下:

本文将残差学习模块(b)与注意力机制SENet模块相结合,将SENet 模块嵌入到残差学习模块(b)的第3 个卷积层之后,得到图4 中所示的SE-ResNet结构。

图4 SE-ResNet的结构

2.3 批归一化

批归一化层的主要目的是通过标准化方法使得神经网络各层每一个神经元的输入值分布服从均值为0、方差为1的标准正态分布。批归一化操作可以加快网络的收敛速度,提高模型的泛化能力。对于输入的B={x1,x2,…,xn},计算均值μB和方差。

2.4 模型的架构

本文所设计的模型SRCNN 由卷积层、批归一化层、激活层、最大池化层、2 个SE-ResNet 组合而成的双重残差模块、全局平均池化层和Softmax 层构成,其结构如图5所示。

图5 SRCNN模型结构图

首先,2 个卷积层用来提取输入图像的浅层特征信息。其次,3 个双重残差模块用于加深网络的结构同时提高模型收集图像中目标局部特征的能力,从而提高模型的识别准确率。最后,全局平均池化层和Softmax 层用于输出病害分类的结果。模型的相关参数如表2所示。

表2 SRCNN模型的相关参数

3 结果与分析

3.1 实验平台与超参数设置

本文使用的实验平台配置如下:Ubuntu 20.04 LTS 64 位操作系统,配备Intel(R) Xeon(R) Platinum 8255C(2.5GHz)处理器,运行内存为45G,显卡为NVIDIA GeForce RTX 2080Ti,11G 显存。编程语言是Python 3.8,深度学习框架是Pytorch 1.8.1 和Cuda 11.1。

本文模型的训练参数设置如下:批次大小(batch size)设置为32,训练迭代次数(epoch)设置为30,使用的损失函数为交叉熵损失函数,使用Adam 优化器来提高模型的训练速度,学习率(learning rate)设置为0.0001。

3.2 评价指标

本研究选取准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1 得分(F1-score)和单张图片识别耗时(TA),作为模型性能的评价指标。计算公式如下:

式⑹~式⑽中,TP为预测为正例的正样本的数量,TN 为预测为负例的负样本的数量,FN 为预测为正例的负样本的数量,FP为预测为负例的正样本的数量,T为验证集的总识别耗时;N为验证集图片的总数。

3.3 模型对比

表3 列出了不同模型对玉米病害的识别准确率,可以看出,本文提出的SRCNN 模型的识别准确率最高,达到了99.08%。与AlexNet、VGG-16、GoogleNet、ResNet-34 和MobileNet 模型相比,识别准确率分别高出1.43%、1.22%、1.24%、1.04%和3.54%,优于5 种主流CNN网络。同时,各模型的识别准确率变化曲线如图6 所示,从图6 可以看出,SRCNN 模型在15 轮后开始收敛,收敛速度是所有模型中最快的。此外,本文SRCNN 模型的单张图片识别耗时也是最短的,仅为48.80ms,比排名第二的AlexNet 模型减少了1.04ms,满足了玉米病害实时诊断的需求。综合以上分析,本文所提出的SRCNN 模型在识别准确率和收敛速度方面都达到了最佳性能。

表3 不同模型的识别准确率

图6 不同模型识别准确率变化曲线图

3.4 玉米病害分类结果分析

表4列出了玉米病害分类的结果,可以看出,该模型对玉米锈病、灰斑病、健康、大斑病的分类准确率分别为100%、98.01%、100%、98.25%,其中玉米灰斑病和玉米大斑病由于病害特征相似度较高,容易误分类。16张玉米灰斑病图像被识别为玉米大斑病,而14张玉米大斑病图像被识别为玉米灰斑病,这也解释了玉米灰斑病和玉米大斑病分类准确率较低的原因。

表4 玉米病害分类结果

4 结束语

本文提出了一种基于注意力机制与残差网络的玉米病害识别模型,通过在模型的卷积层后使用批归一化层,大大减少了训练时间,提高了模型泛化能力。同时,将捷径连接应用于二个SE-ResNet 组合而成的结构上,提高了模型对特征的复用能力和提取能力,进而提高模型的识别准确率。实验结果表明,所设计的SRCNN 模型在识别准确率、收敛速度和单张识别耗时上均优于其他模型,可以为玉米病害的识别提供一种新的诊断方法。考虑到自然环境中进行病害识别背景往往较为复杂,因此,如何在自然复杂背景下保证模型较高的识别准确率和较低的识别耗时是后续研究的方向。

猜你喜欢
残差准确率卷积
基于双向GRU与残差拟合的车辆跟驰建模
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
健康之家(2021年19期)2021-05-23 11:17:39
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
基于残差学习的自适应无人机目标跟踪算法
基于递归残差网络的图像超分辨率重建
自动化学报(2019年6期)2019-07-23 01:18:32
从滤波器理解卷积
电子制作(2019年11期)2019-07-04 00:34:38
高速公路车牌识别标识站准确率验证法
基于傅里叶域卷积表示的目标跟踪算法