基于卷积神经网络的自然场景作物害虫识别

本文介绍了一种利用深度学习,特别是GoogLeNet模型,来识别10种常见农作物害虫的方法。通过对数据集进行数据增强和背景去除处理,GoogLeNet在复杂背景下的识别效果优于其他模型,平均分类准确率提升至98.91%。与传统方法和ResNet101模型相比,GoogLeNet模型在精度和训练时间上更具优势。
摘要由CSDN通过智能技术生成

Crop pest recognition in natural scenes using convolutional neural networks

 ABSTRACT

        农作物病虫害是世界范围内的主要农业问题,因为它们的严重程度和发生范围会给农作物造成重大损失。此外,由于人工选择有用的特征集,传统的作物害虫识别方法具有局限性、效率低下和耗时。本文介绍了一种利用深度卷积神经网络(cnn)准确识别10种常见农作物害虫的方法。本文的主要贡献是:(1)描述和共享人工收集和验证的作物害虫数据集;(2)针对农田场景呈现的复杂背景,提出了微调GoogLeNet模型,害虫分类效果优于原模型;(3)优化后的GoogLeNet模型比最先进的方法提高了6.22%。因此,该模型有可能在实际应用中得到应用,并进一步推动作物病害识别的研究

 1.Introduction

        无论是在发展中国家还是发达国家,农作物害虫都给农作物造成重大损失。根据最近的研究,世界上近一半的作物产量因虫害和作物疾病而损失(Gandhi et al., 2018)。因此,害虫的精细防治是减少损失、提高作物产量的一项重要任务。一旦害虫在田间传播,必须及时发现,以便农民及时提供治疗,防止害虫传播。然而,传统的害虫鉴定方法存在许多弊端。首先,最常用的方法是人工调查,即专家或农民每天、每周和每月对农田进行人工检查,以寻找病虫害的迹象。其次,昆虫的种类很多,属于同一物种的个体数量巨大(Lim et al., 2018)。因此,传统的害虫识别方法费时、易出错、繁琐。

        此前,已经提出了许多基于不同机器学习(ML)算法的自动害虫识别系统(Nguyen et al., 2019a;阮等人,2019b)。例如,提出了采用k-means聚类算法识别害虫的方法(Faithpraise et al., 2013)。该方法通过人工提取特征,利用相对过滤器对不同类型的害虫进行识别,在数据集庞大的情况下,耗时较长。在另一项研究中,提出了一种利用支持向量机(SVM)和光谱植被的甜菜病害识别方法(Rumpf et al., 2010)。SVM多类分类的准确率约为86%。一年后,提出了一种利用图像处理和ML对五种不同植物叶片病害进行分类的框架(al - hiary et al., 2011)。实验结果表明,该方法能够成功识别目标疾病,准确率在83% ~ 94%之间。尽管传统的ML算法在作物害虫种类较少的情况下表现良好,但当需要人工提取多个特征时,其效率会变得很低。

        深度学习是一种特殊的机器学习,它使用多级神经网络,允许计算机自动学习和提取深度抽象特征。近年来,一些深度学习方法被应用于害虫分类,并在许多害虫检测应用中取得了最先进的结果。实现了基于深度学习的番茄叶片病虫害分类框架(Shijie et al., 2017),平均分类准确率为89%。但该方法只能应用于简单的背景害虫分类,不可能融入实际应用。在另一种方法中,生成对抗网络(Generative Adversarial Networks, GAN)用于扩展数据集,并将扩展数据集输入预先训练的CNN模型中。该模型达到了92%的植物病害分类准确率(Gandhi et al., 2018)。在此之前,我们也使用数据增强技术来扩展数据集,用于乳腺肿块疾病的分类。之后,对数据进行GoogLeNet模型训练,获得了93.4%的高准确率(Lévy and Jain, 2016)。提出了一种深度学习模型来识别13种疾病(Sladojevic et al., 2016)。采用人工图像预处理对目标区域进行高亮处理,耗时较长。最近,研究人员提出了一种基于深度学习架构的果蝇识别方法,准确率达到95.68% (Leonardo et al., 2018)。在另一项工作中,使用10种植物害虫训练模型,分类准确率为93.84% (Dawei et al., 2019)。通过分析以往的工作,深度学习方法已被证明可以显著改善害虫分类性能(Dang et al., 2018;Dang等人,2019年)

        在总结前人研究成果的基础上,提出了一种能够高效、自动地识别带有背景噪声的作物害虫图像的智能专家系统。因此,在本研究中,引入了一种基于深度学习的模型,可以在自然场景中自动分类十种作物害虫。以下问题将在这份手稿中提出:

a.哪种深度学习模型最适合所提出的数据集?

b.哪些数据预处理方法提高了模型的整体性能?

c.与其他工作的对比结果如何?

        本文共分为六个部分。数据集收集过程如图2所示。在此之后,我们将在第3节中解释5个深度学习模型和系统的流程图。第4节展示了深度学习模型在所提数据集上的实验结果。最后,第5节讨论了深度学习方法的性能,第6节描述了结论和未来的工作.

2.Datasset

2.1 数据准备

        本文选取了10种常见的农作物害虫,分别是灰蝉、叶蝉、蝗虫、东方果蝇、菜青虫、蜗牛、斜纹夜蛾、臭虫、pomonella、象鼻虫,如图1所示。

        有很多研究将这些作物害虫作为研究对象(Cheng et al., 2017;Wang et al., 2017;Leonardo等人,2018年;Xiao et al., 2018;Dawei等人,2019)。因为这些农作物害虫在世界各地都能找到,它们的繁殖速度非常快。一旦它们感染了田地,就很难治疗,而且会对作物产量造成巨大损失。因此,对这10种害虫进行有效的检测和及时的防治具有重要意义。

        数据集收集主要是通过从流行的搜索引擎(谷歌,百度,Yahoo, Bing)下载图片和使用苹果7 Plus手机进行户外拍摄完成的。数据集共包含5629张图像;大部分图片是从必应搜索引擎下载的,还有650张图片是从其他网站抓取的。总的来说,害虫类包含400多张图片,蜗牛类拥有的图片数量最多(超过1000张)。一般来说,这些害虫的体积很小,很难用肉眼在自然场景中迅速找到它们。在数据采集过程结束后,采用数据增强方法从原始数据集生成更多的图像

2.2数据增强

        数据增强是深度学习中创建更多数据的常用技术(Cui et al., 2015;Montserrat等人,2017年)。数据增强主要包括离线增强和在线增强两大类。离线增强直接对数据集进行操作,可以应用于相对较小的数据集。主要的方法是旋转、平移、翻转和其他相应的改变。对于大数据集,在线增强是一种更合适的方法。在本研究中,由于收集的数据集较小,所以采用离线增强方法。数据增强有两个主要优点。(1) CNN模型具有较好的泛化能力,(2)通过添加噪声数据提高了模型的鲁棒性

        如图2所示,本研究主要采用90顺时针旋转、镜像、加噪、缩放等数据增强方法。通过使用这些图像处理技术,图像数据集的数量增加了近4倍。最初的图像总数为5629张。应用数据增强后,图像数量增加到14475张。

然后将新数据集按9:1的比例划分为训练集和测试集,如表1所示

3 Methodology

        害虫分类框架的主要流程如图3所示。在数据采集过程结束后,采用两种不同的背景去除方法对自然背景图像进行预处理。然后,应用3.2节中提到的数据增强技术生成更多的图像。然后将图像输入到5个深度学习模型中,选择最适合的CNN模型.

 3.1.1混合图像处理技术

        第一种预处理技术处理的是在害虫的颜色和背景之间有相当大差异的图像。主要技术包括阈值化、轮廓检测和分水岭算法。

        首先,采用自适应阈值方法将原始图像转换为二值图像。它根据相邻像素块的分布情况自动确定像素的二值阈值。然后进行形态学操作,包括膨胀和侵蚀,以去除部分噪声,并连接害虫体中不连通像素的部分。形态学运算后提取前景和背景图像,然后使用分水岭算法对有害生物进行定位(Seal et al., 2015)。最后,采用轮廓检测方法获取目标的轮廓。上述程序的说明如图4所示。

 3.1.2 GrabCut算法

         当前景和背景相似时,采用GrabCut算法去除背景(Boykov and Jolly, 2005)。在应用grabcut算法之前,需要确定图像的前景和背景。加载图像后,害虫被一个矩形框包围,框外的一切都被认为是背景。首先,算法根据提供的数据对背景进行标记,并采用高斯混合模型(GMM)对前景和背景进行模拟。基于输入,GMM模型学习并生成新的像素分布

        对于矩形框中未指定的像素,它可以是前景也可以是背景。它们根据与已知分类像素的相关性进行分类,类似于聚类操作。五个高斯模型分别对应前景和背景。高斯混合概率计算公式为:

 式(1)中,x为BGR三通道向量,K为每个像素对应的高斯分量个数(K= 5);π表示各高斯分量的权值。式(2)是gi的具体表达式,是指第i个高斯模型的概率模型公式,其中包含两个参数,均值(μb,μg,μr)和协方差矩阵。因此,需要初始化三个参数,包括πi、平均值(μ)和协方差(Rother et al., 2011)

        对像素进行分类后,提取一对像素分布图,其中节点为像素。除了作为节点的像素外,还有两个其他节点(源节点和汇聚节点)。所有前景像素都链接到源节点,所有背景像素都连接到汇聚节点。然后使用最小割算法对新获得的图像进行分割(Boykov and Jolly, 2005)。通过简单的GrabCut操作,无法得到理想的图像,如图所示。5 (b)。根据实际情况,使用人工标记使计算机知道哪些区域是需要的,经过多次迭代,就可以得到所需的图像,如图5(c)所示。

3.2 CNN模型

        CNN模型包括卷积层、池化层和全连接层。通过卷积运算可以提取图像特征。然后,利用池化层减少数据处理量,保留有用的特征。全连通层负责通过权值矩阵将之前被忽略的局部特征重构为完整图像。

        在本研究中,我们研究了五种不同的CNN模型,包括VGGNet (VGG-16和VGG-19), ResNet (ResNet50和ResNet152)和GoogleNet (Inception-V3)。这些网络在ImageNet大规模视觉识别挑战(ILSVRC)中取得了最先进的性能(Simonyan和Zisserman, 2014;Szegedy等人,2016)。此外,许多研究将这些流行的深度学习模型应用于害虫检测(Cheng et al., 2017;Leonardo等人,2018年)。下面对CNN的五种模型进行简要介绍

3.2.1VGG-16和VGG-19

        VGGNet在2014年ILSVRC竞赛中排名第二,在许多迁移学习任务中超过了GoogLeNet。它由3个完全连通层和5个卷积层组成。与其他深度学习网络相比,VGGNet具有结构简洁、池规模小、特征图更宽的特点,使得架构更深入、更宽,同时减少了计算时间。在本研究中,我们使用了两个最著名的模型,VGG-16和VGG-19,它们分别包含13和16个卷积层。图6展示了VGG-16和VGG-19模型的差异

 3.2.2 ResNet50和ResNet152

        2015年,ResNet在ImageNet竞赛的图像分类任务中获得第一名。其主要贡献是通过引入building block和瓶颈结构解决了以往模型的退化问题和消失梯度问题(He et al., 2016)。剩余网络采用了比VGGNet大8倍的网络结构,但比VGGNet简单。在本研究中,我们研究了Resnet50和ResNet152,它们包含5块卷积层,输入尺寸为224 × 224。7为两种型号的结构,右下角的文本框说明了ResNet152在第三和第四卷积块中比ResNet50多34个构建块。而且,每个块包含3个卷积层,因此ResNet152模型比ResNet50模型多出102个卷积层。

3.2.3 GoogLeNet

        GoogLeNet是2014年提出的一种新的深度学习结构。近年来,GoogLeNet在许多实际的分类任务中表现良好。本文使用Inception-V3作为GoogLeNet模型的实现。《盗梦空间》v3的一个显著改进是因数分解。将7 × 7的卷积分解为两个一维卷积(1 × 7,7 × 1),将3 × 3的卷积分解为(1 × 3,3 × 1),以增加网络深度。启始v3由5个卷积层、区块1中的3个启始模块、区块2中的5个启始模块和区块3中的2个启始模块组成(Szegedy et al., 2016)。在前5个卷积层中,核大小为3 × 3,第一卷积层的步幅大小为2,其他卷积层的步幅大小为1。另外,数据的默认输入大小为299 × 299.

4. Experimental result

        所有实验都是在预装Ubuntu 14.04的Linux机器上实现的。它有4个Titan X 12gb gpu,一个Intel®Core i75930K处理器和64 GB DDR4 RAM。首先,4.1节对特征提取过程进行了说明。在此之后,第4.2节展示了CNN模型是如何在提出的数据集上训练和测试的

4.1. 特征提取

        本节使用Keras和OpenCV可视化CNN模型的中间层特征图,以说明CNN模型是如何提取抽象特征的(Zeiler and Fergus, 2014)。图8解释了几个图像的特征提取过程的细节

        第一列是原始的农作物病虫害图像,第二列是第一卷积层提取的特征图(特征图很多,随机选取的只有9张)。最后,第三列为特征图的融合图像。一些用红圈标记的背景特征在特征提取中不是必需的,它们会影响整体性能

        为了证明复杂背景对分类性能的影响,采用不同的输入数据进行了实验。本实验选择两种形态相似的害虫(蝗虫和灰蝉)作为分类对象。在GoogleNet模型上训练了1000张复杂背景图像和1000张简单背景图像。表2显示了输入数据的详细信息和深度学习模型的性能。实验结果表明,简单背景图像的分类准确率比复杂背景图像高5.9%

 4.2 比较五种模型的性能

        本节将考察五种深度学习模型的分类性能。这些模型配置为使用相同的优化器(SGD)、分类器(softmax)和学习率(0.0001),然后实现5倍交叉验证方法,以减少过拟合和过拟合问题(Bergmeir et al., 2018)。在5折交叉验证方法中,训练数据集被划分为5个子集(每个子集包含2895张图像)。在每个折叠中,使用一个子集作为测试集,其余子集作为训练集。

        图9显示了五种模型的分类结果。总的来说,他们的准确率达到了90%以上,GoogLeNet在每一折叠中准确率最高。在fold 3中,GoogLeNet的分类准确率最高,为94.61%,而ResNet152和VGG-19的分类准确率略低,分别为93.02%和93.05%。因此,GoogLeNet是最适合收集数据集的模型。

         表3显示了这些模型的计算复杂度。ResNet152是最复杂的模型,共包含5800万个参数。其次是ResNet50,它有2500万个参数。最简单的网络是VGG-16,它有1500万个参数。该表还显示了VGG-16、VGG-19、ResNet50、ResNet152、GoogleNet在收集的数据集上的训练时间。VGG-16、VGG-19和ResNet50所需的训练时间比较相似,其中VGG-16的训练时间约为17分钟,因为它比其他架构层次少、参数少。ResNet152和GoogLeNet需要更多的计算时间,分别约为92分钟和72分钟。

 4.3 GoogleNet模型的微调

        Fine-tuning是指直接从别人训练的网络中接收权值,并使用新的数据集对模型进行训练。在本文中,GoogleNet模型在预先训练的ImageNet模型上进行微调,因为它有助于网络更快地收敛(Yosinski et al., 2014)。

        我们还对模型的全连接层和优化器做了一些调整,因为它们对模型性能有重大影响。收集到的数据集包含10种昆虫,所以输出层必须从1000(预先训练的模型)更改为10。此外,预训练模型的前17层被冻结,因为这些层已经在ImageNet数据集上训练得很好。最后,对GoogLeNet模型的参数进行了修改,以提高分类精度,降低计算复杂度。图10显示了模型的性能在不同的参数,精度最高的98%时达到完全连接层大小是4096和优化器是Adagrad (Hadgu et al ., 2015)最优学习速率为0.0001,比亚当8% 0.001优化器的学习速率。完全连接层的大小对训练结果有很大的影响,因为它连接了所有的神经元,并给出了最终的决策。

 从图11可以看出,经过微调的GoogLeNet与原始模型相比,精度更高,鲁棒性更强。随着历期的增加,两种模型的精度均不断提高,并在15历期以后趋于稳定。原始模型的准确率约为93%,而微调模型的准确率为98.91%

 4.4. 作物病虫害分类结果

表4给出了测试集上GoogLeNet模型的混淆矩阵。10种害虫的指数表示如下:1。Cydia pomonella 2。Gryllotalpa 3。叶蝉4。蝗虫,5。东方果蝇,6。Pieris rapae Linnaeus, 7岁。蜗牛,8。Spodoptera litura 9。散发恶臭的昆虫,10。象鼻虫

结果表明,该模型能正确识别10种植物,平均识别率为98.91%。由表可知,第3类(叶蝉)的错误率最高,为2.84%,因为模型将其误分类为locus、eastern fruitfly和snail。这些物种的形状和颜色与背景环境相似。模型对3种害虫(pomonella、Gryllotalpa、Pieris rapae linnaeus)的分类准确率达到100%,其余6种害虫的分类准确率在98.26% ~ 99.33%之间。

         图12(a)显示了使用微调GoogLeNet模型对6张随机选取的图像进行正确分类的结果。12(b)显示了两个错误分类的结果,东方果蝇被错误地分类为蜗牛,因为翅膀的颜色和形状与典型的东方果蝇不同。此外,臭虫被归类为Gryllotalpa,因为害虫阴影被认为是害虫的一部分。此外,无花果。图12(c)和12(d)是害虫分类的两种特殊情况。12(c)有多种害虫和无花果。12(d)没有害虫。实验结果表明,当图像中存在多个害虫时,模型采用Top-K方法给出每一类害虫对应的概率。另一方面,当图像中没有害虫时,模型也提供一个类名,但每个类的概率很低。

4.5. 与其他工作比较

        训练集和测试集中的150幅图像。(Cheng et al., 2017)中使用的模型是经过微调的ResNet101。动量参数设置为0.9,基本学习率为0.0001。经过微调的ResNet101的精度达到了98.67%。在本节中,将微调模型与(Xie et al., 2015;Cheng et al., 2017)。在这项研究中,作者使用了包含400张图片的数据集

         本文将微调的GoogLeNet模型与微调的ResNet101模型进行了比较。表5中的实验结果表明,经过微调的GoogLeNet模型在精度和训练时间上都优于经过微调的ResNet101模型

5. Discussion

        根据实验结果,本节回答了引言中提出的三个问题。第一个问题是关于在这项研究中使用的最佳模型。在本研究中,使用了五种流行的CNN模型(VGG-16, VGG-19, ResNet50, ResNet152和GoogLeNet)。其中选择GoogLeNet作为目标模型是因为该模型表现出了最高的性能。第二个问题是使用哪些数据预处理方法来提高模型的整体性能。如4.1节所示,在训练过程之前使用了两种背景去除方法。然后通过数据增强来生成更多的训练数据。对于最后一个问题,将优化后的模型与另一个工作进行了对比,实验结果表明,GoogLeNet模型比ResNet101模型的分类准确率提高了6.22%。实验结果表明,GoogLeNet模型对作物害虫的识别是有效和稳健的,如果将其集成到实际应用中,可以显著减少处理时间和劳动力成本。虽然GoogLeNet的准确率比其他模型更高,但也存在一定的局限性,比如需要更高的计算能力和更多的训练时间。此外,由于Inception-V3架构复杂,很难根据数据集调整层结构。

6. Conclusion

        本研究提出基于深度学习的害虫检测框架,利用人工收集的数据集对10种作物害虫进行分类。总共从不同网站下载了5629张图片,并进行了手工验证。在数据准备阶段,使用数据增强对数据集进行扩展。此外,采用了GrabCut和分水岭算法对复杂背景进行了去除。在培训阶段,对VGG-16、VGG-19、ResNet50、ResNet152、GoogLeNet进行了调查。实验表明,GoogLeNet模型在准确性、模型复杂性和鲁棒性方面优于其他模型。优化后的模型比原模型的精度提高了5.91%

        在未来,由于移动设备对农民的普及,应该把更多的精力放在开发移动设备上的作物病虫害识别系统上。除RGB图像外,红外图像还可用于害虫监测,红外滤光片可方便地安装在无人机上

这篇文章的补充数据可以在网站上找到here

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值