韩永奇 马东贺 张芸
摘要:本文利用残差网络结构模型,针对人参白粉病、黑斑病、灰霉病、炭疽病、疫病5种病害,共105个数据集进行测试和训练,生成人参叶片病害识别模型,利用ResNet18网络模型完成了对人参叶片病害的检测。结果表明,在经过多次参数优化后,ResNet18模型的分类精度可以达到99%。
关键词:残差网络;人参病害;ResNet18
中图分类号:TP389 文献标识码:A
文章编号:1009-3044(2022)23-0005-03
1 前言
人参在生长的过程会受到当地的空气湿度、温度、气候、土壤等环境因素和工业化的废气、废水等人为因素的影响,都会直接影响到人参的健康生长[1]。而经过人们的种植经验和许多生物学家的不断探索发现,人参的健康状况可以直接体现在叶片的质量和生长情况上。为了确保人参的健康生长,在其发生病害时,及时地诊断出叶片病害并进行治疗是十分有必要的。目前,我国对各种植物的病害诊断,还是以人工检测为主,这种诊断方式效率较低,很容易造成误判,已经渐渐无法满足如今农业现代化和信息化的要求。近年来,随着人工智能和深度学习的蓬勃发展,越来越多的研究开始探索,利用神经网络强大的学习能力和识别能力,通过植物叶子的图像对植物病害进行检测[2]。这种将机器学习技术应用到植物病害检测的方法,使得植物病害检测更加准确方便,节省了大量的人力物力[3-4]。
2 残差网络
针对一般卷积神经网络易出现过拟合和梯度消失问题,提出了基于残差网络(Residual Networks,ResNet)结构的ResNet模型。其基本思想是将残差块加入到深层卷积神经网络中,将深层网络模型构建为浅层网络模型和自身映射的叠加,然后把训练好的浅层网络结构与自身映射的增加层,通过残差块进行巧妙连接。大量的实验结果证明,残差映射比原始最优解映射更容易得到优化[5-7]。
如图1所示,确定叶片图像病害检测所用的网络模型后,开始对原始的图片样本数据进行预处理。由于本次研究的原始数据样本数量较小,所以在实验过程中拟对图像进行预处理和数据增强[8];然后将处理后的图像通过ResNet网络模型进行训练,得到训练后的网络模型;最后利用已训练的模型对随机选择的人参叶片进行病害诊断,得到诊断结果[9-10]。
3人参叶片病害诊断模型构建
本实验准备将患有不同病害的人参叶片图片作数据集,利用ResNet18网络模型对其训练,完成病害图片的分类。诊断模型的构建分两步:
(1)对用于模型训练与测试的人参叶片图片进行数据预处理操作,包括对图片做分类标签、等分辨率裁剪、按比例划分训练集和测试集等操作。
(2)加载ResNet18预训练模型,结合人参叶片图片进行微调训练,观察模型训练收敛速度,调整超参数到最佳,得到微调之后的人参叶片图片分类模型。
3.1 数据处理
在利用深度学习进行分类和检测时,为了让模型的泛化能力更好,往往需要准备质量达到标准且已做好分类标记的数据来训练网络,数据对模型最后学习的结果有着直接的影响,数据集的准备是重中之重的部分。本次实验采集了50张人参叶片图片数据,其中包含了5种常见的人参叶片病害:“白粉病-8”“黑斑病-14”“人参灰霉病-26”“人参炭疽病”“人参疫病”,如图2所示。
为了保证模型的泛化能力,本文在已有人参图片样本的基础上,通过一定的数据增强方法对几种人参病害的数据进行了扩充。本次实验中主要采用了以下方法对人参叶片病害图片数据集进行了扩充,所使用的函数均为深度学习包Keras下的ImageDataGenerator这个类,该类可以很方便地给原始数据加入一些随机扰动。
(1)将原始图像水平和竖直平移一段距离,并保存新图像。在实验时设置平移的最大范围占整个图片宽、高的20%,对于由于平移而空出来的区域,选择的填充方式为“wrap”。设置代码为:
ImageDataGenerator(width_shift_range=0.2, height_shift_range=0.2, fill_mode='wrap')。平移后的图片示例如图3所示。
(2)将原始图像随机旋转一定的角度,并保存新图像。实验中將图片旋转范围设置为45,即图像会在[0°,45°]的范围内任意旋转一个角度。设置代码为ImageDataGenerator(rotation_range =45)。旋转后的图片示例如图4所示。
经过以上处理,将原始的数据集扩展为原来的5倍,大大增加了样本的多样性,减小了样本过拟合的风险,增强了模型的泛化能力。
在得到人参叶片图片后,还需要对所有图片进行病害分类标记,并将标记后的数据存入.txt文件中,标记规则如表1所示:
对于数据集中的每张图片,若患有该种病害则标记为1,反之则为0。例如第二张图片为“白粉病-8”,则第二张图片在不同标记数据中的值为1、0、0、0、0。同时,由于在大部分的分类网络中,图片在输入网络前,需要保证尺寸一致。因此,在完成病害图片的标记后,需要对图片的尺寸进行调整。本次实验采集到的人参图片分辨率均大于300×300,所以将图片裁剪为224×224的统一尺寸,作为网络的数据输入。
3.2 模型训练
本次选择的操作系统版本为Ubuntu 18.04长期维护版,计算机内存为16G,显卡为NVIDIA GeForce GTX 1650,编程语言采用Python 3.6版本,同时实验基于深度学习框架PyTorch进行开发,集成开发软件为JetBrains PyCharm。
在完成了图片数据的预处理后,本次实验采用基于ResNet18的网络模型对人参病害叶片图片进行分类。首先,将每一类的图片按照8:2的比例分为训练集和验证集。为了进一步提高本次实验所用模型的泛化能力,本实验采用的神经网络模型为已经过预训练的ResNet18模型,将此模型进行微调,得到调整之后的模型。将此模型加载到本实验所采用的人参叶片图片分类模型中,调整模型参数,通过迁移学习的方法完成对小样本图片数据的分类。
在深度学习的训练过程中,包括批处数量Batch_size、学习率、优化算法等超参数对网络的训练精度有着非常重要的影响。实验中通过多次试验的精度对比,确定了效果最好的一组参数,具体参数如表2所示。
在参数设置完成后,即可将人参葉片图片输入ResNet18预训练模型中进行训练。ResNet18模型的网络配置参数如表3所示。
表3只展示了整个Resnet18模型中卷积层、全连接层的配置参数,每一层所使用的激活函数和Batch Normalization。下面以第二个卷积层Conv2_x为例,说明具体的网络结构,如图5所示。
从图5中可以看出,在输出层之前的每一个卷积操作之前,都会加上Batch Normalization(BN)操作和ReLu激活函数。在卷积操作之后,首先进行Batch Normalization操作,对数据进行归一化为均值为0,方差为1的数据,使数据进入下一层之前保证参数量级没有很大的变化。在不同卷积层之间加入Batch Normalization可以加速收敛,降低了权重值的尺度对模型的影响,并且在小样本图片训练过程中加入Batch Normalization,可以代替Dropout,抑制模型的过拟合。模型在BN层之后引入了激活函数ReLu,增加模型的非线性映射能力。模型其他层的结构与Conv2_x层类似,在通过Conv5_x和池化层后利用Softmax输出最终的分类结果。
3.3 实验结果
实验中基于已训练的ResNet18网络模型对单个种类的人参叶片病害图片检测精度对比如表4所示。
从表4中可以看出,虽然本文所用的人参叶片图片数量较少,但是在使用了预训练模型后,增强了模型的泛化能力,且本次测试集所使用的图片也来自训练集图片。因此,即使在本次小样本的分类预测实验中也达到了很高的精度,对所有病害的检测精度均达到了99%以上。
4 结论
本文以人参叶片常见的五种病害为例,展开了预测算法的研究工作,并通过将预训练的ResNet18网络模型应用于人参叶片图片分类检测任务中,取得了较高的人参病害检测精度,验证了深度学习在人参叶片病害诊断上的优势和有效性。 但由于实验设备的限制,本次实验没有采用较为复杂但精度表现更好的ResNet50,ResNet101等深层残差网络来进行实验和模型搭建,而是改用了结构相对简单的ResNet18来进行,而深层神经网络在人参病害检测上的表现是否要优于ResNet18,还有待进一步研究。此外,本次人参叶片图片的采集过程和来源较为简单和单一,导致训练样本较小,虽然利用迁移学习,且在测试时使用了和样本图片极为类似的人参病害图片,在预训练模型上也完成了对人参叶片图片的分类检测,达到了较好的检测精度,但是若能采集到更多质量更好、数量更多的图片,最终的效果会有进一步的提升。
参考文献:
[1] 于合龙,丁民权,黄浦,等.基于ZigBee网络的人参生长监测及病害预警[J].吉林农业大学学报,2017,39(1):120-126.
[2] 贾少鹏,高红菊,杭潇.基于深度学习的农作物病虫害图像识别技术研究进展[J].农业机械学报,2019,50(S1):313-317.
[3] 叶中华,赵明霞,贾璐.复杂背景农作物病害图像识别研究[J].农业机械学报,2021,52(S1):118-124,147.
[4] 孙俊,谭文军,毛罕平,等.基于改进卷积神经网络的多种植物叶片病害识别[J].农业工程学报,2017,33(19):209-215.
[5] 赵春霞.基于ResNet18的图像分类在农作物病虫害诊断中的应用[J].农业与技术,2021,41(19):10-13.
[6] 樊杰.基于深度残差网络的农作物叶片病症识别研究[D].包头:内蒙古科技大学,2020.
[7] 吴华瑞.基于深度残差网络的番茄叶片病害识别方法[J].智慧农业,2019,1(4):42-49.
[8] 张贺.基于深度度量学习的小样本图像分类方法研究[D].西安:西安理工大学,2021.
[9] 李博,江朝晖,谢军,等.基于迁移学习的园艺作物叶部病害识别及应用[J].中国农学通报,2021,37(7):138-143.
[10] 王东方,汪军.基于迁移学习和残差网络的农作物病害分类[J].农业工程学报,2021,37(4):199-207.
【通联编辑:唐一东】
收稿日期:2022-05-15
基金项目:吉林省教育厅科学技术研究项目“基于人工智能的人参精准种植与病害诊断系统研究, JJKH20210329KJ”; 吉林省科技发展计划项目“吉农在线直播云课堂与农技智能问答系统的开发与应用,20210404020NC”
作者简介:韩永奇(1980—),男,吉林长春人,副教授,硕士,主要研究方向农业信息化。