基于改进轻量级卷积神经网络MobileNetV3的番茄叶片病害识别

2024-10-21 00:00:00姜柘宇
农业灾害研究 2024年7期

摘 要:番茄叶发生较为普遍,现有的检测手段存在检测效率和准确性不高的问题。因此,利用深度学习技术对番茄叶进行诊断意义重大。近年来,以卷积神经网络(CNN)为代表的作物病害诊断方法凭借较强的特征抽取能力,已成为作物病害诊断的一种重要手段。为了解决传统卷积神经网络模型规模大、训练时间长的问题,拟基于MobileNetV3网络模型,通过模型压缩、模型结构和损耗函数的改进,以及训练参数的优化,实现基于MobileNetV3的网络模型。试验证明,在测试用例上,提出的方法能有效地提高识别率,减少运算量。同时,该方法能够提高系统的识别率。

关键词:番茄叶片病害识别;卷积神经网络;迁移学习;MobileNetV3

中图分类号:S436.412 文献标志码:B 文章编号:2095–3305(2024)07–00-03

近年来,由于计算机技术的快速发展,基于深度学习的计算机视觉研究得到了长足的发展。作为一种常见的深度网络,卷积神经网络在图像、视频等方面有着广泛的应用。卷积神经网络是一种基于卷积神经网络的对象检测方法,它是一种模仿人眼视觉的方法,可以实现对物体的特征提取与分类[1]。卷积神经网络是一种高效的特征抽取方法,可以从图像中有效地获取关键信息,并对其进行自动分类。

1 研究方法

以MobileNetV3为研究对象,在此基础上,对其模型进行了压缩与完善。MobileNetV3网络由卷积层、池化层和完全连通层三部分构成[2]。第二层卷积由2个1×2卷积和1个3×3卷积构成,用于提取图像的特征。其中,完全连通层为6×6卷积网络,可以对标记进行预测。最后的完全连通层是3×3卷积和2×3×3卷积,实现标记信息的输出。当前,卷积神经网络存在对图像进行标准化处理的问题,即首先对图像进行归一化处理,然后对其进行反卷积运算,获得相应的特征信息,最后由完整连通层输出。但其具有数据规模庞大、运算量大的不足。

为了降低计算复杂度,利用SGD算法优化了移动网络V3模型的参数。SGD是一种基于Sigmoid函数的快速迭代算法,可以调节梯度递减学习速率。Sigmoid由于是一个指数型的,可以很好地解决梯度下降法中容易陷入局部极小的问题。

1.1 模型压缩

MobileNetV3模型使用的是卷积运算,而卷积运算的权重固定不变,若将其直接用于小样本的训练,极易造成网络过拟合,从而影响预测精度。因此,网络模型的压缩显得尤为重要。在对网络进行压缩时,首先确定网络的权重,然后调整各单元的权值,最后利用SGD算法优化各单元的权值。在样本较少的情况下,可以将训练集划分为若干子集。试验结果表明,该方法的预测精度较原预测方法提高了4%,所以选择了最优模型为基本模型。

1.2 改进的轻量级卷积神经网络模型

传统卷积神经网络的参数选择主要依赖于训练误差[3]。针对此问题,本研究提出一种基于卷积神经网络的新型卷积神经网络方法,通过以下几个方面的研究:(1)将卷积核转化为1×4卷积核,省去了解卷积的步骤;(2)对卷积核进行缩放运算;(3)采用LeakyRe LU替代ReLU,使得该算法更轻量化。

试验结果显示:(1)该方法在应用于番茄叶数据集时,其运算速度比原有的MobileNetV3模型快3倍以上,并且在检测速度上有较大的提升。(2)该方法的识别准确率明显高于原有方法;在参数个数上,该算法相当于原算法的1/3,从而大幅度降低了参数个数。(3)该方法能有效提高检测的速度。(4)该方法在应用于番茄叶分类识别方面有较大的优越性。(5)采用轻量化的网络结构LMN,降低模型的参数个数,提高模型的执行效率。(6)该方法利用卷积神经网络中的3×3卷积核代替传统的2×2卷积核,既能保证计算精度,又能适应轻量化的网络结构[4]。

2 数据集的准备

为了验证该方法在番茄叶诊断中的有效性,拟采用已公布的番茄叶部疾病数据库(VTDCD),对该模型进行训练与检验。试验过程中,收集了18幅番茄叶片病害和1幅非番茄叶片病害的影像,其中番茄叶片病害12幅,非番茄叶片病害数据集共13幅,包括霜霉病、叶斑、白粉病、炭疽病、枯萎病、黑星病、赤星病、黄化症等。按发病程度,将各病害划分为1级灰霉、4级病害,各8幅图片。病害类型的鉴别困难程度也不同,灰葡萄孢在图像上的像素数很少,但在图像上的像素数很大,而且分布不均匀。

通过对不同类型疾病的分类,建立了同一类别的疾病分类模型。为提高模型的训练效率,从样本集中随机选取部分图像并组成测试集。其中,灰葡萄孢灰霉菌侵染10份,病害10份,其中仅1份为灰霉病,8份中仅1份为疫病。试验选择了训练集作为试验样本。每种病害类别抽取100个样本作为模型的训练样本。该方法首先对样本进行预处理,然后再对样本进行训练,最后用样本集对模型的有效性进行检验。

为了检验该方法的有效性,在同一样本上对多个模型进行了检验。在此基础上,拟对所采集的图像进行训练,提高模型的多样性。在试验中,对训练好的训练样本进行训练。针对图像预处理后的图像尺寸与原始图像尺寸相近的特点,将其分为2个阶段:训练阶段和试验阶段。试验结果显示,在对原始数据进行预处理后,对原始数据进行检测的方法,其正确率要比直接检测高(图1)。

3 模型训练与参数优化

Adam算法是一种基于梯度下降的优化算法,其基本原理是通过优化梯度,找到全局最优解,然后将其应用于各个参数,重复不断地调整超参数以使模型达到最优。研究中采用Adam优化算法对模型的超参数进行优化,使用的训练集是一个包含593张番茄叶片数据的图像数据集,而测试集是在原数据集中随机选取的。为了能够对网络进行训练,在训练过程中将图像进行了大小为256×256的像素级别裁剪。其中,将图像裁剪为256×256和1024×1024的2种规格,是为了保证在训练过程中,这2种规格能够在神经网络中同时起到作用。

训练过程中,选取了不同的超参数进行试验。其中,权重初始化为0.000 1,最大学习率为0.000 1,初始连接层个数为5,步长为0.02。试验中设定训练时间为30 min。为了防止过拟合现象出现,还利用交叉熵损失函数。为了更好地获取模型性能,对照参数进行了优化。

4 试验结果分析与方法

试验素材包括训练集和测试集,采用交叉验证方法进行。为了提高模型的泛化能力,将模型在测试集上的表现作为训练集,训练集的数据来自网络公开数据集 Tokenized Volume,共包含7个类别的叶片病害图像数据集。为验证改进后的模型在不同网络模型大小下识别叶片病害的性能,对MobileNetV3网络进行模型压缩处理,将其分为大小为3×3的测试集、5×5的训练集和16×16的测试集3部分。经过压缩处理后的网络模型,在测试集上识别准确率达到93.2%,而MobileNetV3网络模型在测试集上识别准确率为81.3%。经过压缩后网络模型在测试集上的分类精度显著提高。

为了进一步验证该网络模型在实际应用中的性能,将MobileNetV3网络模型与改进前的MobileNetV3网络模型进行对比。为了便于对比分析,分别使用训练集数据和测试集数据训练了2个网络模型,以验证改进后的MobileNetV3网络模型的有效性。训练过程中使用交叉验证方法对参数进行优化,并获得2个模型在不同参数下识别准确率的曲线图(图2)。

4.1 模型压缩前后的识别准确率对比方法

在试验过程中,分别对MobileNetV3网络模型进行了压缩,并在训练过程中使用交叉验证法对模型参数进行优化,使其在不同的网络模型大小下都具有较高的识别准确率。为了分析不同网络模型大小对识别准确率的影响,对MobileNetV3网络进行了压缩处理,并使用训练集数据和测试集数据对其进行训练,以验证该网络模型在不同的网络模型大小下的识别准确率。因此,提出的改进后MobileNetV3网络模型具有良好的识别效果。

4.2 不同网络模型大小的识别准确率对比方法

为了对比不同网络模型大小对番茄叶片病害识别准确率的影响,利用训练集和测试集分别对MobileNet V3网络模型与改进后的MobileNetV3网络模型进行训练,并对比不同网络模型大小的识别准确率结果显示,随着网络模型大小的增加,其在测试集上识别准确率逐渐降低,当网络模型大小为16×16时,其在训练集上识别准确率为92.3%,而在测试集上识别准确率仅为81.3%。这主要是因为网络模型越大,其特征提取能力越强,但其计算量也随之增加。当网络模型大小达到一定程度时,对训练集和测试集的特征提取能力已经没有过大的提升空间。为了进一步验证改进后的MobileNetV3网络模型对番茄叶片病害识别准确率的影响,将网络模型分为大小为3×3、5×5和16×16三部分进行训练和测试[5]。

4.3 交叉验证法

交叉验证法是一种用于寻找最优参数的优化方法,其目标是选择一个或多个在训练集上表现良好的参数,然后用此参数测试不同的测试集数据,比较其识别准确率。随着网络模型深度的增加,其识别准确率逐渐降低,但模型在深度为2、3、4和5层时的识别准确率均达到90%以上。试验中没有使用更深的网络模型进行研究,主要是因为较深的网络模型训练时间较长且其识别准确率会随着网络深度的增加而降低。此外,在实际应用中,为提高识别准确率,一般会使用更深的网络模型进行训练。由于采用改进后的轻量级卷积神经网络MobileNetV3,相较于普通卷积神经网络MobileNetV3的网络训练时间,较深网络模型训练时间大幅缩短,因此在实际应用中更具有优势。

5 模型的可视化分析

改进后的MobileNetV3模型采用的是轻量级模型,但由于其尺寸较小,在处理大规模数据时仍会出现梯度爆炸问题。因此,为了避免出现该问题,需要在模型训练过程中适当调整损失函数,使其尽可能地收敛。同时,为了保证在模型训练过程中能够及时检测到训练的参数,需要及时调整网络。由于图像特征的提取是一个相对复杂的过程,因此通过使用CNN自适应权重更新算法调整卷积层的权重,实现模型的优化。该方法充分利用了CNN所具有的多尺度和深层特征提取能力,加快了图像特征提取速度。同时,在损失函数中加入了梯度下降法进行优化。经过对试验数据进行训练后,将测试数据与训练集一起进行测试。通过可视化分析可知,改进后的网络模型在测试集上取得了较好的分类效果(准确率为92.8%)。

5.1 测试集分类效果

通过对试验数据集进行预处理,使其更适合模型的训练。在预处理时,对于原始图像进行裁剪,再对图像进行旋转、放大、镜像等操作,使其更符合模型的训练要求。对于预处理后的图像使用Focus进行裁剪,裁剪后的图像使用RGB模式进行显示。改进后的MobileNetV3模型在测试集上的准确率为92.8%,高于采用VGG16、ResNet50等传统卷积神经网络模型对测试集进行分类,同时在一定程度上减少了计算量,提高了模型的训练效率。该模型在识别番茄病害时,准确率为92.8%。检测到病害的叶片数为72个,其中有32个病害叶片被正确识别。

5.2 模型收敛速度

为了对模型的收敛速度进行评价,使用了2种方法,分别是单次训练法和多次训练法。单次训练法是指在训练过程中只使用一次网络模型的参数,多次训练法是指在每次训练过程中都使用多次参数进行训练。由于单次训练法和多次训练法都需要调整模型参数,因此两者的收敛速度存在明显差异。因此,通过试验对比了这2种方法对网络模型收敛速度的影响。其中,将设计的MobileNetV3模型与经典的卷积神经网络(如VGG)和ResNet50等进行对比,发现经过改进后的MobileNetV3模型在收敛速度上优于其他2种模型。试验结果表明,通过引入自适应权重更新算法和优化损失函数,MobileNetV3模型的收敛速度明显加快,这一点符合预期。

6 结束语

试验结果表明,在不降低识别精度的前提下,改进了MobileNetV3模型的结构和损失函数,将网络大小缩小3倍,计算成本降低40%。改进后的模型不仅可以达到较高的分类精度,还具有较低的计算成本。该模型可应用于农业领域中对番茄叶片病害进行快速、准确地识别,具有较好的应用前景。

参考文献

[1] 苗荣慧,李志伟,武锦龙.基于改进YOLO v7的轻量化樱桃番茄成熟度检测方法[J].农业机械学报,2023,54(10):225 -233.

[2] 周巧黎,马丽,曹丽英,等.基于改进轻量级卷积神经网络MobileNetV3的番茄叶片病害识别[J].智慧农业(中英文), 2022,4(1):47-56.

[3] 胡玲艳,周婷,许巍,等.面向番茄病害识别的改进型Sque-ezeNet轻量级模型[J].郑州大学学报(理学版),2022, 54(4): 71-77.

[4] 罗鸣,方睿,徐铭美,等.基于迁移学习和轻量级卷积神经网络农作物病害识别[J].现代计算机,2021,27(32):16-21.

[5] 贾鹤鸣,郎春博,姜子超.基于轻量级卷积神经网络的植物叶片病害识别方法[J].计算机应用,2021,41(6):1812-1819.