复杂环境下的植物病害识别新型研究
2021-11-22刘子曦李鸿翔杜智雄
刘子曦,李鸿翔,冯 澳,杜智雄,倪 铭
(四川农业大学 信息工程学院,四川 雅安 625014)
0 引 言
农业在国民经济中占有重要地位,在农业生产中植物病害对农作物的产量、质量会产生巨大的影响[1]。植物病害会导致粮食减产,造成巨大经济损失,对粮食安全产生威胁。此外,在抑制病虫害时,大规模的农药滥用、误用也对生态环境造成了极大的危害[2]。因此,针对植物病虫害的防治工作显得尤为重要。
目前国内外对复杂环境下的植物病害识别的研究主要集中在复杂环境下病害叶片图像分割、叶片病斑特征提取、叶片病害识别三方面。在病害图像分割方面,李艳雪等[3]选择DBSCAN算法,成功地分割出向日葵叶片病害部分图像。秦丰等[4]通过聚类算法和监督分类方法,进一步提取病斑图像的颜色特征、纹理特征和形状特征。Zhang等[5]通过超像素聚类将整个彩色叶图像分为多个紧凑且均匀的超像素,然后对病变部位通过EM算法从每个超像素中快速且准确地分割出病害像素,从而得到有效的图像分割。在病斑特征提取方面,胡秋霞[6]提出了基于颜色矩和小波变化的加权特征提取方法,显著地提高了识别正确率。师韵等[7]针对苹果叶片病害,克服了经典植物病害识别方法中特征提取的难题,提高了识别效果。吴昊昱[8]研究茶树病害时,运用深度迁移学习的方法提取出病斑特征,防止小样本下的过拟合问题。在叶片病害识别方面,周丽娜[9]利用叶绿素荧光光谱,构建混合核函数进行稻叶瘟病害的识别。Huang[10]使用灰度共生矩阵描述病斑纹理,RGB颜色以及灰度值描述病斑颜色,根据上述特征建立人工神经网络,实现了对蝴蝶兰病害的识别。宋凯等[11]利用Haar小波提取病斑特征向量,之后利用核函数为径向基函数的支持向量机实现对玉米病害的分类。
随着计算机硬件设备性能的不断发展,以及大数据时代的到来,以卷积神经网络为代表的深度学习算法在图像识别领域发挥了重要的作用[12-13]。越来越多的研究者开始将卷积神经网络应用于智慧农业领域,进行植物病害识别。Amara等[14]使用LeNet作为神经网络架构,实现了复杂环境下对香蕉叶片病害的识别。Wang等[15]使用卷积神经网络识别出病害种类以及病害严重程度。刘媛[16]使用Faster-RCNN算法,利用复杂环境下的植物病害图像数据集,端到端地实现复杂环境下的葡萄叶病斑的提取,并且根据病斑实现对病害识别。
从上述国内外研究情况来看,虽然目前在三个方面均取得了一定的成果,但是由于农田背景信息包括地理环境、土壤环境、光照环境、水环境等,机器视觉技术难以实现无监督地从复杂环境下提取叶片。同时由于病斑颜色与土壤颜色类似,且与叶片颜色差距较大,因此在使用基于颜色、阈值的图像分割算法时,会将病斑从叶片图像中分割出去,无法进行后续对病斑特征提取等操作。
针对上述问题,文中建立了一个在复杂环境下具有无监督性、准确度高、泛用性好、训练效率高等特点的植物病害识别模型。以褐斑病、霜霉病、灰霉病等病害为例,通过基于RPN算法(region proposal network,区域生成网络)的复杂环境下病害叶片定位检索、基于Chan-Vese算法的复杂环境下病害叶片图像分割算法、基于迁徙学习的病害识别模型进行深入研究与分析,在植物病害识别的应用上具有很好的适用性。
1 基于RPN算法的复杂环境下叶片检索
由于植物病害叶片的背景复杂,不同的土壤信息、光照信息等的变化均会对复杂环境下的叶片分割带来影响。因此,选用RPN算法首先在复杂环境下对叶片进行检索定位。
1.1 RPN算法和Faster-RCNN模型
Faster-RCNN[17]是Ren等在R-CNN[18]、Fast-RCNN[19]基础上改进的目标检索模型。Faster-RCNN模型的输出包括物体边界框,每个边界框中物体的类别,边界框内物体类别的概率。相比于R-CNN,Fast-RCNN模型中通过选择性搜索的方法来检测物体,Faster-RCNN模型利用RPN算法可以更加迅速准确地检测物体。
根据Faster-RCNN模型,在将输入数据输入RPN算法之前,需要先将数据浓缩提取特征,即对数据进行卷积操作。将原始图片输入卷积神经网络中,经过多次卷积、池化操作之后,可获得高度浓缩的图像特征。RPN算法设置了三种比例与三种尺寸的固定大小的九种边界框。通过将九种边界框作为滑窗在特征图上滑动获得预测物体位置的参考边界框。将每一个边界框,输入两个神经网络,一个负责分类,一个负责控制边界框位置调整。再利用两个神经网络获得分类结果以及边界框位置,运用NMS算法消除对同一物体的多个边界框,最后只保留结果最好的边界框。RPN算法结构如图1所示。
图1 RPN算法结构
1.2 训练参数设置
PlantVillage是由宾州州立大学建立的大型农业问答论坛,其中包含多种简单背景下的植物病害图片数据集,并且面向所有用户开放。文中下载褐斑病、灰霉病、霜霉病三种图像作为训练数据,其中褐斑病482张,灰霉病651张,霜霉病827张,共计1 960张,如图2所示。
(b)灰霉病
(c)霜霉病
使用这些简单背景下的叶片数据集对RPN模型进行训练。在模型训练时,设置参数包括控制模型收敛的梯度下降优化参数,控制训练数据集的输入数据参数,控制RPN算法效果的RPN参数。
模型训练参数如表1所示。
表1 模型训练参数设置
1.3 复杂环境下叶片检索结果
从百度图片等公开图片网站上下载复杂环境下的褐斑病、灰霉病、霜霉病各150张,即一共450张作为测试数据。由于VGG-16模型拥有简便的模型网络和较好的泛化能力,目前常用作特征提取模型。将测试图像输入VGG-16模型以及RPN算法,得到的结果如图3所示。
(a)褐斑病
(b)灰霉病
(c)霜霉病
2 基于Chan-Vese算法的复杂环境下叶片图像分割
水平集方法[20]是一种计算曲面算法的数值计算方法,其可以在笛卡尔网络上对曲面进行数值计算而不需要对曲面参数化。由于水平集方法可以方便地获取物体的拓扑结构,因此近年来水平集方法在图像分割方面有了广泛的应用。Chan-Vese算法[21]在水平集方法基础上,简化了水平集方法,可以有效地分割含有噪音、弱边缘的图像。基于以上特点,Chan-Vese算法可以较好地从复杂环境下分割包含完整病斑的叶片。由于复杂环境下的图像颜色信息复杂,基于颜色、阈值的机器视觉算法难以取得较好的效果,因此文中使用基于区域的Chan-Vese算法对复杂环境下的叶片图像进行分割。
2.1 水平集方法
利用水平集算法进行图像分割本质上是将二维的图像分割转换为三维的平面相交问题,将两曲面相交的曲线作为图像分割的边界,利用图像信息约束曲面演化,通过不断地迭代运算最终得到图像分割边界。水平集方法主要包含三个要素:对初始相交曲线的定义,控制曲面演化PDE方程,对PDE方程的数值求解。
设在t时刻,两曲面相交的曲线为C(t),设符号距离函数为:
φ(x,y,t)=±d
(1)
意为在t时刻,点(x,y)距离曲线C(t)最短的距离为d。通常设置在曲线C(t)内的点距离为负,反之为正。
水平集曲面函数演化遵从哈密顿-雅可比方程,即:
(2)
式中,F表示曲线C(t)上各个点演化的速度,其演化方向为曲线各点的法线方向。从上式可以看出,只要速度F变化平滑,则φ(x,y,t)始终保持平滑。在此基础上,通过约束速度F来约束曲面演化。最终的轮廓为零水平集:
φ(x,y)=0
(3)
2.2 Chan-Vese算法
Chan-Vese算法在水平集方法的基础上,并不通过显式地控制速度来控制曲面演化,而是通过构建一个能量函数来约束整体区域。该能量函数的定义为轮廓内与轮廓外图像的灰度值的方差之和最小,并且增加轮廓长度使轮廓收敛。设图像中有一闭合曲线,则能量函数表示为:
(4)
式中,c1表示轮廓内,c2表示轮廓外,u(x,y)表示图像灰度值,u1表示轮廓内灰度平均值,u2表示轮廓外灰度平均值。则设:
(5)
(6)
当F1≈0且F2≈0时演化停止。
采用水平集方法对式(4)求解,使用零水平集表达轮廓线。引入Heaviside函数以及Dirac函数:
(7)
(8)
则能量函数的水平集方程为:
(9)
利用变分法将式(9)最小化,结合Euler-Lagrange方程,得到如下偏微分方程:
δ(φ)[-λ1(1-u1)2+λ2(1-u2)2]
(10)
针对上式可以使用梯度下降法自动检测灰度不同的目标区域,并且使能量函数达到全局最小。
2.3 复杂环境下叶片图像分割参数设置与结果
文中设置初始零水平集为以图片中心为圆心,图片对角线长度的三分之一为半径的圆形。设置Chan-Vese算法迭代计算次数为800次。水平集函数的惩罚项系数mu设置为1,平滑项的系数nu设置为0,空间步长设为1,时间步长设为0.1。
将RPN算法所获得的图片输入Chan-Vese算法,将零水平集内的图像保留,零水平集外的图像设为黑色,得到的图像分割结果如图4所示。
图4 复杂环境下的分割结果
根据图4可以发现,经过800次迭代计算,Chan-Vese算法可以取得较好的叶片图像分割效果。它保留了叶片中央完整结构,包括叶片脉络、病斑颜色、病斑形状等。通过Chan-Vese算法获取的叶片中央完整结构可以用于下一步迁移学习模型病害识别。
3 基于迁移学习模型的叶片图像识别
3.1 迁移学习
设域为D,包括两个内容:
D={X,P(X)}
(11)
其中,X表示特征空间,包含了所有可能的特征取值;P(X)表示特征空间内的某种特定的特征采样实例。
设任务为T,其同样包括两部分:
T={Y,f(X)}
(12)
其中,Y表示标签空间,即所有标签组成的向量空间;f(X)为预测函数,根据输入数据的特征和标签学习而来。
由于针对不同学习目标的神经网络的浅层网络具有相似特征[22],因此可以利用迁移学习算法将针对源任务的神经网络浅层网络迁移到针对目标任务的神经网络中。迁移学习在使用中,相比于重新学习,具有初始时期更好的表现、模型收敛更快、最终效果更好等优点[23]。
由于传统神经网络模型对数据集的质量与数量要求较高,且在训练过程中对硬件资源需求较高,训练时间较长,不利于模型推广使用。迁移学习模型在已预训练模型的基础上,使用简单背景下的病害叶片数据集训练模型。相比于传统模型,迁移学习可以更快速地完成模型训练,获得较好的识别效果。因此,文中使用迁移学习模型进行叶片病害的识别。
3.2 叶片病害识别参数设置与模型训练
ResNet-101模型根据模型训练过程中的残差对网络进行拟合,在ImageNet图像识别中取得了较好的分类效果,对深度学习网络在精度与速度上取得了较好的优化效果。文中选用ResNet-101作为预训练模型,使用简单背景下的病害叶片数据集对该网络进行训练。
迁移学习模型参数包括梯度下降优化参数以及训练参数,具体参数设置如表2所示。
表2 迁移学习模型参数设置
续表2
经过迭代训练后,迁移学习模型与ResNet-101模型的损失值如图5所示。
图5 迁移学习与ResNet-101训练过程损失值对比
根据图5可以发现,经过相同的迭代训练后,迁移学习模型相比于ResNet-101模型,拥有更快的收敛速度,在收敛后拥有更低的模型损失值。因此,文中使用迁移学习模型可以更快收敛,取得更好的模型识别效果。
3.3 叶片病害识别结果
将基于Chan-Vese算法分割得到的图像输入迁移学习模型。作为对照,将未经本文上述处理的图像输入ResNet-101模型进行识别,识别结果如表3所示。
表3 文中方法与ResNet-101模型结果对比
根据表3可以发现,文中方法在上述识别的平均正确率为90.4%,显著优于ResNet-101模型的正确率50.2%。对比文中方法在三种样本中的表现,可以发现相比于灰霉病和霜霉病,褐斑病可以获得更好的效果。
4 结束语
随着信息技术的发展,智慧农业也在快速发展,其在对农业生产的远程控制、远程诊断、灾害预警等领域起到了重要的作用。然而智慧农业在复杂环境下的植物病害识别方向的研究仍然存在鲁棒性较差,易丢失病斑信息,所需数据集复杂,对硬件设备要求高等缺陷。因此,文中建立了一个基于深度学习算法和迁移学习模型的植物病害识别模型。通过实验测试发现,该模型针对褐斑病、霜霉病、灰霉病这三种病害叶片的识别正确率分别为92.0%,90.7%,88.7%,平均识别正确率达到90.4%,优于传统的ResNet-101模型。