《Recent advances in plant disease severity assessment using convolutional neural networks》
摘要
在现代农业生产中,疾病的严重程度是影响植物产量和质量的重要因素。为了有效地监测和控制植物的整个生产过程,不仅要阐明疾病的类型,还要阐明疾病的严重程度。近年来,植物病害物种识别的深度学习得到了广泛的应用。特别是卷积神经网络(CNN)对植物病害图像的应用取得了突破性进展。然而,关于疾病严重程度评估的研究相对较少。论文首先追踪现有疾病研究人员的主流观点,为植物病害的严重程度分级提供标准。然后,根据网络架构,本研究在经典 CNN 框架、改进的 CNN 架构和基于 CNN 的分割网络方面概述了基于 CNN 的植物病害严重程度评估的 16 项研究,并对各的优缺点进行了详细的比较分析。研究了获取 CNN 模型数据集和性能指标的常用方法。最后,本研究讨论了基于cnn的植物病害严重程度评估方法在实际应用中面临的主要挑战,并提供了可行的研究思路和可能的解决方案来应对这些挑战。
一、引入
1.1传统方法
视觉评估:由于疾病的相似性和特征的多样性易受外界因素和主观个体差异的影响,这种方法非常不可靠。目测评估通常需要由经验丰富的专家进行,效率不高,而且许多农民无法获得专家的帮助,使得准确及时的疾病严重程度识别非常困难。
高光谱成像:已被用于测量植物病害的严重程度,但这种技术需要复杂的设备,如传感器和一定水平的专业知识,使其成本高,效率低。
1.2CNN
与传统方法相比,CNN能够自动地直接从输入图像中提取特征,无需进行复杂的图像预处理,实现了端到端的检测方法。
深度学习目前在计算机视觉领域取得了重大突破,CNN在植物病害检测应用中表现出了优异的性能。如植物种类分类、也不病害识别和植物严重程度评估。
1.3文章结构
- 第二部分概述了与植物病害严重性视觉评估有关的概念。
- 第三部分回顾了CNN的发展历史。
- 第四部分是CNN在植物病害严重程度上的具体应用,说明了单任务和多任务系统的区别。从经典CNN框架、改进CNN架构和基于CNN的语义分割网络3个方面重点阐述了基于CNN的植物病害严重程度评估方法的基本工作原理,并分析了每种方法的优缺点。
- 第五部分总结了相关的公开数据集,并给出了CNN性能评估指标。
- 第六部分讨论了基于cnn的植物病害严重性评估在实际应用中可能面临的主要挑战,并针对这些挑战提供了可行的研究思路和可能的解决方案。
二、视觉评估
2.1植物病害严重程度定义
植物病害严重程度:定义为具有明显病害症状的植物单元与总植物单元(如叶片)的比值,是许多病害的重要定量指标
定位:病害严重程度的及时、准确评估对作物生产至关重要,因为病害严重程度直接影响作物产量,常被用作作物损失估计的预测因子,其精度较高。
2.3植物病害严重程度的视觉评估方法
1、定性的尺度
- 描述性量表:是疾病严重程度分级量表中最简单、最主观的标准之一。该疾病分为几类,用描述性术语如轻度、中度和重度。由于主观性和缺乏定量定义,该量表的价值非常有限,除了特定情况下的评级。
- 定性有序量表:仍然是描述性疾病量表,但提供了比描述性量表更丰富的疾病严重程度类别。例如,将西葫芦黄花叶病毒和西瓜花叶病毒的症状严重程度划分为0-5级,以表明疾病严重程度的增加。该量表被广泛用于某些疾病,特别是用于评估症状不易量化的病毒性疾病。
2、定量的尺度
- 定量有序量表:该量表由已知类别的数字组成,通常是症状区域的百分比。它又可进一步分为等间隔和不等间隔两种。然而,等间隔评级量表可能会给出更高的平均严重程度,特别是当实际严重程度位于类别的下端时,因为区间太宽,难以显示差异,导致评分不准确。有些疾病评定量表的间隔不相等。Horsfall-Barratt量表(H-B量表)是一种广泛使用的不等间隔量表。Horsfall和Barratt ,有效缓解了等间隔问题。例如,使用该量表来估计柑橘溃疡的严重程度。Forbes等采用H-B量表估算马铃薯田间晚疫病的严重程度等。
- 比率量表:该量表广泛用于视觉评估严重程度。分级测量症状器官的百分比,定义为0%至100%,并据此对严重程度进行分级。因此,比率量表对评分者更准确地识别和衡量实际疾病提出了更高的要求。
虽然植物病害严重程度可以通过多种不同的方法进行评估,但由于个体评分者的主观性、病害严重程度较低时容易高估、评分者偏向5%整数区间等因素,定性和定量的评估方法往往导致评估结果与实际不一致。长期以来,为了提高评价者估计的准确性,标准区域图(Standard Area Map, SAD)一直被用作帮助估算植物病害严重程度的工具。对评分员进行专业培训也可以有效提高评估的准确性。
三、神经网络的发展
随着CNN的发展,新的CNN模型不断出现,实现不同的功能。例如:
- 轻量级网络:SqueezeNet, MobileNet, ShuffleNet, Xception, EfficientNet。
- 目标检测网络:R-CNN, Fast R-CNN, Faster R-CNN, YOLO, SSD。
- 分割网络:FCN, SegNet, U-Net, PSPNet, DeepLab, Mask RCNN
表现出优异的性能,具有很大的研究价值。
四、基于CNN的植物病害严重程度评估
基于CNN的植物病害严重程度自动估计最早由Wang等人在2017年提出:使用不同的CNN模型对四种严重程度的苹果黑腐病图像进行分类,在测试集上取得了90.4%的总体精度,表明CNN是一种很有前途的全自动植物病害严重程度分类新技术。Automatic image-based plant disease severity estimation using deep learning
4.1单任务和多任务
单任务系统:通常训练一个或一组模型来执行单目标任务,这样的系统被称为单任务系统
多任务系统:存在多任务学习(MTL)的概念,如果多个任务链接在一起,则可以同时学习多个任务
实验研究表明,从多个相关任务中同时学习特征比独立学习特征更有利于预测性能。MTL通过并行学习任务,从而使用来自不同任务的更多特征,可以降低每个任务中的过拟合风险,从而使模型更好地泛化。
单独识别植物病害物种或估计病害严重程度的单任务系统:
- 利用ResNet101评估番茄叶枯病的严重程度:Deep learning based assessment of disease severity for early blight in tomato crop
- 训练了6种不同的CNN模型对柑橘黄茎的严重程度进行分类:GANs-Based Data Augmentation for Citrus Disease Severity Detection Using Deep Learning
同时执行这两项任务的多任务系统:
- 使用CNN实现了咖啡叶病害种类分类和严重程度分级:Deep Learning for Classification and Severity Estimation of Coffee Leaf Biotic Stress
- 将5个预训练的CNN架构作为特征提取器,用于3种病害和6种严重程度的分类:Using multioutput learning to diagnose plant disease and stress severity
多任务实验结果表明,训练好的模型在使用多任务学习模型自动提取病害叶片识别特征方面具有鲁棒性。
4.2CNN在植物病害严重程度评估中的应用
Web of Science检索情况:基于“卷积神经网络”和“植物病害严重程度”关键词,总共57篇
选取了16篇论文进行具体分析。在此基础上,分别分析了2022年的最新研究成果。根据这16篇文章中使用的不同CNN网络架构,进一步将其分为三类:经典CNN框架、改进的CNN架构和基于CNN的分割网络。
基于cnn的植物病害严重程度评估方法流程图:
4.2.1经典框架
16篇文章中有10篇基于经典的CNN框架来实现严重度分级,主要分为三个步骤:
1、数据集的收集和处理
- 数据集的特征:在10项研究中,6项研究使用自制的数据集,4项研究使用PlantVillage图像中的图像。自制数据集可以进一步分为两类,一个在受控条件下拍摄:
例如《Deep Learning for Classification and Severity Estimation of Coffee Leaf Biotic Stress》(链接见4.1)实在部分控制条件下,从叶片的背面(下)侧拍摄的,并放置在白色背景上。另一个是在自然条件下拍摄的具有复杂被你的图像。PlantVillage中的图像背景是均匀的、同质的。创建自己的数据集是一个耗时且昂贵的过程,但它更符合真实环境中发生的情况。用于受控图像上训练的网络用测检测真实环境收集的图像预测时,精度会下降。如果公共数据集不能满足特定研究的需求,则必须生成自制的数据集。 - 数据集注释:10篇文章中,3篇按描述性量表标注,1篇按定性顺序量表标注,4篇按定量顺序量表标注,1篇文章未在文章中注明标注方法。例如《Deep Learning for Classification and Severity Estimation of Coffee Leaf Biotic Stress》(链接见4.1)使用的是定量有序标度。根据病叶比例将严重程度分为5个等级:健康(< 0.1%)、极低(0.1 ~ 5%)、低(5.1 ~ 10%)、高(10.1% ~ 15%)和非常高(> 15%)。
- 数据集:数据集通常分为三个部分:训练数据集、验证数据集和测试数据集。这10项研究基本上都使用了70%到85%的数据集进行训练。
《Using Deep Learning for Image-Based Plant Disease Detection》尝试了不同的数据集划分,结果表明使用80%的数据集进行训练,20%的数据集进行验证的结果时比较理想的。 - 数据预处理:一般会有两个预处理操作,首先是调整图像大小以匹配输入层的要求,其次是进行归一化处理,提高训练效率。
2、模型的选择和训练
- 模型的选择:在这10项研究中使用的CNN框架包括AlexNet、VGG、GoogLeNet、ResNet、DenseNet、MobileNet、Inception、Faster R-CNN、YOLO、EfficientNet、SqueezeNet、Xception等。这些研究中,绝大多数使用了多个CNN框架进行对比实验,以确定在相同的训练条件下,哪种模型更能检测特定植物病害的严重程度。
- 训练方法:训练CNN方法有两种,一种是从头开始,另一种是迁移学习。迁移学习是通过预训练好一个不同的任务,有两种方法:特征提取(保持预训练模型的权重不变,然后使用它们在目标数据集上训练一个新的分类器的过程)和微调(涉及使用预训练模型的权重初始化模型,然后在目标数据集上训练部分或全部权重),实验结果表明,微调模型的准确率最高,特征提取模型的训练时间最短。10项研究中有8项使用了迁移学习,只有一项是从头开始训练的。在《Automatic Image-Based Plant Disease Severity Estimation Using Deep Learning》中,对训练模型的两种方法进行比较,结果表明迁移学习缓解了训练数据不足的问题。
3、性能评估
- 测试集必须独立于训练集和验证集,否则评估结果可能会有很大的偏差;10项研究中只有4项明确区分了三种类型的数据集。
- 通过评估指标对模型性能进行定量评估。评估指标通常包括准确率、精确率、召回率、平均精度均值(mAP)和基于精确率和召回率的F1分数。
- 随着深度学习的发展,CNN模型在不同数据集上的性能不断提升,各种评价指标不断增加。来自不同研究的cnn的一致性能比较很难实现,因为大多数基于cnn的植物病害严重性评估研究适用于特定的数据集,其中许多数据集尚未公开,也没有提供重现实验所需的所有参数。
4.2.2改进的CNN框架
16篇文章中有2篇基于改进的CNN架构进行严重度评估。将经典CNN框架与改进的CNN架构进行对比,相似之处在于实现过程基本相同,不同之处在于后者使用了基于经典CNN的改进网络,旨在设计一个性能更高、更实用的植物病害诊断系统。
1、PD2SE-Net
《(PDSE)-S2-Net: Computer-assisted plant disease diagnosis and severity estimation network》
该网络backbone采样ResNet50网络,并基础ShuffleNet-V2 的构建模块
五个部分:
- (a)参数共享层;
- (b)第三层为第四层和Shuffle块2之间的参数共享层,第四层为严重程度估计的高维特征提取器;
- (c)植物物种识别的特征提取器;
- (d)植物病害诊断特征提取器;
- (e)全连接层。
创新点:
- 引入残差结构来构建参数共享层,这允许每个批次更新模型更多的信息。受ShaResNet的启发,使用ResNet50构建基本框架,并融入参数共享,以减少网络中的冗余信息。
- 引入shuffle单元。使用ShuffleNet-V2单元以较低的计算复杂度提取不同植物物种和病害的特征图。
评价:实现了植物种类识别、病害分类和严重度估计,总体准确率分别为0.99、0.98和0.91。
2、L-CSMS
《L-CSMS: novel lightweight network for plant disease severity recognition》
基于残差网络、通道shuffle和多尺寸模块的轻量级植物病害程度估计网络L-CSMS。
创新点:
- 在多尺度卷积模块中使用多个不同尺寸的卷积核来提取不同的感受野,以便从特征图中获得鲁棒的特征和空间关系。
- 引入通道shuffle操作,实现不同通道组之间的信息交流,提高准确率。
- 使用ResNet的残差学习方法,通过堆叠拓扑的模块来构建深度网络。
评估:为了验证L-CSMS模型的性能,该篇文章作者将L-CSMS模型与ResNet、DenseNet、Inception-V4、PD2SE-Net、ShuffleNet、MobileNet进行了对比实验。结果表明,L-CSMS以较少的参数、FLOPs和相对较好的精度取得了竞争优势。
CNN架构的改进方式各不相同,但这些改进基本都针对同一个目标,即设计一个更准确、更实用、泛化性能更好的植物病害严重程度评估系统。这两项研究都集中在ResNet中的残差结构和通道shuffle。
4.2.3基于cnn的语义分割网络
应用于植物病害严重程度估计的语义分割的主要目标是为每个像素分配适当的标签,以获得病害严重程度估计所需的患病区域百分比。
语义分割的架构分为两部分:编码网络和解码器网络。编码器通常基于CNN网络来生成低分辨率图像表示或映射到像素级图像的特征映射,然后执行预测和分割。不同语义分割模型之间的差异往往体现在解码器网络。深度学习首次运用到语义分割是FCN,此后的变体有U-Net、SegNet、DeepLab、PSPNet等等。
16篇文章中有4篇使用了基于cnn的语义分割网络进行植物病害严重程度评估。
1、BLSNet
《An Approach for Rice Bacterial Leaf Streak Disease Segmentation and Disease Severity Estimation》用于估算水稻细菌性叶条斑(BLS)严重程度
创新点:BLSNet在U-Net的基础上增加了注意力机制和多尺度提取,提高了病灶分割的精度。
评价:与DeepLabv3和U-Net相比,BLSNet更适合适应图像的尺度变化,并且BLSNet的预测时间略长于U-Net,但短于DeepLabv3。
2、SegNet
分割马铃薯晚疫病(PLB)病变,以量化PLB的严重程度
3、 对比实验
在应用于3种植物病害严重程度估计(咖啡叶miner、大豆锈病和小麦褐斑病)的6种语义分割网络(U-net、SegNet、PSPNet、FPN和DeepLabv3的2种变体)上进行了对比实验。
4.2.4总结
植物病害严重程度评估CNN模型的实现是直接建立严重程度与样本之间的关系,该关系适用于某些植物病害,但可能不适用于其他植物病害。对于其他疾病,需要对模型进行重新训练。基于cnn的语义分割网络通过像素级分割获得反映病害严重程度的叶片面积百分比,很好地解决了这一问题。之前的研究已经证明了基于cnn的语义分割网络用于植物病害严重程度评估的可行性。
4.3 2022年的研究
在2022年的研究中,利用CNN评估植物病害严重程度的方法大致可以分为两类。一种是基于分割的,另一种是基于改进CNN的,特别是加入注意力机制。在分割评价方法中,常用的分割网络包括DeepLabV3、U-Net、PSPNet和Mask R-CNN。
4.3.1.Zhang' Net
三阶段法:
(1)第一阶段:利用Mask R-CNN从复杂背景中分割出“黄冠”梨
(2) 第二阶段:利用DeepLabV3、U-Net和PSPNet分割出“黄冠”梨斑,并计算斑面积与“黄冠”梨像素面积的比值,将其分为三个层次。
(3)第三阶段:利用ResNet-50、VGG-16和MobileNetV3获得“黄冠”梨的等级。
通过融合实验最后确定使用带有预处理模块的Mask R-CNN网络在第一阶段对复杂背景中的' crown '梨进行分割,得到简单背景中的' crown '梨图像。然后,利用DeepLabV3对“黄冠”梨进行分割,并计算“黄冠”梨的发病率;最后,使用ResNet50进行训练。
4.3.2.Liu' Net
首先利用深度学习算法将苹果叶片从复杂背景中分割出来,然后识别分割后叶片的病害面积,并计算病害面积与叶片面积的比值来评估病害的严重程度。
实验:
实例分割可以有效地将目标从复杂背景中分离出来,有利于处理真实环境。
3、Lin' Net
《Crop Disease Recognition Based on Modified Light-Weight CNN With Attention Mechanism》
加入多尺度和注意力机制的基础上对DCNN进行改进,实现了对玉米小叶斑病的分类。
两种策略:
- 多尺度融合
- 协调注意力机制
4、SqueezeNext
《SqueezeNext: Hardware-Aware Neural Network Design》
在SqueezeNext中引入了多尺度卷积核和协调注意力机制来估计疾病严重程度,比原始的SqueezeNext模型提高了3.02%。
五、评价指标
在之前的模型性能评估中提到的常用评估指标包括准确率、精确率、召回率、平均精度均值(mean average precision, mAP)和基于精确率和召回率的F1分数。
1、准确率、精确率、召回率
- 预测值为1,实际值为1的真阳性(TP)表示正确识别的病变的数量。
- 预测值为1,实际值为0的假阳性(FP)表示错误识别病变的数量。
- 假阴性 (FN),预测值为 0,实际值为 1,表示未识别的病变数量。
- 真阴性 (TN),预测值为 0,实际值为 0,表示正确识别的非病变的数量。
2、平均精度mPA
首先计算总的精度:
平均精度:
3、F1 分数
同时考虑了模型的准确性和召回率
六、挑战与未来展望
6.1Dataset issues 数据集问题
1、数据集不足
充足的数据集是训练网络的必要和基础。在标注过程中面临两个问题,一个是效率问题,另一个是准确率问题。
解决办法:针对人工标注过程中耗时且复杂的问题,一种可行的解决方案是通过先进的软件实现自动化标注,而这种自动化标注算法是一种急需解决的问题。此外,半监督训练和辅助标注方法可用于提高农业样本处理速度,并有助于缓解人工语义标注的工作量问题。对于准确率问题,无论是人工视觉评估还是软件标注都不可避免地存在误差,这是未来研究的挑战。
2、数据集不平衡
不平衡问题会对模型的性能产生严重的影响,例如误分类率变高
解决办法:通过数据增强和加权损失函数可以很好地缓解这个问题。
6.2复杂的背景问题
与均匀背景相比,使用在自然环境中拍摄的图像进行训练,CNN模型更具泛化性。但纷杂背景也会带来负面问题:
- 在现实环境中,地面污渍类似于疾病症状,导致模型中的分类错误
- 来自自然光线的反射可能导致对阴影健康区域的错误分类或未能检测出疾病区域
- 现实世界中多种疾病同时发生的情况更为常见:研究者提到单片叶子上存在多种疾病可显著改变症状特征,特别是当症状重叠时,使系统更容易出现错误分类。
解决办法:
- 对图像进行预处理,但这增加了整个检测过程的复杂性
- 针对同时识别和评估多种疾病的问题,的研究人员提出通过训练一种基于相似性的架构(《Deep learning for classification and severity estimation of coffee leaf biotic stress》)来缓解这一问题,该架构将与数据集中任何疾病都不相似的症状分类到新的类别中,如其他类别。这个想法还没有实现,进一步的解决方案需要头脑风暴。
6.3实用性问题
算力问题:超级计算能力的服务器;云计算在给人们带来便利的同时,也继承了计算机和互联网共同存在的安全问题。特别是隐私问题、资源窃取、攻击和计算机病毒。这些潜在的安全问题十分严重,值得我们重视。
模型结构:平衡模型规模和性能
- 在云计算平台上部署CNN模型,模型规模越小越好。
- 然而,在一定程度上增大模型大小,表现出更好的特征提取效果,如AlexNet与VGG、GoogLeNet等DCNN模型的对比。
- 随着模型变得更深、更大,会出现退化问题。ResNet的残差结构有效地缓解了这个问题。越来越多的轻量级网络被提出。它们的效率可能不是最好的,但值得以少量的有效性换取大量的效率。(改进了SquezeNext,并与ReseNet-50、Xception和MobileNet-V2进行对比实验。实验结果表明,所提方法的准确率略优于Xconcept,而模型大小仅为2.83 MB,仅为Xconcept的3.45%。)
CNN的问题:
虽然CNN在评估植物病害严重程度方面表现出了优异的性能和巨大的潜力,但CNN也有其自身的局限性,如平移不变性、池化层导致信息丢失、无法很好地获取全局特征等。作为一个可能的贡献和未来的工作,最近变得非常流行的新技术,如视觉transformer。视觉transformer的主要特征是自注意力机制,能够很好地捕捉全局信息。据我所知,还没有研究将其应用于严重程度估计。