APP下载

基于Res2Net和双线性注意力的番茄病害时期识别方法

2022-08-08贾兆红张袁源王海涛

农业机械学报 2022年7期
关键词:准确率卷积番茄

贾兆红 张袁源 王海涛 梁 栋

(安徽大学互联网学院, 合肥 230039)

0 引言

番茄病害是影响番茄产量的重要因素之一,如果可以提早发现并防治,对于提升作物品质,增加经济效益有着不可或缺的重要作用[1]。而倾向于细粒度识别(Fine-grained recognition)[2]的叶片病害早晚期识别,可以在病害发生初期就得以发现并解决,减少经济损失,但早期病害的特征不明显且占据叶片的比例较小,部分病害早晚期区分差异小等都给识别判断带来了挑战。

随着人工智能技术的兴起,相比于传统人工识别植物病害的低效和费时,通过机器学习和深度学习自动提取特征并进行分类的效果更好[3]。柴阿丽等[4]通过图形处理手段人工提取了番茄早疫病、晚疫病、叶霉病和棒孢叶斑病等4种叶部病害的病变区域的颜色、纹理和形状特征参数,并构建贝叶斯判别模型对病害识别分类。因为人工提取特征常受到主观因素和先验知识的限制,因此利用神经网络自动提取病害特征进行迭代学习,在农作物病害分类中取得了更好的分类效果[5-9]。袁培森等[10]以Inception ResNet V2作为基础模型,将双线性卷积神经网络用于细粒度菌菇表型数据集上,并取得了较好的分类识别率。除双线性模型[11]外,注意力机制也常常用于细粒度图像分类。胡志伟等[12]提出一种注意力与残差思想结合的卷积神经网络模型,通过残差网络提取叶片特征,注意力机制分配网络权重,过滤掉噪声信息并提升模型效果。ZHENG等[13]通过多注意力实现的信道分组将图像分为N个部分,并使用两个损失函数相互加强,不断迭代达到了分组和分类相互强化的细粒度分类效果。LIANG等[14]将ResNet作为基础网络,加入Shuffle单元,在实现植物病害的3个不同功能分类的同时,降低了模型的计算复杂度。

上述研究都没有在农作物数据集中尝试结合细粒度识别中的不同方法,相互促进学习,弥补单一网络的不足。本文提出采用Res2Net作为基础网络,提升多尺度特征提取能力,以使网络获得更丰富特征信息,增强模型的表征能力。同时提出一种新的通道注意力模块,解决注意力权重获取过程中信息丢失和模型复杂度问题。改进双线性网络的特征融合,避免外积后出现大量特征冗余,且将空间和通道注意力模块分别引入双线性网络,解决串联注意力模块造成的准确率不升反降的问题。

1 番茄病害识别模型

1.1 理论方法

1.1.1Res2Net 核心思想

番茄叶片上的病害程度不同且类型多样,采用基础的ResNet[15]提取特征往往难以充分表达叶片不同部位的语义信息,因此需要考虑多尺度特征以解决细粒度叶片分类中差异性局部关键信息的提取问题。由GAO等[16]提出的一种新的多尺度主干网络(Res2Net),利用特征分组的思想,在残差块内以卷积组代替原来单一卷积,并以层级残差方式连接,从而达到增加网络的感受野区域,多个特征尺度产生组合效应,提升网络的多尺度特征提取能力。

Res2Net的核心网络结构如图1所示,主要修改了Bottleneck block中间的3×3卷积层结构,引入超参数s,将经过1×1卷积层输出的特征图F(h×w×d)按通道划分为s组,即每一组特征Xi的形状为h×w×d/s,i∈{1,2,…,s}。在保持空间信息不变的同时,记经过3×3卷积层输出的操作为Ki(),第1组特征X1不经过卷积操作直接输出Y1=X1,X2经过3×3卷积层输出Y2=K2(X2),X3与Y2作残差连接通过卷积层后输出Y3=K3(X3+Y2),以此类推,最后得到输出Ys。再将这些特征组进行通道拼接后输入1×1卷积层,输出即可,具体输入公式为

图1 Res2Net网络结构Fig.1 Structure of Res2Net network

(1)

1.1.2Bilinear CNN模型

细粒度图像分类中除使用类别标签,还通过额外的bounding box和part locations等人工标注信息,以更加精确地获取目标区域的位置和大小,提升局部与全局区域的关联性,这类算法称为强监督学习[17]。只用类别标签而不用其它标签信息的算法称为弱监督学习[18]。虽然强监督学习已取得不错的分类效果,但人工标注代价高且算法通用性不强。因此本文采取弱监督图像分类算法中的端到端模型,即由LIN等[11]提出的双线性卷积神经网络。

一个双线性模型主要由一个四元组函数T=(fx,fy,p,c)构成,其中f是指去除softmax层和全连接层的卷积网络特征提取函数,x与y相同时称为同源双线性模型,x与y不同时则称为多模双线性模型,p代表池化函数,c代表由全连接层构成的分类器。对于fx提取的特征向量A.Rt×m,fy提取的特征向量B.Rt×n,通过双线性池化进行外积相乘得到M.Rm×n,这样得到的融合特征计算方便且便于梯度反向传播。

1.2 模型结构

由于原Bilinear CNN模型采取VGG作为特征提取子网络,而VGG网络多尺度特征提取能力较弱,无法完成番茄病害叶片上的差异性局部关键信息的捕捉,不利于提高网络的表征能力,所以本文采用Res2Net作为特征提取子网络,获得灵活的感受野,以识别多尺度范围的叶片病害。

针对同一种番茄病害在早晚期的表现特征差异大,且拍摄角度、光照阴影等环境因素影响较大,使用传统卷积神经网络进行识别准确率不高,本文提出一种基于Res2Net的双线性注意力网络模型用于番茄病害叶片早晚期识别。模型主要包括两部分:结合高效频域和瓶颈结构设计的通道注意力模块(EFCA)和空间注意力模块(SA)。分别将这两个注意力模块添加到Res2Net50和ResNet34的残差结构中,然后使用双线性融合两个子网络提取的特征。由于双线性外积得到的特征维度较高,存在特征冗余,严重影响分类精度和模型效率,所以在融合后先使用一维卷积捕获通道间的交互关系,然后追加最大池化层降低特征维度,减少冗余信息。同时借鉴残差网络的shortcut思想,再与外积前的特征张量做concat操作,使得融合后模型的表征能力较融合前至少没有降低,最后使用全连接层达到分类的目的。模型整体结构如图2所示。

图2 双线性注意力网络模型结构Fig.2 Structure of bilinear attention network model

1.3 注意力机制

卷积神经网络通过卷积滤波器捕捉局部感受域的空间和通道融合信息,从而获得全局感受域的分层模式来作为图像特征的表示。但是不同的空间和通道信息对应图像中的不同信息,有些背景干扰信息会影响分类性能,所以采用空间[19]和通道[20]注意力机制为特征层添加不同权重,以降低特征冗余产生的影响。

(1)通道注意力

EFCA模块是结合模块ECANet block[21]和FcaNet block[22]各自优势的一种通道注意力模块,避免了权重获取过程中部分特征在降采样时仅保留不充分信息及降维给通道注意力预测带来的副作用,而且在不增加模型复杂度和计算量的同时性能得到明显提升,模块结构如图3所示。

图3 EFCA模块结构Fig.3 Structure of EFCA module

获取通道注意力的过程描述如下:①特征提取函数某一卷积层捕捉得到的特征图Fa.Rh×w×d作为输入,其中h、w代表特征图的空间维度,d代表通道维度的数量。为了避免全局平均池化降低特征维度,增大kernel感受野范围时导致信息丢失,对Fa使用DCT(Discrete cosine transform)进行降采样处理,得到由多个频域组合提取得到的特征向量Fq.R1×1×d。②将Fq通过内核大小为k的一维卷积,使得在提取非线性特征时,实现无需降维的局部跨通道交互,再通过Sigmoid激活函数生成通道权重Wt.R1×1×d。③将权重Wt和输入的特征图Fa采用对应元素相乘的策略进行加权融合,得到带通道注意力的融合特征图Fb。相较于Fa,使用Fb可以使模型更关注于显著区分特征,而忽视冗余的背景信息,增强模型的有效特征提取能力。

步骤①~③的通道注意力获取过程可表示为

Fb=δ(C1[Dct(Fa)])⊗Fa

(2)

式中δ——sigmoid激活函数

C1——卷积核大小为k的一维卷积操作

Dct——2维离散余弦变换

⊗——对应元素乘积操作

(2)空间注意力

对于二维图像来说,仅关注图像的通道维度是不够的,还需要基于图像的尺度空间即长宽的注意力机制。本文基于CBAM[23]算法,结合使用空间注意力寻找图像中与任务相关的区域,使得网络具有一定的尺度不变性,模块结构如图4所示。

图4 空间注意力模块结构图Fig.4 Structure diagram of spatial attention module

获取空间注意力的过程描述如下:①将特征提取函数得到的特征图Fa.Rh×w×d作为输入,通过最大池化和平均池化在通道维度上进行降采样,得到两个特征向量Sa.Rh×w×2。②使用concat函数对两个特征向量Sa级联后,采用大小为7的二维卷积进行空间维度的特征提取,并通过sigmoid函数激活得到对应的空间权重Wt.Rh×w×1。③对Wt与Fa进行对应元素相乘,得到带权重信息的空间注意力特征图Fc。

步骤①~③的通道注意力获取过程可表示为

Fc=δ{C2[Pma(Fa)]}⊗Fa

(3)

式中C2——卷积核大小为7的二维卷积操作

Pma——通道维度上的最大池化和平均池化

2 实验与结果分析

2.1 数据集

所提出的网络模型可用于不同农作物病害的分类,本文使用番茄病害作为实验对象。采用的数据集来自AI Challenger 2018比赛中的农作物病害数据集,单独将其中的番茄病害分离出来,并筛选掉其中个别图像数目极不平衡的类别。最终得到番茄的14个病害类别数据集,共11 359幅图像,分别是白粉病早晚期、早疫病早晚期、晚疫病菌早晚期、叶霉病早晚期、斑枯病早晚期、红蜘蛛损伤早晚期、黄化曲叶病毒病早晚期,具体类别与对应数目如表1所示。

表1 番茄数据集病害种类与数量分布Tab.1 Disease types and quantity distribution of tomato dataset

病害不同时期的表现如图5所示,部分病害主要区别为:①晚疫病早期从叶片边缘、叶尖处开始,为暗绿色水渍状半圆形病斑;晚期病斑扩大后中间黑褐色、周围暗绿色。②红蜘蛛损伤早期叶片呈现密集苍白的小斑点,卷曲发黄;晚期病害面积扩散,叶片变黄,出现卷叶、焦叶。可以发现叶片病害早晚期的表现不同,病状差异明显。符合细粒度图像识别的“类内差异大,类间差异小”的基本特征[24],这也给使用常规卷积神经网络进行叶片分类带来了困难。

图5 不同病害类别早晚期对比图像Fig.5 Contrast images of different disease categories in early and late stages

2.2 数据预处理

由于深度学习依赖于海量数据集的训练,所以使用数据增强技术扩展数据集是取得良好分类效果且避免模型训练过拟合的重要途径。本实验中采取在训练过程中获得batch后,对batch数据进行在线增强,对数据进行随机旋转角度、水平平移和上下平移、错切变换、随机缩放比例、水平翻转等预处理方式,增强后的部分图像与原始图像对比见图6。

图6 部分病害图像及增强图像示例Fig.6 Examples of partial disease image and enhanced image

2.3 实验设计

本文在深度学习框架tensorflow2基础上,使用NVIDIA GeForce RTX 2080Ti GPU加速网络训练。为减少模型计算量,将图像缩放至224像素×224像素,另外考虑降低图像几何变化带来的影响,需要对图像进行归一化处理,并将图像按8∶2的比例划分为训练集、验证集,保证模型的泛化性和鲁棒性。

由于数据集中各类别数量较不平衡,因此采用focal loss[25]取代传统的交叉熵损失函数,解决难易样本和正负样本不平衡给模型训练带来的过拟合问题。针对数据集中异常的样本标注,使用label smoothing[26]缓解错误标签给模型训练带来的影响。

2.4 参数设置

使用自适应矩估计(Adam)优化器优化网络并在一定程度上解决数据噪声较高的问题,初始学习率为0.001,使用keras中的回调函数ReduceLROnPlateau动态调整学习率,当val_loss连续3次不下降时,调整学习率为0.2。最大训练轮数为50,批量大小为16,使用EarlyStopping函数监测val_loss指标,当连续5次下降低于0.000 1时停止训练。Res2Net中的超参数width设为16,scale为4,FECA模块中一维卷积核大小k设为3,用于捕获模型的跨通道交互,双线性融合后的最大池化层pool_size为16,达到降低特征维度,避免特征冗余对分类效果的影响。

2.5 消融与对比实验

为了验证本文提出的模型在番茄叶片病害识别上的有效性,首先对模型进行消融实验,分别使用Res2Net50、+通道注意力(EFCA)、+空间注意力(SA)、+Bilinear CNN在数据集上从头训练,采用准确率作为评价指标,结果如表2所示,训练过程中验证集损失和准确率曲线如图7所示。

图7 消融实验验证集损失值与准确率曲线Fig.7 Loss and accuracy curves of verification set in ablation experiment

表2 不同模块消融实验结果Tab.2 Ablation results of different modules

从表2可以看出,使用EFCA通道注意力可以在基础模型的基础上将准确率提升0.84个百分点。将空间和通道注意力串联使用后,准确率反而有所下降,可能原因是通过通道注意力后,特征图缺失了部分空间特征,因此再使用空间注意力后效果不升反降。因此本文提出的模型将通道和空间注意力并行实现在Res2Net50和ResNet34中,再通过双线性融合以便更好地提取病害特征,最终模型准确率可以达到86.89%,较基础模型提升2.11个百分点。观察图7发现,串联空间和通道注意力后导致模型的损失值和准确率曲线震荡严重,表现较差。而本文使用的双线性注意力模型触发EarlyStopping最晚,且曲线后期表现平稳,说明该模型具有较高的稳定性。

为了验证本文方法的优越性,首先将backbone模型与ShuffleNetV2[27]、InceptionV4[28]、DenseNet121[29]做对比实验;同时为了实验的公平性,与同样使用注意力机制的CBAM[23]、ARNet[12]模型进行对比;最后,与原文中提出的双线性模型Bilinear CNN[11]和自定义的Bilinear EfficientNet比较,结果见表3,验证集损失值和准确率曲线如图8所示。

表3 不同分类方法对比实验结果Tab.3 Comparative experiment results of different methods

图8 对比实验验证集损失值与准确率曲线Fig.8 Loss and accuracy curves of verification set in comparative experiment

从表3可看出,与ShuffleNetV2、InceptionV4和DenseNet121相比,Res2Net50取得了最佳结果,准确率分别提升3.74、0.57、2.47个百分点。对比同样使用空间注意力和通道注意力的CBAM模型,以及针对番茄病害分类所提出的残差注意力ARNet模型,本文提出的双线性注意力模型准确率分别提升3.45、3.17个百分点,比Bilinear CNN 和自定义的Bilinear EfficientNet准确率分别提升2.11、1.15个百分点。原双线性网络表现不好的原因是,双线性融合后大量的特征冗余影响了模型决策。在图8的backbone模型比较中可以发现,只有InceptionV4的最终表现接近Res2Net,这是因为二者都利用多个不同大小的卷积核提取多尺度特征,这有利于模型捕捉番茄叶面病害的差异性局部关键特征,但InceptionV4的曲线波动较大,稳定性较差,这也是本文选取Res2Net作为基础模型的原因之一。自定义的Bilinear EfficientNet模型表现较稳定的主要原因是迁移学习了ImageNet的预训练参数,但同时触发EarlyStopping较早,说明迁移学习在细粒度病害分类问题上仅仅加速了模型的收敛速度,但对于模型的准确率提升并没有较大的帮助,因此本文并没有基于迁移学习进行模型训练。

本文模型在14种不同程度病害分类上的准确率为86.89%,如果不区分病害时期,仅关注病害类别,在7种不同种类病害数据集上,本文模型平均准确率为98.66%,说明该模型具有良好的泛化能力。由图9计算可知每个类别的准确率,其中图9a中行列号0~6分别对应白粉病、早疫病、晚疫病、叶霉病、斑枯病、红蜘蛛损伤、黄化曲叶病这7种病害类别,图9b中的行列号0~13对应表1中的序号0、9、10、11、12、13、1、2、3、4、5、6、7、8。可以看出区分病害时期的分类中,红蜘蛛损伤晚期和黄化曲叶病晚期的准确率只达到74.36%和75.74%,较其它种类分类效果较差,主要原因是这两种病害早晚期界定较难,人工分类存在部分标签异常,影响模型分类效果。

图9 验证集混淆矩阵Fig.9 Validation set confusion matrix

2.6 注意力可视化分析

通过将卷积层的特征映射与原图在空间位置上进行对应,利用类激活可视化(grad-cam)[30]方法,将模型最后一个卷积层在叶片上的注意力可视化,更清晰地说明注意力机制在模型判别时所关注的叶片病害特征。分别将Res2Net50、空间注意力、通道注意力生成的热力图进行可视化,如图10所示。

图10 注意力特征图可视化对比Fig.10 Visual comparison of attention characteristic map

热力图中红色区域代表特征图与预测类别的响应值高,这些区域越多代表模型决策依据越多,判别更准确。观察红蜘蛛损伤以及早疫病的早晚期在空间和通道注意力中的热力图可以发现,使用注意力后模型对于病害判别性区域,即叶片中出现的小斑点和大面积病斑识别更精准。对于黄化曲叶病,相较于早期时关注的叶肉变厚特征,注意力机制在判别晚期时更加关注叶片卷曲、皱缩的边缘区域,使得模型的决策依据更加丰富多样化,增强了模型的病害表征能力。

3 结束语

通过结合细粒度图像分类中的弱监督分类算法,提出一种基于Res2Net和双线性注意力模型对番茄叶面型病害时期进行分类。首先,针对常规通道注意力获取过程中出现的信息丢失问题,在不降维的基础上,提出使用DCT代替GAP的EFCA通道注意力模块,避免部分特征在降采样中缺失。其次,针对双线性融合后维度过高导致的特征冗余,通过在外积后增加最大池化和基于shortcut思想设计的concat模块进行了有效解决。

猜你喜欢

准确率卷积番茄
基于全卷积神经网络的猪背膘厚快速准确测定
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
HOME家系列
编辑部故事