APP下载

基于AlexNet 的栽培苜蓿病害识别

2023-12-08李云昊李仲贤伏帅张忠雪茆士琴冯琦胜梁天刚李彦忠

草业学报 2023年12期
关键词:苜蓿像素卷积

李云昊,李仲贤,伏帅,张忠雪,茆士琴,冯琦胜,梁天刚*,李彦忠

(1. 兰州大学草地农业科技学院,草地农业生态系统国家重点实验室,兰州大学农业农村部牧草创新重点实验室,兰州大学草地农业教育工程研究中心,甘肃 兰州 730020;2. 兰州大学网络安全与信息化办公室,甘肃 兰州 730000)

紫花苜蓿(Medicago sativa)具有营养价值高、适口性好等特点,是我国饲养家畜的主要饲料之一[1]。据统计,我国苜蓿种植面积约高达377 万hm2[2]。然而,苜蓿为多年生牧草,病害一旦入侵便会持续影响多年,病害不仅会影响苜蓿产量[3-4],还会降低苜蓿的生产性能,导致家畜消化率大幅下降,并直接影响家畜的健康状况和生育能力[5-6]。我国苜蓿种植地域广,全国范围内都有种植,且病害发生普遍造成严重威胁,仅西北地区的苜蓿病害导致苜蓿减产最高超过60%[7]。由于苜蓿种植范围广,短期通过常规方法对大面积的栽培苜蓿进行病害外业调查及鉴别的工作量极大。此外,苜蓿病害多为真菌病害,识别工作需要将采集的病株或病叶压制成蜡叶标本,进行细致的症状观察,经过制片镜检后,详细记录病原菌形态[8],识别人员需要具有多年专业的病害鉴别经验。多种苜蓿病害的表观特征差异不明显,苜蓿病害也具有多生共生的特点,例如小光壳叶斑病、夏季黑茎叶斑病等叶斑病容易共生,导致不同时期不同病害同时出现,会增加病害鉴别的难度[9-10]。因此传统苜蓿病害鉴别方法耗时长,时效性差,即便专业人员也难以通过目视方式直观观察区分,不能及时识别出病害种类并提供防治建议,而根据积累经验进行苜蓿病害种类区分易产生误判,不能简单凭借表观特征进行病害鉴别。总体而言,人工识别具有时效性差,效率低以及准确度较低的缺点。研发更加快速、准确、成本低,适合较大范围识别苜蓿病害的鉴别手段,对提出关于苜蓿病害发生过程中更为高效的识别和防治策略具有重要的应用价值。

近年来,利用深度学习的图像识别方法在众多行业发展迅速。深度学习具有对图像处理的强大学习能力和实用价值,特别在涉及可见光图像处理的领域已得到广泛应用[11-12],可以极大地提升工作效率[13]。自2006 年深度学习概念[14-17]被提出后,Krizhevsky 等[18]于2012 年实现了在图形处理器(graphics processing unit, GPU)上的卷积神经网络(convolutional neural networks, CNN),此后提出多种基于CNN 的目标检测模型框架,在此工作基础上,AlexNet 首次将ReLU 激活函数,使用随机梯度下降法(stochastic gradient descent, SGD)中的Dropout 方法和局部响应归一化(local response normalization, LRN)应用在CNN 网络中,使其在图像分类方面具有较好的训练效果,过拟合的处理手段和激活函数的应用方法也对后来的分类算法产生了重要的影响。

利用深度学习的图像识别方法近年来在植物识别研究领域也逐渐得到应用[19-23],例如产业界有花伴侣、草伴侣、微软识花等植物识别系统,此类系统主要以分辨植物种类为主,能够识别的植物种类较为丰富但识别精度不高,通过校正预训练模型以及对训练参数进行调整,可以进一步提升识别精度和泛化能力。高宏元等[24]以预训练模型为基础进行训练模型所有层微调,对InceptionV3 模型进行改进,对293 种天然草地植物物种进行识别训练,研究结果表明验证集的识别准确率达到97.71%,相较于已有的产业界植物识别模型得到了更好的识别精确度和更高的识别效率。近年来公开的ImageNet(image-net.org)图像大数据集和PlantVillage 植物病害公共数据集等公开图像数据资料,可以用于不同神经网络的病害图像识别研究。如李淼等[25]通过对AlexNet 和VGG(Visual Geometry Group Network)模型使用归一化算法进行优化调整,使用PlantVillage 公开数据集训练得到预训练模型,最后使用瓶颈特征提取和迁移学习的方法降低过拟合后,对黄瓜(Cucumis sativus)和水稻(Oryza sativa)病害进行特征提取,最终识别准确率达到98.33%。许景辉等[26]实现了小数据样本复杂田间背景下的玉米(Zea mays)病害图像识别,提出了一种基于迁移学习的卷积神经网络玉米病害图像识别模型,在训练模型全部层和训练集数据扩充的条件下,对玉米健康叶、大斑病叶、锈病叶图像的平均识别准确率为95.33%。在苜蓿病害防治领域主要由人工鉴别病害种类。秦丰等[27]基于Logistic 回归模型对苜蓿的褐斑病和锈病训练构建了识别模型,模型识别准确度达到了96.59%,识别效果较好但识别种类少,不能很好地满足多种苜蓿病害的识别。此外,在苜蓿病害领域的智能识别研究较少,同时缺乏较为成熟完整的苜蓿病害图像数据库作为苜蓿病害识别的数据支撑。建立较为完备的苜蓿病害数据库,不仅可以为苜蓿病害研究提供参考依据,同时能作为识别算法研究的基础。

基于以上因素的考虑,本研究主要利用13 种苜蓿病害图像数据和AlexNet 研究苜蓿病害的识别算法,分析苜蓿病害智能识别模型精度,探究识别算法在移动智能终端进行苜蓿病害快速识别的可行性,可对提升苜蓿病害的识别效率和改进识别方法提供技术支撑。

1 材料与方法

1.1 数据获取

本研究主要针对我国苜蓿常见的病害,收集和采集了北方地区2016-2021 年间13 种田间栽培苜蓿病害图像数据,构建了苜蓿病害识别数据库。为了得到最佳的模型识别结果,采用样地随机角度拍摄和固定角度拍摄两种方式采集图片样本,兼具单一背景和复杂背景环境两类。单一背景使用微距镜头采集叶面细节信息,采集部位以病害叶片为主,获取以叶片为单位的局部表观特征;复杂背景图像在苜蓿生长地拍摄,包括植株地上部分的茎、叶、花等部位,也包括病害植株的生长环境信息,如土壤及周边植株生长状态等信息。使用数码相机或智能手机进行图像采集,保存RGB 可见光图像。采集的图片数量约为4000 张,进行病害类别鉴定以及筛选后总计获得有效图片2922 张,共13 个类别(图1);另外,为了区分健康苜蓿与有病害的苜蓿植物的差异,本研究也使用了1735张健康苜蓿图片。

1.2 数据预处理

1.2.1 数据清洗 数据清洗是指对原数据可识别错误进行纠正,处理无效数据,将不符合训练要求以及无法辨识的图片进行处理后保留适用于训练的图片,以保证数据的有效性和正确性。本研究的病害分组主要参照李彦忠等[28]编著的《紫花苜蓿病害图谱》,对所有收集到的近4000 张照片进行筛选并确认其病害种类。由于诸多病害的表观特征与正常叶片和缺素症所导致的表观特征十分相似,如黄萎病后期的枯黄现象在多种缺素症中都有同样的表现,所以标记环节重点需要区分病害种类,同时用健康苜蓿、枯草和裸地照片作为对照标记组,并对由于反光造成的叶面黄色特征明显,以及缺水造成的叶面枯黄卷曲等外界干扰进行详细的区分比对,将表观特征不明显且难以区分的照片予以剔除。

为区分苜蓿健康部位与病害部位,本研究基于13类苜蓿病害和健康苜蓿图像构建了苜蓿病害数据集用于深度学习模型训练,总计照片数量为2922 张。苜蓿病害数据集中各种类分布情况如表1 所示。

表1 苜蓿病害数据集Table 1 Alfalfa disease dataset

1.2.2 数据增强 深度神经网络具有较多的感知机组成的卷积层,以及全连接结构的连接方式,每个感知机基本单元对于像素数据的处理十分复杂,需要大量的训练样本训练矫正和提取图像特征数据,单个角度的图片过多会造成过拟合的情况,从而使模型的泛化能力变差,为了避免这些问题,本研究采用水平镜像翻转、垂直镜像翻转、顺时针90°旋转、顺时针270°旋转和随机裁剪等数据增强方式,对有效样本图片进行处理后(图2),14 类苜蓿病害样本图片数量扩充6 倍,总计达到27942 张图片(表1)。使用数据增强后的图库作为训练以及验证栽培苜蓿病害模型的图片数据集。

图2 数据增强Fig.2 Examples of enhancing data

1.2.3 划分数据集 对于扩增后的数据集,由于各个病害种类的照片样本之间的数量差异也被扩大,为避免随机抽样时分布不均,以每个病害种类为单位,使用分层随机抽样法分为训练集和验证集两个部分,其中训练集占数据集的80%,参与深度学习的特征提取以及模型构建;验证集占数据集的10%;剩余10%作为用于测试模型识别效果的测试集。采用随机采样方式,将数据库中的图像文件列表随机取样1/10 作为验证集。

1.3 AlexNet 图像分类方法

本研究主要采用AlexNet 神经网络对苜蓿病害进行图像分类(图3)。AlexNet 由5 个卷积层和2 个全连接层组成[29],卷积层数较多时,对于较大尺寸输入图像的特征提取效果更好,但是过多层数的卷积层反而会导致模型拟合能力变差。本研究搭建的AlexNet 网络结构使用基于Torch 的Python 版本Pytorch 作为框架,采用改进型单层网络结构,使用Pytorch 下的Linear 创建全连接层,开展了苜蓿病害识别模型的调参和建模分析。

图3 简化型AlexNet 网络结构Fig.3 Simplified structure of AlexNet model

在卷积神经网络中,模型训练并非使用原生尺寸图像作为输入数据,首先需要进行图像压缩,每个卷积核要对图像中像素点进行一定步长的特征提取,神经网络输入像素过高首先会导致每个卷积核负担的数据量过大,造成巨大的时间资源浪费,同时过于精细地提取局部的像素分布会导致不能更好地提取出整体的像素特征,且无法避免的将对焦距离和快门时间以及噪点造成的图像干扰因素作为图像特征,导入模型训练过程。因此,在训练之前需要对样本图像进行一定程度的压缩,使卷积核单次扫描面积处于合适的范围内,并避免干扰因素在其中所占比例过大对训练结果产生影响。

1.4 参数调整

在本研究中,简化AlexNet 网络结构使用5 个卷积层和2 个全连接层,每个全连接层使用2048 个神经元;使用ReLU 函数作为激活函数,池化方式为MaxPooling;卷积核大小与原AlexNet 保持相同。

为了提升模型训练后的识别精度,以训练时的图像输入的像素压缩为变量参数,对其进行相应调整,以不同的压缩程度将训练图像数据集分为4 组,并对比不同图像压缩比例和训练后识别精度变化状况。将样本数量较多的6 类病害,分为3 组不同输入的高分辨率组,测试高分辨率输入尺寸的训练识别效果。

AlexNet 神经网络为降低资源占用,权衡算力与训练结果,默认建议训练输入图像尺寸为224 像素×224 像素。为了增加卷积核的特征提取与输出量,将高分辨率组首先使用512 像素×512 像素的默认输入进行训练,将迭代次数设置为300 次以便于观察随着迭代次数增加,识别精度的收敛区域,并得到该尺寸输入下的最优识别精度。依据未参与训练的测试集进行预测得出训练后的识别精度(图4)。

图4 研究技术路线Fig.4 Research technology roadmap

1.5 精度评价

精度评价是苜蓿病害识别模型鉴别效果评判的重要方式。在本研究中,模型识别总体精度(accuracy,%)计算公式为:

式中:n是单个植物病害预测正确的数目;N是单个物种的样本总数;m是模型样本类别总数。

2 结果与分析

2.1 模型识别准确率

2.1.1 模型识别精度分析 通过分组训练结果(表2~4)可以看出,模型识别总体精度与参与预训练的输入样本照片分辨率有密切的关系,二者基本上呈正相关,在1200 像素×1200 像素左右总体识别精度达到最高。在13 种病害的4 组训练集模型中,512 像素×512像素分辨率组照片的测试结果最优。在6 类病害3 种分辨率样本照片测试中,苜蓿照片分辨率为1200 像素×1200 像素的训练效果最好,总体精度可达92.3%。

表2 13 类病害分组训练总体识别精度Table 2 Overall recognition accuracy of group training for 13 kinds of diseases

表3 5 类病害分组训练总体识别精度(低分辨率组)Table 3 Overall recognition accuracy of group training for five kinds of diseases (low resolution group)

将13 类病害与健康苜蓿图像分为4 组进行训练,其中224 像素×224 像素为AlexNet 的初始输入尺寸,128 像素×128 像素、256 像素×256 像素、512 像素×512 像素3 组为按照等比规律排列的图像尺寸。

在256 像素×256 像素、512 像素×512 像素两组输入分辨率基础上加入768 像素×768 像素和1200 像素×1200 像素两种不同训练输入尺寸作为基准分别进行训练,研究测试高分辨率像素尺寸输入得出模型的识别精度变化,最终1200 像素×1200 像素识别精度达到了最高,为92.3%,相较于256 像素×256 像素和512 像素×512 像素的输入训练结果,模型识别精度升高,表明在高分辨率输入尺寸的训练过程中,样本图像的特征信息提取效果随输入尺寸的升高而升高,但在1500 像素×1500 像素分组中,相较于1200 像素×1200 像素组模型识别精度下降,因为过高分辨率输入尺寸导致神经网络提取数据量过大,模型无法较好地总结全局特征(表4)。

表4 5 类病害分组训练总体识别精度(高分辨率组)Table 4 Overall recognition accuracy of group training for five kinds of diseases (high resolution group)

2.1.2 不同输入分辨率识别效果 随着输入分辨率的提升,4 组13 类病害和健康苜蓿不同分辨率训练过程中的识别精度并无明显提升(图5)。

图5 13 类病害和健康苜蓿在4 组输入尺寸下的识别精度变化Fig. 5 Recognition accuracy of 13 types of diseases and healthy alfalfa under four sets of input sizes

4 组5 类病害和健康苜蓿内部识别精度在1200 像素×1200 像素图片输入尺寸较为明显地高于其他3 个分组。表明在1200 像素×1200 像素左右达到较高识别精度(图6)。

图6 5 类病害和健康苜蓿在4 组输入尺寸下的识别精度变化Fig. 6 Recognition accuracy changes of 5 types of diseases and healthy alfalfa under 4 sets of input sizes

在13 类病害参与训练时,512 像素×512 像素的输入尺寸下的训练模型识别精度最高,为72.5%,在5类病害参与训练的1200 像素×1200 像素的输入尺寸训练模型测试中,识别精度最高,可以达到92.3%,为最优模型。

2.2 病害种类对识别精度的影响

在深度学习训练中,样本数量与模型训练结果有直接关系,样本数量越多,提供的图像特征越多,训练好的模型在预测时的识别精度越高,预测准确性越好。参与训练的样本类别增加通常会降低训练模型的精度(表5)。在病害样本数量有限而种类增加的情况下,由于较低的样本数量导致卷积层不能够提取足够多的特征参数,是导致模型识别效果变差的主要原因。

表5 最优模型测试集识别精度Table 5 Identification accuracy of the optimal model on the test set

2.3 相似病害对识别效果的影响

本研究的13 种苜蓿病害中,褐斑病以及小光壳叶斑病具有相似的病斑特征,相较于其他病害识别精度明显较低(表5)。这两种病害在表观特征上均为叶片表面有面积较小的斑点状枯黄坏死的病斑分布。两种病斑表观特征极为相似,都具有中心枯黄的褐色小斑点,同时病斑面积普遍较小(图7),普通的图像采集设备较难采集到高分辨率的病斑图像,对于模型的特征提取是较大的一个干扰因素。因此,训练的模型对这2 类病害有极大的误判可能性,同时也降低了整体识别精度。

图7 褐斑病与小光壳叶斑病早期阶段对比Fig. 7 Comparison of brown spot and small light shell leaf spot at the early stage

苜蓿叶片的平均大小通常为1~3 cm2,在日常使用的绝大多数的影像采集设备中并不容易对此类大小的目标采集到足够清晰的质量较高足以区分叶斑病一类病害的图像信息。根据测试结果,褐斑病、夏季黑茎叶斑病以及小光壳叶斑病均有识别精度较低且易于混淆的情况出现,这是由于目前常用的图像采集设备并不能满足在较小的空间尺度中捕捉到较为清晰的病害表观特征的要求。智能手机是目前最常用的图像采集设备,利用这类设备采集的病害图像一般不能完整清晰表现部分病害的病斑细节特征,因此仅通过提高现有病害图像分辨率等方法,其识别精度不会有明显的提升空间。

3 讨论

3.1 病害识别精度的影响因素分析

影响病害识别精度的因素较多,但样本图像质量和数量是关键。样本图片的采集方式对于深度学习特征提取具有十分重要的影响。单一背景如纯色背景图像可以避免前期训练中背景环境对于病害纹理特征提取效果的影响。而模型的泛化性能提升可以通过后期迁移学习达到这一目的。更加清晰的病害纹理可以有效地提升特征提取效率,因此在采集图像时尽量选用光照良好的单一环境背景,因为田间实拍的样本图片会因为风力以及水分、光照的干扰导致病害表观纹理特征受到干扰不能清晰成像,进而影响识别效果。

对不能完整清晰表现病斑细节特征的图像进行分类识别时,可以预见其识别精度不会有明显的提升空间。因此,在增加照片分辨率和清晰度的基础上,应考虑将参考病害植株的其他特征以及不同地理环境影响的病害发生率等作为变量之一,辅助提升病害的识别效果。

多病害共生同样会影响训练效果。深度学习具有人工不可干涉的性质,无法直接对特征提取的过程进行人为干预,因此无法人工修正病害发生不同阶段产生的不同表观特征。霜霉病较为明显的早期表观特征是叶表面发生褪绿,叶面发黄,后期叶背面出现白色霉层;白粉病的中期在叶表面形成丝状白色霉层;病毒病的症状表现为在叶片表面出现褪绿,叶面发黄。由此可见,白粉病中期症状与霜霉病后期症状极为相似,病毒病的症状则与霜霉病的早期症状较为相似。在表观层面,这几类病害在不同时期的症状特征不易区分,往往容易对特征提取产生干扰。

样本数量是图像分类以及目标检测的最主要影响因素,也是目前植物病害图像识别领域的主要瓶颈问题。植物病害图像往往需要高分辨率照相机采集,对大多数病害的鉴别主要依赖于专业人员和专用设备(如放大镜、显微镜等)。建立一个完整的可用于深度学习图像目标检测的样本库需要极大的人力、物力和时间成本。在植物病害领域,除了PlantVillage 有样本量庞大的主要粮食作物的病害样本图像外,其余如牧草病害的样本图片则寥寥无几。由于受照片质量和数据共享等众多因素的影响,目前可用于苜蓿病害识别的照片数量极其匮乏。

3.2 基于AlexNet 的苜蓿病害识别模型构建的优缺点分析

本研究的13 类苜蓿病害的总体识别精度为72.5%,其中照片数量多的5 类苜蓿病害最优模型的总体识别精度可达92.3%,能对主要苜蓿病害进行有效鉴别,可以搭载于栽培草地智能感知系统,对栽培苜蓿病害发生状况进行多点位、大范围的动态监测,为病害识别及防治提供技术支持。同时,本研究训练得到的模型和整理的苜蓿病害图像数据库,可以为后续苜蓿病害研究提供重要参考。

在病害照片样本数据短期内无法得到大量补充,已有照片已进行过数据清洗和数据增强的情况下,模型训练无法得到更多图像特征,但输入图片分辨率对模型识别精度具有重要的影响,如输入尺寸过小则单张图像所能提供的像素特征也会减少。本研究所得出的最优模型的输入分辨率为1200 像素×1200 像素,由于第一层卷积层输入信息量较大,导致模型对搭载平台的算力要求较高。目前提升模型精度同时得到体积较小的模型,可尝试小样本训练方法[29-30]加以辅助,并测试模型识别效果。

3.3 目标检测在苜蓿识别领域的应用展望

在基于深度学习的图像处理领域,自2000 年以来尤其是近10 年间发生了突飞猛进的变化,诞生了以R-CNN(Region-CNN)为基础的大量深度学习图像处理算法,在2014 年产生以One-stage 为基本特征学习及预测的目标检测模型和以Two-stage 为基本特征学习及预测的目标检测模型两条分支。其中的代表作有YOLO[31]系列、Fast-Rcnn[32]以及其后续的改进型。目标检测已经在监控、智能无人驾驶以及人脸识别与检测等领域有了较为广泛的实际运用。相较于图像分类,目标检测是一个功能更加复杂但是学习效率和识别效果都十分强大的算法,相较于简单的病害分类,目标检测可准确地判识病害类型的同时,还可以框型方式标记出病害所在区域,方便对于具体病害部位进行识别。在苜蓿病害发生过程中,往往并不是单类病害集中在较小区域发生,病害通常具有较强的传播性,因此在同一时空尺度容易产生多种病害。充分利用目标检测方法的优势是未来病害智能高效识别的重要研究方向,但需要前期大量高质量的病害图像数据的积累。

在栽培苜蓿病害检测领域,目前尚无较为完善的图像数据库以供研究使用,这导致其他应用较为广泛的深度学习算法无法获得足够的训练参数以训练出具有实用价值的模型。因此,通过多种渠道和方式继续扩充数据库,仍然是今后使用深度学习算法构建高精度病害识别模型的关键环节。

4 结论

本研究利用AlexNet 深度学习算法,经过测试对比后采用2922 张有效苜蓿照片,采用对训练输入图像压缩进行训练的方式,构建了一个较为理想的栽培苜蓿病害诊断模型,其中单类病害最高识别率可达92.3%,13 类病害平均分类精度为72.5%。该模型可以部署至网页端和移动端,通过手持智能终端可以较为方便快速地识别苜蓿病害,以期为栽培苜蓿病害检测及防治系统建设提供技术支持。

猜你喜欢

苜蓿像素卷积
赵运哲作品
像素前线之“幻影”2000
基于3D-Winograd的快速卷积算法设计及FPGA实现
苜蓿的种植及田间管理技术
苜蓿的种植技术
“像素”仙人掌
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
苜蓿:天马的食粮
要造就一片草原……