CN116630803A - 基于深度学习的番茄病虫害检测与识别方法 - Google Patents

基于深度学习的番茄病虫害检测与识别方法 Download PDF

Info

Publication number
CN116630803A
CN116630803A CN202310606757.4A CN202310606757A CN116630803A CN 116630803 A CN116630803 A CN 116630803A CN 202310606757 A CN202310606757 A CN 202310606757A CN 116630803 A CN116630803 A CN 116630803A
Authority
CN
China
Prior art keywords
layer
tomato
convolution
insect pests
pest
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310606757.4A
Other languages
English (en)
Inventor
云挺
张怀清
王铭慧
金时超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Forestry University
Original Assignee
Nanjing Forestry University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Forestry University filed Critical Nanjing Forestry University
Priority to CN202310606757.4A priority Critical patent/CN116630803A/zh
Publication of CN116630803A publication Critical patent/CN116630803A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • G06V20/188Vegetation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A40/00Adaptation technologies in agriculture, forestry, livestock or agroalimentary production
    • Y02A40/10Adaptation technologies in agriculture, forestry, livestock or agroalimentary production in agriculture

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了基于深度学习的番茄病虫害检测与识别方法,包括:将多张番茄病虫害图像和标注出的每张番茄病虫害图像中病虫害位置,作为第一个样本训练集,并作数据增强后,用于训练基于Transformer的YOLOX目标检测网络;标注番茄病虫害图像中病虫害位置所属的病虫害类别,将其作为第二个样本训练集,并作数据增强后,用于训练旋转不变Fisher判别CNN网络;通过YOLOX目标检测网络和旋转不变Fisher判别CNN网络,定位出番茄图像中病虫害位置,并识别出病虫害类别。本发明最大化地利用了两个网络各自的优势协助管理番茄病虫害,实现病虫害目标的检测定位并识别病虫害类别。

Description

基于深度学习的番茄病虫害检测与识别方法
技术领域
本发明涉及番茄病虫害检测技术领域,具体是一种基于深度学习的番茄病虫害检测与识别方法。
背景技术
番茄作为常见的果蔬,在培育过程中不可避免地会因为种植操作不当、防治措施不到位、环境污染等各种原因发生病虫害,影响番茄品质并导致产量降低,造成多方损失。据调查,我国现有危害番茄的病虫害不少于30种,其中超过10种病虫害流行地区日趋扩大,成为番茄高产稳产的一大障碍。近年来,新型流行病害也日益增多,如:褪绿病毒病、番茄褐色皱纹果病毒病和冠状根腐病等,目前还尚未有对应的抗病品种育成,常造成严重危害,因此,构建一个智能检测识别番茄病虫害的网络,及时发现问题,精准防治,对提高番茄产量有重要意义,对其他果蔬种植的病虫害防治也有参考意义。
传统的人工病虫害防治耗时耗力,并且会由于外部干扰和人的生理限制,造成判断不准确或时间上的滞后。随着计算机视觉技术的发展,一些传统的机器学习方法在病虫害识别方向上有了广泛应用,并大大提高了效率,经典的机器学习方法有支持向量机(Support Vector Machines,SVM)、K-means聚类算法、朴素贝叶斯等。SVM可作为二值分类器,在番茄叶片病害的检测中,将灰度共生矩阵用于特征提取然后使用SVM将提取的特征进一步分为健康叶片和感染叶片两类,还可以结合方向梯度直方图特征和SVM,实现对水稻病害的检测和识别。K-means聚类算法可以进行图像分割,然后结合神经网络工具进行分类,从聚类中提取的七个特征,如对比度、相关性、能量、同质性、均值、标准差和方差,作为神经网络的输入,用于识别和分类病害。利用朴素贝叶斯方法可以实现自动识别、诊断作物病害的技术和方法,构造玉米叶部病斑分类识别模块。针对图像质量低、存在噪声和阴影、背景杂乱、图像纹理不同等问题,首先对不同的特征进行预处理和选择提取,然后采用多层感知器(Multilayer perceptron,MLP)集成了四种分类器:随机森林(Random Forest,RF)、SVM、逻辑回归(Logistic Regression,LR)和K-近邻(K-nearest neighbor,K-NN),对田间和实验室条件下的番茄叶片病害图像进行分类,准确率达到95.98%。但是由于图像具有高维度和复杂的特征结构,在使用机器学习算法进行图像分类时,有效地对特征进行提取和表示的过程相对复杂,并且机器学习算法在处理不同角度、距离、光照条件下的同类样本时会遇到困难。
近年来,深度学习技术被广泛研究应用到各领域,其中卷积神经网络在处理多维数组数据时效果较为突出,更适合图像、视频这类数据的检测与识别,得益于其强大的学习能力、自动提取图像特征的功能,使得深度学习技术在植物病虫害识别的应用上比传统的机器学习技术更准确高效。例如在传统的AlexNet模型上改进,采用批归一化与全局池化相结合的卷积神经网络模型识别多种叶片病害、用两个著名的深度模型AlexNet和GoogleNet构建病害分类器,与需要人工处理特征的浅层模型相比,实验结果证明了CNN模型在番茄病害分类方面具有更好的性能、又如轻量级多分枝残差网络(LMBRNet)通过4个卷积核大小不同的分支,提取番茄叶片不同维度和感受野的多种病害特征,兼顾了番茄叶片病害识别的准确性和速度。
除了识别番茄病虫害的类别,在番茄叶面发生病虫的初期检测番茄病虫害的部位,定位病斑、害虫的准确位置,及时做出相对应的防治措施,可有效地避免番茄种植基地病虫害大规模的爆发。根据算法的流程可以将目标检测算法分为两大类:一种是以FasterR-CNN为代表的两阶段算法,先由算法生成候选框作为样本,去搜索目标以及调整边界框;另一种是以SSD(Single Shot MultiBox Detector)、YOLO(You Only Look Once)为代表的单阶段算法,它是直接将目标边界定位问题转换成回归问题,模型仅需处理图像一次就能得到边界框坐标和类别概率。两阶段的病害检测算法有:将区域生成网络(RegionProposalNetwork,RPN)架构引入Faster R-CNN算法实时检测水稻叶病害,能够非常精确地定位目标位置、使用改进的Mask R-CNN结合集成神经网络检测番茄叶片病害的类型和感染区域。单阶段算法如:在YOLOv5模型中加入SE(Squeeze-and-Excitation)模块,运用注意力机制提取关键特征,有效地检测出番茄病毒病害区域。两种方法的区别也导致其性能也不同,两阶段在检测准确率和定位准确率方面更优,但是检测速度慢;单阶段放弃了高精度,但是换来了比两阶段算法快很多的速度。一种在单阶段目标检测YOLOv3算法的基础上,改进K-means算法的玉米病虫害检测方法,实现了平均损失值下降速度与目标检测精度的平衡。然而用深度学习模型进行图像检测与识别时也存在一些局限,例如需要大量的多样性的数据集进行训练,并且由于图像的拍摄角度不同导致目标姿态异常,很容易造成错误的检测识别结果。
传统的目标检测方法虽然具有分类功能但是更侧重于物体搜索,研究大多致力于对目标的定位,分类功能没有得到更好的发展,而图像分类成绩较好的一些传统CNN网络却只有单一的分类功能。在番茄种植管理中,需要目标检测和分类识别同时应用,所以为了在现实应用中得到更好的效果,针对番茄病虫害目标小而密且自然背景复杂的特点,需要提供一种基于新颖的深度学习的番茄病虫害检测与识别方法,来实现番茄病虫害目标的检测定位以及病虫害种类识别。
发明内容
本发明所要解决的技术问题是针对上述现有技术的不足提供一种基于深度学习的番茄病虫害检测与识别方法,本基于深度学习的番茄病虫害检测与识别方法构建基于Transformer的YOLOX目标检测网络以及旋转不变Fisher判别CNN分类识别网络;最大化地利用两个网络各自的优势协助管理番茄病虫害,实现病虫害目标的检测定位并识别病虫害类别。
为实现上述技术目的,本发明采取的技术方案为:
基于深度学习的番茄病虫害检测与识别方法,包括以下步骤:
(1)收集多张番茄病虫害图像,并标注出每张番茄病虫害图像中病虫害位置,将原番茄病虫害图像和已标注出病虫害位置的番茄病虫害图像作为第一个样本训练集;
(2)标注步骤(1)的番茄病虫害图像中病虫害位置所属的病虫害类别,将已标注出病虫害位置的番茄病虫害图像以及其所属的病虫害类别作为第二个样本训练集;收集多张健康番茄植株图像,将多张健康番茄植株图像以及其所属的健康类别作为第二个样本训练集;
(3)对第一个样本训练集和第二个样本训练集分别进行数据增强,得到新的第一个样本训练集和新的第二个样本训练集;
(4)利用新的第一个样本训练集训练基于Transformer的YOLOX目标检测网络,得到训练完成的病虫害目标检测模型;
(5)利用新的第二个样本训练集训练旋转不变Fisher判别CNN网络,得到训练完成的病虫害分类识别模型;
(6)将待检测的番茄图像输入至病虫害目标检测模型,从而定位出番茄图像中病虫害位置;
(7)将定位出番茄图像中病虫害位置的图像输入至病虫害分类识别模型,从而识别出番茄图像中病虫害类别。
作为本发明进一步改进的技术方案,所述的数据增强为对样本进行4次随机角度旋转操作。
作为本发明进一步改进的技术方案,所述的基于Transformer的YOLOX目标检测网络包括Swin Transformer主干网络、BiFPN加强特征提取网络和输出网络。
作为本发明进一步改进的技术方案,所述的Swin Transformer主干网络包括阶段一、阶段二、阶段三和阶段四;
所述阶段一包括用于通过卷积使输入图像实现下采样与维度变换的分块嵌入模块和2个Swin Transformer模块;所述阶段二包括对输入图像进行形状转换与分块合并的分块合并模块和2个Swin Transformer模块;所述阶段三包括对输入图像进行形状转换与分块合并的分块合并模块和6个Swin Transformer模块;所述阶段四包括对输入图像进行形状转换与分块合并的分块合并模块和2个Swin Transformer模块。
作为本发明进一步改进的技术方案,所述BiFPN加强特征提取网络包括上采样路径和下采样路径;
将Swin Transformer主干网络中的阶段二作为上特征层,阶段三作为中特征层,阶段四作为深特征层,对深特征层的输出做reshape操作,得到深层特征图,对中特征层的输出做reshape操作,得到中层特征图,对上特征层的输出做reshape操作,得到上层特征图;其中深层特征图、中层特征图和上层特征图均为BiFPN加强特征提取网络的输入;
BiFPN加强特征提取网络的上采样路径为:深层特征图经过2倍的上采样操作后与中层特征图融合,然后经过卷积操作提取特征,得到第一卷积操作的输出,然后对第一卷积操作的输出进行2倍的上采样操作后,与上层特征图融合,再对融合的结果做卷积操作得到第一个有效特征层的输出;
BiFPN加强特征提取网络的下采样路径为:第一个有效特征层的输出再经过2倍的下采样操作后,与第一卷积操作的输出以及中层特征图融合,再对融合的结果做卷积操作得到第二个有效特征层的输出;第二个有效特征层的输出再经过2倍的下采样操作后,与深层特征图融合,再对融合的结果做卷积操作得到第三个有效特征层的输出。
作为本发明进一步改进的技术方案,所述输出网络包括三个解耦检测模块层、拼接层和转置层,三个解耦检测头模块层同时与拼接层连接,拼接层与转置层连接;其中解耦检测头模块层由依次连接的解耦检测头、拼接层和形状转换层组成;
解耦检测头包括卷积层、BN层和SiLU激活函数层。
作为本发明进一步改进的技术方案,所述旋转不变Fisher判别CNN网络包括5个卷积层、全连接层、旋转不变Fisher判别层和softmax分类层;
其中第1个卷积层包括两次卷积操作,第2个卷积层包括两次卷积操作,第3个卷积层包括三次卷积操作,第4个卷积层包括三次卷积操作,第5个卷积层包括三次卷积操作,全连接层包括三次卷积操作;第1个卷积层与第2个卷积层之间、第2个卷积层与第3个卷积层之间,第3个卷积层与第4个卷积层之间,第4个卷积层与第5个卷积层之间,第5个卷积层与全连接层之间均设有最大池化层。
作为本发明进一步改进的技术方案,所述旋转不变Fisher判别CNN网络的目标函数为:
其中,WRI表示旋转不变Fisher判别CNN网络的所有权重,BRI表示旋转不变Fisher判别CNN网络的所有偏置,XRI={xi|xi∈X∪TX},表示数据增强后的新的第二个样本训练集,其中X表示数据增强前的第二个样本训练集,T={T1,T2,T3,T4}表示4次旋转操作,TX表示X内的所有样本分别经过4次旋转操作后得到的样本训练,数据增强前的第二个样本训练集的总数为N,XRI的数量为N*5;λ1、λ2和λ3表示权衡参数,<a,b>表示a与b的内积,表示训练样本xi的类别标签,O8(xi)表示训练样本xi的softmax分类层的输出特征,O7(xi)表示训练样本xi的旋转不变Fisher判别层的输出特征,/>表示训练样本xi经过4次旋转操作后得到的样本经过旋转不变Fisher判别层的输出特征平均值,nj为第j个类别内的样本数量,mj表示第j个类别内的所有样本/>的平均特征表示,共有7个类别,m为所有类别的所有样本XRI的平均特征表示,tr为矩阵的迹,表示矩阵对角线元素之和。
本发明的有益效果为:
本发明将Swin Transformer作为主干网络构建基于Transformer的YOLOX目标检测网络,该网络在滑动窗口(Shifted Windows,SW)内独立计算自注意力,提高计算效率,综合考量全局的特征信息,实现更有效的小目标病虫害检测定位。为了解决病虫害图像角度不同造成病虫害形状变化的问题以及不同病虫害之间相似度过高同类病虫害特征多变的问题,在传统的CNN架构中添加一个旋转不变Fisher判别层,通过在模型的目标函数上加入两个正则化约束项来训练这个新添加的旋转不变Fisher判别层,构建了旋转不变Fisher判别CNN分类识别网络。最大化地利用两个网络各自的优势协助管理番茄病虫害,实现病虫害目标的检测定位并识别类别。
番茄是三大世界性贸易蔬菜之一,在全球蔬菜贸易中占有重要地位。随着番茄需求量的不断上升,世界番茄生产总量及种植规模不断扩大,利用计算机或人工智能技术协助番茄病虫害防治成为一种可行的策略。因此,本发明提出了一个新颖的实现番茄病虫害目标检测和分类识别的深度学习网络,首先,本发明针对番茄病虫害目标小而密的特点构建一个基于Swin Transformer的YOLOX目标检测模型,用于精确定位图像中的病虫害目标,然后,本发明基于经典卷积神经网络(Convolutional neural networks,CNN)构建旋转不变Fisher判别CNN分类模型,实现图像特征的旋转不变性以及提高模型的判别能力,提高病虫害分类的准确率。结果表明:1)将测试结果与传统的目标检测模型和分类模型做对比,基于Swin Transformer的YOLOX模型在番茄病虫害测试集上的精确度比Faster R-CNN和SSD分别高了7.9%和9.5%,旋转不变Fisher判别CNN模型对病虫害类别的识别准确率与AlexNet、VGGNet相比分别提升了8.7%和5.2%;2)同基于Transformer的目标检测模型DETR和近年来新兴的图像分类模型Vision Transformer(ViT)在番茄病虫害测试集上的结果相比较,本发明的检测和分类方法也存在优势,病虫害检测精度和分类准确率分别提高了3.9%和4.3%。此外进行了消融实验证明了本发明模型改进的有效性。本发明所构建的模型在番茄病虫害的目标检测和分类识别方面的性能优于其他模型,有助于提升番茄病虫害的防治效果,进而提高番茄的品质和产量,对计算机视觉在农业领域的应用具有重要意义。
附图说明
图1为叶霉病、早疫病、灰叶斑病、白粉虱、美洲斑潜蝇、棉铃虫危害番茄叶片或果实的图像以及健康番茄植株图像。
图2为对原始训练样本进行旋转实现数据增广的过程图。
图3为本发明总体工作流程图。
图4为基于Transformer的YOLOX目标检测网络的结构图。
图5为Patch Merging下采样过程示意图。
图6为旋转不变Fisher判别CNN架构图。
图7中的(a)为混淆矩阵显示了AlexNet深度网络模型针对番茄病虫害测试集的分类结果图。
图7中的(b)为混淆矩阵显示了VGGNet深度网络模型针对番茄病虫害测试集的分类结果图。
图7中的(c)为混淆矩阵显示了ViT深度网络模型针对番茄病虫害测试集的分类结果图。
图7中的(d)为混淆矩阵显示了旋转不变Fisher判别CNN深度网络模型针对番茄病虫害测试集的分类结果图。
图8为本发明方法面向测试样本中番茄病虫害检测分类的部分可视化结果图。
具体实施方式
下面根据附图对本发明的具体实施方式作出进一步说明:
番茄是三大世界性贸易蔬菜之一,在全球蔬菜贸易中占有重要地位。随着番茄需求量的不断上升,世界番茄生产总量及种植规模不断扩大,利用计算机或人工智能技术协助番茄病虫害防治成为一种可行的策略。因此,本文提出了一个新颖的实现番茄病虫害目标检测和分类识别的深度学习网络,具体是一种基于深度学习的番茄病虫害检测与识别方法。
1、材料与方法:
1.1、数据集:
本文选取叶霉病(Fulvia fulva)、早疫病(Alternaria solani)、灰叶斑病(Solanum lycopersicum)、白粉虱(Aleurodicus dispersus)、美洲斑潜蝇(Liriomyzasativae)和棉铃虫(Helicoverpa armigera)这六种常见番茄病虫害图像作为研究对象,研究数据集由农业病虫害研究图库(IDADP,http://www.icgroupcas.cn/website_bchtk/index.html)中的番茄病虫害数据集和在连云港市草舍村番茄采摘基地拍摄的图片组成(图1),图1中包括六种常见番茄病虫害图像以及健康番茄植株图像,行1到行6分别显示了叶霉病、早疫病、灰叶斑病、白粉虱、美洲斑潜蝇和棉铃虫危害番茄叶片或果实的图像,最后一行展现了无病虫害的健康番茄植株图像。对采集的具有番茄病虫害的图像使用工具进行标注,标注出每张番茄病虫害图像中病虫害位置,得到第一个样本数据集,该样本数据集用于目标检测网络时只需要将目标边界框标注为“目标(Object)”一类并标注位置;标注番茄病虫害图像中病虫害位置所属的病虫害类别,将已标注出病虫害位置的番茄病虫害图像以及其所属的病虫害类别作为第二个样本数据集,该样本数据集用于分类识别网络则需要标注六种具体病虫害类别和健康植株。为了保证模型的稳定性和泛化能力,对所有图像进行了resize操作,将像素调整为224×224。
为了丰富样本数据集同时训练分类网络的旋转不变性,需对样本进行了4次随机角度旋转操作,如图2,经过旋转操作后,图像尺寸保持不变。图2中,左边为原始训练样本,右边为旋转后的增广样本。
将第一个样本数据集分为第一个样本训练集和测试集,第一个样本训练集进行旋转数据增广处理得到新的第一个样本训练集,新的第一个样本训练集用于训练基于Transformer的YOLOX目标检测网络。
将第二个样本数据集分为第二个样本训练集和测试集。表1列出了第二个样本训练集和测试集的数量,将每个病虫害类别(包括六种具体病虫害类别和健康植株)采集到的样本分出200张作为测试集(采集),剩余作为第二个样本训练集(采集)并对其进行旋转数据增广处理得到新的训练集(增广)。采集得到的第二个样本训练集与数据增广产生的新的训练集总和作为新的第二个样本训练集,用于训练旋转不变Fisher判别CNN网络。
表1为番茄病虫害数据集各类别训练、测试样本数量:
病虫害类别 训练集(采集) 训练集(增广) 测试集(采集)
叶霉病 256 1024 200
早疫病 302 1208 200
灰叶斑病 294 1176 200
白粉虱 283 1132 200
美洲斑潜蝇 263 1052 200
棉铃虫 327 1308 200
健康植株 247 988 200
1.2、工作流程:
本文工作流程如图3所示,可以分为病虫害目标检测和病虫害分类识别两部分,首先基于Transformer的YOLOX目标检测网络可以检测病虫害的区域并准确定位病虫害位置,然后旋转不变Fisher判别CNN网络可以对病虫害的类别具体分类。两个网络的主要作用不同,共同应用在番茄病虫害的防治中,精准控制病虫害对番茄的影响,减少损失。
1.3、基于Transformer的YOLOX病虫害检测:
本文的目标检测网络在YOLOX的基础上进行改进,针对番茄病虫害图像上目标较小的问题将主干网络CSPDarknet替换为Swin Transformer,Transformer中的注意力机制可以综合考量全局的特征信息,Vision Transformer(ViT)则将Transformer模型架构扩展到计算机视觉的领域中,Swin Transformer是在ViT的基础上使用滑动窗口(ShiftedWindows,SW)进行改进,不同于ViT中固定大小的采样块,Swin Transformer按照4、8、16、32倍下采样分成四个阶段,用窗口(Window)来划分特征图,每一个窗口独立运算从而大大提高了计算效率。同时本文将双向特征金字塔网络(Bi-Directional Feature PyramidNetwork,BiFPN)作为新的特征融合模块代替原来的路径聚合网络(Path AggregationNetwork,PANet),提高定位准确性。本文改进的基于Transformer的YOLOX主要分为三个部分:1.Swin Transformer作为主干网络提取不同分辨率特征(即Swin Transformer主干网络);2.BiFPN特征融合模块加强特征提取(即BiFPN加强特征提取网络);3.解耦检测头(Decoupled Head)提高检测性能(即输出网络);网络结构如图4。
图4为本文改进的YOLOX总体网络结构:其中(a)为基于Swin Transformer的主干网络;(b)为双向特征金字塔网络(BiFPN)开展特征提取;(c)为Swin Transformer模块具体结构;(d)为Decoupled Head具体结构。
1.3.1、基于Swin Transformer的主干网络:
如图4中的(a)所示,以尺寸为[224,224,3]的图像作为网络的输入,将SwinTransformer主干网络分为4个阶段,阶段1可以分为(1)分块嵌入(Patch Embedding)模块;(2)Swin Transformer模块。具体执行的操作如下:
(1)分块嵌入模块通过卷积使图像实现下采样与维度变换,卷积核大小为4×4,步长为4,输入输出通道数分别为3和96(96是预设好的对于Transformer更容易接受的维度),输出特征图尺寸变成[56,56,96],再通过flatten操作将特征图形状变为[3136,96]。
(2)阶段1的Swin Transformer模块数量为2,单个模块的具体结构如图4中的(c)所示,第1个Swin Transformer模块的输入大小为[3136,96],首先对输入序列做层归一化操作(Layer Normalization,LN),输出大小不变,之后对输出作形状转换将特征图形状变回[56,56,96],进入基于窗口的多头自注意力(Windows Multi-head Self-Attention,W-MSA)块。W-MSA块首先通过一个窗口划分(Window Partition)的操作,将大小为[56,56,96]的特征图划分为64个[7,7,96]大小的窗口,再经过形状变换得到64个尺寸为[49,96]的序列,对每个窗口内的49个元素进行多头自注意力计算,计算过程如下:
Qi=ZwinWi Q,Ki=ZwinWi K,Vi=ZwinWi V (1);
其中Qi,Ki,Vi∈R49×32分别是每个窗口第i头多头自注意力计算用到的Query、Key和Value矩阵,Wi Q,Wi K,Wi V∈R96×32是可学习的权重矩阵,Zwin∈R49×96代表特征图经过窗口划分和形状重塑后每个窗口包含的序列,d是Qi,Ki,Vi矩阵的维度,这里为32,B∈R49×49是相对位置偏置,49是每个窗口内块序列的个数,阶段1中用到的多头自注意力计算的头数是3(4个阶段头数分别为3、6、12、24)。Attentioni∈R49×32是第i头自注意力计算的结果,将3头的结果进行拼接(Concat)处理,得到Attention∈R49×96,再经过线性层投影操作得到自注意力计算后每个窗口的序列Z′win∈R49×96,将64个窗口的结果进行拼接,得到W-MSA块的输出大小为[64,49,96]。再通过Window Reverse将窗口形式还原成特征图,大小为[56,56,96],然后通过flatten操作将特征图形状变为[3136,96],经过dropout和残差连接,得到中间输出,通过层归一化操作和由两个线性层与GELU激活函数组成的多层感知机(MLP),再经过一次残差连接得到第1个Swin Transformer模块的输出,大小为[3136,96]。
第1个Swin Transformer模块输出后进入第2个Swin Transformer模块,第2个SwinTransformer模块与第1个Swin Transformer模块的不同之处在于将W-MSA块变成了基于滑动窗口的多头自注意力(Shifted Windows Multi-head Self-Attention,SW-MSA)块,滑动窗口的操作是将W-MSA块中划分的64个7×7大小的窗口同时在水平和垂直方向移动3个块的距离,实现不同窗口之间的信息交互,并且通过设置合理的掩码,让SW-MSA与W-MSA的窗口个数相同,达到等价的计算结果,除此之外其他计算过程与第1个模块基本相同。SwinTransformer模块的输入输出大小不变,阶段1的输出大小为[3136,96]。
阶段2分为两步:(1)分块合并(Patch Merging)模块;(2)Swin Transformer模块。具体执行的操作如下:
(1)阶段2的输入大小为[3136,96],先将输入形状转换为[56,56,96],然后进行分块合并实现缩小分辨率、调整通道数的功能,类似于池化操作,但是不会损失信息。PatchMerging的具体操作是在特征图行和列方向上每隔一个位置取一个块序列拼成4个长和宽减半的新的特征图,大小为[28,28,96],将得到的4个新的特征图在通道数的方向拼接,此时通道数会变成原来的4倍,特征图大小为[28,28,384](示意图如图5),再通过一个线性映射将通道数缩小为原来的2倍,所以Patch Merging层的输出大小变为[28,28,192],最后将形状转变为[784,192]。图5为Patch Merging下采样过程示意图。
(2)阶段2的Swin Transformer模块与阶段1基本相同,个数为2,输入输出大小是[784,192]。
阶段3、阶段4与阶段2是相同的两个步骤,细节不同之处在于,阶段3的SwinTransformer模块由6个模块堆叠而成,而阶段1、阶段2、阶段4的Swin Transformer模块数量都为2,Swin Transformer模块堆叠的方式是基于W-MSA与基于SW-MSA的两种模块成对交替出现。阶段1-4的输出大小分别为[3136,96]、[784,192]、[196,384]和[49,768]。
1.3.2、BiFPN加强特征提取:
本文将YOLOX的特征融合模块修改为BiFPN,一种加权的双向特征金字塔网络,不同的输入特征具有不同的分辨率,BiFPN为每个输入增加一个额外的权重,让网络了解每个输入特征不同的重要性,还增加了简单的残差操作,增强特征的表示能力,实现自上而下与自下而上的深浅层特征双向融合,增强不同网络层之间特征信息的传递,提升算法检测精度和检测性能。
将Swin Transformer主干网络的阶段2、阶段3、阶段4作为有效特征层,对这三层的输出做reshape操作,将[784,192]、[196,384]和[49,768]变为[28,28,192]、[14,14,384]和[7,7,768]进入加强特征提取网络BiFPN,进一步进行特征提取。具体地,将SwinTransformer主干网络中的阶段2作为上特征层,阶段3作为中特征层,阶段4作为深特征层,对深特征层的输出做reshape操作,得到深层特征图,对中特征层的输出做reshape操作,得到中层特征图,对上特征层的输出做reshape操作,得到上层特征图;其中深层特征图、中层特征图和上层特征图均为BiFPN加强特征提取网络的输入。
本文中BiFPN的结构如图4中的(b)所示,Upsample(2)代表2倍的上采样,将特征图分辨率变为原来的2倍,通道数变为原来的一半,Downsample(2)代表2倍的下采样,将特征图分辨率变为原来的一半,通道数变为原来的2倍。图中最上层的Conv(3,192,192)代表卷积操作,其中3代表卷积核的大小为3×3,第1个192代表卷积操作的输入通道数为192,第二个192为输出通道数,卷积步长为1,填充模式为“SAME”,代表特征图元素逐个对应相加。
BiFPN的上采样路径由阶段4输出的深层低分辨率特征[7,7,768]作为输入,经过Upsample(2)调整分辨率和通道数后与中间特征图的输入[14,14,384]融合,然后经过Conv(3,384,384)的卷积操作提取特征,得到第一卷积操作的输出,大小为[14,14,384],然后对其进行Upsample(2)操作后,与最上层特征图的输入[28,28,192]融合,再对融合的结果做Conv(3,192,192)的卷积操作得到第一个有效特征层的输出,大小为[28,28,192]。下采样路径具体流程参见图4中的(b),第一个有效特征层的输出再经过2倍的下采样操作后,与第一卷积操作的输出以及中层特征图融合,再对融合的结果做卷积操作得到第二个有效特征层的输出;第二个有效特征层的输出再经过2倍的下采样操作后,与深层特征图融合,再对融合的结果做卷积操作得到第三个有效特征层的输出。
1.3.3、Decoupled Head输出:
由于目标分类和定位所侧重的信息不一样,YOLOX在最终的输出网络中使用了解耦检测头(Decoupled Head),解耦检测头中对于预测目标类别、定位以及交并比(Intersection of Union,IoU)参数分别使用三个不同的分支,这样就将三者进行了解耦,提高检测性能。
输出网络包括三个解耦检测模块层、拼接层和转置层,三个解耦检测头模块层同时与拼接层连接,拼接层与转置层连接;其中解耦检测头模块层由依次连接的解耦检测头、拼接层和形状转换层组成;
解耦检测头(Decoupled Head)包括卷积层、BN层和SiLU激活函数层。
解耦检测头(Decoupled Head)的具体结构如图4中的(d)(图中以其中一个Decoupled Head的输入为例),BiFPN传进来的的特征图先通过1×1的卷积将通道数变为256,再经过标准化(Batch Normalization,BN)和SiLU激活函数,然后分成两个部分,一个预测特征点的类别,另一个负责特征点的位置和IoU预测。类别预测分支经过卷积、标准化和SiLU激活后,然后再经过一层卷积,其中前一层的卷积核大小为3×3,步长为1,卷积核个数为256,填充类型为“SAME”,后一层所用的卷积核大小为1×1,步长为1,卷积核个数为类别数,填充类型为“VALID”,在本文目标检测模块只将边界框分为一类,所以类别数为1,输出通道数为1;位置和IoU预测分支的过程与类别预测部分相似,只有最终输出之前的卷积核数量不同,因为YOLOX是无锚检测器,关于位置直接预测四个值,即网格左上角的两个偏移量,以及预测框的高度和宽度,所以位置预测分支的输出通道数为4,IoU预测分支的输出通道数为1,将Decoupled Head的三个分支输出在通道数上进行拼接(Concat),每个有效特征层的输出通道数都变为6,再经过形状转换(Reshape)将输出变成行数为元素个数,列数为6的二阶张量。由图4可以看到,三个Decoupled Head的输出经过Concat和Reshape处理后形状分别变为[784,6]、[196,6]和[49,6],将这三个输出再拼接然后转置(Transpose),最终输出结果形状为[6,1029]。
最后对网络的输出进行解码,即将这些输出翻译成对应的预测框,回归的位置信息映射到原图位置,就可以在图中找到病虫害的具体位置。在定位图中病虫害区域的之后,需要识别病虫害的具体类别,即运用1.4节所介绍的旋转不变Fisher判别CNN模型,对病虫害类别正确分类。
1.4、旋转不变Fisher判别CNN网络:
本节目标是学习一个旋转不变Fisher判别CNN模型,以提高图像特征提取的性能,提高番茄病虫害种类的识别准确率。这是通过在现有的大容量CNN架构的基础上,通过优化目标函数,针对旋转不变性与判别准确性来提升模型性能。其中旋转不变性是通过在模型的目标函数上加入正则化约束项来训练,该约束项明确地强制旋转前后的训练样本的特征表示相互接近,从而实现旋转不变。判别准确性则通过对网络特征施加Fisher判别准则,同样是在模型的目标函数上加入正则化约束项,使其类内分散小,类间分散大,提高判别能力。
1.4.1、网络结构:
本节以传统的CNN网络为基本框架,构建一个具有旋转不变性与Fisher判别准则的CNN网络。如图6所示,旋转不变Fisher判别CNN网络由5个卷积层、1个三层的全连接层、1个旋转不变Fisher判别层和1个softmax输出层构成,前6层的层与层之间使用最大池化层分开,所有隐藏层的激活单元都采用ReLU函数。
图中第1层的Conv(3,3,64)代表卷积操作,第1个3代表卷积核大小为3×3,第2个3代表输入通道数为3,64代表输出通道数,卷积步长为1,填充模式为“SAME”,使得卷积后保持图像的分辨率不变,以大小为[224,224,3]的彩色图像作为网络的输入,经过Conv(3,3,64)操作后特征图大小变为[224,224,64],第1层经过Conv(3,3,64)和Conv(3,64,64)两次卷积得到输出特征图大小为[224,224,64]。
所有最大池化操作的池化核大小都为2×2,步长为2,填充模式为“VALID”,最大池化层用于减小特征图分辨率,简化网络计算复杂度并压缩特征信息,第1层输出经过最大池化操作后特征图大小变为[112,112,64]。
如图6所示,前5层所有卷积核大小、卷积步长与填充模式都相同,只输入输出通道数有变化,第6层的第1个卷积Conv(7,512,4096)对大小为[7,7,512]的输入处理后,得到输出[1,1,4096],再先后经过Conv(1,4096,4096)和Conv(1,4096,7)两次卷积,将输出通道数调整到7,即6种番茄病虫害的图像和无病虫害的番茄植株图像共7种类别,得到第6层的输出大小为[1,1,7]。
第7层为旋转不变Fisher判别层,其实是一个大小为7的全连接层,输出大小为[1,1,7],其中所用的权重与偏置是经过添加了旋转不变正则化约束与Fisher判别准则的目标函数(式17)所训练出来的(具体介绍参见1.4.3节)。
第8层为最后一层softmax输出层,经过softmax非线性激活函数,输出大小为[1,1,7],softmax将输出值进行归一化操作,输出是0到1之间的实数,并且,softmax函数的输出值的总和是1,所以可以把输出值看作分类概率判断分类结果。
1.4.2、旋转不变Fisher判别优化目标函数:
旋转不变Fisher判别CNN模型通过添加两个正则化约束项来优化新的目标函数,训练旋转前后的训练样本,使其共享相似的特征,实现旋转不变性,同时使网络中的特征具有类内分散小、类间分离大的特点。
如图6,为了避免过拟合并降低训练成本,第6层以及其前面的卷积层和全连接层的所有参数(权重和偏差),在ImageNet数据集上预训练,并进行参数调整,然后转移到旋转不变Fisher判别CNN模型。对于一个训练样本xi∈XRI,XRI为经过旋转数据增广后的所有训练样本集合(也即数据增强前的第二个样本训练集),设O6(xi)为第6层的输出特征,O7(xi)为第7层旋转不变Fisher判别层的输出特征,O8(xi)为第8层softmax分类层的输出,O6(xi),O7(xi),O8(xi)∈R1×1×(C+1)。(W7,B7)和(W8,B8)分别为第7和第8层的可学习参数。因此O7(xi)和O8(xi)可以由以下等式得到:
O7(xi)=k(W7O6(xi)+B7) (6);
其中k(x)=max(0,x)和分别是ReLU和softmax非线性激活函数。在旋转不变Fisher判别CNN的训练中,6层、7层、8层的输出大小都为[1,1,7]。
给定数据增广后的训练样本XRI={xi|xi∈X∪TX}和它们对应的标签其中X代表初始训练样本,T={T1,T2,T3,T4}代表4次旋转操作,TX代表经过旋转处理得到的样本,假设初始训练样本的总数为N,则XRI的大小为N*5,/>表示第i个样本xi的真实标签向量,使用One hot编码,大小为7。
本章目标是用输入(XRI,YRI)训练一个旋转不变Fisher判别CNN模型。除了要求模型在训练数据集上的分类误差最小外,还要求该模型对任意训练样本集具有旋转不变性,并具有强大的图像类别辨别能力。为此,在softmax分类层提出一个新的目标函数,通过以下公式来学习参数,其中WRI和BRI为整个网络的所有权重与偏置:
其中λ1、λ2和λ3是权衡参数,控制这三项的相对重要性。
式(8)中的第一项M(XRI,YRI)是softmax分类损失函数,由7类多项负对数似然函数定义。对于给定的训练样本xi∈XRI,它寻求最小的误分类误差,计算方法为:
式中,<a,b>为a与b的内积,5N则是经过数据增强后的所有训练样本数。yxi∈R1 ×1×7是图像xi的类别标签,O8(xi)∈R1×1×7为softmax分类层的输出特征。
式(8)中的第二项R(X,TX)是一个旋转不变正则化约束,它被施加在旋转前后的训练样本X和TX上,以确保它们共享相似的特征。将正则化约束项定义为:
式中O7(xi)∈R1×1×7作为训练样本xi的第7层旋转不变Fisher判别层的输出特征,表示训练样本Txi在经过旋转不变层之后的特征平均值,因此公式为:
由式(10)可以看出,这一项使每个训练样本的特征接近对应的所有旋转样本的平均特征表示。如果这个项的输出值较小,即表示特征图对旋转变换的近似不变性。
式(8)中的第三项F(XRI)是对网络特征的判别正则化约束。根据Fisher判别准则,可以将XRI的类内散度最小化,类间散度最大化,类内散度表示为SW(XRI),类间散度表示为SB(XRI),定义如下:
其中,nj为第j个对象类中的样本数量,mj表示第j个类别内的所有样本的平均特征表示,共有7个类别,m为所有类别的所有样本XRI的平均特征表示,分别由以下公式得到:
O7(xi)、mj和m的大小都为7,所以SW(XRI)和SB(XRI)是大小为7×7的矩阵。直观上,将判别正则化项F(XRI)定义为:
F(XRI)=tr(SW(XRI))-tr(SB(XRI)) (16);
其中tr为矩阵的迹,表示矩阵对角线元素之和。
公式(8)中的第四项是一个权重衰减项,控制权重WRI的大小,有助于防止过拟合。
将式(9)、(10)、(12)、(13)和(16)代入式(8),有如下目标函数:
可以看到,定义的目标函数不仅使分类损失最小化,而且通过两个正则化约束来实现旋转不变性,同时使学习到的网络特征更具判别性。
1.5、模型评价指标:
本文通过精确率(Precision)、召回率(Recall)、交并比(Intersection ofUnion,IoU)和准确率(Accuracy)作为网络模型的评价指标,公式如下:
对于目标检测模块来说,TPi表示第i种病虫害的测试样本目标检测定位正确的边框数量,FPi表示第i种病虫害的测试样本被目标检测定位错误的边框数量,FNi表示第i种病虫害样本中被漏检的病虫害边界框数量。IoU用来评价对病虫害目标定位是否正确,A是检测目标的预测边框位置,B是目标实际边框位置,选取0.5作为阈值,当AB间的IoU大于0.5时,检测定位结果正确,否则属于错误的定位。准确率用于分类模型,其中Ci,i表示真实类别为第i类,模型预测为第i类的样本数量,∑jCi,j表示真实类别为第i类的所有样本数量。
2、结果:
表2展示了本文构建的基于Transformer的YOLOX目标检测网络在番茄病虫害测试数据集上的目标检测效果,并与经典的目标检测网络Faster R-CNN和SSD比较检测效果,可以看出,基于Transformer的YOLOX目标检测网络在病虫害定位上有着不俗的表现,对六种病虫害整体的检测准确率达到了86.3%,召回率(77.2%)也比其他两种网络(73.6%,69.7%)更高。Faster R-CNN借鉴了NLP中的注意力机制,对小物体有更好的检测效果,但是该网络提取的特征图是单层的,不利于多尺度的物体检测,对小物体的检测还是存在不足,SSD并没有引入注意力机制,与Faster R-CNN(Precision=78.4%)相比,精度还有提升空间(Precision=76.8%),对于目标较小的病虫害SSD的检测精度下降明显。与同样基于Transformer的DETR相比(Precision=82.4%,Recall=75.1%),本文使用SwinTransformer作为YOLOX的主干网络,不仅具有层次性,还兼顾了全局信息与局部信息,对大物体和小物体的检测都能达到更高的精确率(Precision=86.3%,Recall=77.2%)。
表2不同目标检测网络模型在番茄测试集上的准确率和召回率:
图7中的(a)、(b)、(c)、(d)分别是显示了经典分类网络AlexNet、VGGNet、ViT和本文旋转不变Fisher判别CNN在番茄病虫害测试集上的分类效果的混淆矩阵图,由矩阵和公式20可以计算出网络对所有测试样本的分类准确率,分别是74.1%、77.6%、78.5%和82.8%。图中每列的数字代表每类病虫害测试集中识别为六种病虫害的占比,蓝紫色方块代表了占比在5%以下,粉色代表占比5%以上60%以下,绿色则是占比60%以上,所以三张图的绿色方块都集中在对角线,代表病虫害分类正确的测试样本占比,可以看出图7中(d)的蓝紫色方块最多,粉色方块最少,表示本文旋转不变Fisher判别CNN取得了更优的结果,与VGGNet、AlexNet相比有更少的错误分类,四种分类网络都是对早疫病与灰叶斑病的分类效果最差,因为这两种病害本身有部分特征相似,再加上经典的CNN分类算法十分依赖于背景信息来判断类别,在现实场景的复杂背景中,没有进行优化的VGGNet和AlexNet就更容易出现错分、漏分,且由于AlexNet网络深度不足,特征提取效果不好,在测试集中,除分类简单的棉铃虫与美洲斑潜蝇外其他四种病虫害都有30%左右的错分率,与AlexNet、VGGNet相比,ViT使用多头自注意力机制能够更好地实现图像的分类,但在病虫害分类任务中,对于不同种类病虫害之间的差异比较小的情况并没有明显的优势,所以本文分类网络深度足够的同时进行了旋转不变与Fisher判别优化,在每种病虫害测试集上的正确分类数相较于其他三种网络都有一定的提高。
本文目标检测和分类识别方法的结果直观地由图8展示,可以看出我们的方法能够较准确地检测到病虫害所在的区域并且识别病虫害的具体类别,对于番茄多达几十种的病虫害,想要在现实应用上提高检测和分类的准确率还需要考虑更多影响因素,例如同一种病虫害在初期和后期所呈现形状、颜色、纹理等特征是不同的,而不同病虫害危害植株时也可能会呈现相似的性状,都会阻碍病虫害的有效治理。同时,复杂的自然背景也对检测和分类造成很大的影响,如图8第1列第2张图可以看到由于图像的部分区域光照太强,单独的白粉虱不仅目标小自身也是白色的,所以算法容易将其认定为背景导致大量漏检。不止光线的强弱有影响,植株本身叶片根茎交错无序、互相遮挡也是一个需要克服的难点,再者,拍摄时距离的远近,角度的不同都会让病虫害的形状、大小发生改变。
本文测试样本的三种番茄虫害中,棉铃虫会蛀食番茄花果和茎叶,造成腐烂导致减产,但是棉铃虫是比较容易检测和分类的,从表2和图7可以看到棉铃虫的检测和分类效果最好,因为其目标单一、特征明显且形态固定,而白粉虱的检测则是最有挑战性的,由于它目标小,颜色浅,在光照较强的环境下,容易与背景融为一体,给目标检测和分类识别都带来很大的挑战,由表2可以看出白粉虱在Faster R-CNN网络的目标检测任务中漏检的问题尤其严重(Recall=62.9%),而基于Transformer的YOLOX目标检测大大提高了召回率(Recall=76.3%)。美洲斑潜蝇的幼虫和成虫都会危害番茄叶片,幼虫取食叶片正面叶肉,形成弯曲缠绕的虫道,成虫具有一定的飞翔能力,会吸取叶片汁液,危害番茄植株前期发育,所以判断为美洲斑潜蝇虫害的方式有两种,一种是白色的弯曲虫道,一种是有飞行能力的成虫附着在植株表面,前者存在复杂背景造成的检测识别的困难,后者比较容易检测,由表2可以看到,本文提出的目标检测方法同样可以有效地提高检测分类美洲斑潜蝇的准确率和召回率(Precision=84.5%,Recall=78.6%)。
番茄病害中,叶霉病会使番茄叶面出现椭圆形或不规则淡黄色褪绿病斑,而叶背面产生白霉层,病害严重时又有不同的特征,从图7可以看到,AlexNet与VGGNet对叶霉病的识别错误率分别是26.5%和23.5%,错误识别结果分布在其他五种病虫害上,针对这一点,旋转不变Fisher判别网络通过降低类内散度来解决一种病虫害形态多变的问题,即使同类病虫害的特征大相径庭,如图8,叶霉病有的是黄色病斑,有的是白色霉菌,旋转不变Fisher判别网络能使其与真实类别的联系更紧密,提高识别准确率。灰叶斑病与早疫病危害叶片时都可能呈现褐色、深褐色的类似圆形的斑点,病症十分相似,从图8第4列2、3张图像可以看到这两种病害有部分病斑是相似的,导致了分类错误,从图7中可以看出,(a)、(b)、(c)三个模型在这两种病害上的分类准确率并不理想(68%~74%),在分类错误的情况中,这两种病害互相混淆的结果最多。所以除了降低类内散度,本文构建的分类网络还加入了增强类间分散的训练任务,减少了病症相似的病虫害之间的分类错误率。
为了研究在目标检测网络中改进的主干网络与特征融合模块对番茄病虫害目标定位效果的影响,本文进行了消融实验,通过将原始的YOLOX网络和分别替换主干网络和特征融合模块的YOLOX网络用于测试,结果见表3,这三个模型的精确率分别下降了6.1%、3.9%和7.6%,只替换主干网络虽然获得了较高的精确率但是召回率明显下降,没有达到较好的平衡,结果证明了本文改进的目标检测网络对番茄病虫害进行定位的可行性。本文对于分类模型的改进是通过在目标函数中添加两个正则化项实现旋转不变性和Fisher判别,表4列出了不添加正则化的分类网络和分别添加旋转不变和Fisher判别正则化的网络实验结果比较,同时比较模型使用旋转数据增强和不使用旋转数据增强在测试集上的表现,结果表明,对目标函数做旋转不变和Fisher判别优化是可以提高病虫害分类准确率的,旋转数据增强可以使模型分类准确率提升1.5%~4.9%,将旋转不变和Fisher判别优化与旋转数据增强结合起来,可以得到测试中最好的分类准确率(82.8%),充分发挥了优化模型的优势。
表3为采用不同的主干网络和特征融合模块的YOLOX模型对番茄病虫害的检测性能:
模型 精确率 召回率
YOLOX 80.2% 71.5%
YOLOX-Swin 82.4% 66.4%
YOLOX-BiFPN 78.7% 69.2%
YOLOX-Swin&BiFPN 86.3% 77.2%
注:YOLOX-Swin使用Swin Transformer作为骨干网络,而YOLOX-BiFPN利用BiFPN作为特征融合模块。本文中提出的方法结合了Swin Transformer和BiFPN,用YOLOX-Swin&BiFPN表示。
表4为不同优化策略和不同训练集下对番茄病虫害的识别准确率对比:
3、讨论:
为了解决番茄病虫害检测目标较小、目标所在自然环境复杂造成的漏检误检的问题,本文将Swin Transformer用于YOLOX作为主干网络,用BiFPN连接主干网络和检测头,融合多尺度的特征,并构建了旋转不变Fisher判别CNN分类的方法,解决目标角度变化、类间特征区别不明显和同类特征多样性造成的分类错误问题。
与近几年提出的目标检测模型DETR相比,本文的目标检测模型在番茄病虫害上的检测精度依然是存在优势的,DETR是基于Transformer的端到端的目标检测模型,通过一个全局的Transformer编码器来对整个图像进行编码,这使DETR更加适合处理大尺寸目标或密集目标的检测,同时也导致了模型难以精确捕捉较分散的小目标的细节信息,如表2所示,对于并不十分密集的早疫病与灰叶斑病,DETR的检测精度没有较明显的提升,且DETR的检测能力受到目标数量的限制,当数量较多时,DETR可能无法对所有对象进行准确的分类和边界框预测,本文用Swin Transformer提取特征,能够有效地捕捉不同尺度下的空间信息和上下文信息,结合BiFPN提高目标检测的准确率。ViT是基于Transformer的分类模型,相比传统卷积神经网络能适应各种不同的图像分类任务,ViT完全依赖于注意力机制来计算输入特征之间的关系,对结果的理解更加直观,但是对于分类错误的情况,难以准确地找到问题出现的原因,可解释性变得不理想,面对番茄病虫害特征类内分散大、类间分散小和旋转多变导致的错误分类问题,本文的分类模型更具有优势。
由此可见面对番茄病虫害检测和分类存在的一些常见挑战,本文提出的模型都有针对的解决办法并取得了较好的结果,但是在番茄病虫害防治的现实应用中依然存在尚未解决的困难,有如下2个方面:
(1)番茄种植过程中存在的病虫害种类、表现形式是多样的,番茄植株在感染病害的初期、中期、后期表现是不同的,害虫在幼虫和成虫形态时会通过不同的方式危害番茄,并且病虫害影响不同的部位时特征存在差异,如叶片枯萎、果实腐烂或者根茎变形。同时本文的研究实验中没有考虑到不止一种病害或者虫害同时存在于番茄植株上,并且可能会相互作用的情况。基于此,则需要大量的样本来训练模型达到更好的效果,而番茄病虫害图像样本的采集也是一个难题。
(2)为了提高精度,本文将检测和分类分为两个模型,所以要对训练样本进行两次不同的标注并且分别训练模型,在面对田间番茄种植管理更多的病虫害种类以及大量样本时则需要耗费更多的时间和精力。
在未来的工作中对番茄病虫害数据集的扩展可以通过进一步细分类别实现,包含同类病害的不同时期,害虫的不同形态,以及增加在不同光线下拍摄的图像,拍摄角度多变,来提高样本的多样性。采集比较常见的多种病虫害共同危害番茄植株的图像,为后续的深入研究做准备。对网络进一步优化,研究更好的目标分割技术来帮助模型更好地检测和区分目标,调整训练数据集、模型架构和参数设置,以提高模型的可解释性来提高对更复杂的数据集的检测分类效果,研究有效的方法保证定位和分类的高准确率的同时实现检测模型和分类模型的结合简化处理过程。
4、结论:
本文提出了一个结合目标检测与分类识别模型的番茄病虫害目标检测与分类识别的方法,面对番茄病虫害检测识别存在的普遍问题,提出了基于Transformer的YOLOX目标检测模型和旋转不变Fisher判别CNN分类模型,并对训练样本进行旋转数据增强,实现提高病虫害目标检测的准确率减少漏检的同时也保障对番茄病虫害种类有较高的识别能力。测试结果表明,基于Transformer的YOLOX目标检测对病虫害的定位取得了较好的结果,在番茄病虫害测试集上整体的检测精确率达到了86.3%,召回率也提高到了77.2%,与传统的分类识别CNN模型AlexNet、VGGNet相比,旋转不变Fisher判别CNN模型在番茄病虫害的分类精确率上也有明显的提高,对叶霉病、早疫病、灰叶斑病、白粉虱、美洲斑潜蝇和棉铃虫6种病虫害的分类准确率分别提升到了83%、78.5%、76.5%、79.5%、88.5%、91.5%。未来的研究致力于更有效更适用于病虫害防治现实应用的模型,丰富数据集的同时对网络也进行合适的优化,本文将目标检测与分类识别分为两个模型来实现,虽然强调了模型各自的优点,但是在处理速率上没有较强的优势,所以检测与分类的速度也可以作为下一步研究改进的重点。
本发明的保护范围包括但不限于以上实施方式,本发明的保护范围以权利要求书为准,任何对本技术做出的本领域的技术人员容易想到的替换、变形、改进均落入本发明的保护范围。

Claims (8)

1.基于深度学习的番茄病虫害检测与识别方法,其特征在于,包括以下步骤:
(1)收集多张番茄病虫害图像,并标注出每张番茄病虫害图像中病虫害位置,将原番茄病虫害图像和已标注出病虫害位置的番茄病虫害图像作为第一个样本训练集;
(2)标注步骤(1)的番茄病虫害图像中病虫害位置所属的病虫害类别,将已标注出病虫害位置的番茄病虫害图像以及其所属的病虫害类别作为第二个样本训练集;收集多张健康番茄植株图像,将多张健康番茄植株图像以及其所属的健康类别作为第二个样本训练集;
(3)对第一个样本训练集和第二个样本训练集分别进行数据增强,得到新的第一个样本训练集和新的第二个样本训练集;
(4)利用新的第一个样本训练集训练基于Transformer的YOLOX目标检测网络,得到训练完成的病虫害目标检测模型;
(5)利用新的第二个样本训练集训练旋转不变Fisher判别CNN网络,得到训练完成的病虫害分类识别模型;
(6)将待检测的番茄图像输入至病虫害目标检测模型,从而定位出番茄图像中病虫害位置;
(7)将定位出番茄图像中病虫害位置的图像输入至病虫害分类识别模型,从而识别出番茄图像中病虫害类别。
2.根据权利要求1所述的基于深度学习的番茄病虫害检测与识别方法,其特征在于,所述的数据增强为对样本进行4次随机角度旋转操作。
3.根据权利要求1所述的基于深度学习的番茄病虫害检测与识别方法,其特征在于,所述的基于Transformer的YOLOX目标检测网络包括Swin Transformer主干网络、BiFPN加强特征提取网络和输出网络。
4.根据权利要求3所述的基于深度学习的番茄病虫害检测与识别方法,其特征在于,所述的Swin Transformer主干网络包括阶段一、阶段二、阶段三和阶段四;
所述阶段一包括用于通过卷积使输入图像实现下采样与维度变换的分块嵌入模块和2个Swin Transformer模块;所述阶段二包括对输入图像进行形状转换与分块合并的分块合并模块和2个Swin Transformer模块;所述阶段三包括对输入图像进行形状转换与分块合并的分块合并模块和6个Swin Transformer模块;所述阶段四包括对输入图像进行形状转换与分块合并的分块合并模块和2个Swin Transformer模块。
5.根据权利要求4所述的基于深度学习的番茄病虫害检测与识别方法,其特征在于,所述BiFPN加强特征提取网络包括上采样路径和下采样路径;
将Swin Transformer主干网络中的阶段二作为上特征层,阶段三作为中特征层,阶段四作为深特征层,对深特征层的输出做reshape操作,得到深层特征图,对中特征层的输出做reshape操作,得到中层特征图,对上特征层的输出做reshape操作,得到上层特征图;其中深层特征图、中层特征图和上层特征图均为BiFPN加强特征提取网络的输入;
BiFPN加强特征提取网络的上采样路径为:深层特征图经过2倍的上采样操作后与中层特征图融合,然后经过卷积操作提取特征,得到第一卷积操作的输出,然后对第一卷积操作的输出进行2倍的上采样操作后,与上层特征图融合,再对融合的结果做卷积操作得到第一个有效特征层的输出;
BiFPN加强特征提取网络的下采样路径为:第一个有效特征层的输出再经过2倍的下采样操作后,与第一卷积操作的输出以及中层特征图融合,再对融合的结果做卷积操作得到第二个有效特征层的输出;第二个有效特征层的输出再经过2倍的下采样操作后,与深层特征图融合,再对融合的结果做卷积操作得到第三个有效特征层的输出。
6.根据权利要求5所述的基于深度学习的番茄病虫害检测与识别方法,其特征在于,所述输出网络包括三个解耦检测模块层、拼接层和转置层,三个解耦检测头模块层同时与拼接层连接,拼接层与转置层连接;其中解耦检测头模块层由依次连接的解耦检测头、拼接层和形状转换层组成;
解耦检测头包括卷积层、BN层和SiLU激活函数层。
7.根据权利要求1所述的基于深度学习的番茄病虫害检测与识别方法,其特征在于,所述旋转不变Fisher判别CNN网络包括5个卷积层、全连接层、旋转不变Fisher判别层和softmax分类层;
其中第1个卷积层包括两次卷积操作,第2个卷积层包括两次卷积操作,第3个卷积层包括三次卷积操作,第4个卷积层包括三次卷积操作,第5个卷积层包括三次卷积操作,全连接层包括三次卷积操作;第1个卷积层与第2个卷积层之间、第2个卷积层与第3个卷积层之间,第3个卷积层与第4个卷积层之间,第4个卷积层与第5个卷积层之间,第5个卷积层与全连接层之间均设有最大池化层。
8.根据权利要求7所述的基于深度学习的番茄病虫害检测与识别方法,其特征在于,所述旋转不变Fisher判别CNN网络的目标函数为:
其中,WRI表示旋转不变Fisher判别CNN网络的所有权重,BRI表示旋转不变Fisher判别CNN网络的所有偏置,XRI={xi|xi∈X∪TX},表示数据增强后的新的第二个样本训练集,其中X表示数据增强前的第二个样本训练集,T={T1,T2,T3,T4}表示4次旋转操作,TX表示X内的所有样本分别经过4次旋转操作后得到的样本数据,数据增强前的第二个样本训练集的总数为N,XRI的数量为N*5;λ1、λ2和λ3表示权衡参数,<a,b>表示a与b的内积,yxi表示训练样本xi的类别标签,O8(xi)表示训练样本xi的softmax分类层的输出特征,O7(xi)表示训练样本xi的旋转不变Fisher判别层的输出特征,表示训练样本xi经过4次旋转操作后得到的样本经过旋转不变Fisher判别层的输出特征平均值,nj为第j个类别内的样本数量,mj表示第j个类别内的所有样本/>的平均特征表示,共有7个类别,m为所有类别的所有样本XRI的平均特征表示,tr为矩阵的迹,表示矩阵对角线元素之和。
CN202310606757.4A 2023-05-26 2023-05-26 基于深度学习的番茄病虫害检测与识别方法 Pending CN116630803A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310606757.4A CN116630803A (zh) 2023-05-26 2023-05-26 基于深度学习的番茄病虫害检测与识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310606757.4A CN116630803A (zh) 2023-05-26 2023-05-26 基于深度学习的番茄病虫害检测与识别方法

Publications (1)

Publication Number Publication Date
CN116630803A true CN116630803A (zh) 2023-08-22

Family

ID=87596915

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310606757.4A Pending CN116630803A (zh) 2023-05-26 2023-05-26 基于深度学习的番茄病虫害检测与识别方法

Country Status (1)

Country Link
CN (1) CN116630803A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117152620A (zh) * 2023-10-30 2023-12-01 江西立盾光电科技有限公司 一种跟随植物状态变化的植物生长控制方法及系统
CN117853470A (zh) * 2024-01-17 2024-04-09 肇庆市新型农业科技有限公司 一种基于人工智能的肥料肥力的分析方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117152620A (zh) * 2023-10-30 2023-12-01 江西立盾光电科技有限公司 一种跟随植物状态变化的植物生长控制方法及系统
CN117152620B (zh) * 2023-10-30 2024-02-13 江西立盾光电科技有限公司 一种跟随植物状态变化的植物生长控制方法及系统
CN117853470A (zh) * 2024-01-17 2024-04-09 肇庆市新型农业科技有限公司 一种基于人工智能的肥料肥力的分析方法及系统

Similar Documents

Publication Publication Date Title
Yang et al. Applications of deep-learning approaches in horticultural research: a review
CN116630803A (zh) 基于深度学习的番茄病虫害检测与识别方法
Yakkundimath et al. Classification of rice diseases using convolutional neural network models
Wang et al. An improved Faster R-CNN model for multi-object tomato maturity detection in complex scenarios
Alguliyev et al. Plant disease detection based on a deep model
Hao et al. Growing period classification of Gynura bicolor DC using GL-CNN
Sagarika et al. Paddy plant disease classification and prediction using convolutional neural network
Ashwini et al. Corn disease detection based on deep neural network for substantiating the crop yield
Sajitha et al. A review on machine learning and deep learning image-based plant disease classification for industrial farming systems
Raveena et al. Clustering-based hemileia vastatrix disease prediction in coffee leaf using deep belief network
Ye et al. PlantBiCNet: A new paradigm in plant science with bi-directional cascade neural network for detection and counting
Patel et al. A survey on plant leaf disease detection
Samala et al. Disease Identification in Tomato Leaves Using Inception V3 Convolutional Neural Networks
Venal et al. Plant stress classification for smart agriculture utilizing convolutional neural network-support vector machine
Alshehhi et al. Date palm leaves discoloration detection system using deep transfer learning
Kalpana et al. Diagnosis of major foliar diseases in black gram (vigna mungo l.) using convolution neural network (cnn)
Goyal et al. Disease detection in potato leaves using an efficient deep learning model
Gunarathna et al. Identification of an efficient deep leaning architecture for tomato disease classification using leaf images
Tiwari et al. Tomato Disease Detection Using Vision Transformer with Residual L1-Norm Attention and Deep Neural Networks
Chen et al. YOLOv8-CML: A lightweight target detection method for Color-changing melon ripening in intelligent agriculture
Ramdani et al. Strawberry diseases identification from its leaf images using convolutional neural network
Bachhal et al. Real-time disease detection system for maize plants using deep convolutional neural networks
Pal Classification of pest-infested citrus leaf images using MobileNet V2+ LSTM based hybrid model
Chen et al. Application of Deep Learning in Crop Stress
Kukreja et al. Automated Red Chilli Disease Recognition using Combined CNN-SVM Model: Enhancing Crop Management and Yield Optimization

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination