时间:2024-05-24
张善文,王 振,王祖良
(西京学院信息工程学院,西安 710123)
作物病害叶片图像分割是病害检测和病害类型识别方法中的一个重要步骤,其分割效果直接影响到后续的检测和识别结果。由于作物病害叶片图像的形状和颜色复杂、多样、无规律且多变,使得病害叶片图像分割方法研究一直是一项重要且具有挑战性的研究方向[1-3],涌现出很多基于图像处理和模式识别的多种农作物病害叶片图像分割方法[4-6]。传统的方法是采用单一阈值,对在简单背景下的病害叶片图像进行分割,取得了较高的分割效果,但由于大田病害叶片图像的背景比较复杂,而且叶片图像颜色成分丰富,包含大量噪声和一些不确定像素,不能采用单一的阈值对图像进行分割[7-8]。为了提高水稻叶病图像的分割效果,Liu[9]采用最优迭代阈值法、OTSU 法和模糊 C-均值聚类算法对不同情况下采集的水稻叶病图像进行自适应分割。对比分析表明,3 种方法均能有效地从病害叶片图像中分割出病斑,而模糊 C-均值聚类算法的效果最好,但迭代次数过多,花费的时间最多;OTSU 法的效果较差,最优迭代阈值法效果最差。Barbedo 等[10]针对多种环境条件下的作物病害叶片图像分割问题,对病变的定界、光照、叶脉干扰、叶片强度等问题进行了深入的探讨。Ma 等[11]提出了一种利用综合颜色特征(Comprehensive Color Feature,CCF)进行蔬菜病害叶斑分割的方法,实现对病害叶片的病斑和杂波背景的强识别。Wang 等[12]提出了一种基于 K-均值聚类的作物病害图像自适应分割方法。该方法能够自适应地学习初始聚类中心,以欧氏距离的平方为相似距离对两个聚类进行迭代颜色聚类,最后两个聚类之间的距离为聚类准则函数对聚类结果进行校正。Swathi 等[13]提出了一种基于人工神经网络和支持向量机的水稻病害识别方法。该方法首先进行图像采集,将RGB 图像转换为HSI图像,利用形态学处理去除噪声,然后提取病斑图像的均值、标准差等特征,最后利用神经网络方法和支持向量机进行病害分类。Zhang 等[14]提出了一种带有主动梯度和局部信息的病害叶片图像自动分割模型。该模型对光照不均匀、病斑模糊、病害叶片粘连、阴影、背景复杂、病害叶片边缘不清晰、交错等7 种棉花病害叶片图像具有较高的分割精度和较短的运行时间。该模型不仅可以对自然条件下的棉花叶片进行图像分割,还可以为棉花病害的准确识别和诊断提供技术支持。Shieh 等[15]提出了一种基于三维直方图重构 Otsu 算法的黄瓜炭疽病害叶片图像分割方法,其特点是通过高斯拟合迭代得到最优阈值。
在真实农田条件下采集的病害叶片图像不可避免地存在光照不均匀和背景复杂等问题,而且作物病害叶片图像采集不可避免地受到复杂背景、天气变化、拍摄角度等诸多因素的影响,特别是病害叶片及其相应的病变往往是复杂的、不规则的和随时间变化的,因此以上方法基于人工设计的特征提取和阈值求解的病害叶片图像分割方法的分割精度和泛化能力不能满足大田作物病害检测和识别需要。如何在自然环境中有效地对农作物叶片进行图像分割是亟待解决的问题。
目前,深度学习在领域图像和自然图像分割方面取得了重大进展。卷积神经网络(Convolutional Neural Networks,CNNs)是一种比较强大的深度神经网络,在作物病害图像分割、检测和识别中取得了成功应用,取得了显著效果[16]。Shervin 等[17]讨论了至 2019 年出现的 100 多种基于深度学习的分割方法,包括数据预处理、网络架构的选择、损失功能、培训策略以及其关键贡献,并讨论了基于深度学习的图像分割模型的几个挑战和未来可能的方向。针对大田作物病害叶片图像分割容易受到不同光照和复杂背景影响的问题,刘永波等[18]提出了一种在自然环境条件下基于深度卷积神经网络(Deep Convolutional Neural Networks,DCNNs)的玉米病害识别方法。Muhammad 等[19]提出了一种基于相关系数和DCNNs 的水果病害自动分割识别系统。在DCNNs 中,利用两个预先训练的VGG16 和AlexNet 模型对选定的病害进行特征学习和病害类型识别。Lin 等[20]提出了一种基于CNNs 的语义分割模型,对黄瓜叶片图像进行像素级别的炭疽病分割,并在 20 个测试样本上取得了平均像素分割精度为96.08%。SegNet 是一种解决图像语义分割问题的 CNNs模型[21]。全卷积网络(Fully Convolutional Networks,FCNs)将原始 CNNs 中包含的全连接层替换为卷积层,克服了CNNs 在图像分割中的缺点。SegNet 与FCNs 的思路比较相似,区别在于上采样和下采样的技术不同,SegNet 通过最大池化索引可以优化边界轮廓,减少网络模型参数数量,并完成端到端的模型训练。U-Net 是另一种CNNs 模型,其网络结构与SegNet 相似,主要包括收缩网络和扩展网络2 个部分组成[22]。U-Net 采用收缩和扩展的结构,通过跳跃连接提取多尺度信息,并在卷积层捕获粗糙和细腻图像特征信息。与U-Net 相比,SegNet 不能有效地捕获多尺度信息,而U-Net 的学习参数很多,所以训练相对较慢。
本研究针对病害叶片图像分割问题,结合SegNet 和U-Net 的优点,提出一种新的多尺度融合卷积神经网络(Multi-Scale Fusion Convolutional Neural Networks,MSF-CNNs),并应用于黄瓜病害叶片分割,通过大量病害叶片图像分割试验进行验证。该方法为进一步的黄瓜病害检测和识别方法研究提供了参考。
本研究以复杂背景下的黄瓜病害叶片图像作为研究对象进行分割试验,并对不同算法的分割结果进行分析比较。图像采集地点位于陕西省宝鸡市农业科学院大田作物试验基地(33°35N,106°18E)。采集时间为 2018年6—12 月,采集设备为HIKVSION 摄像机,最大分辨率 1 960×1 080 像素,USB 4.0 接口,传输速率为 38 帧/s。采集时相机位于地面100 cm,使用环绕方式采集视频图像,平均气温为21 ℃。为了测试算法的鲁棒性,采集时的环境包括阴天、晴天和降雨等不同的天气状态。采集的图像包括常见的黄瓜靶斑病、黄瓜褐斑病、黄瓜黑腐病和黄瓜炭疽病等,所采集的图像共包括 760 幅。初始采集到的图像分辨率1 960×1 080 像素,为了提高模型的训练效率,利用Photoshop 将图像统一压缩为256×256 像素。构建的作物病害叶片图像数据集均为真实的大田环境中采集,图像中包括叶片、杂草和土壤等多类背景干扰信息,部分图像如图1 所示。
图1 不同环境下黄瓜病害叶片图像Fig.1 Cucumber disease leaf images in different environments
从采集的760 幅病害叶片图像种选取680 幅图像进行标注,在标注后的图像中选取450 幅作为训练集图像,120幅病害叶片图像作为验证集,其余的110 幅未标注图像作为测试集。在模型训练的过程中,训练集用于模型的权重参数的学习;通过验证集优化网络模型结构,同时减少模型的复杂度;测试集图像对所提出的方法进行验证。
多尺度融合卷积神经网络(Multi-Scale Fusion Convolutional Neural Networks,MSF-CNNs)是针对现有的复杂病害叶片图像分割任务提出的。MSF-CNNs 模型结构与 U-Net 和 SegNet 网络模型相似,主要包括编码网络(encoder networks)和解码网络(decoder networks)2 个部分,但是为了提取输入图像的多尺度信息,在编码网络中引入了多级并联结构,解码网络中则引入了多尺度连接的形式。具体的编码网络中使用多列并行的卷积神经网络形式,能够提取作物病害叶片图像的多尺度特征。解码网络中通过引入九点双三次插值算法作为反卷积的插值方式,恢复图像的尺寸和分辨率。在整体网络模型的结构中,使用跳跃连接来传递不同卷积层中所提取的特征信息,同时引入批归一化(Batch Normalization,BN)操作来缓解模型的梯度弥散现象。MSF-CNNs 模型的结构如图2 所示。
MSF-CNNs 模型的每组子卷积神经网络共包括12 个卷积层(Conv)、1 个反卷积层(Deconv)、4 个最大池化层(max-pooling)以及2 个多尺度连接层(multi-scale connection)。除了最大池化层4 以外,其他最大池化层的池化区域大小都定义为2×2 且步长(stride,S)为2;为了能将Conv4 和Conv5 输出的特征图进行多尺度连接,设定 MP_4 的池化区域大小为 3×3 及步长为 1;Deconv表示反卷积层,其参数形式和卷积层相似,MSF-CNNs中使用一个反卷积层将Conv4 和Conv5 进行多尺度连接后的特征图上采样到输入图像分辨率的1/4,因此能够进一步将Deconv 输出的特征图和Conv3 输出的特征图进行多尺度连接;图 2 中的多尺度级联操作通过多尺度级联操作能够将不同卷积层输出的相同分辨率特征图在通道上连接起来,其目的是能够将低层次特征图和高层次特征图进行共享,进而减少参数的数量和训练数据,并加快训练速度。在整体的分割流程中把 3 组卷积神经网络在Conv7 上输出的特征图连接起来,并且经Conv8 将连接之后的特征图送入 SoftMax 进行像素点分类,完成对输入作物病害叶片图像的病斑区域分割问题。MSF-CNNs模型包括 3 个并联的子卷积神经网络,每组子网络模型除了在卷积核尺寸和数量不同外其他的结构都相同,MSF-CNNs 模型的参数如表1 所示。
图2 多尺度融合卷积神经网络(MSF-CNNs)模型结构Fig.2 Structure of the Multi-Scale Fusion Convolutional Neural Networks (MSF-CNNs)
表1 多尺度融合卷积神经网络模型参数Table 1 Parameters of Multi-Scale Fusion Convolutional Neural Networks
MSF-CNNs 模型的关键技术包括双三次插值算法、多尺度卷积单元和批归一化算法,下面分别对其进行介绍。
1)双三次插值算法。常用的语义分割模型例如FCNs、SegNet 和U-Net 等网络模型都使用原始的双线性插值算法作为反卷积层,用于恢复输入图像的尺寸和分辨率。尽管双线性插值算法较为简单,但无法完整的恢复图像的细节特征,因此在MSF-CNNs 中引入了九点双线性插值算法作为反卷积层,从而恢复输入图像的底层信息和高层信息。在使用双三次插值的过程中,分别对垂直方向和水平方向进行的卷积操作进行多次一维插值来实现二维的双三次插值算法。二维的九点双线性插值算法实现步骤如下,首先定义输入图像为F,图像尺寸定义为M×N;然后对经过卷积层运算得到的特征图在垂直方向和水平方向进行插值运算;最后定义插值后的图像为G,经过插值后的图像尺寸为S×T。则图G 中任意一个像素(x,y)的值g(x,y)可以利用该像素的 16 个邻近像素点的加权叠加如式(1)所示
式中aij为加权系数,u(x)为双三次插值函数如式(2)所示
式中g(x,y) 为插值后的图像在(x,y)处的像素值。
2)多尺度卷积层结构。由于作物病害叶片的病斑区域尺寸不一致,因此在MSF-CNNs 中引入多尺度卷积核结构,该结构是通过在网络卷积层中使用多个尺度不同的卷积核对输入图像进行多尺度特征提取,然后通过特征融合层对多尺度特征图进行空间融合。多尺度卷积层包括尺度不同的卷积核与特征平面组成多尺度特征信息,当低层特征图的信息输入到高层时,在高层中分别使用不同尺寸的卷积核对低层特征图进行卷积操作,同时为了确保多尺度卷积核的输入与输出之间的空间特征信息不变,特征图则依据卷积核尺寸的大小进行边缘填补。多尺度卷积核结构如图3所示,包含了 4 种不同尺寸的卷积核,其尺寸大小分别为9×9、7×7、5×5 和 3×3 的卷积核。
图3 多尺度卷积核结构Fig.3 Multi-scale convolutional kernel structure
3)批归一化(Batch Normalization,BN)。BN 是Google 于2015 年提出的用于深度神经网络训练的技巧,它不仅可以加快模型的收敛速度,而且在一定程度上缓解了训练过程中的过拟合问题,从而使得训练深层网络模型更加容易和稳定。BN 算法主要包括以下3 个步骤:
步骤1:计算统计值。计算样本数据集归一化所需的均值和方差。假设输入为x∈Rm×d,其中m表示当前批次的大小,即当前批次的训练样本数,d表示输入特征图的尺寸,则方差均值如式(4)所示
式中xk为第k批次的样本,为第k批次的第i个样本,Var(xk)表示方差,E(xk)表示统计均值。
步骤2:归一化操作。把输入向量中的每个元素当成独立随机变量单独进行归一化,即向量中的各个元素都单独独立,则归一化计算如式(5)所示
步骤3:线性变换。单一的对数据进行归一化会改变原本数据的特征或者分布,为了解决该问题BN 操作加入了参数γ和偏置β用于拟合数据的原始分布特性,则批归一化计算如式(6)所示
式中γ(k)和β(k)分别表示第k批次的可学习参数,初始化为γ= 1、β= 0。
4)迁移学习。在CNNs 的特征提取过程中,浅卷积层能够提取底层特征,例如输入图像的颜色,边缘和形状;随着网络层数的增加,网络模型可以提取高级功能,例如图像层次结构和纹理。从低级特征到高级特征,CNNs 具有从固定的特征过渡到图像的不变特征提取,而传统的迁移学习策略没有进一步探讨特征等级与样本数据大小和特征相似性之间的关系。为了提高 MSF-CNNs的训练效率,采用一种渐进式微调的迁移学习策略用于网络模型训练,其结构如图4 所示。
如图4 所示,基于渐进式微调的迁移学习训练步骤为:
步骤1:首先对仅参与的卷积层结构进行参数随机初始化。
步骤2:在网络模型非线性特征分类器的基础上,将不同的卷积层中权值参数进行逐层释放,直到整个网络模型被训练为止。
步骤3:对各层进行微调后,定量分析损失值的变化率,然后确定微调的卷积层参数。
在使用渐进微调的迁移学习方法对模型进行训练时其定量分析损失值是通过损失函数来分析的其具体操作为首先将原始模型在 ImageNet 数据集中进行参数预训练,然后使用二分类的SoftMax 函数替换1 000 分类的SoftMax 层,计算如式(7)所示
式中c表示模型最后一层神经元个数,一般为数据的分类数,iη表示第i个神经元的线性输出,经过Sigmoid 激活函数后输出预测值si。
训练过程中选取二分类交叉熵作为损失函数,计算如式(8)所示
图4 基于渐进式微调的迁移学习训练流程Fig.4 Transfer learning training process based on incremental fine-tuning
5)全新学习。全新学习是指对网络模型的所有权重参数进行重新训练,随机初始化网络权重参数,使用概率分布对参数赋予初值,在训练的过程中通过反向传播算法对权重参数进行优化。尽管能够有效减少模型的训练时间,提高学习能力,但没有进一步探讨特征等级与样本数据大小和特征相似性之间的关系。全新学习能够克服迁移学习的不足。
为了验证MSF-CNNs 的有效性,将MSF-CNNs 应用于黄瓜病害叶片图像分割,并与其他模型进行比较。网络模型训练与测试的软件环境为Ubuntu 16.04 LTS 64 位操作系统,使用python 作为编程语言,Tensorflow 作为深度学习开源框架。试验硬件环境为 Intel E5-2665C2 @3.20GHz CPU,64GB 内存;Nvidia 1070Ti,8GB 显存。使用CUDA Toolkit 9.0和 CUDNN V8.0作为网络模型训练加速工具包;python 版本为3.5,Tensorflow 版本为1.9.0。在网络模型的训练过程中首先将训练集和测试集图像分为多个批次(batch),综合考虑计算机的硬件环境,本研究在试验过程中将批次大小设置为 64,将所有训练集图像在网络模型中完成遍历设置为一次迭代(epoch)。设置网络模型初始学习率为0.01,正则化系数设置为0.001,随着epoch 次数的增加,学习率遵循指数衰减的原则依次减小为原来的 0.05倍。使用贝叶斯函数对网络模型权重参数进行初始化,随机生成均值为0,方差为1,遵循正态分布的权重参数。
作物叶部病害数据集中对全新学习(new learning)、迁移学习(transfer learning)和渐进微调的迁移学习(Progressive Fine-Tuning Transfer Learning,PFTL)3 种训练方式进行训练效果对比(图5)。在训练误差都为0.000 1时,3 种训练方式的训练时间分别为8.4、6.5 和5.4 h。
由图 5 可见,在全新学习的训练模式下,模型经过500 次迭代时的分割准确率仅为 0.67,当迭代次数达到1 000 时,分割准确率达到0.73,但模型已具有收敛的趋势,当完成迭代训练后,模型准确率仅为 0.92,表明模型的训练效果较差。在使用迁移学习对模型进行训练时,模型经过 500 次迭代时准确率达到 0.71,具有初步分割病害叶片的能力。在前 500 次的迭代训练过程中,模型迅速收敛,当迭代次数达到 500 次时,模型分割准确率已与全新学习的训练模式下的完成 1 000 次迭代的准确率相同,表明迁移学习能够节省模型训练时间。在使用渐进微调的迁移学习方法对模型训练的过程中,模型经过 500 次迭代时准确率达到 0.75,当训练迭代次数达到1 000 次时,模型的分割准确率达到0.88,表明使用渐进微调的迁移学习方式对网络模型进行训练,能够有效提高模型的训练速度和识别准确率。
图5 3 种模型训练方法结果比较Fig.5 Comparison of results of three model training methods
在作物病害叶片图像分割过程中,首先手动标记每个待训练的原始病害叶片图像,其中将图像中的目标区域标记为前景,其余的部分标记为背景。然后通过编码结构的卷积层提取标注后的图像特征,使用池化层对卷积层提取的特征图进行下采样,最后通过激活层来增强模型的特征表达能力。解码结构包括上采样层、卷积层和反卷积层,其中上采样用于恢复由池化引起的特征信息损失,反卷积用于恢复输入图像的尺寸和特征分辨率。在经过编码结构和解码结构后,使用SoftMax 对图像像素进行分类,并输出分割结果。MSF-CNNs 模型训练过程、可视化结果如图6 所示。
图6 多尺度融合卷积神经网络(MSF-CNNs)训练过程和可视化Fig.6 Training process and visualization of the Multi-Scale Fusion Convolutional Neural Networks (MSF-CNNs)
在网络训练的过程中选择不同的超参数对网络模型的训练速度和识别精度均有不同程度的影响,首先在研究的过程中分析固定学习率和指数衰减学习率对网络模型性能的影响(图7)。
由图7 可知,设置学习率取固定值0.01 时,模型的训练速度加快,当迭代次数达到 800 次时,损失函数曲线仍在下降,但损失函数曲线起伏较大,表明模型的训练过程不稳定,当迭代完成后,模型的识别准确率为0.91。在使用以指数衰减(index decay)为原则调整学习率时,损失函数曲线下降速度较快,而且几乎没有震荡现象发生,表明模型的训练过程较为稳定,当完成1 000 次的迭代训练时,模型的分割达到 0.986。因此在 MSF-CNNs模型的训练过程中使用指数衰减的形式调整学习率。
为验证所提出模型的鲁棒性,分别使用不同分割算法在多种复杂背景下的作物病害叶片图像上进行分割试验,其中复杂背景主要包括待分割图像中存在土壤背景、叶片遮挡、多个叶片、叶片残缺、病害粘连、光照条件复杂等情况。针对每种复杂背景选取20 幅图像共120 幅图像进行鲁棒性对比试验。图8 为图1 的分割结果。由图 8 可以看出,在多种复杂背景下的分割结果中,MSF-CNNs 模型几乎不受环境的影响,能够有效的分割出作物叶片的病斑区域。所以,MSF-CNNs 通过所构建的编解码结构有效的提取了输入图像的多尺度特征,不仅能够准确的分割病斑区域的轮廓区域,而且对病斑的细节区域也能完成准确分割。
图7 超参数对模型性能的影响Fig.7 Influence of super-parameters on model performance
为了验证 MSF-CNNs 模型对于病害叶片图像分割的性能,将其在真实采集的作物病害叶片图像数据库种进行分割试验,并将其与现有的分割方法 FCNs、SegNet、U-Net、DenseNet 进行比较[21-22]。在对试验结果进行分析的过程中,为了量化模型的性能分别使用像素分类精度(Pixel-classification Accuracy,PA)、平均精度(Mean Accuracy,MA)、平均交并比(Mean Intersection Over Union,MIoU)和频率加权交并比(Frequency Weighted Intersection Over Union,FWIoU)作为综合评价指标,分割结果如表 2 所示。
图8 不同环境下作物病害叶片分割结果Fig.8 Cucumber disease leaf segmentation results in different environments
表2 不同分割方法的分割评价指标Table 2 Segmentation results of the different segmentation methods
由表2 可知,MSF-CNNs 方法的 PA、MA、MIoU和FWIoU 值最高,分别为92.38%、93.12%、91.36%和89.76%,MSF-CNNs 的 MA 比 FCNs、SegNet、U-Net、DenseNet 分别提高了13.00%、10.74%、10.40%、10.08%和6.40%。FCNs 使用反卷积过程恢复图像分辨率优化分割结果,但该方法的下采样操作弱化了模型的特征提取能力,导致其对小面积病斑区域的分割能力较差,因此其分割性能指标较差。SegNet 是基于空洞卷积的分割模型,空洞卷积能够扩大原始卷积核的局部感受野,但有些病斑区域在整体叶片中所占比例较小,所以这2 种分割方法在性能评价指标上均落后于MSF-CNNs。根据以上结果能够判断MSF-CNNs 具有较好的分割效果,对病斑区域的分割结果最接近于真实值,能够满足自然状态下对病害叶片图像分割的高精度要求。但是由于作物叶片图像的病斑区域边界较为复杂且所占面积较小,同时部分病斑区域与正常区域的相似度较高,导致正常区域边界与病斑区域边界难以区分,所以从表 2 中看出MSF-CNNs 的分割性能评价指标值仍然较低。
黄瓜病害叶片中的病斑区域分割是病害检测与类型识别的关键步骤,分割效果将直接影响病害检测和识别的精度。针对传统方法对于黄瓜病害叶片图像分割精度低的问题,提出一种多尺度融合卷积神经网络(Multi-Scale Fusion Convolutional Neural Networks,MSF-CNNs)用于黄瓜病害叶片分割。MSF-CNNs 由编码网络(Encoder Networks,ENs)和解码网络(Decoder Networks,DNs)2 部分组成,其中ENs 为一个多尺度卷积神经网络组成,用于提取病害叶片图像的多尺度信息;DNs 基于九点双线性插值算法,用于恢复输入图像的尺寸和分辨率。在模型训练的过程中,使用一种渐进微调的迁移学习方法加快网络模型的训练速度和分割精度。在复杂背景下的作物病害叶片图像数据库上进行分割试验,并与现有的全卷积网络(Fully Convolutional Networks,FCNs)、SegNet、U-Net、DenseNet 深度学习模型进行比较。结果表明,该方法能够满足复杂环境下的黄瓜病害叶片图像分割需求,像素分类精度为92.38%,平均分割准确率为93.12%,平均交并比为91.36%,频率加权交并比为89.76%。其中,平均分割准确率比FCNs、SegNet、U-Net 和 DenseNet 分别提高了 13.00%、10.74%、10.40%、10.08%和 6.40%。使用渐进学习训练方式后,训练时间缩短了0.9 h。本方法为进一步的黄瓜病害识别方法研究提供了参考。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!