基于卷积神经网络的农业病虫害识别研究综述

2023-05-12 00:49李子涵周省邦张克智吴梦涛
江苏农业科学 2023年7期
关键词:卷积神经网络病虫害

李子涵, 周省邦, 赵 戈, 张克智, 曾 倩, 吴梦涛

(南宁师范大学物理与电子学院,广西南宁 530299)

农作物病虫害是农业生产的重要灾害之一,严重影响农业持续稳定发展。中国是一个农业大国,农业收益一直深受病虫害严重影响。据统计,我国每年农作物有害生物发生面积超过4亿hm2[1]。近年来,随着我国植物保护能力的明显提高,通过采取各种病虫害预防与治理手段,我国每年可减少粮食损失8.7×1010~1.1×1011kg,占全国粮食总产量的16.0%~19.5%[2]。识别农作物病虫害的传统方式,需要农业专家现场鉴定农作物具体病症,才能对症下药,这种方法不仅费时费力,而且效率低下。

随着计算机图像识别与处理技术不断创新发展,病虫害智能识别技术进入了农户们的生活,运用机器学习技术识别农作物病虫害已成为可能[3]。由于手机和移动互联网的普及,市场上已经出现一些农业图像识别软件,用户可以将发生病虫害的作物图像上传软件,软件程序对用户上传的照片进行分析,反馈病虫害识别诊断结果,可帮助用户及时采取正确的措施,最大化减少病虫害带来的损失。

为了更进一步探索计算机图像识别技术在农业病虫害方向的研究,本文对此领域的相关技术进行了总结。提出其各项研究技术,分析其技术架构与优劣,并从数据源的选择、数据的预处理、神经网络模型选择与优化几个方面进行对比,提出现阶段存在的问题与挑战,最后提出该领域可开展的相关工作。

1 农业病虫害识别方法

1.1 传统农业病虫害检测

对于农作物来说,感染了疾病或者遭遇了虫害的作物均会产生一些明显的标记或者损伤。早期专业研究人员和经验丰富的老农可通过目视或者将植物样本送入实验室检测等手段来检测病虫害发生原因[4]。传统防治通常会根据经验进行预控,但预防只能起到控制和减少的作用,并不能彻底消除病虫害。但是这些传统人工手段均有着相当的局限性:(1)对于病虫害的诊断需要专业知识储备,普通农民往往不具备这种能力从而导致使用错误的补救措施;即使专业的诊断人员,也会因个人经验水平和能力因素的差异性,不能准确地辨别出所有病虫害类型。(2)部分虫害的特征在视觉上有着极高的相似度,即使是专业人员也有可能会因为视觉疲劳、光线不足而做出误判。(3)对早期疾病进行检测和防止疾病传播,需要持续不断地对植株进行监控检测。但是田间环境复杂,人力容易遗漏或忽视不明显的患病植株,这一过程非常耗费人力物力,而且效率低下。

1.2 基于机器学习的病虫害识别技术

图像识别技术目的是利用计算机代替人力去处理大量的物理信息。图像识别技术在识别图片过程中,利用数据分析、数据挖掘等技术,扫描得到图像特点,从数据库中找出具有相同、类似的图像,从而完成识别处理工作[5]。计算机技术的发展使得图像数据量越来越大。相关学者使用机器学习方法对害虫图像进行识别和分类。用于图像识别和分类的机器学习方法可以分为无监督学习和监督学习2种:(1)采用无监督学习的k-means算法对图像特征进行自动分类。(2)利用支持向量机(support vector machine,简称SVM)进行监督学习识别图像。利用灰度图像特征和区域特征对感染病虫害叶片和健康叶片进行分类。基于机器学习的病虫害图像识别技术过程分为信息获取、特征抽取、模式分类和分类决策4个部分,其技术流程见图1。

虽然相较于人工手段识别有了巨大的提升,但是该方法依旧存在着一些问题。基于机器学习的病虫害识别技术是由程序员或专家来实现特征提取过程,然后将特征列表输入传统神经元网络,对输入数据进行分类。这一过程相当复杂且同样耗费大量人力物力。

1.3 基于深度学习的病虫害识别技术

由于基于机器学习的分类技术需要复杂的数据集来进行分析,不易操作,因此现阶段大多数图像数据分类方法使用的是深度学习算法,而不是传统的机器学习方法。其中,特征自动提取过程是深度学习的关键。计算机技术的进步使得使用深度学习技术代替其他技术成为可能。

在深度学习出现之前,人工智能很难对图像进行很好的处理,主要原因有2点:(1)因为图像都由像素构成,一张普通图片就会包含上百万个参数,而需要处理的图片则可能会有上万张,如此大量的数据处理起来非常消耗资源。(2)将一张图像数字化过程中很难存其原本的特征,这样会极大降低图像处理的准确率。

卷积神经网络(convolutional neural networks,简称CNN)是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一[6-7]。卷积神经网络可以利用其卷积核与池化操作,对数据进行降维,对原图像的大量数据进行压缩提取。同时,它采用了特征提取的方式,保留了图片最关键信息,即像素与像素之间的关系。从像素的角度判断对图片进行分割对比,因此图片无论是旋转、裁剪、放缩,都仍然会被视作是类似图片。

卷积神经网络中提出了一阶段的非线性特征变换。其中,单个特征集是通过使用每一个隐藏层的神经元组来训练的,它依赖于前一层的输出。具有隐含层的可训练分类器实现了特征提取过程从低级到高级。浅层卷积层提取了图片基础特征,比如叶片的边角,植株的轮廓等基础特征。深层卷积层提取了高级特征,比如昆虫形状等抽象特征。卷积神经网络特征提取过程见图2。

近年来,国内外大量人员尝试将卷积神经网络与农业领域结合起来,并利用卷积神经网络模型,在病虫害识别领域取得了巨大的成功,这些网络模型在大规模识别任务中,已能实现优于相关专家的识别准确度[8]。

2 基于卷积神经网络的病虫害识别关键技术

基于卷积神经网络的农业病虫害识别技术应遵循数据源选择、数据预处理、数据增强、数据预训练、神经网络模型架构、网络模型优化这6个主要步骤。本文通过对国内外病虫害识别成果的调研,分别从数据规模与获取方式2个方面归纳总结获取农作物病虫害数据的方式。再从数据预处理、数据增强、数据预训练3个方面介绍进行病虫害识别的必要准备。最后对比各个文献中卷积神经网络模型选择的优劣之处,并总结出网络模型优化方法。

2.1 数据源选择

深度学习依赖于大数据驱动,适当的数据准备有助于模型找到最优参数,因此高质量、大规模、高标注的数据集对于神经网络的训练有着极大帮助。

在农业病虫害识别方面,数据源主要获取方式有3种:第一类是利用现有的公共数据集,或是由相关研究所提供数据,使用较为广泛的数据集有Plant Village、农业病虫害研究图库(IDADP)等。第二类是自主获取所需数据,研究人员使用手机、摄像机、无人机、农业传感器、农业机器人等设备去田间拍摄,又或是直接从互联网上收集所需图像数据。本文总计所研究文章的数据集选择情况见表1。

表1 数据集选择

2.2 数据预处理

目前,对病虫害开放的数据集很少,研究者通常通过比较不同的训练集和测试集比例,使用不同的网络模型来找到最优的解决方案[39]。然而,这些图像的内容很容易受到无关信息的干扰,照片所包含内容不一定能够代表真实情况,利用手机等移动设备进行拍摄的图像也会由于像素不足、镜面变形等原因与实际场景有所不同。这时需要研究人员对获得的数据进行预处理,使原始数据更适于网络的计算,通过对数据的处理变换,提高模型训练表现和泛化能力。具体预处理方式及其说明见表2。

表2 数据预处理方式

数据预处理后,深度学习检测方法通常需要使用标注后的数据来训练模型。标注越准确、标注的数据量越大,算法的性能就越好。病虫害识别方面常用的数据标注软件有labelimg、labelme,所调研文献中对数据标注工具的使用情况见表3。

表3 标注工具

2.3 数据增强

数据增强也叫数据扩增,是在不实质性增加数据的情况下创建相同数据的不同变体,增加数据集的多样性。数据增强可以增强数据的泛化能力,能够有效避免模型出现过拟合的情况。拥有一个更大、更均匀的数据集的显著优点是可以削弱特征不明显图片在整个数据集中所占比重,从而大大减弱了数据集中存在的不合理伪元素对识别效果的不利影响。

数据增强可以分为有监督的数据增强和无监督的数据增强方法。有监督的数据增强包括几何变换、空间变化、颜色变换等。无监督的数据增强包括Goodfellow等提出的GAN[43],Cubuk等提出的Auto Augment[44]。GAN可以通过学习模型的特征,生成可以以假乱真的图片,Auto Augment则可以自动搜索合适的数据增强策略,自行增强数据。

在进行数据增强时,研究人员往往采取多种增强方式,而并非单独一种。文章所涉及数据增强方式见表4。

表4 数据增强方式

Duan等通过在倍率为0.2的范围内对图像进行剪切和缩放,将原始图像分离成多个增强图像[31]。从而降低了图像的复杂性,促进了波动图像的表示并通过由原始图像生成各种形状和不同角度来扩大了原先的数据集。Sladojevic等通过对单幅图像进行仿射变换与透视变换,在图像中人为增加轻微失真,用以减少过拟合[23]。Liu等通过随机增加或减少像素的RGB值来调整每个图像的亮度值[17]。根据亮度的中值,通过增大较大的RGB值,减小较小的RGB值来调整图像的对比度值来获得新的图像。

用数据增强技术扩充数据集,往往会得到比扩充前更好的识别结果,其原因有2点:(1)使用更多的真实图像增加了神经网络的容错率,从而神经网络更容易提取到实际特征。(2)通过分割过程消除冗余元素(如复杂背景等),使生成的图像具有更精确的特征,使神经网络能够聚焦在正确的元素上。

2.4 迁移学习与预训练

卷积神经网络在图像识别领域固然有着得天独厚的优势,但也有着显著缺点。卷积神经网络的深度架构带来了优越的特征提取能力,但是会花费巨大的计算资源。从零开始训练的卷积神经网络需要大量的注释数据集,即使有专家的意见,也很难将每张图片归类为作物病害。

为了在有限的数据量下达到良好的分类精度,许多研究人员选择了迁移学习的方式来训练自己的模型,从而节约成本、加快网络收敛速度。神经网络对海量数据进行训练的最终目的就是将它们转化为相应的权重参数。而迁移学习可以将训练所获得的参数迁移到其他神经网络中。这样避免了从零开始训练一个神经网络,极大地节约了资源与时间。

Yosinski等进行迁移学习试验证明了小数据集也可以通过迁移学习达到良好的训练效果[46]。

在计算机视觉领域中,迁移学习通常是通过加载预训练模型来实现的。预训练模型是在大型基准数据集上训练的模型,此类模型是一些已经由别人训练完善的模型,用于解决相似的问题。

迁移学习过程如图3所示。

Singh等使用了Keras深度学习模型[VGGNet,InceptionV3,DenseNet,InceptionResNetV2,Mob-ileNet,NASNetMobile]在ImageNet数据集上进行预训练[30]。根据其应用的需要,将所有模型的顶层全连接层、SoftMax层和输出层替换为全局平均池化层,随后用k-means分割后的椰子图像目标数据对顶层进行训练。并在对从卷积层总数的9/10进行微调时,达到了最高的精度。其中,MobileNet的初始验证准确率最高,为82.10%,微调之后验证准确率达到了96.94%。

Tahir等使用了Inception V3作为迁移学习模型,并实现了一种名为方差控制Naïve 贝叶斯的方法提取特征[15]。该方法用于发现每个像素与相邻像素之间的差异,并用于对不同区域进行分类。

Liu等提出运用混合训练与迁移学习相结合的前训练模型对模型进行微调。与传统方法相比,迁移学习显著影响模型的改进[38]。混合训练与迁移学习相结合时,模型F1评分提高了3.73%,AP值提高了2.64%,平均IoU值提高了2.64%。

Sladojevic等删除了caffeNet中的softmax分类器,并使用随机值初始化新的分类器,同时为了解决数据集规模较小,通过对参数的实验调整,得到最适合植物病害检测的模型[23]。

2.5 网络结构模型选择

在深度学习网络中,特征提取是一个重要的组成部分。特征提取器通常是由多个卷积层和池化层组成的复杂网络结构。它可以提取图像的深层特征,用于目标识别和定位。特征提取的深度和层次类型将影响系统的速度、识别和定位精度。选择合适的特征提取网络模型对提高系统性能非常重要。

本研究是基于卷积神经网络的图像识别技术,因此所涉及的研究模型无论是自训练模型或是通过迁移学习进行训练,均是卷积神经网络模型,如用于物体分类领域的网络模型:AlexNet、VGG、Inception、ResNet、MobileNet等和目标检测领域的网络模型如R-CNN、YOLO等。本研究具体所涉及主要模型网络结构特点及其优缺点见表5。

表5 各模型网络结构特点及其优缺点

除了表5所述模型之外,相关研究人员采取了其他模型进行试验。

Singh等考虑到Faster R-CNN架构中的锚点操作中任何微小的位置错误都会导致一些事件(如微小害虫的发生)被忽视[30]。于是Singh增加候选对象的位置精度,利用双线性插值的方法计算采样点的像素值,从而避免位置错误带来的影响。Turkohlu等提出了一种基于n×n大小划分方法的多分割卷积神经网络(MD-CNN)模型,用于植物物种分类[22]。利用2×2、3×3、4×4、5×5等窗口大小将植物图像分成若干部分,并对每一部分进行深度特征提取。最后,将分割得到的突出特征进行组合,取得了十分优秀的效果。Liu等专门为葡萄病害检测而设计了UnitedModel,该模型由多个CNN组合,能够提取互补的判别特征,对葡萄叶片病害识别实现了96.58%的准确率[17]。Thenmozhi等在他们的模型中在每个卷积层和ReLU层之间使用了批处理归一化层,最大限度地提高了训练效率,减少了过拟合[24]。Cubuk等在CNN基础上将其改进提出DCNN模型,新模型改变了ReLU层的顺序,将ReLU层放在2个卷积层之间,并在每个block的末尾设置1个池化层,减少了输入信息的丢失,有利于深度网络的收敛[44]。

2.6 神经网络模型优化

如果卷积神经网络训练的效果并不够好,就需要对网络模型进行优化。需要使用各种优化策略和算法,来更新和计算影响模型训练和模型输出的网络参数。进行算法优化的目的是为了通过改善训练方式,来最小化(或最大化)损失函数。常见优化器算法如表6所示。

表6 常见优化器算法

Saleem等使用了多种优化器对CNN模型进行训练,使用Adam优化器训练的Xception模型获得了最高的验证精度和F1得分,分别为99.81%和0.997 8,表明了Adam优化器的有效性[25]。然而,当针对Xception和级联模型分别将优化函数从SGD更改为Adagrad和RMSProp时,也观察到了性能的下降。

除了算法优化之外,Jiang等使用了批处理归一化。由于一开始使用了较低的学习率和保守的参数初始化,减慢了训练速度,从而使得训练具有饱和非线性的模型变得非常困难[14]。但是批处理归一化可以使用更高的学习率和面临更少的初始化问题,使得模型拥有更快学习速度和更高整体准确性。

Goodfellow等对权重和偏倚学习率进行了修正,他们发现随着偏置和学习率从网络全局学习率的10倍增加到40倍,使用VGG16网络时,分类准确率从97.33%下降到96.19%[43],得出快速学习率降低了VGG16网络的准确率这一结论。

学习率是影响卷积神经网络模型效率的一个重要因素。较高的学习率加速了学习过程,导致损失函数增加,而较低的学习率则使损失函数缓慢下降。Thenmozhi等以0.000 05、0.000 1、0.000 5和0.001的学习率训练他们提出的模型[24],结果表明,当学习率设置为0.000 1时,分类准确率得到了较好的结果。He等通过调整Faster R-CNN中锚点的大小,来提升网络训练结果的质量,同时调整batch_size的大小,得出当base_size值为4时即锚节点大小分别为32×32、64×64和128×128时训练效果最好[33]。

3 卷积神经网络在病虫害识别应用中的挑战与展望

3.1 面临的挑战

虽然卷积神经网络技术是当下最热门的深度学习技术,近年来,基于卷积神经网络的农业病虫害识别技术在研究上取得了良好的效果。但是,该技术在农作物病虫害识别领域的应用尚处于起步阶段。此外,因为农业病虫害问题有着一定程度的复杂性,在实际场景中,病虫害识别依旧有着相当程度上的缺点与局限性。

3.1.1 数据获取困难 目前,对于农业病虫害数据,我国并没有建立起足够大型和丰富的数据库,研究人员需要耗费大量人力物力和时间去自行采集数据。且研究人员所研究的病种和农业作物往往并不相同,彼此之间也无法进行数据交换,极大地降低了研究效率。当然研究人员可以利用数据增强手段扩大自己的数据集,但是在这一过程中不可避免地会发生信息损失的情况。如针对某些病害,叶片大面积溃烂,枝叶部位覆盖大量虫卵等。图像裁剪会导致叶片溃烂面积的不准确,以及虫卵密度信息失衡,造成关键信息丢失。

3.1.2 图像检测困难 对于农业病虫害来说,收集到的图片往往会存在一些问题。(1)病虫害发生情况并不唯一。有些病虫害无法识别,因为在发生危害之初无法观测到病/虫源。绝大多数能够识别出来的病虫害,等可以识别的时候又已经太晚了。(2)光源问题。自然环境下光线是不稳定的,即使使用人工照明,叶片或树枝也会遮挡光线,导致照明不均匀,对图像造成偏差。(3)图片背景复杂。对于病虫害图片来说,它们的取材通常是来自农田或者人工大棚,图片背景是不确定的土壤类型[47](泥泞、红土、高碱)和植物残留物,极大提高了检测难度。(4)害虫的伪装。为了生存,许多害虫都伪装起来,它们具有与生存环境相同的颜色和形态特征,甚至可以极其相似地模拟植物的枝叶[48]。这些情况对识别算法有着不同程度的影响,从而导致图像识别错误。

3.1.3 卷积网络模型泛化能力差 研究人员所选取的数据集往往只是从某一个农场或是某一地区取得。对于农作物而言,不同的地理环境、气候环境,往往会带来很大的影响。本研究训练和测试数据集大多取自同一个数据源,它只包含了试验中可能发现的所有可能性的一个非常有限的子集。对于这些研究来说,或许他们取得了相当优秀的结果,准确率高达90%甚至95%。但是如果将他们的网络应用到不同源数据集时,不能断言它们一定会依旧获得同样优秀的结果。

3.1.4 卷积模型训练过程无法确定 在本文所研究的论文中,数据规模最低的仅有200个样本,最高的则高达80 000个样本。但没有任何试验给出了一个明确地答案,即需要多少张图像足以让神经网络正确地学习其数据集的特征。由于卷积神经网络的黑盒性质,其训练过程无法被观测到,人们无法得知具体训练过程是如何进行的,只能根据经验设置超参数,进而一步步摸索模型最优解。

3.1.5 训练过程缓慢且需要消耗大量资源 卷积神经网络的深度架构带来了优越的特征提取能力,但是高复杂的网络结构使得训练过程十分缓慢,同时会花费巨大的计算资源,它需要配备拥有图形处理单元(graphics processing unit,简称GPU)和大量随机存取存储器(Random Access Memory,简称RAM)的昂贵系统来训练模型。同时,由于嵌入式平台的GPU性能远低于计算机。一些依赖高性能GPU来实现实时目标检测的深度神经网络在嵌入式平台的目标检测速度会明显下降。

3.2 展望

自卷积神经网络理论被提出以来,其表征学习能力一直受到大范围的关注。随着计算机硬件设备的发展,卷积神经网络在图像识别上面展现出的巨大潜力,通过总结国内外研究现状可以得知,基于卷积网络的病虫害识别技术极大地提升了农业生产效率。因此,进一步推进病虫害识别技术,解决病虫害识别应用中的困难与局限性对于保障农业生产、推动农业经济发展具有重要意义。总体而言,现阶段利用卷积神经网络解决病虫害识别的难点可分为病虫害数据处理与神经网络模型的性能优化2个方面。

为了克服这些困难,首先需要构建充实丰富的病虫害数据库。构建充实丰富的病虫害数据库,可以考虑开发一种基于5G的实时自动检测系统,利用无人机,或是地面机器人,对作物上的害虫进行近距离实时检测,以进行大面积疾病害虫管理与拍摄,再由专家正确地标记。同时进行世界范围内数据共享,让世界各地的研究小组在不同地区收集具有非常不同特征的图像。对相应的数据集进行适当的整合,以取得特征更为明显、噪音更加简单的图像,得到的图像集将更具代表性,研究结果将更有意义,更适用于农业生产的条件。其次应研发性能更加优越的神经网络模型。可从性能、效率、可视化、可移植性多方面考虑,解决模型泛化能力差、训练速度慢、训练过程不清晰、识别精度不稳定等方面的问题,形成可对抗复杂环境、多种病虫害特征、可大规模应用于嵌入式设备的网络模型。

除了图像分析之外,还要结合环境因素、水肥供给、农事操作记录等,从多方面与农业理论相结合。需要专业的农业研究人员与计算机视觉研究人员之间相互配合,进一步提高病虫害识别技术的实际应用效率。

4 结论

本文综述了利用卷积网络模型进行病虫害识别这项技术在国内外的研究进展。讨论了文献中病虫害识别关键技术中如数据源选择、数据预处理手段、神经网络模型的不同与相似之处。从结果对比上来看,越丰富、越真实、种类越多的数据源以及经过初始化处理了无关信息的图片,对病虫害识别准确率有着极大的提升。对于神经网络模型的选择,针对不同的任务可以选择不同的类型,如追求速度与效率的MobileNet,用以处理大量特征参数的ResNet,以及需要对目标进行定位的YOLO。最后提出了该项技术现阶段的不足之处和未来的发展趋势,从短期看来,农业病虫害识别上的卷积网络应用短时间内无法达到真正解决病虫害问题,现阶段依旧存在着数据获取困难、模型训练消耗太大等诸多困难。虽然离实际应用还需要一段时间,但是不可否认的是,卷积神经网络在农业方面有着光明的前景,而现在的很多经验,以后也将成为其背后大数据的一部分。

猜你喜欢
卷积神经网络病虫害
春季葡萄苗病虫害咋样防治
基于3D-Winograd的快速卷积算法设计及FPGA实现
夏季玉米主要病虫害有哪些
三招搞定花卉病虫害
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定