APP下载

基于快照集成卷积神经网络的苹果叶部病害程度识别

2022-08-05徐皓玮李承泽宋鸿利何东健张海曦

农业机械学报 2022年6期
关键词:快照病斑准确率

刘 斌 徐皓玮 李承泽 宋鸿利 何东健 张海曦

(1.西北农林科技大学信息工程学院,陕西杨凌 712100;2.农业农村部农业物联网重点实验室,陕西杨凌 712100;3.西北农林科技大学机械与电子工程学院,陕西杨凌 712100;4.陕西省农业信息感知与智能服务重点实验室,陕西杨凌 712100)

0 引言

苹果病害对其生长发育、产量、品质影响甚大,非常容易造成无法挽回的经济损失。因此,精确的早期苹果病害识别对降低苹果叶部的发病率和保证苹果产业的健康发展具有十分重要的意义。

现有的农作物病害识别方法主要包括2种:一类是利用数字图像处理技术通过背景分割、病斑分割、特征提取和分类等步骤实现对早期病害识别。基于传统数字图像处理技术的农作物病害诊断方法取得了较好识别效果[1],但在实际应用方面仍存在一定的局限性。大量的图像预处理工作费时费力,以及基于人工设计的特征忽略了病害图像中的全局信息和上下文信息,容易产生语义鸿沟。这些局限性直接导致该方法不能很好地满足早期农作物病害识别的精度要求。另一类是基于深度学习的农作物病害识别方法。随着深度学习技术在计算机视觉领域的快速发展,越来越多的研究者关注深度学习在农业领域的应用[2]。卷积神经网络(Convolutional neural network,CNN)与传统方法相比,能够自动地提取鲁棒性强的叶部病害特征[3]。许景辉等[4]针对田地背景下小样本玉米叶部病害识别问题,构建了基于迁移学习的CNN模型,实现了对玉米锈病和大斑病染病叶片图像95.33%的平均识别准确率。任守纲等[5]对于目前深度模型在识别病害的过程中易受环境因素干扰,在提取病害特征的过程中存在不确定性等问题,设计了一种基于反卷积引导的VGG网络模型,实验结果表明模型精度高达99.19%。孙云云等[6]采用AlexNet卷积神经网络对茶轮斑病、炭疽病和云纹叶枯病的染病图像进行识别,实验结果显示模型的识别精度达到94.29%。马浚诚等[7]构建了一个基于图像处理的温室黄瓜霜霉病诊断系统,采用的病斑分割方法能够克服复杂背景和光照条件的影响,准确地提取病斑图像,黄瓜霜霉病识别准确率达到90%。总体来说,目前对于病害程度的识别研究较少,识别准确率有待提高。

本文将深度学习应用于苹果叶部病害程度的识别,提出一种基于快照集成的早期苹果病害识别的卷积神经网络模型。以期提高苹果叶部病害程度识别的准确性,弥补传统方法和单一模型的不足,满足实际苹果生长过程中对病害早期诊断的实际要求。

1 材料与方法

1.1 病害图像采集与获取

本文实验采用的图像数据为2018年AI Challenger农作物病害检测比赛中的苹果病害数据集,并取样一部分西北农林科技大学白水苹果试验示范站苹果叶部病害图像作为补充。数据集最终包含简单背景条件下健康叶部、黑星病和锈病3大类样本共计2 011幅图像,其中病害的程度分为一般和严重2种状态。数据集中每幅图像都包含一片苹果叶子,即苹果叶子占据着每幅图像的主要位置。数据集中图像文件大小主要集中于157~540 kB之间,尺寸约为256像素×352像素。数据集中包含健康叶片图像671幅、黑星病早期图像426幅、黑星病晚期图像352幅、锈病早期图像275幅和锈病晚期图像287幅(图像样本如图1所示),可知该数据集存在数据分布不平衡的问题。

图1 各类样本图像Fig.1 Various sample images

1.2 数据增强

提高神经网络模型泛化能力的最佳方法是采用更多的数据进行训练,但由于获取更多的具有可靠标注的苹果叶部病害图像耗时费力,原始数据集包含的样本图像是非常有限的。对于该问题主流的解决方法是对数据集进行数据增强,可以使有限数据产生相当于更多数据价值的同时,不必大量增加原始数据量[8]。本文主要使用4类方法进行数据增强:图像旋转与镜像、图像亮度与对比度调整、FANCY PCA[9]和MIXUP方法[10]。基于这4类增强方法生成的样本数据如图2所示。增强后的数据集按比例3∶1∶1划分为训练集、验证集和测试集,各样本集中的样本数量情况如表1所示。

图2 数据增强结果Fig.2 Results of data augmentation

表1 苹果叶部病害数据集情况Tab.1 Apple leaf disease data set

1.3 基于快照集成的苹果叶部病害程度识别模型

1.3.1基于卷积块注意力模块的注意力机制

由于苹果叶片病害的病斑通常具有尺寸小、分布密集等特性,因此相比其他视觉分类任务,苹果叶片病害识别任务的难度更大。针对上述问题,本文通过加入注意力机制能更有效地对细小差异病斑图像进行特征提取与分类,以此改进模型对苹果叶部病害的识别精度。

卷积块注意力模块(Convolutional block attention module,CBAM)是一个轻量级的注意机制模块[11],可以很容易嵌入到现有的主流卷积神经网络结构中,并且不会带来较多的额外运算量。CBAM同时采用了最大池化和平均池化两种池化方式,并且通过特征通道和空间2个维度的信息来生成权重,实现对原特征的重标定操作。假设给定一个特征图X∈RH×W×C(其中H为图像高度,W为图像宽度,C为图像通道数),卷积块注意力模块依次沿着特征通道和特征空间2个独立的维度分别构建出通道注意力图MC∈R1×1×C和空间注意力图MS∈RH×W×1,整体结构如图3所示。

图3 CBAM模块整体结构图Fig.3 Overall structure diagram of CBAM module

其实现过程为

(1)

式中 ⊗——矩阵点乘运算

X′——通道注意力模块输出结果与原特征图进行点乘后的输出结果

X″——CBAM的最终输出

图4 CBAM各部分结构Fig.4 Structure of each part in CBAM

通道注意力的计算过程为

(2)

式中σ(·)——S型函数

W0、W1——输入共享的MLP权重

MLP(·)——多层感知机模块

AvgPool(·)——平均池化层

MaxPool(·)——最大池化层

由于苹果叶部病斑形态各异,并且同一片叶片上可能在多个位置出现小而密集的病斑,因此仅仅使用通道注意力进行特征提取容易造成对小目标信息的丢失。空间注意力模块作为对通道注意力模块的补充,主要用于获取重要特征的空间位置,实现对特征间空间相关性的描述,最终实现对苹果叶部病斑的准确定位。空间注意力模块的具体结构如图4b所示。

在计算空间注意力特征图时,首先通过最大池化和平均池化操作沿特征通道轴方向汇聚特征图的通道信息生成2组特征描述符,分别表示特征通道的最大池化特征和平均池化特征。然后将2个特征图进行串联拼接并通过一个标准卷积层生成空间注意力特征图MS(X)∈RH×W,从而实现对强化或抑制的空间位置的编码。空间注意力计算公式为

(3)

式中f(·)——卷积运算

1.3.2焦点损失函数

苹果叶部病害样本存在获取困难且分布不平衡的问题,因此模型对不同病害样本的分类难度具有极大的差异性。上述问题原因在于训练过程中采用的原始交叉熵损失函数很难刻画这种不均衡分布特征,因而导致分类效果较差。为了解决这个问题,本文引入了焦点损失函数(Focal loss)[13],在一定程度上解决苹果叶部病害数据分布不平衡问题。焦点损失函数是在交叉熵损失函数(Cross entropy)基础上进行修改得到的。多分类交叉熵损失公式为

CE(y,y′)=-∑y′ilbyi

(4)

式中 CE(·)——多分类交叉熵损失函数

y——样本标签

y′——经过Softmax激活函数的输出概率

焦点损失函数本质上是在交叉熵损失函数的基础上添加调节因子,其中γ通过降低易分类样本的权重使得模型在训练时更加关注难分类的样本。

FL(y,y′)=-∑αi(1-y′iyi)γlby′i

(5)

(6)

式中 FL(·)——焦点损失函数

αi——平衡因子,用来平衡各类样本比例

ni——第i类样本数量

N——数据集中样本总数

1.3.3快照集成

由于单一卷积网络模型在病害分类识别上的局限性和苹果叶部病害病斑特征的复杂性,将多个能够独立进行判别分析的网络模型进行集成获得的效果一般会比单网络模型效果好。然而,由于训练深度神经网络耗时耗力的特性,训练后集成不同模型的代价很高。

神经网络可能具有多个局部极小值,每个局部极小值对不同的特征赋予不同的权重,并包含一些有价值的信息。然而,传统的神经网络训练方法往往收敛到某个局部极小值,导致信息缺失。在这种情况下,为了提高模型的性能,本文拟采用集成方式来整合不同极小值的信息。文献[14]提出了一种在不增加训练代价的情况下实现多神经网络集成的方法。首先训练单个神经网络,沿其最优路径收敛到局部极小值并保存模型参数;此后,为了获得重复的快速收敛性,采用余弦函数控制学习率,该策略被称为余弦退火策略(Cosine annealing),其学习率公式为

(7)

式中α(t)——第t次迭代时的学习率

α0——初始学习率

T——迭代次数M——循环次数

mod()——模运算函数

⎣」——向下取整操作符

结合图5可以看出,在传统的训练过程中学习率往往呈指数衰减趋势,因此模型会逐渐找到局部最优点。该过程中,由于学习率在初始阶段具有较大的值,因此模型不会进入陡峭的局部最优点,当学习率下降时会很快向平坦的局部最优点移动。然而采用余弦退火策略的模型将经历多个学习率的退火循环周期,在收敛到多个局部最小值后,学习率将大大提高,并从极值点逃逸。模型的多样性很大,具有不同的局部最优点,所以集成后的模型效果会更好。

图5 指数衰减策略与余弦退火策略Fig.5 Comparison of exponential decay strategy and cosine annealing strategy

这种优化集成方法称为快照集成(Snapshot ensembling),与单一模型相比,通过快照集成方法获得的多个集成子模型有以下2个性质:①每个模型都有比较低的错误率。②模型两两之间对识别错误的例子没有交集。基于这2个性质就可以进行模型集成。

经过M次循环后,算法在训练过程中保存了M个快照模型

(8)

式中x——测试样本

hM-i(x)——第M-i个快照模型经过Softmax激活函数的输出

hEnsemble——集成模型的输出,是最后m个模型(m≤M)的简单平均值

针对每幅图像,将每个“快照”模型的概率预测进行串联,形成一个新的数据项。考虑到使用XGBoost模型作为元模型可以从预测中提取有用的信息,将这些新数据构成的特征集输入到XGBoost模型中,以构建最终的苹果叶部病害程度识别模型。图6为该模型的整体结构(以3次循环为例)。

图6 基于快照集成的苹果叶部病害程度识别模型原理图Fig.6 Diagram of apple leaf disease identification model based on snapshot ensembling

2 实验

2.1 环境配置和超参数设置

实验采用表1所示的苹果叶部病害数据集,实验环境配置如表2所示。

表2 实验环境配置Tab.2 Experimental configuration

为了能快速计算导数以及使损失函数脱离鞍点和较差的局部最优点,网络参数更新方法采用随机梯度下降(Stochastic gradient descent,SGD)[15],即每次计算梯度时随机选择样本库中的一个样本(或少量样本)进行计算。但是若只采用SGD的训练方法,权值更新将完全依赖当前批次,导致更新过程非常不稳定,因此需要引入动量方法。动量方法权值更新过程为

(9)

式中α——学习率

β——动量系数,取0.9

vdw——动量 dw——权值衰减

为了评估模型的性能,采用多分类场景下的准确率(Accuracy)为评价指标。其他神经网络训练过程所需超参数的设置为:基础学习率设为0.1,批次数量为32,迭代次数设为60。为确保实验的可复现性,随机种子固定设置为42。此外,在输入网络前所有叶部病害图像尺寸统一被裁剪为256像素×256像素。

2.2 最优识别模型

苹果叶部病害的大部分病斑形状相似,且具有小而密集的特点,因此首先分析了不同卷积神经网络模型的效果对比,例如VGG19[16]、AlexNet[17]、ResNet101、ResNet152、GoogLeNet V2[18]、改进DenNet121[19]、XDNet[20]和Inception-ResNet V2[21]。首先基于2.1节描述的实验环境和数据增强后苹果病害数据集进行训练,然后比较上述模型在同等训练超参数设置时在测试集上的表现。本文采用测试集上对不同程度病害的识别准确率和识别1幅苹果叶部病害图像所需的推理时间作为苹果病害程度识别模型的测评指标,最终结果如表3所示。

表3 各模型在测试集上的性能指标Tab.3 Performance of selected models on test set

由实验结果和表3可知,对锈病晚期识别准确率仅比XDNet网络低0.51个百分点的情况下,Inception-ResNet V2模型对其他病害程度识别准确率和总体准确率均为最佳,并在同等实验条件下识别1幅病害图像推理所耗时间最短,在苹果病害程度识别任务中性能优越。由于苹果叶部不同的病害具有不同的特性,如锈病的病斑较小且处于早期时比较稀疏,大多低于28像素×28像素,晚期锈病的病斑又变得密集;黑星病的病斑大多高于46像素×56像素,通常比较稀疏,所以固定尺度的卷积核在感知不同尺寸的病斑时效果不佳。加之苹果叶部病害识别是一个细粒度图像分类任务,其子类别间类间差异较小,因此与普通分类任务相比本文的病害程度图像分类难度更大。

由以上分析可知,使用单一尺度的卷积核来识别多尺度的病斑效果较差且效率较低。通过分析Inception-ResNet V2网络的结构可知,其中的Inception模块选取了2种不同尺度(3×3和7×7) 的卷积核组合进行多尺度特征提取的方式,这使得网络能够感知不同尺度的特征,因此能够较好地感知不同尺寸的病斑,提高网络的特征提取能力。同时,Inception-ResNet V2引入了残差网络跳跃连接的方法,加深网络深度的同时避免了梯度消失、梯度爆炸的问题,进一步提高了网络性能。另外,Inception-ResNet V2网络将使用的3×3和7×7卷积核进行分解,在加深网络的同时减少了涉及的参数量,加快了网络的推理速度。

综上所述,Inception-ResNet V2 由于其出色的特征提取能力与随之带来的较之其他网络更高的识别准确率,可以作为后续快照集成工作的基模型。

2.3 数据增强对模型识别性能的影响

以2.2节实验结果中性能最优的Inception-ResNet V2模型为基础网络模型,探究数据增强操作对最终分类效果性能的影响。模型在训练集和验证集上的准确率对比曲线如图7所示。

图7 准确率对比曲线Fig.7 Comparison curves of accuracy before and after data augmentation

由图7可知,在使用原始数据集进行训练的过程中,网络存在着严重的过拟合现象,且验证集上识别准确率只有83.17%。当使用增强后的数据集样本进行训练后,可以发现过拟合现象有极大改善,验证集上识别准确率也显著上升,达到了87.84%。

通过以上实验,可以看出当数据集样本量较少时,模型的识别准确率较低,并且模型容易过拟合,模型性能差;而随着数据集样本量的增大,过拟合现象逐渐消失,模型性能也逐渐得以提升,识别准确率及模型的泛化能力也得到一定程度的提升。因此,基于数据增强方法去扩充苹果病害样本数量是解决模型过拟合和提高准确率的一个有效方法。

2.4 卷积块注意力模块和焦点损失函数对模型性能的影响

图8 苹果叶部病害图像类激活热力图Fig.8 Class activation maps of apple leaf diseases

在Inception-ResNet V2模型基础上,进一步验证注意力模块以及焦点损失函数对最终分类效果的影响。首先对其引入基于卷积块注意力模块的注意力机制(记为CBAM),与原模型(记为Vanilla)的实验结果进行对比,验证卷积块注意力模块是否对模型性能有提升效果。然后将原先的交叉熵损失函数(记为CE)更换为焦点损失函数(记为FL),验证其有效性。以测试集准确率为评估指标,最终消融实验可得Vanilla+CE、Vanilla+FL、CBAM+CE和CBAM+FL的准确率分别为88.32%、88.78%、88.91%和89.79%。

由消融实验结果可知,引入CBAM模块的Inception-ResNet V2模型比原模型的准确率高1.59个百分点。另外,类激活图(Class activation map,CAM)可视化有助于了解让模型做出正确分类决策的苹果叶部病害图像的部位。因此,为了进一步分析CBAM模块对模型病害特征提取能力的提升效果,实验提取了部分测试集图像在经过模型最后卷积层后的类激活图,如图8所示。可以看出,引入CBAM模块后的Inception-ResNet V2模型可以有效捕捉到发病部位及提取病害特征,从而提高苹果病害程度图像识别这种细粒度分类任务下的模型性能。

当使用原模型时,损失函数更换为焦点损失函数后准确率相比交叉熵损失函数提升0.46个百分点,说明焦点损失函数的引入缓解了数据集样本不平衡的问题。二者组合的准确率相比基线模型(Baseline)提升了1.47个百分点,说明使用卷积块注意力模块和焦点损失函数对最终分类效果的提升有积极影响。

2.5 快照集成对模型性能的影响

选取2.4节中的改进Inception-ResNet V2模型为研究对象,先将余弦退火策略中的学习率循环次数作为一个超参数(循环N次便保存N个快照模型),以测试集准确率为评估标准,探究快照集成对最终模型性能的影响。

图9 不同循环次数下快照集成模型的测试集准确率Fig.9 Accuracy on test set of snapshot ensemble model under different cycles

通过图9可以看出,当集成3个快照模型时整体模型的性能最好。说明合理地对快照模型的数量进行调整也能够改善最终集成模型的性能。集成模型的核心是要求各个子模型必须具有多样性,且每个子模型本身要具有超过随机猜测的准确性。这个理论反映在本实验中即为快照集成方法中的快照子网络并不是越多越好,越多的快照表示相邻2次保存操作间隔的时间越短,意味着保存的快照模型之间的相关性越高,集成模型的性能也就越差。快照模型的数量应该根据使用的基础模型和具体的任务进行适当调整,从而找到最佳循环次数。同时,循环次数为1表示只保存1个快照模型,这等同于使用单一模型进行训练,此时的准确率只有89.79%,相比集成最好结果(90.82%)降低了1.03个百分点,侧面验证了快照集成方法相比单一模型对模型性能有提升效果。另外,最好结果(90.82%)与单一Inception-ResNet V2模型的准确率(88.32%)相比,提高了2.50个百分点,表明了注意力机制与快照集成等改进方法的有效性。

3 结论

(1)以苹果黑星病和锈病的早期与晚期病害图像为研究对象,构建了基于快照集成卷积神经网络的苹果叶部病害程度识别模型,实现了对苹果叶部病害程度高准确率的识别。

(2)基于数字图像处理技术对原始数据集进行数据增强,有效地缓解了过拟合现象且提升了识别准确率。

(3)选取了与本文病害识别任务契合度最高的Inception-ResNet V2为基础网络,同时引入卷积块注意力模块(CBAM)和焦点损失函数,构建快照集成模型,利用苹果黑星病和锈病的早期和晩期病害数据集进行了模型验证,准确率高达90.82%,与单一Inception-ResNet V2模型88.32%的准确率相比,提高了2.50个百分点。实验表明该集成模型具有高准确率和良好的泛化能力。

猜你喜欢

快照病斑准确率
一种基于CANoe实现诊断快照数据测试的方法
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
巧破困局,快速恢复本本活力
注册表拍个照 软件别瞎闹
套袋对柠檬果实外观品质的影响
Ophiognomonia castaneae协同板栗褐缘叶枯病病原菌致病作用的研究
让时间停止 保留网页游戏进度