农作物病虫害识别进展概述(***)

最近看了Overview: Research Progress on Pest and Disease Identification这篇文章,这篇文章主要也就是对农业病虫害的识别的一个综述。

摘要

近年来,病虫害的识别已成为一个热门话题。越来越多的研究者开始研究病虫害的检测和识别,以实现精准农业。自动检测该地区农作物上的害虫数量已经成为优化农业资源的重要手段。随着现代数字技术的发展,图像处理技术也发展迅速,为有害生物的识别开辟了新的途径。在农业种植过程中,及时准确地分析作物病虫害,以便做出快速准确的反应,在受影响的区域准确喷洒农药,确保农药的高效使用,实现高产。本文第二部分将介绍害虫识别的研究进展,包括病虫害识别、害虫数量和位置检测、现有数据集。在第三部分,本文将介绍以前文章中使用的一些方法。第四部分总结。

1 发展概述

1.1 病虫害识别和分类

病虫害识别对精准农业具有重要的意义。过去ML和DL对猫狗的识别已经取得了很不错的识别效果。因此,学者们将ML和DL技术应用到了农作物的病虫害识别上来了,并且在病虫害识别上已经取得了很不错的进展。

  1. 2010年,该方法由Al-Bashish等人提出[1]试图鉴别五种不同的植物病害:Early scorch, Cottony mold, ashen mold, late scorch, tiny whiteness。预处理阶段降噪后的图像,采用K均值聚类算法将图像分为四类。对于每个聚类,通过HSI颜色空间共现方法提取许多颜色和纹理特征,并将这些特征输入到具有10个隐藏层的MLP神经网络中,最后进行分类。
  2. 2014年,Rothe等人[2]提出了一种通过从数字图像中提取叶片症状来自动分类棉花叶片病害的方法。Otsu的分割方法用于提取颜色和形状特征。支持向量机(SVM)对提取的特征进行分类。该系统将有助于鉴定三种叶部病害,即Bacterial Blight, Myrothecium and Alternaria。如果映像失败,系统的效率可能会受到影响。此外,这项工作可以扩展到开发混合算法,如遗传算法和神经网络,以提高分类的准确性。
  3. 2016年,Sladojevic等人[3]使用深度卷积网络开发了一种基于叶片图像分类识别植物病害的新方法。本文建立的模型可以从健康叶片中识别13种不同类型的植物病害,并从周围环境中识别植物叶片。作者不仅收集了图像并创建了数据库,还全面描述了建模所需的所有基本步骤。对于单独的类测试,实验结果达到了91%到98%之间的精度。训练后模型的最终总准确率为96.3%。
  4. 在2017年,Wang等人[4]利用PlantVillage数据集中的苹果black rot图像将苹果叶片分为4种类型:健康期、早期、中期和末期。没有复杂的图像预处理,训练和测试可以在裁剪和归一化后进行。在少量训练样本的基础上,训练不同深度的小卷积神经网络,并对最新的4种深度模型进行微调:VGG16、VGG19、Inception-v3和ResNet50。结果表明,微调预先训练的深度模型可以显著提高少量数据的性能。微调后的VGG16模型性能最好,在测试集上的准确率为90.4%。
  5. 2017年,Ramcharan等人[5]应用迁移学习来训练DCNN,使用在坦桑尼亚拍摄的木薯(cassava)疾病图像数据集来识别三种疾病和两种类型的害虫损害(或没有害虫)。当使用Inception-v3模型时,达到最高精度,包括褐斑病(brown leaf spot BLS) 98%,红螨病(red mite disease RMD) 96%,绿螨病( green mite disease GMD) 95%,木薯褐条病(cassava brown streak disease CBSD) 98%和木薯花叶病(cassava mosaic disease CMD) 96%。对于训练过程中未使用的数据,最佳模型的总体准确率为93%。本研究开发的卷积神经网络模型已应用于安卓系统,对检测设备的小型化具有重要意义。
  6. 2018年,Nanni等人[6]提出了一种基于显著性方法和卷积神经网络融合的自动分类器。显著性方法是一种著名的突出图像中最相关的像素图像处理算法。本文采用三种不同的显著性方法作为图像预处理,并为每种显著性方法训练四种不同的卷积神经网络。实验发现,最好的独立网络是不经过预处理的ShuffleNet。
  7. 2018年,Alfarisy等人[7]基于印度尼西亚病虫害对水稻生产构成威胁的事实,创建了一个水稻图像数据集来同时检测水稻病虫害,以解决水稻病虫害的准确检测问题。这篇论文使用搜索引擎收集了来自四种语言的4511张图片。该数据集可识别13种水稻病虫害,其中9种为水稻病虫害,4种为水稻病害。本文利用深度学习对印度尼西亚稻田病虫害进行分类。选择Caffe框架进行处理,并使用预先培训的CaffeNet模型。实验结果准确率达到87%。
  8. 2018年,Wang等人[8]提出了一种基于迁移学习的害虫检测和识别系统,为控制害虫和病害以及准确喷洒农药提供了依据。该方法能训练和检测10种茶树害虫,准确率为93.84%,为人类专家和传统神经网络提供了一种新的途径。因此,为精准农业提供了可靠的技术支持。为了验证模型的广泛适应性,采用两种杂草对模型进行训练和测试,准确率达到98.92%。然而,本文还没有开发出一种技术来实际处理由不同设备和人在不同角度、照明和不同环境条件下捕获的图像。
  9. 2019年,Liu等人[9]提出了一种基于区域的端到端方法,称为PestNet,用于基于深度学习的大规模多类害虫检测和分类。PestNet包含三个主要部分:通道-空间注意(CSA),区域建议网络(RPN),位置敏感分数图(PSSM)。CSA首先被集成到卷积神经网络(CNN)主干中,用于特征提取和增强。接下来,使用RPN获取害虫位置。PSSM被用来代替害虫分类和包围盒回归的完全连接层。此外,本文将上下文RoI作为害虫特征的上下文信息,以提高检测精度。他们在新收集的大规模害虫图像数据集上对PestNet进行了评估,实验结果表明,所提出的PestNet在检测多种类型的害虫方面表现良好,平均准确率(mAP)为75.46%。
  10. 2019年,Mishraetal等人[10]认为光线、复杂的背景和部分可见或不同方向的害虫会导致错误分类,从而导致巨大的交叉。为了减少由部分可见或不同方向的害虫的错误分类,并减轻由光、复杂背景和背景干扰引起的错误分类。以农作物价格为例,该公司推出了一个害虫识别系统,可以对田间的害虫进行分类,而不管它们的方向如何。传感器,如照相机(手机)或基于杆的热传感器,可用于提供图像为了morphological edge detection and bone processing。训练有素的分类器可以识别有害或完好的部分,并使用CNN作为分类器来提高准确性。与其他流行的分类器相比,如SVM、朴素贝叶斯等,它产生了更好更快的结果。

1.2 害虫的数目统计与位置检测

害虫的数量是严重性的基础。害虫数量和位置的检测为高效使用农药奠定了基础,对实现精准农业具有重要意义。

  1. 2016年,刘等人[11]证明了使用基于显著性的方法定位自然图像中的害虫对象的有效性。害虫定位和分类管道首次实施。首先,他们使用一种基于全局对比度的方法来计算一个显著的地图来定位害虫对象。然后提取包含目标的包围盒并调整到固定大小,然后用于构建一个大型标准数据库,称为“害虫ID”该数据库用于学习局部图像特征,以便通过DCNN进行分类。该DCNN优化了关键参数,平均精度达到0.951。
  2. 2016年,丁格塔尔[12]提出了一种基于滑动窗口的检测管道,用于自动监控诱捕图像中害虫的位置和数量。他们将CNN应用于不同位置的图像块,以确定包含特定害虫类型的可能性。然后,根据图像块的位置和相关置信度,对图像块进行非最大抑制和阈值滤波,得到最终的检测结果,证明了该方法的有效性。
  3. 2018年,钟等人[13]提出了一种新的基于视觉的飞行昆虫统计与识别系统。该系统在监控区域安装黄色粘性诱捕器诱捕飞虫,并设置摄像头采集实时图像。YOLO深度学习网络用于检测和粗略计数飞虫。SVM用于飞虫分类。该系统在树莓派上实现。为了评估性能,使用六种昆虫来验证系统的有效性。实验结果表明,在树莓派系统上,平均计数准确率为92.5%,平均分类准确率为90.18%,检测识别周期为5分钟。与传统的基于气候处理的害虫检测系统不同,该系统可以实时监测害虫的发生情况,预测病虫害的发生概率和发展趋势,在农业领域具有重要意义。
  4. 2019年,利塔尔[14]提出了一种改进的深度学习方法来定位和统计图像中的农业害虫,以解决害虫破坏农作物的问题。本文中将ZF的CNN与一个非最大抑制(NMS)的区域提议网络(RPN)相结合,以消除重叠检测。首先,使用ZFNet网络中的卷积层(没有平均池化层和全连接层)去计算图像的特征图,较小的卷积核可以更好地保留原始的像素信息;然后,对该过程的几个关键参数进行优化,包括输出尺寸、阈值评分、NMS阈值等。此方法的准确率为0.93,漏检率为0.1,平均准确率为0.885,比AlexNet和ResNet网络更实用。最后,提出了今后值得改进的4点:(1)通过改变训练对象的背景来增强训练数据集;(2)添加更多的网络层帮助模型从图像中学习到更多的特征;(3)使用大规模的数据集的不同尺寸的图像去训练模型以此来改善训练的模型;(4)识别麦子的不同生长过程并评估危害水平。

1.3 农业病虫害现有数据集

1.3.1 IP102数据集

病虫害识别相关数据集的问题:

  1. 样本或病虫害种类数量少;
  2. 公共数据集中的大多数现有问题都是在受控的实验室环境中收集的,没有很好地满足实际环境中害虫识别的要求;
  3. 不同种类的害虫在外观上可能非常相似,但同一害虫可能有不同的形态,包括卵、幼虫、蛹和成虫,即类间差异显著,种间相似性大。

因此收集了IP102数据集,用于病虫害识别,包含102个类别和75000张图像。与以前的数据集相比,IP102符合真实环境中害虫分布的几个特征。文章对数据集的一些方法进行了评价,结果表明,目前的人工特征方法和深度学习方法仍然不能很好地处理害虫识别。
IP102数据集大致如下表所示:
在这里插入图片描述

1.3.2 IDADP数据集

农业害虫研究图书馆(IDADP)获取数据集:该数据集有水稻、小麦和玉米三种作物的15中病虫害,每一类病虫害对应一个文件夹,水稻疾病有6个文件夹,小麦疾病有5个文件夹,玉米疾病有4个文件夹。每个文件夹包含疾病图像的原始JPG文件,以及描述疾病基本信息和预防方法的文本文件。数据集共有17624张高质量的图像数据。
IDADP数据集大致如下表所示:
在这里插入图片描述

1.4 识别与分类的常用方法

1.4.1 KNN(k-Nearest Neighbors最近邻分类算法)

K-nearest Neighbor (KNN)分类算法是理论上比较成熟的方法,也是最简单的机器学习算法之一。这种方法的思想是:如果特征空间中最相似的k个样本(即特征空间中最相邻的样本)大部分都属于某一类别,那么该样本也属于这一类别。在KNN算法中,所选的邻居都是经过正确分类的对象。该方法根据最相邻的样本或几个样本的类别来确定子样本的类别。详情请戳:机器学习之KNN(k近邻)算法详解

1.4.2 SVM(Support V ector Machine支持向量机)

支持向量机(Support V ector Machine, SVM)是一种根据监督学习对数据进行分类的广义线性分类器,其决策边界是学习样本的最大边界超平面。支持向量机利用铰链损失函数来计算经验风险,并在求解系统中加入正则化项来优化结构风险。它是一种具有稀疏性和鲁棒性的分类器。支持向量机可以通过核方法进行非线性分类,这是一种常用的核学习方法。支持向量机(SVM)提出于1964年,20世纪90年代后迅速发展,衍生出一系列改进和扩展的算法,已应用于人像识别、文本分类等模式识别问题。详情请戳:支持向量机(SVM)入门理解与推导

1.4.3 NB(Naive Bayes朴素贝叶斯分类算法)

朴素贝叶斯分类(NBC)是基于贝叶斯定理的方法,假设特征条件相互独立。首先,通过给定的训练集,以特征词之间的独立性为前提,学习从输入到输出的联合概率分布。根据学习的模型,输入X找到使后验概率最大的输出Y。详情请戳:带你理解朴素贝叶斯分类算法

1.4.4 CNN(Convolutional Neural Networks卷积神经网络)

多层感知器(MLP)也被称为人工神经网络(神经网络)。除了输入输出层之外,它们之间还可以有多个隐藏层。最简单的MLP需要一层隐藏层,即输入层、隐藏层和输出层。人工神经网络是一种通用分类器,在许多领域都有应用。与其他分类器相比,人工神经网络的优势在于它可以自己从对象中提取所有特征,即不需要额外的特征提取。用于图像处理的最流行的人工神经网络版本被称为卷积神经网络。CNN是一个深度前馈神经网络,通过使用多层感知器来帮助可视化图像。
AlexNet(2012):
AlexNet是由2012年ImageNet竞赛的获胜者Hinton和他的学生Alex Krizhevsky设计的。AlexNet包含了一些较新的技术,并且首次成功应用了trick在CNN上,例如:ReLU,Dropout和LRN。同时,AlexNet也使用GPU进行计算加速。AlexNet推广了LeNet,并将CNN的基本原则应用到一个非常广泛的网络上。

VGG(2014):
VGG模型是2014年ILSVRC竞赛的第二名,第一名是GoogLeNet。但是VGG在多个迁移学习任务上的性能比GoogLeNet更好。此外,从图像中提取CNN特征,VGG模型是最佳算法。其缺点是参数量高达140M,需要更多的存储空间。但是这个模式很有价值。

ResNet(2016):
ResNet(残差神经网络)是由微软研究院的何开明等人提出的。利用ResNet单元成功训练152层神经网络,获得ILSVRC2015竞赛冠军。参数量低于VGGNet,效果非常显著。该结构可以加快神经网络的训练速度,大大提高了模型的精度。

GoogLeNet(2015):
GoogLeNet获得了2014年ILSVRC竞赛的第一名。GoogLeNet在网络结构上做了更大胆的尝试,虽然深度只有22层,但规模远远小于AlexNet和VGG。GoogLeNet的参数是5M,AlexNet的参数是GoogLeNet的12倍,VGGNet的参数是AlexNet的3倍,所以当内存或计算资源有限时,GoogLeNet是很好的选择。

ShuffleNet(2018):
ShuffleNet是一种高效的CNN架构,特别适用于计算能力有限的移动设备。它使用两个操作:点组卷积和通道洗牌。与现有的先进模型相比,大大减少了计算量,精度相近。ShuffleNet显示优越的性能在ImageNet和MS COCO超过其他先进的模型。

MobileNetv2(2018):
MobileNetv2体系结构基于反向残差结构。原始的残差结构有三个卷积,两个逐点卷积通道有更多的通道。反向的残差结构恰恰相反。研究发现,去除主分支中的非线性变换是有效的,可以保持模型的表达性。在ImageNet、COCO、VOC上进行了对比实验,验证了该架构的有效性。

1.4.5 TL(Transfer Learning迁移学习)

迁移学习是一种机器学习方法,指的是在另一个任务中重用一个预先训练好的模型。迁移学习与多任务学习和概念漂移有关。它不是一个专门的机器学习领域。迁移学习在某些深度学习问题中非常流行,例如训练一个深度模型需要大量的资源,或者使用大量的数据集对模型进行预训练。详情请戳:迁移学习概述

2 总结

基于本文中的相关文献可知:

  1. 目前关于农业病虫害大多数的研究者都是基于较小的数据集,包含的样本或害虫种类很少;
  2. 大部分害虫图像都是在受控条件下获得的,无法满足实际环境中病虫害识别的要求,以上会导致模型的实际实用性不高;
  3. 目前的文献只是片面地研究害虫和疾病的识别,害虫的定位和计数,或者疾病严重程度的判断,缺乏相关研究来识别病虫害,定位和计数害虫,同时确定疾病的程度,从而实现精准农业。

你可能感兴趣的:(CV图像处理,DL,Pytorch)