基于混合扩张卷积和注意力的黄瓜病害严重度估算方法
2023-03-07李凯雨朱昕怡马浚诚张领先
李凯雨 朱昕怡 马浚诚 张领先
(1.中国农业大学信息与电气工程学院,北京 100083; 2.中国农业科学院农业环境与可持续发展研究所,北京 100081)
0 引言
黄瓜是世界上第三大消费蔬菜,其年产量超过8.3×107t[1]。霜霉病和白粉病等病害是导致黄瓜品质下降和农民经济损失的主要原因之一。病害严重度的准确估算是精准用药和预测作物损失的关键[2],因此,估计病害严重度非常必要。
视觉估计是量化病害严重度的常规方法,即人眼对可见光范围内感知的症状严重程度进行赋值。比例尺是视觉估计中最准确的工具,人们利用比例尺测量植物上病害的数量和面积进行估计[3],是视觉估计中最准确的工具[4]。然而,由于不同病害症状的异质性和视觉估计的主观性,视觉估计并不可靠。标准面积图(Standard area diagrams,SAD)可以用来提高严重度估计的准确性[5],但是SAD只能在白色或黑色等简单的背景下估计特定病害的严重度。
基于数字图像分析的严重度评估准确、可重复,且这种方法有成熟的处理过程。首先,通过图像预处理或手动操作去除背景噪声。其次,将颜色转换与数学形态学操作、阈值处理等相结合分割出病斑。最后,计算病斑面积和叶片面积的比例得到病害严重度。这些分割算法依赖于手工设计的图像特征,在受控条件下简单高效。但是,田间条件下采集的病害图像含有大量的土壤背景和复杂光照等噪声,且不同种类病害及不同严重程度的病害特征具有多样性和复杂性,手工设计的特征往往是低层次的特征,对光照变化、复杂背景和不同病斑位置很敏感,因此上述方法难以适应田间条件下的病害严重度估算。
深度学习(Deep learning, DL)受益于其自动学习图像的低级特征和高级语义特征,已经成为图像处理最先进的技术[6]。将病害严重度转换为计算机视觉问题时,基于DL的病害严重度估计可分为3类,即基于分类的方法、基于回归的方法和基于语义分割的方法。基于分类的方法采用卷积神经网络(Convolutional neural network,CNN),通过将严重度分为严重程度的类别或区间将其转换为一个分类问题[7-8],如健康、早期、中期和晚期。基于分类的严重度估算取得了较高的准确率[9],但是此种分类方法在田间试验中并不利于评估处理的有效性。基于回归的方法和基于语义分割的方法可以获得严重度的百分比值,很有参考价值[3]。张领先等[10]构建一个CNN模型估计黄瓜霜霉病的严重度,以手动去除背景的病害图像作为输入,证明了CNN的准确性优于浅层机器学习模型,决定系数R2达到0.919 0。基于语义分割的方法是通过深度神经网络代替人为设计特征的分割方法获得病害分割图。在简单背景下取得了较为准确的估计结果[11-13],但自然条件下拍摄的图像不可避免地存在杂乱的背景,会降低严重度估计的准确性[14]。鉴于此,WANG等[14]设计两阶段的病害分割模型以减少复杂背景的影响,首先使用DeepLabV3+分割病害叶片,对分割出的病害叶片使用UNet分割出病斑。然而,两阶段的分割消耗更多的计算资源,增加严重度估计的复杂性。因此,有必要探索一种更高效且适合自然条件下的黄瓜叶部病害图像严重度估计方法。
本文以田间条件下采集的黄瓜霜霉病和白粉病为研究对象,提出一种基于混合扩张卷积和注意力机制改进UNet(MA-UNet)的病害严重度估算方法。首先选取UNet为病害分割基础模型,添加批归一化层有助于模型训练;其次,设计具有不同膨胀率的混合扩张卷积块,捕捉不同尺寸的病斑特征,提升分割精度;同时,利用注意力机制有效增强网络的语义信息和位置信息,缓解背景对网络学习的影响。最后,计算病害分割图中病斑像素与叶片像素的比率来获得严重度,并与FCN、SegNet、UNet、FPN、PSPNet和DeepLabV3+进行比较,以验证本文方法的有效性。
1 数据来源
1.1 图像采集
黄瓜霜霉病和白粉病图像采集于天津市农业科学院农业创新基地的5号日光温室。采集时要求每幅图像中保留一片完整的黄瓜叶片,背景中带有土壤或其他叶片等噪声。使用尼康Coolpix S3100型数码相机在自动模式下共采集153幅图像,其中霜霉病图像76幅,白粉病图像77幅。在采集过程中没有使用光学变焦或闪光灯。原始图像尺寸并不适用于模型,使用图像缩放方法降低计算成本,提高计算效率,将图像尺寸统一调整为224像素×224像素。预处理后病害图像样例如图1所示。
图1 统一图像尺寸后的病害图像及标注样例
1.2 图像标注
使用Matlab Image Labeler App(MathWorks Inc., 美国)对病害图像进行了像素级的标注。在标注过程中,图像中可能有不止一片叶片,背景中还包含其他不完整的叶片。因此,叶片和病斑类别的标记只在中心完整叶片上进行。背景、叶片和病斑的类别分别被标记为0、1和2。为了便于可视化,病害标记样例如图1所示。标记之后,病害严重度S计算式为
(1)
式中Plesion——分割图中病斑像素点数量
Pleaf——分割图中健康叶片像素点数量
1.3 图像增强
根据分层抽样法,将采集的153幅黄瓜叶部病害图像随机划分为训练集、验证集和测试集,其比例为6∶2∶2。由于训练集中只有93幅图像,为了丰富数据的多样性以及适应卷积神经网络所需要的大量数据,对采集的每种病害数据集进行数据增强以防止过拟合。增强的策略主要是水平翻转、垂直翻转、随机缩放、顺时针旋转和逆时针旋转等方式。扩增后,训练数据集中的图像数量增加到2 976幅,扩充示例如图2所示。验证集和测试集的图像数量均为30幅,不做扩充处理。
图2 训练样本增强示例
2 黄瓜叶部病害分割及严重度估算模型建立
对采集到的黄瓜病害叶片图像严重度估计流程如图3所示。通过训练集训练提出的MA-UNet分割模型,验证集用来调整模型的超参数并初步评估模型的性能。其次,在测试集上对分割模型的性能进行最终对比,并得到分割图。最后,根据分割图分别计算健康叶片和病斑的像素数,并根据式(1)计算病害严重度。
图3 严重度估算整体流程图
2.1 模型构建
2.1.1分割网络
由于UNet架构在解决图像到图像映射任务方面的有效性[11],本文选择其作为构建模型的基础。最初为医学图像分割任务提出的UNet模型采用了自编码器结构,编码器从输入图像中提取特征,解码器进行每个像素分类来重构分割的输出。另外,编、解码器之间的跳跃连接能为输出图像精确定位。UNet在医学图像分割[15]、作物分割[16-17]等任务上取得了可喜的成果。本文在原始UNet的基础上,在每个卷积层后引入批归一化层(Batch normalization, BN),实现对输入数据的标准正态分布来保证层间数据分布的稳定性,能够有效提升网络学习能力,加快网络收敛速度。在编码器与解码器的中间引入具有不同膨胀率的混合扩张卷积块(Mixed dilation convolution block, MDCB),减少下采样导致图像细节的丢失。其次,在解码器里添加注意力机制,优化网络提取病害图像的位置信息和语义信息,进一步提升分割精度。本文提出的分割网络如图4所示。
图4 MA-UNet网络结构
2.1.2混合扩张卷积块
在多种语义分割任务中,深度卷积神经网络已被证明可以有效地提取图像的特征表示,然而,传统卷积神经网络中的池化层会导致图像细节丢失。扩张卷积可以克服这个限制[18]。扩张卷积引入膨胀率,可以在不丢失空间信息的情况下以指数方式增加感受野。
但是扩张卷积在卷积核中的2个像素之间填充零,导致该核的感受野仅覆盖具有棋盘图案的区域。因此,仅对非零值的位置进行采样,从而丢失了一些相邻信息,容易形成“网格化”。受JIANG等[19]研究启发,本文提出一种混合扩张卷积块(MDCB)来避免网格效应,有效地捕获高分辨率特征图并保留更多空间信息,如图5所示。混合扩张卷积块由3个带有不同膨胀率的扩张卷积块组成,扩张卷积块由4个卷积层、批归一化层以及LReLU(Leaky ReLU)激活函数组成。其中膨胀率遵循类似锯齿波的启发式方法,即许多层组合在一起形成膨胀率增加的“上升边缘”,文中使用的膨胀率r依次为1、2和5。大膨胀率的卷积可以提取和生成更多大尺度对象的抽象特征,而小膨胀率的卷积对于小目标更好。通过结合不同膨胀率的扩张卷积,MDCB 块能够提取具有尺寸不一、形状不规则的病斑特征,对病害分割更有效。
图5 MDCB模块结构示意图
2.1.3注意力机制
注意力模型有很多种,卷积注意力机制(Convolutional block attention module,CBAM)[20]是一种简单有效的注意力模块,沿着通道和空间2个独立维度依次进行推理,2个维度的注意力相辅相成,最后与输入特征进行自适应特征优化,结构如图6所示。此外,CBAM 模块的一大优势是轻量级,可无缝集成到任何神经网络中,无需增加计算开销。
图6 CBAM注意力模块
通道注意力针对输入特征F(H×W×C,其中,H为图像高,W为图像宽,C为通道数)分别进行空间全局平均池化和最大池化,得到2个1×1×C特征,通过ReLU激活函数将它们分别送到1个2层神经网络,对全局特征进行非线性学习,得到2个特征并相加,再通过Sigmoid激活函数得到权重系数Mc。最后,将权重系数Mc与原始特征F相乘,得到通道维度上缩放后的新特征F′。与通道注意力类似,空间注意力针对特征F′(H×W×C),首先在通道维度上进行平均池化和最大池化,聚合特征映射的信息压缩得到2个H×W×1的特征,并拼接在一起。然后,通过卷积操作激活其空间特征值,得到缩放后的空间特征图Ms。在病害严重度估算研究中,本文探索了注意力的位置及数量,实验表明将CBAM添加到解码器中,提取解码器中的细节特征,并与编码器的特征相融合,有益于模型提取病害图像的病斑特征,抑制背景的影响。
2.2 损失函数
病害数据集中背景类别、病斑类别和健康叶片类别的像素数量显然不均衡。这3个类别之间的差异可能会对训练产生不平衡的影响,而忽略了病斑像素的重要性。因此,实验中使用了加权交叉熵损失函数来减少这种影响。每个类别的权重Wm根据BADRINARAYANAN等[21]中位频率平衡(Median frequency balance)计算。最终用于数据集的背景、健康叶片和病斑的权重分别为1.000 0、0.228 6和3.453 2。
(2)
式中fm——m类像素出现的频率
Af——类频率中值
应用类别权重之后的像素级交叉熵损失函数L为
(3)
式中N——总样本数
M——目标类别数量,取2
yn,m——符号函数,如果第n个样本属于第m类取1,否则为0
pn,m——第n个样本预测为第m类的概率
2.3 实验设置
本文中的模型是基于PyTorch的深度学习库实现的,并使用NVIDIA Quadro P2000 GPU(5GB)进行训练。训练过程中使用动量为0.9的随机梯度下降法(Stochastic gradient descent, SGD)。在设备允许的情况下,多次调整参数,最终初始学习率设置为0.007,并以Poly方式变化[18]。训练的最大Epoch设置为300,批量大小设置为8。另外采用L2正则化防止过拟合。
3 结果与分析
3.1 性能评估
由于本文涉及叶片和病斑分割以及病害严重度估算,因此采用准确率(Precision)、召回率(Recall)、交并比(Intersection over union, IoU)和F1值[22]来评价分割结果。模型整体分割性能由像素精度(Pixel accuracy, PA)、平均交并比(Mean intersection over union,MIoU)和频权交并比(Frequency weighted intersection over union, FWIoU)来评估[23]。严重度估计的准确性由决定系数(R2)和均方根误差(RMSE)来评价[11]。
为了验证提出模型对黄瓜叶部病害严重度估算的准确性,分别对提出的网络进行消融实验,并且与先进的估算模型进行对比。在此期间,展示了提出模型在图像分割任务中的定性和定量结果,以及病害严重度估算的评估结果。
3.2 消融实验
为了评估MDCB和CBAM在提出的严重度估算模型中的有效性,在黄瓜病害数据集上进行了消融实验研究。使用测试集评估训练好的分割模型的性能,并通过测试分割图估算病害严重度。在模型训练中,使用原始UNet作为基线模型,添加BN层,从头开始训练。分别通过MDCB和CBAM优化UNet,得到UNet + MDCB和UNet + CBAM 2个优化模型。最后,通过在原始UNet中同时配备MDCB和CBAM模块获得MA-UNet(UNet + MDCB + CBAM)。
病害数据集上的语义分割结果如图7所示,田间条件采集的病害图像含有相近颜色的背景,并且病害病症有其特殊性,病斑可能存在不同尺度、不规则形状和模糊边界的现象。仅依靠原始UNet,通常无法获得令人满意的分割结果(图7c)。通过增加感受野的多样性和补偿传统扩张卷积中普遍存在的局部细节损失,UNet + MDCB获得了更好的语义分割效果(图7d)。另一方面,通过提取病害的位置信息和空间信息,克服复杂背景的影响,UNet + CBAM也优于基线模型(图7e)。通过在MA-UNet中集成 MDCB和 CBAM 模块,不仅可以提高模型识别各种尺度和不规则形状病斑的能力,还可以增强网络对复杂背景的泛化能力(图7f)。
图7 病害数据集上消融实验的视觉比较
除了视觉比较之外,表1展示了测试集上各模型的整体性能。结果显示,UNet+MDCB和UNet+CBAM都获得了比原始UNet更优的PA、MIoU和FWIoU,清楚地证明了MDCB和CBAM模块在复杂背景下分割不规则病害的有效性。基于集成了MDCB和CBAM的UNet,本文提出的MA-UNet模型在测试集上以最佳的整体性能优于其他对比模型,最终PA、MIoU和FWIoU分别达到96.79%、84.97%和93.95%,相比UNet模型,分别提高5.08、11.78、8.97个百分点。消融实验中各模型对病害严重度的估算情况与分割结果一致,随着PA、MIoU和FWIoU的提升,MA-UNet在病害严重度估算任务中的拟合度升高,最终R2达到0.965 4,比原始UNet模型提升0.080 3,均方根误差为1.083 7,相比原始UNet降低1.605,表明MA-UNet模型在估算病害严重度时偏差最小。
表1 消融实验结果
表2为消融实验中各模型在背景类别、叶片类别和病斑类别上的精确率、召回率、交并比和F1值。结果表明,对于3个类别来说,消融实验中的各个模型的分割结果都优于原始UNet。总体来看,背景类别上的分割性能均高于叶片类别和病斑类别。MDCB模块使模型对病斑类别的F1值和IoU提升到79.78%、66.36%,对叶片类别的F1值和IoU提升到97.46%、95.05%,表明MDCB通过增大特征图感受野的同时保持病症信息的连续性和完整性,
表2 消融实验类别结果
能够提高像素级分类的准确性。CBAM同样使得分割模型对3个类别的精确率、召回率、交并比和F1值都有提升,表明像素类内响应和通道间的依赖关系能够提升模型的分割效果。MA-UNet结合了MDCB和CBAM的双重优势,进一步提升了叶片类别和病斑类别的准确率和交并比,有助于在严重度估算任务中准确地获取病斑和叶片的像素数,降低严重度估算的偏差。
3.3 模型性能对比
为了进一步验证所提出的MA-UNet模型对严重度估计的有效性,与最具代表性的语义分割模型进行比较,包括FCN、SegNet、DeepLabV3+、FPN以及PSPNet。为了保证比较的公平性,对比过程使用相同的训练策略和相同的计算环境。同样通过PA、MIoU和FWIoU来评价模型的分割性能,通过R2和RMSE评价模型的严重度估算性能。
表3为不同语义分割模型在测试集上的性能参数对比。在分割准确率方面,本文提出的MA-UNet取得了比对比模型更好的性能参数,这得益于不同膨胀率的混合扩张卷积提取不同尺寸的病斑信息,CBAM注意力使网络聚焦于叶片和病斑类别,同步提升病害分割精度。FPN模型分割精度效果仅次于MA-UNet,它的PA、MIoU和FWIoU分别为94.96%、76.21%和90.87%。分割精度相对表现最差的是FCN,其PA为90.05%,FWIoU仅为82.2%。MA-UNet的FWIoU为93.95%,比表现最差的FCN模型高11.75个百分点,比FPN模型高3.08个百分点。由于估算病害严重度时仅用到叶片像素和病斑像素,所以图8展示了各模型在叶片类别和病斑类别上的F1值和交并比。对于叶片类别,本文提出的MA-UNet在F1值和交并比上相比FCN、SegNet、DeepLabV3+、FPN和PSPNet等对比模型至少高4.04、5.37个百分点。对比模型在病斑类别上的分割精度均不高,但是提出的MA-UNet在F1值和交并比上相比对比模型至少高12.48个百分点和14.61个百分点。根据表3显示,提出的MA-UNet模型在单幅图像测试中耗时1.36 s,能够在不增加过多运算时间的情况下,取得最高的估算精度,实现精准快速的严重度估算。
表3 不同模型性能比较
图8 分割模型在叶片类别和病斑类别上的性能
图9展示了所有模型的语义分割结果(为了便于视觉比较,展示与图7相同的测试图像)。可以看出,当FCN面对复杂的背景和小目标时,难以分割叶片边缘[24]。这可能是由于FCN使用反卷积进行上采样,获得了稀疏的特征图,导致FCN对图像的细节不够敏感,丢失了像素之间的语义信息。DeepLabV3+采用ASPP模块来编码多尺度的上下文信息并抑制背景干扰[25]。SegNet和DeepLabV3+的分割结果比FCN好。但是SegNet难以应对复杂背景的影响,叶片边界同样分割不清晰。DeepLabV3+采用空洞卷积提取病害多尺度特征以提高分割的准确性,但是缺少空间维度和通道维度之间的相互依赖关系,导致对病斑的分割精度略低。FPN和PSPNet分别通过多尺度特征图融合和聚合上下文信息对叶片精准分割,但是同样难以处理不同尺寸的病斑,导致病斑分割较差[26]。提出的MA-UNet使用不同膨胀率的混合扩张卷积在扩大感受野的同时能够捕捉并聚焦于不同尺寸的病斑,提取空间和通道的相互依赖关系,从而捕捉到了病害图像更细化更精准的特征[20]。因此,MA-UNet在叶子和病斑分割方面取得了明显改善,并有效地抵抗背景噪声的影响,减少了叶片过分割。
图9 不同分割模型的分割效果
根据语义分割模型的分割图估算病害严重度,对模型的可靠性进行了评估[3,14],估计结果如图10所示。结果显示,所有模型的R2均超过0.83,估算精度范围从0.831 9(SegNet)到0.965 4(MA-UNet),表明基于语义分割方法能够估计病害严重度[3]。FCN、PSPNet和DeepLabV3+的估计误差相对较大,分别为2.810 2%、2.952 3%和2.736 5%。FPN取得的严重度估计结果稍好,R2为0.915 4,但其估算的偏差较高。MA-UNet估计严重度与实际严重度有很好的一致性,取得了最高的R2,为0.965 4,最低的RMSE,为1.083 7%,这取决于病斑和叶片的准确分割。从图10总体看来,大多数模型倾向于高估病害严重度[3,12],导致估计误差更明显。对严重度的高估可能是由于发病严重的病害叶片中病斑面积很大,还存在许多小的病斑相互粘连,导致模型对健康叶片和病斑的分割不准确,这也与人工视觉判断一致[2]。
图10 不同语义分割模型对严重度估算的结果
4 结论
(1)针对病害图像中病斑尺寸多变,设计具有不同膨胀率的混合扩张卷积块(MDCB),通过增加感受野的多样性和最小化传统扩张卷积中网络问题,提高模型识别各种尺度和不规则形状病斑的能力。
(2)针对田间获取的病害图像中的复杂噪声问题,设计引入注意力机制(CBAM),通过增强模型对关键细节信息表达,提升特征精准定位的效果,细化病斑分割,提高严重度估计的准确性。
(3)选择FCN、UNet、SegNet、DeepLabV3+、FPN和PSPNet模型与本文提出的MA-UNet进行对比分析。在病害分割中,MA-UNet的像素精度、平均交并比和频权交并比分别为96.79%、84.97%和93.95%,均优于其他深度学习模型。基于分割结果,在病害严重度估算中,MA-UNet模型与真实严重度的决定系数达到0.965 4,最多比对比模型高0.133 5,RMSE最小,仅为1.083 7%,表明本文模型能够对叶部病害的严重度进行精准估计。