APP下载

基于孪生多尺度空洞胶囊网络的黄瓜叶部病害检测方法

2024-01-22张善文许新华齐国红

江苏农业学报 2023年9期
关键词:训练样本空洞黄瓜

张善文, 许新华, 齐国红

(郑州西亚斯学院电子信息工程学院,河南 郑州 451150)

及时、准确地检测作物病害是病害防治的提前。传统的作物病害检测方法特别依赖于提取的分类特征,但很难从复杂、多变、多种多样的病害叶片图像中提取到通用的特征,所以这些方法的检测率不高且泛化性不强[1-3]。卷积神经网络(CNN)能够克服传统病害检测方法的不足,提取复杂图像的深层分类特征,在作物病害检测中取得了显著效果[4-5]。邵明月等[6]总结了从早期的作物病害检测方法到基于CNN检测方法的研究进展,阐述了近年来CNN在作物病害检测中的研究成果以及各种方法的优缺点。Ngugi等[7]回顾了近年来基于图像处理和机器学习的作物病虫害识别方法,分析了10种CNN架构在识别准确率、召回率、准确性、特异性、F1得分、训练持续时间和存储要求方面的作物病害识别性能,为该领域的深入研究提供了技术指导。深度CNN的检测准确率比较高,但从多种多样的病害叶片图像中提取有效的分类特征,需要大量训练样本,模型的训练时间很长,而且对图像的旋转和仿射变换比较敏感[8]。

为了克服深度CNN的不足,出现了很多改进的CNN模型。利用多个CNN的组合能够提取互补的分类特征,增强模型的检测能力[9];多尺度CNN能够极大提高病害检测方法的特征提取能力[10];将注意力机制加入CNN能够加快网络收敛,提高网络的抗噪能力[11];轻量级CNN减少了训练样本和网络参数,加速网络收敛[12-13];迁移学习加快了模型训练,增强了模型的泛化能力[14];空洞卷积能够在不增加训练参数和不增加计算代价的情况下扩大卷积的感受野,从而提高多尺度特征提取性能[15-16]。

胶囊网络(CapsNet)利用动态路由算法提取胶囊特征向量,弥补了CNN失去空间位置信息的不足,克服了深度CNN对图像的旋转和仿射变换较为敏感的问题[17]。CapsNet使用向量特征状态的重要信息,向量的模和方向分别表示特征存在的概率和姿态信息,移动特征可以改变胶囊向量,但不影响特征存在概率,特别适用于不规则的、多种多样的作物病害叶片图像识别[18]。孪生网络(Siamese)能够克服CNN和CapsNet依赖于大量训练样本的问题。孪生网络通过共享权值来实现其功能,能够通过已有类别中的特征相似度,准确判断2个相似的样本,还能利用先验知识识别新样本的类别[19-20],在样本类别多且每个类别的训练样本较少的情况下取得较好的效果[21]。

针对实际大田作物病害叶片图像较少,包含遮挡和复杂背景,病害叶片图像病斑的大小、形状和颜色等差异较大等问题,本研究拟提出一种基于孪生多尺度空洞胶囊网络(SMSDCNet)的黄瓜叶部病害检测方法,减少对模型训练样本量的依赖,在有限训练样本中获取到多类别样本间的共同特征,以期提高黄瓜病害检测准确率。

1 材料与方法

1.1 图像数据集与图像预处理

本研究构建了1个用于黄瓜叶部病害检测的病害叶片图像数据集,共有500幅图像,包括黄瓜常见的白粉病、褐斑病、黑斑病、炭疽病和角斑病的叶片图像各100幅,其中70%的图像在陕西省杨凌农业示范区采集,30%的图像来自于数据集PlantVillage(https://www.plantvillage.org/en/tos)。不同病害的黄瓜叶片图像如图1所示。

图1 感染不同病害的黄瓜叶片图像Fig.1 Images of cucumber leaves infected with different diseases

数据集中的叶片图像大小不一,因此在试验过程中将图像均匀归一化为224×224像素,以5折交叉验证策略将数据集随机划分为训练集和测试集,训练集用于模型训练,测试集用于测试模型的性能,用5次试验结果的平均值作为识别结果。

1.2 相关方法

1.2.1 多尺度空洞卷积模块Inception Inception是一个多尺度卷积网络模块,能够并行组合不同的卷积层,由不同卷积层提取的特征在深度、维度上拼接以形成更深的矩阵,提取不同尺度特征,其结构见图2。

1.2.2 胶囊网络 胶囊网络以胶囊层为数据处理单元,采用动态路由算法在胶囊层之间传输数据,具有比CNN更好的特征表达能力。胶囊网络的基本结构如图3所示,卷积模块用于从原始图像中提取分类特征,主胶囊模块用于将提取的分类特征表示转换为特征矢量,数字胶囊模块使用动态路由算法更新网络参数,避免因池化操作而造成的损失,最终输出特征向量,其长度为测试样本属于某一类的概率。

图2 Inception模块Fig.2 Inception module

1.2.3 孪生网络 孪生网络的结构比较简单,图4显示,孪生网络通过2个具有相同结构、共享权重的CNN模型提取2个输入图像的特征向量,然后通过最小化相同类别之间的损失,同时最大化不同类别样本的损失训练模型参数,再通过迭代训练后判别2个样本是否相似,最后计算2组特征向量的相似度,进行样本分类识别。

Wij为模型的卷积核。图3 胶囊网络的基本结构Fig.3 Structure of capsule network

图4 孪生网络结构Fig.4 Structure of Siamese network

1.3 孪生多尺度空洞胶囊网络(SMSDCNet)

针对深度CNN模型训练参数多,需要大量训练样本,但从大田黄瓜种植园难以采集到足够的病害叶片图像,导致基于CNN及其改进模型的作物病害识别方法的训练性能较差,容易出现过拟合等问题。本研究提出一种孪生多尺度空洞胶囊网络,应用于黄瓜病害识别。SMSDCNet的基本构架如图5A所示,由2个结构相同的空洞Inception模块进行特征提取,再基于余弦距离的分类准则进行病害检测。由图5A看出,SMSDCNet为孪生胶囊网络的改进模型,由2个结构相同的卷积层和胶囊层构成,病害检测由相似度度量层和分类器完成。卷积层由3个空洞Inception模块构成(图5B),其中批量归一化层加快模型的正向、反向传播速率。在SMSDCNet中,利用空洞卷积代替Inception模块中卷积,构建一种空洞Inception模块,其结构见图5C。

Wij为模型的卷积核。图5 多尺度空洞胶囊网络(SMSDCNet)架构Fig.5 Architecture of Siamese multi-scale dilated capsule network (SMSDCNet)

主胶囊层设置32个主胶囊,数字胶囊层有10个数字胶囊,每个胶囊输入一个6×6×8张量,输出16×10的矩阵。由图像对的相似度判定待分类图像的类别,2个特征向量x1、x2之间的余弦距离[dcos(x1,x2)]作为相似度,计算如下:

dcos(x1,x2)=x1·x2/(‖x1‖·‖x2‖)

(1)

通过对比误差损失函数Loss进行反向优化模型参数,表示如下:

(2)

式中,x1、x2为2个特征向量;dcos(x1,x2)为特征向量x1、x2之间的相似度;l为2个图像是否匹配的标签;N为样本个数;λ为设定的阈值,由试验确定,默认值为0.5。

设待检测图像映射的特征向量为s,带标签图像的特征向量为ti(ti∈[1,C]),C为病害类别数,按相似度打分排序,用最大值判定待检测图像的病害类型(Label)。

Label=[dcos(s,ti)]max

(3)

式中,dcos(s,ti)为待识别图像与带标签图像的相似度。

1.4 基于SMSDCNet的黄瓜病害识别过程

图6显示,基于SMSDCNet的黄瓜病害识别过程主要为:第一,对图像进行归一化处理,并构建图像对;第二,在SMSDCNet的每个子网络中,首先由3个空洞Inception模块依次提取图像的多尺度卷积特征,然后由胶囊网络进一步提取特征向量,得到16×10的向量矩阵;第三,构建图像的特征向量对,按照公式(1)计算每个向量对图像的相似度;第四,利用公式(2)得到的误差损失函数Loss优化模型参数,反复训练直至完成所设定的迭代次数;第五,计算待识别图像与带标签图像的相似度dcos(s,ti),由dcos(s,ti)的最大值判断待识别图像的病害类型。

图6 基于SMSDCNet的黄瓜病害识别过程Fig.6 Cucumber disease recognition based on SMSDCNet

2 结果与分析

为了证明利用SMSDCNet进行黄瓜病害识别的有效性,进行了试验验证。SMSDCNet训练的批处理大小设为25,迭代次数为3 000,学习率设为1.5×10-4,Adam作为模型的优化器。所有方法均在Python3.3环境下以Tensorflow1.4编程实现,CNN网络模型在深度学习的Keras框架下搭建,系统为Ubuntu14.04,核心硬件运算平台为Intel i7 CPU Ti GPU1080。

对3种孪生网络[孪生卷积神经网络(SCNN)[20]、孪生胶囊网络(SCapsNet)[21]和SMSDCNet]进行5折交叉验证对比试验,分析识别率随迭代次数变化的结果。图7显示,当迭代次数达到1 000次后,SMSDCNet趋于收敛,其收敛效果和病害检测精度明显高于其他2种模型。表明空洞Inception收敛最快、病害识别效果更好。SMSDCNet和SCapsNet的收敛效果优于SCNN,主要原因是SMSDCNet和SCapsNet中将多尺度卷积Inception模块加入CapsNet作为孪生网络的子网络来构建孪生网络,Inception模块替代了SCNN中的卷积层,解决了CNN中最大池化导致重要信息丢失的问题。SMSDCNet与SCapsNet的主要区别在于,SCapsNet利用Inception模块,而SMSDCNet利用空洞Inception模块,减少了网络训练参数,所以加速了网络收敛。

SCNN:孪生卷积神经网络;SCapsNet:孪生胶囊网络;SMSDCNet:孪生多尺度空洞胶囊网络。图7 3个孪生网络的病害检测精度随迭代次数的变化Fig.7 Disease recognition rates of three Siamese networks versus iteration times

为了证明SMSDCNet在训练样本有限情况下的有效性,将SMSDCNet与4种近期提出的作物病害识别方法[多尺度残差神经网络(MSRNN)[10]、改进卷积神经网络(ICNN)[22]、VGG轻量级卷积神经网络(VGG-ICNN)[12]和轻量级卷积神经网络(LWCNN)[13]]进行对比,这5种方法在原始图像数据集上进行验证试验,训练样本数与测试样本数之比为m∶n,其中m为每类病害的训练样本数,n为每类病害的测试样本数。选择迭代次数为3 000次,重复试验5次。表1显示,当训练样本数越来越少时,5种方法的病害检测精度越来越低,训练样本数由90降低为10时,MSRNN、ICNN、VGG-ICNN、LWCNN和SMSDCNet的病害检测精度分别降低24.90个百分点、21.04个百分点、36.58个百分点、38.06个百分点、8.35个百分点,SMSDCNet的病害检测精度降低幅度最小。当m∶n=10∶90,即训练样本数为10且测试样本数为90时,SMSDCNet的病害检测精度为82.89%,比MSRNN、ICNN、VGG-ICNN和LWCNN分别高40.10个百分点、31.27个百分点、36.01个百分点和33.86个百分点。试验结果表明,SMSDCNet能够在训练样本比较少的情况下达到较高的病害检测精度,这是因为SMSDCNet通过计算2幅图像的相似度极大地减少网络参数的训练负担,对于训练样本数为m的训练集可以组成[m(m-1)/2]个不同的训练样本对,由此增加训练样本的利用率,从而减少模型对训练样本量的依赖。

表1 5种病害识别方法在原始数据集上的黄瓜病害检测精度

为了验证SMSDCNet的鲁棒性,通过改变SMSDCNet中的不同模块,采用5折交叉验证方法进行消融试验。表2显示,Inception模块明显优于传统胶囊网络中的卷积和VGG16的卷积,原因是Inception为多尺度卷积;空洞Inception的训练时间比Inception少,原因是它扩大了感受野但没有增加训练参数;余弦距离的效果略优于欧氏距离,其原因是余弦距离能够直接用于相似度度量。表2结果表明,SMSDCNet具有一定的鲁棒性,原因是它利用了孪生网络、空洞卷积网络和胶囊网络的优势。

表2 基于SMSDCNet的消融试验结果

3 结 论

由于黄瓜病害叶片图像复杂多样,传统方法很难提取到鲁棒的图像分类特征,深度CNN需要大量训练样本,本研究在空洞卷积网络、多尺度卷积网络、胶囊网络和孪生网络的基础上,提出了一种基于孪生多尺度空洞胶囊网络的黄瓜叶部病害检测方法。该方法通过对比样本相似度扩大训练次数,解决病害叶片图像不足的问题,采用胶囊网络提取特征的空间信息和位置信息,选用余弦距离相似度更好地区分2个胶囊向量的差异性。结果表明,SMSDCNet具有良好的泛化性,该方法为黄瓜病害检测与识别的进一步研究提供了参考。下一步工作主要在于优化模型,在拥有更多病害类型的数据集上验证模型的有效性、可行性。

猜你喜欢

训练样本空洞黄瓜
清新脆嫩的黄瓜
黄瓜留瓜要注意两点
我喜欢黄瓜
人工智能
摘黄瓜
空洞的眼神
宽带光谱成像系统最优训练样本选择方法研究
融合原始样本和虚拟样本的人脸识别算法
基于稀疏重构的机载雷达训练样本挑选方法
用事实说话胜过空洞的说教——以教育类报道为例