于明, 郭志永, 王岩
(1.河北工业大学人工智能与数据科学学院, 天津 300401; 2.天津商业大学信息工程学院, 天津 300134)
植物是人民生活资料中重要的原料来源,随着人口的快速增加,对植物资源的依赖愈加明显。然而植物在生长过程中面临诸多威胁,如气候变化、病虫害发生和生物入侵等。其中,植物病害由于其突发性、传染性和复杂性的特点,对植物生长影响最大。据统计,每年植物病害给全球经济造成的损失超过2 200亿美元[1],因此,对植物病害进行有效防治刻不容缓,而植物病害的识别是其基础和核心任务之一。
传统的人工识别方法在植物病害诊断方面存在很多不足,最显著的问题是准确性容易受到人为误差、经验水平和测试精度等因素的影响。此外,由于缺乏专业的农业技术人员,病害的快速诊断和有效治理也难以保证。
为了解决上述问题,研究人员开始将植物病理学和相关知识整合到图像识别技术中,利用机器学习和计算机视觉技术来识别农业病害。这些方法可以自动分析和处理大量与病害有关的图像数据,使用机器学习模型和分类器进行快速准确的病害识别,有效地降低了人为误判的风险。这些技术的应用为农业生产提供了有效的技术支持,提高了病害的检测和治理效率。
植物病害识别涉及人工智能、植物病理学、计算机图形学等多门学科,是具有跨学科性、系统相对分散的研究方向。将植物病害识别问题分为对病害类型的识别和对病害严重程度的识别,并分析它们的研究现状。从视觉特征类型和学习方式两个维度对植物病害识别方法做了更为系统和全面的梳理总结,然后介绍现有植物病害数据集,给出不同识别方法在主流数据集上的性能对比和分析,最后针对该领域存在的问题与挑战,对未来研究方向进行总结展望。
植物病害识别的本质是图像识别,目的是建立原始图像与类别信息的映射关系。根据识别目标不同,可以将当前的植物病害识别问题分为:①对病害类型的识别;②对病害严重程度的识别。
植物在种植时常采取单间种植方式,因此对特定植物的病害识别最为常见。Siricharoen等[2]对小麦叶锈病进行二分类识别,类别标签只有健康和患病两种,由于类别数目少,分类边界是线性的,所建立的识别模型较为简单。然而,植物在生长过程中遇到的病害类型是多样的,文献[3-4]分别针对小麦和葡萄柚的常见病害建立多分类模型,与识别单一病害的二分类模型相比,效率更高。
为进一步实现多类植物的病害识别,研究人员积极探索鲁棒性更强的病害识别方法。Too等[5]在多类植物病害数据集Plant Village上评估深度卷积模型的性能,DenseNet以较少的参数量和计算时间实现了99.75%的测试准确率。神经架构搜索可以不借助人工调试而自动化设计高性能深度神经网络,黄建平等[6]基于神经架构搜索技术自动学习适合14种植物共26种病害识别的深度神经网络,在训练样本不平衡和平衡条件下的准确率达到98.96%和99.01%。以上工作在结构化环境[图1(a)]下识别植物病害,由于背景单一,在结构化环境中,基于深度学习的多类植物病害识别准确率已经达到95%以上,超过人类肉眼识别水平。
图1 不同环境条件下的玉米病害样本Fig.1 Maize disease samples under different conditions
当前的难点是在自然环境[图1(b)]中准确识别病害类型。自然环境下复杂背景、光照变化、遮挡等因素会对识别主体的辨别性特征产生干扰。Khan等[7]提出融合色彩平衡和超分辨率的方法在复杂自然环境下识别番茄的常见病害,输入图像先经过色彩平衡转换以消除不均匀照明的影响,然后利用超像素创建紧凑区域,设计合适的阈值实现复杂背景和叶片分离,在组合数据集上实现93.12%的识别准确率。分割复杂背景是自然环境下病害识别的关键,现有方法对不同图像分割的稳定性存在差异,虽在一定程度上缓解了复杂背景的不利影响,但并未根本性地解决该问题。
病害严重程度的识别对类别信息做了更细粒度的划分,不仅识别出病害类型,更要对病害严重程度有较为可靠的判断。不同严重程度的植物病害样本如图2所示,可见同一类病害图像非常相似,且严重程度的区分没有一个明确的标准,分类难度极大。
图2 AI Challenger 2018中不同严重程度的植物病害 (图片资源来自AI Challenger 2018数据集,数据集 网址: https://challenger.ai/dataset/pdd2018)Fig.2 Plant diseases of varying severity from AI Challenger 2018 (the image resources are from the AI Challenger 2018 dataset, located at: https://challenger.ai/dataset/pdd2018)
关辉等[8]利用传统图像处理的方法分割病斑区域,通过计算病斑与叶片的面积比例得出病害的严重程度。不同病害的光谱敏感波段不同,且光谱指数在不同严重程度下也表现出具有区分性的相关性关系。Mahlein等[9]利用传感器获取植物病害的高光谱图像,在频域空间内捕获特征评估病害严重程度。上述方法在病害严重程度识别问题中取得一定成效,但决策病害严重程度的阈值边界和光谱指数需要人为的选择和调整,使得方法更多针对特定植物病害的严重程度进行评估,难以推广到多类病害严重程度的识别任务中。
深度学习方法能从大量数据中学习不同样本之间的区分性特征,成为处理上述问题的关键。Wang等[10]最早提出基于卷积神经网络(convolutional neural networks,CNN)进行植物病害严重程度的自动评估,使用不同的CNN模型对具有4种严重程度的苹果黑腐病图像进行识别,准确率达到90.4%。Guo等[11]基于Swin Transformer开发了一种植物病害识别系统,用于评估病害的严重程度,与CNN模型不同,该系统采用视觉编码器(Transformer)的方法,能够更好地处理输入数据之间的关系,有利于应对图像噪声,识别性能非常稳定。病害类型识别和病害严重程度识别相互关联。通常情况下,在对病害类型进行准确识别后,才能进一步评估病害的程度。随着对病害类型识别的研究已经达到一定高度,基于深度模型识别病害严重程度成为当前植物病害识别领域研究的热点。
目前已有大量有价值的植物病害识别方法,对促进农业生产、生态环境保护和生命科学研究具有重要意义。对一个具体的植物病害识别系统,最关键的是所提取的视觉特征,其次是根据数据分布的特点选取有效的机器学习方式。基于此,从特征类型、学习方式两个维度对现有病害识别方法进行阐述。
辨别性视觉特征是植物病害识别的关键。按照特征类型不同可以将病害识别分为:手工特征提取方法、深度特征提取方法和多源信息融合方法。
2.1.1 手工特征提取方法
手工特征主要指图像中的形状、颜色、纹理等浅层信息,常见的手工特征描述符包括:颜色直方图、颜色矩、局部二值模式(local binary patterns, LBP)[12]、灰度共生矩阵(gray level co-occurrence matrix, GLCM)、方向梯度直方图(histogram of oriented gradient, HOG)[13]等。如图3所示,基于手工特征的病害识别主要包含以下步骤:①原始病害图像先需要经过预处理操作,以消除噪声,增强有用的真实信息,接着利用算法分割出病斑区域,减少无用信息的干扰;②然后进行特征提取和特征选择;③最后,根据特征训练相应的分类器,利用分类器对植物病害进行识别分类。
SVM为支持向量机;K-means为K-均值聚类
在基于单一类型的手工特征识别阶段,颜色是使用最广泛的特征之一。Patil等[14]利用颜色矩表示图像特征识别番茄叶部病害,虽验证了颜色特征在病害识别中的可行性,但识别精度并不高。为增强感兴趣区域,Ma等[15]采用最小误差阈值法分割树叶和背景,在RGB(red greeen blue)和HIS(hue intensity saturation)两个表示空间统计颜色分布,诊断大豆的氮元素含量,然而该过程并不是完全自动的,需要根据颜色曲线进行人为的判断。相较于颜色特征,纹理特征具有不依赖颜色或亮度既可反映图像中像素同质现象的特点。张静等[16]通过GLCM构建能量、惯性、熵和均匀性4种纹理特征参数,将惯性值作为特征有效区分了黄瓜的斑疹病和角病斑病,但特征值的选择经历了大量烦琐的对比试验。Ahmad等[17]则首次将定向局部五元模式(directional local quinary pattern, DLQP)作为纹理描述符识别植物病害,与LBP、局部三元模式(local ternary patterns, LTP)等其他描述符相比,识别效果更好,缺点是算子的复杂度相对较高。
考虑到特征之间的互补性,研究人员融合不同类型的手工特征识别植物病害。Hlaing等[18]基于尺度不变特征转换(scale invariant feature transform, SIFT)建模纹理特征,从RGB通道中提取图像的颜色信息,结合纹理和颜色特征对番茄病害进行识别。针对颜色特征受光线变化影响大的问题,Yao等[19]将病害斑点的形状和纹理特征作为额外特征值,识别3种水稻常见病害的准确率达到97.2%。Awate等[20]则基于果实表面孔洞识别水果的外部疾病,结合颜色、形状、纹理和结构4种特征类型,在有效识别水果疾病的同时实现了安卓端的配置应用。上述工作融合多种特征丰富了特征空间的多样性和信息量,但更多的信息注入可能导致模型过度拟合,进而影响识别性能。
基于手工特征是早期病害识别的主要方法,这类方法适用于小样本数据,对硬件性能要求低、算法结构简单。然而在现实应用过程中,针对某一数据的特点建立有效的判别性特征需要研究人员花费大量精力进行设计挑选,且利用的特征类型越多,特征工程越复杂。此外,这些浅层特征容易受到光照条件变化、复杂背景等因素影响,导致鲁棒性降低和模型识别性能下降,限制了手工特征方法在该领域的进一步应用。
2.1.2 深度特征提取方法
植物病害识别主要采用卷积神经网络 提取图像的深度特征。CNN模拟人脑分层处理信息的机制,逐层学习图像特征,其底层是通用的浅层特征,如图像的边缘和纹理等,高层组合低层特征,生成具有语义信息的深度特征。用于病害识别的CNN前向传播过程如图4所示,输入的图像经过多层卷积层和池化层提取出特征向量,输入多个全连接层组成的分类器中预测病害类别。
图4 用于病害识别的卷积神经网络结构 (图片资源来自AI Challenger 2018数据集,数据集 网址: https://challenger.ai/dataset/pdd2018)Fig.4 CNN structure for disease identification (the image resources are from the AI Challenger 2018 dataset, located at: https://challenger.ai/dataset/pdd2018)
典型的CNN分类网络包括VGG[21]、ShuffleNet[22]、ResNet[23]等。文献[24-26]以微调的方式直接将现有的CNN模型用于植物病害识别,取得了不错的识别效果,但此类方法未能根据病害图像的特点对识别模型做出针对性的调整,因此性能并未达到最优。为了更好地识别植物病害,现有方法主要从以下3个方向进行优化。
(1)基于目标区域分割的方法。局部病斑对植物病害识别至关重要,因此,为获取更有效的特征来源,病害图像在送入CNN前常对病害区域或患病叶片进行分割。Islam等[27]使用Otsu算法分割水稻的病斑区域,利用CNN从病斑区域提取特征进行识别。Canny算子能有效检测细微边缘,Mangal等[28]利用Canny算子分割叶片,有利于识别症状不明显的早期患病植物。Ashwinkumar等[29]采用Kapur阈值分割技术提取叶片感染部位,基于DenseNet提取病害部位特征并进行超参数优化,识别4种番茄叶部病害的平均精确率达到98.5%。以上工作均采用传统图像处理方法分割患病叶片或病斑,在提高病害识别效果的同时,保证了运行效率,缺点是分割参数需手动调节且对图像噪声敏感,分割效果不稳定。针对上述问题,Rashid等[30]提出一种用于马铃薯叶部病害识别的多级深度学习模型,该模型的一级基于YOLOV5算法训练了一个目标检测网络,用于分割实时视频和图像中的马铃薯叶片,二级采用专门识别叶部病害的CNN在叶片数据上学习特征和分类。利用目标检测网络,该方法能针对图像噪声实现更稳定的分割,但网络训练需要进行额外的数据标注,且其引入加大了模型的复杂度,不利于端到端模型的构建和识别速度的提升。
(2)基于多网络集成的方法。由于结构或组织方式的差异,不同网络模型能发挥不同的优势和功能。Sutaji等[31]集成MobileNet V2和Xception两种卷积神经网络识别植物病害,该模型充分利用MobileNetV2的全连接特性和Xception的多尺度特征构建能力,相较于单个网络的识别准确率分别提高1.8%和0.8%。于明等[32]构建了一个识别多类植物病害的双流模型,模型利用两个网络分别从病斑图像和原始图像提取局部和全局特征,两种特征充分融合后作为识别分类的依据。该方法通过两个网络提取互补特征改善识别性能,但是存在计算过程复杂,识别速度慢的问题。Turkoglu等[33]组合6个深度卷积网络提取特征,以集成投票方式结合不同网络的预测结果识别病害,虽改善了识别性能,但不同网络提取的特征会存在大量冗余,效率较低。王芳元[34]提出的PlantNet模型在上游将AlexNet与Inception并行联结构成一个投票网络预测病害类型,投票网络综合两个分支的分类结果,能够彼此实现误差纠正,鲁棒泛化性更强,下游构建了多个加权孪生网络,每个网络针对单一病害类型进行严重程度评估,使得网络能更加关注判别性细节信息,更有效地区分不同严重程度,其模型架构如图5所示。与该方法类似,Li等[35]则先识别农作物类型,再对病症和病情做出诊断。上述两种方法将识别过程看作多个阶段,每个阶段都有专门负责本阶段分类任务的网络模型,在分类标签具有分级特点的病害识别任务中具有较好的识别性能,但是模型中的各个网络需要单独进行训练,无法实现训练过程上的端到端是其局限性。
图5 PlantNet模型结构图Fig.5 Framework of PlantNet
(3)基于注意力机制的方法。人类在快速扫描整张图像后,会将注意力集中于图像中的某些重点区域。受人类视觉注意力启发,研究人员将注意力机制引入计算机视觉,开发了不同类型的注意力模块。病害识别任务中常见的注意力模块如图6所示。Gao等[36]提出了基于双分支通道注意力模块的植物病害识别模型,该模型利用两个不同的一维卷积在双分支中实现独立的特征选择和特征降维,在提高识别准确率的同时,减少了冗余特征的提取。Chen等[37]设计了基于通道注意力和空间注意力的SCAM模块,以学习通道间关系和空间位置对输入特征的重要性,该模块被嵌入DenseNet中识别玉米病害,在复杂背景条件下实现了98.50%的识别准确率,但SCAM模块将空间和通道注意力串行连接,出现了串行干扰问题。为避免串行干扰,王美华等[38]将空间注意力模块和通道注意力模块并行连接,提出并行混合注意力模块I_CBAM,添加该模块后的CNN模型以更小的内存消耗实现了更优的识别效果。文献[39-40]在残差网络中引入注意力机制,既保证了实时识别速度,又提升了模型的表达能力,进一步验证了注意力机制的优越性。
MLP为多层感知机;Linear为线性映射;Concat为拼接; Scaled Dot-Product Attention为缩放点积注意力;Q、K、V分别为多头自 注意力计算中的查询矩阵(Query)、键值矩阵(Key)和值矩阵(Value)
自注意力机制拥有强大的远距离建模能力,与CNN结合能够实现优势互补。Zhang等[41]提出残差自校准和自注意力聚合网络RCAA-Net识别植物病害,模型在残差模块中引入空洞卷积学习多尺度的特征表示,利用反卷积实现反馈校准以抑制深层背景噪声,提高模型鲁棒性,并通过自注意力模块聚合不同尺度特征图的语义信息,进一步提高模型的准确性。该模型利用CNN作为网络浅层结构,以提取局部细节信息,在深层网络中,使用自注意力模块来构建不同位置病斑间的远距离依赖关系。这是当前病害识别模型的一种流行做法,PlantXViT[42]和GeT[43]同样是基于这种思想建立的病害识别模型,在不同的数据集上表现出优异的识别性能,但是自注意力模块计算相对复杂,会比较明显的增加模型计算量,使得推理速度变慢。为了学习病害细微的表观差异,Yu等[44]将Inception引入ViT(vision transformer),以强调细粒度特征的关注并建模局部上下文信息,改进后的ViT网络在Plant Village、PlantDoc等数据集上的精度高于CNN与Transformer的混合模型。Wang等[45]则基于完全的自注意力模型Swin-Transformer识别黄瓜叶部病害,并通过逐步小补丁嵌入增强模型特征提取能力,由于自注意力机制具有更强的数据依赖性,该模型实现良好的识别性能需要预训练权重迁移并对数据增强要求较高。
当前基于深度特征的病害识别方法大都以CNN为基础。由于CNN的特征提取过程是自适应的,基于深度特征的病害识别方法能将特征学习和分类器训练统一到一个框架内,实现端到端学习。此外,基于CNN的深度识别模型表现出良好的可拓展性,可以通过灵活的调整网络结构,提高模型性能。基于自注意力机制的Transformer同样具有上述优势,其出现为病害识别模型提供了新的架构选择,在未来,探索利用Transformer构建病害识别模型或将Transformer与CNN结合有望进一步提升植物病害识别的性能。但是深度学习方法也存在一定的局限性,如数据需求量大、计算资源要求高和可解释性差等。
2.1.3 多源信息融合方法
植物病害的发生往往具有周期性、地域性等特点。除了从病害图像提取的视觉信息外,病害发生的时间、地理位置、环境参数等对疾病的分类识别同样具有重要意义,这类信息被统称为多源外部信息。
随着农业物联网技术的快速发展,使用各式传感器可以很方便地获取温度、湿度、pH等各类环境参数。农业物联网的可用性自然而然地催生了基于多源信息融合的病害识别方法。Zhao等[46]提出了一种融合多源信息进行植物病害识别的典型方案—多上下文融合网络(multi-context fusion network, MCFN),MCFN的结构模型如图7所示,该方法使用双分支模型架构,视觉特征分支利用CNN从超过50 000个病害样本中提取视觉特征,多源信息分支利用BoW编码器对传感器采集的上下文信息进行编码,两个分支输出的特征向量经全连接网络实现特征融合并输出类别预测,得益于多源信息的有效使用,该方法在复杂自然环境中识别植物病害具有很好的效果。Picon等[47]将作物的品种信息与CNN相结合,识别小麦、玉米、水稻等5种农作物的常见病害,由于作物的品种信息作为先验知识参与了识别过程,网络可以更关注病害区分性特征的学习,降低了识别任务的复杂性,但是该方法人为编码作物的品种信息,灵活性较差。CNN的全连接层聚集着图像复杂的语义信息,基于此,Cruz等[48]提出框架的抽象级融合算法,为网络的全连接层提供来自3个不同基线架构中的附加特征,该方法增强了全连接层的特征表示,识别橄榄快速衰退综合征的准确率达到98.60%。张净等[49]提出双模态特征融合的农作物病害识别算法,使用并行的循环神经网络和卷积神经网络分别提取图像和文本特征,并通过超图神经网络编码两种特征之间的相关性,实现大田环境下作物病害的有效识别。
图7 MCFN模型结构图Fig.7 Framework of MCFN
单纯依靠视觉特征的识别模型极易出现性能饱和。基于多源信息融合的病害识别方法能够为模型提供更丰富的特征来源,是突破性能上限的可行方案。但是,此类方法在应用过程中仍存在一些问题:首先,获取多源信息需要多功能相机和各类传感器的部署参与,工程量大、硬件成本高。同时,不同类型的多源信息可能以多种模态形式存在(如图像、文本、音频等)。为了充分利用这些信息,要求研究人员具备多模态信息处理的能力并对不同信息进行有效编码。
在常规植物病害识别任务中,为了保证识别模型的性能,首先要求训练样本的数量必须足够多,以确保模型能够充分学习各种病害的特征。其次,训练样本和测试样本应该服从相同的分布,以避免模型在测试时遇到未曾见过的样本而出现偏差。然而在现实世界中,不同植物病害的收集难度不同,一些难收集类的样本数量有限。此外,病害图像数据又是开放的,新类别的样本总在动态增加。针对以上问题,人们将机器学习方式中的迁移学习、小样本学习、多任务学习、增量学习应用到病害识别领域。
2.2.1 常规植物病害识别
常规植物病害识别主要面向封闭数据集,满足训练样本足够多、训练样本和测试样本服从独立同分布。基于手工特征的植物病害识别方法由于样本需求小,且所用的封闭数据集大都满足数据独立同分布的特点,因此基本上都属于此类方法。
2.2.2 迁移学习
近年来,深度学习已经成为植物病害识别领域的主流方法。由于目前缺乏公开的大规模病害数据集,这为深度模型的训练带来了挑战。为了有效利用大规模的额外数据集,迁移学习被采用以增强模型性能。迁移学习将具有丰富样本容量的数据集视为源域数据集,而将任务数据集视为目标域。识别模型在源域上完成预训练后,被应用到目标域,从而实现知识迁移。在病害识别任务中,文献[50-51]已经证明迁移学习方式比“从头开始”的常规学习方式更准确。
迁移学习的方式主要有两种,一种固定模型特征提取部分的参数,仅重新训练分类头;另一种则是对模型整体进行微调(fine-tuning)。其中,微调在目标数据集上重新调整网络参数,从而使特征学习更适用于当前任务,因此在病害识别中应用较为普遍。Zhou等[26]将3个预训练CNN模型集成到一个框架下,在微调过程中引入空间和通道特征校准以突出判别特征并抑制冗余特征,使得方法针对不同病害数据具有良好的识别稳定性。利用残差块批次归一化和迁移学习的优势,Zhang等[25]改进了ResNet-50,提出修正残差网络(modified residual neural network,MRNN),MRNN以微调的方式进行训练,训练速度显著提升。Lee 等[24]则通过实验探究了预训练数据集与任务数据集的相关性对微调过程的影响,同一个网络模型分别在植物识别数据集PlantCLEF2015和通用数据集ImageNet上进行预训练。对比其微调过程发现,源域数据集与目标域数据集越相关,越有利于模型训练收敛。
2.2.3 小样本学习
在仅拥有少量训练样本的条件下,小样本学习可以不借助额外的大规模数据集构建一个准确的识别模型。实现小样本学习的途径有数据增强、元学习和半监督学习等。
小样本学习的特点是缺乏有标记的训练样本,Roy等[52]采用生成对抗网络(generative adversarial networks,GAN)扩充番茄病害数据,将CNN与PCA结合并在扩充后的数据集上进行训练,识别准确率提升明显,但该方法在图像生成之前需要对GAN进行有效训练,过程相对复杂。Argüeso等[53]将元学习范式引入植物病害的小样本识别研究中,具体操作是将Plant Village数据集分为源域和目标域,在源域上训练了提取一般植物叶片特征的通用CNN,并将其转移到新的目标域,在此基础上引入对比损失和三元组损失进行优化,每类仅使用90张图像的测试准确率超过80%。以上方法采用有监督的训练方式,仅使用了少量标记样本,Li等[54]提出一种半监督小样本分类方法,该方法用少量标记样本和大量未标记样本训练模型,未标记样本先送入预测模型进行预测,预测置信度较高的样本被分配给一个伪标签并参与模型微调,这被称为一次半监督小样本分类过程。实验表明,多次半监督小样本分类方法在Plant Village上平均识别准确率提高了4.6%。该方法充分利用了未标记数据,能够学习更丰富的特征表示,但构建预测模型同样带来了额外的工作量。
2.2.4 多任务学习
多任务学习可以在一个识别模型中同时掌握多个相关任务。在植物病害识别领域中,多任务学习常见于多类植物的病害识别和病害严重程度识别问题,以便同时获取植物品种、病害类型和病害严重程度等属性。Jiang等[55]提出一种多任务迁移学习方法,该方法利用识别模型的共享层学习水稻和小麦两个数据集的公共特征,基于水稻病害识别和小麦病害识别两个任务进行优化,防止模型过度拟合,提高了泛化能力。Wang等[56]提出双流线性池化模型(dual-stream hierarchical bilinear pooling, DHBP),DHBP基于多任务学习方式同时完成植物品种识别和病害诊断两个子任务,识别准确率分别为84.71%和75.06%。为了识别和估计咖啡叶片上生物威胁(病虫害)的严重程度,Esgario等[57]基于ResNet-50提出多任务病害识别框架,该框架由生物威胁识别和严重程度评估两个子任务组成,两个子任务共享卷积层结构,并拥有各自的全连接层和损失函数,识别准确率分别为95.24%和86.51%。以上方法利用多个任务之间的相关性提高各个子任务的识别效果,但构建的模型相对复杂,推理过程需要更多的时间和计算资源,此外,任务间的相关性也导致模型难以针对单个任务进行优化。
2.2.5 增量学习
在开放数据条件下,新的类别和类别中新的样本持续产生,为避免新数据加入训练使原有模型产生灾难性知识遗忘,研究人员将增量学习用于植物病害识别任务。Ouadfel等[58]提出一种基于深度神经网络的植物病害分类增量学习方法,通过为深度网络模型的分类头预置多个节点以动态学习新类,聚类算法维护一个存储器避免先前知识的灾难性遗忘。Bhattarai等[59]研究发现,卷积神经网络的全连接层对新类别样本存在强烈偏差,基于此,提出了一个线性偏差校正模块,将该模块添加到最后一个全连接层后实现偏差校正,有助于识别新生的植物病害,但实验发现,该方法在数据不平衡条件下对增量数据识别效果较差。
从特征类型来看,植物病害识别经历了由手工特征到深度特征的发展。深度特征方法在该过程中展现出更好的识别性能和鲁棒泛化性,同时避免了繁琐的手工特征设计,逐步取代手工特征方法。为了进一步提升模型识别性能,研究人员尝试将多源信息与深度特征融合辅助识别,取得了有竞争性的识别效果,但多源信息的获取需要复杂的硬件工程,应用较少。因此,当前主流的方法通过优化深度识别模型结构以更有效地提取深度特征,实现植物病害的精准识别。
表1将不同特征类型的病害识别方法的优缺点和适用场景进行对比总结。从学习方式来看,过去手工特征方法主要在常规识别范式下进行研究。随着深度特征方法成为植物病害识别的主流方法,迁移学习受到了越来越多的关注。此外,由于一些植物病害样本稀少、多属性判别的需要和开放世界动态数据增加等问题,研究人员开始了基于小样本学习、多任务学习和增量学习的植物病害识别研究,但目前这些方向大都处于起步阶段,研究相对较少。表2将不同学习方式下的病害识别方法的优缺点和适用场景进行对比。表3[5,9-11,14,17-18,20,24-26,30-33,37,39,42-47,49-60]则进一步从学习方式、识别目标和特征类型3个维度对具有代表性的病害识别方法进行总结。
表1 不同特征类型的病害识别方法对比
表2 不同学习方式下的病害识别方法对比
表3 代表性方法总结[5,9-11,14,17-18,20,24-26,30-33,37,39,42-47,49-60]
植物病害识别方法的发展离不开数据集的支持。植物病害数据集可分为开源公共数据集和自定义数据集两类。
与其他领域相比,用于植物病害识别的开源数据集相对较少。Plant Village和AI Challenger 2018是常用的两个数据集。其中,Plant Village[61]在实验室环境下采集到54 303张病害图像,涉及16种农作物,共38个病害类别。AI Challenger 2018是全球AI挑战赛植物病理学识别赛道中用到的比赛数据集。该数据集共包含标注过的训练集图像32 768张,验证集图像4 992张和不含标注信息的测试集图像9 027张,其中的大部分图像来自Plant Village。数据集的特点是进一步区分了病害的严重程度,将10类农作物的病害图像细分到61个类别,分类难度更大。其他一些可用的开源公共数据集包括XDB[62]、PlantDoc[63]、Plant_Leaves[64]、LWDCD 2020[65]等。表4[61-65]对上述数据集进行了归纳总结。
表4 植物病害公共开源数据集[61-65]
用于植物病害识别的自定义数据集有很多,Wu等[66]自定义数据集识别玉米北叶枯病,该数据集共包含病变图像3 741张,健康图像2 526张。Xiao等[67]利用数码相机采集图像,构建的草莓病害数据集有2 385张图像,涉及草莓的5种常见疾病。李博等[68]在茶叶病害识别中用到的自定义数据集有1 827张图像,包含8种茶树病害和健康茶叶共9个类别的样本。可以发现,与公共数据集相比,自定义数据集规模相对较小,只涉及一种或几种植物的病害类型,因此常被构建用于更具体的病害识别任务。
与其他识别任务类似,植物病害识别主要采用准确率(Accuracy)、精确率(Precision)、召回率(Recall)和F1值(F1-Score)作为评价指标。
表5[5,51,69-73]、表6[21-23,32,35-36,38,41]分别展示了不同病害识别方法在Plant Village和AI Challenger 2018上的性能对比。在Plant Village数据集上,先进的病害识别方法的识别准确率普遍达到99%以上,DCGAN-PILAE取得最佳识别性能,Top-1准确率达到100%。在AI Challenger 2018数据集上,所有方法的Top-1准确率有了明显下降,而Top-5准确率保持在较高水平,说明误判主要集中于区分病害的严重程度。MCPE(multiclass plant EnsembleNet)在该数据集上取得最佳识别性能,Top-1准确率达到93.66%。
表5 不同方法在Plant Village 上的性能比较[5,51,69-73]
表6 不同方法在AI Challenger 2018 上的 性能比较[21-23,32,35-36,38,41]
以上最优方法均在深度学习方法的基础上对识别模型做了改进,DCGAN-PILAE通过深度生成对抗网络合成新样本以克服数据不平衡问题,改善识别性能。MCPE集成多个分类网络进行多阶段的病害识别,使得每个阶段的网络模型能够捕获更细微的视觉特征差异。
植物病害对全球农业造成严重的不利影响。病害识别有利于及时发现植物病害,避免病害的扩散和加重,对减少农业损失具有重要意义。首先介绍不同类型的病害识别问题,然后从特征类型和学习方式两个维度总结和分析了植物病害识别的研究进展。研究表明,尽管计算机视觉在病害识别领域取得巨大进展,显示出良好的应用前景,但仍然存在一些问题与挑战,针对这些问题与挑战,对未来的发展方向展望如下。
(1)构建大规模高质量数据集。当前,深度学习方法是植物病害识别的主流方法,大多数研究将Plant Village用于模型训练和评估,但该数据集的规模远不及ImageNet这类通用数据集,无法满足深度模型训练的需要。此外,Plant Village中的数据是在实验室条件下拍摄的,这使得在该数据集上训练的模型在复杂自然条件下识别精度低,鲁棒性差。因此,积极搭建数据共享平台以整合公共数据资源,构建自然条件下的大规模、高质量植物病害数据集是未来该领域研究的基础性工作。
(2)综合多种表型特征进行识别。当前植物病害主要基于叶面表型特征进行识别,特征来源单一。未来结合患病植株不同部位的表型特征进行综合分析,有望进一步提升病害识别的准确性。
(3)模型轻量化。现有的植物病害识别为了追求更高的识别精度,对深度识别模型不断拓展,进一步加大了识别模型的体积,这不利于模型在资源有限和实时性要求较高的移动端进行部署。为此,积极探索轻量化的识别模型和有效的轻量化手段十分重要。