APP下载

基于深度残差网络与迁移学习的水稻虫害图像识别*

2023-10-09汪健梁兴建雷刚

中国农机化学报 2023年9期
关键词:残差昆虫害虫

汪健,梁兴建,雷刚

(1. 四川工程职业技术学院软件工程系,四川德阳,618000; 2. 四川轻化工大学计算机科学与工程学院,四川宜宾,644005; 3. 四川工程职业技术学院电气信息工程系,四川德阳,618000)

0 引言

计算机视觉和模式识别技术越来越多地被运用于解决昆虫分类的问题,即通过田间图像来识别昆虫以及它们对应的种类。据估计,世界上有超过500万种的昆虫,对昆虫的分类是一项艰巨的任务。并且图像和物体的变化会导致在颜色、姿势、纹理、变形和背景杂波等方面的变化,从而使得模式识别的任务中增加了更多的不确定因素。

昆虫的分类一直是一个极具挑战性的研究课题。而随着高分辨率数码相机的出现,以及一些新的模式分类算法和机器学习算法的应用,这个问题也逐渐变得不再那么棘手。Martineau等[1]调查概述了44个最新的关于昆虫图像分类的研究文献。其中,大部分的研究使用的图像都是基于实验室环境的,只有三篇论文报告使用了基于野外田间的图像。图像采集的条件对于昆虫分类的结果影响很大,因为露天的图像在背景、自然光照、昆虫姿势、密度和变形方面的变化比实验室图像要大。此外,考虑到分类树自上而下有序地进行物种分类时需要更高的精度,因此物种分类的效果也很重要。

水稻是世界上最主要的粮食作物之一,为了达到提高水稻作物产量的目的,需要使用大量的杀虫剂,这就需要对害虫进行准确识别,并对害虫危害程度进行精准预测。水稻作物(谷类)原产于中国和印度,七千年前中国长江流域的先民们就曾种植水稻,世界上有一百多个国家种植水稻,世界上近一半人口以大米为主食[2]。水稻主要生长于热带和亚热带地区,适宜的生长温度为12~40 ℃,最适28~32 ℃。从播种到成熟,水稻的生长周期为90~100 d。与其他的农业产品一样,虫害是影响水稻作物产量的一个主要问题。如果没有对害虫进行恰当的管理,那么40%的水稻产量将遭受到影响。因此,在早期对水稻田中的害虫进行精准识别将有助于在后续对水稻作物进行可持续的管理。

水稻虫害的发生率和严重程度因国家地区而异。本文列出了15种最常见的且被普遍认为对水稻作物有危害的害虫。这些害虫可被分为两类,第一类是对水稻作物有主要威胁的害虫,有稻纵卷叶螟、二化螟、稻水象甲、麻皮蝽、东方蝼蛄、稻蝗和稻绿蝽。第二类属于次要害虫,主要是稻棘缘蝽、水稻大螟、甜菜白带野螟、中华剑角蝗和稻飞虱等。在这些所有的害虫中,稻蝗被设定为需要被最优先识别,因为一旦这种害虫在水稻种植园中出现,那么它们将会在水稻种植全周期的各个阶段造成最为严重的损害。

为了解决水稻害虫的识别问题,本文设计一个新的改进深度残差学习模型,并将该模型与其他有效的卷积神经网络(Convolutional Neural Networks, CNN)模型进行了对比测试,测试基于迁移学习方法进行,首先从ImageNet[3]处获取初始的权重,然后基于交叉验证方案,以原图加增强图像的方式利用病虫害研究图像数据集来训练网络。

1 水稻病虫害图像识别现状

害虫分类识别是解决精准农业中昆虫学问题的要点之一。在全世界的水稻生态系统中,可能出现了多达一千种的昆虫。但估计,其中大约只有20~60种昆虫是害虫,且这些害虫中有5~10种会对农作物造成十分严重的危害[4]。

识别图像中的活体昆虫,特别是对其所属的物种进行分类是一个在许多应用场景中都亟待解决的重要任务。在农业方面,识别出种植园中的昆虫和一般害虫可以有助于人们采取相应的控制方法和判断害虫损害产量的程度。通过手持相机的方式来监测种植园中的昆虫是一种有效的检查方法,尤其是当以这些图像为输入的算法能够被证明它在自动分类过程中取得的结果是尽可能准确的。

Martineau等[1]就昆虫分类的问题进行了研究,发现在已发表的44篇研究论文中仅有3篇(即约7%)在昆虫的分类问题中使用了基于田间现场的图像。Mayo等[5]收集了774张隶属于35个不同物种的活体飞蛾的图像,蛾子首先被诱捕,然后在纯色背景下被拍摄照片;接着,昆虫的图像被转换为二进制码(背景、前景),并在仅其中提取特征项,即像素数、比率、内部密度、标准差、倾斜度和弯曲度;最后通过采用支持向量机算法对这些昆虫进行分类识别,结果显示对昆虫类别的识别精度平均达到了85%。Fina等[6]通过使用彩色图像分割法在K-Means聚类过程中将昆虫与叶子的绿色像素分开,然后将多个属于相同物种的昆虫放在不同的二维旋转位置上来训练过滤器,最后通过数据集模板与各个已被分割过的输入图像之间的相关性来完成匹配。结果显示,该方法基于30张不同作物的图像进行了测试,并取得了成功。Xie等[7]提出在稀疏编码方案中使用多组特征(颜色、形状、纹理、SIFT、HOG)来表示在不同作物上的24种属于不同物种的昆虫图像,然后采用多核学习作为分类方法来根据田间现场图像判断昆虫的类别。在该模型中,针对每个不同昆虫的种类都使用了60张图像进行训练,且针对每个昆虫种类平均采用了25张图像进行了测试。结果显示,该方法可达到85.5%的识别准确性。在Xie等[7]创建的数据集中,昆虫的特写镜头约占所有图像的85%~90%。

目前,很少有文献是基于田间现场图像进行害虫的分类与识别。Gassoumi等[8]选择了经常出现在种植园中的12种昆虫,并在它们的二元分割图像中提取了10个形态学形状特征。然后针对每个类别采用人工神经网络的决策树方法来进行昆虫分类。然而,Gassoumi等[8]在研究中并没有提到所使用的图像的数量。

自2014年以来,许多文献在解决关于视觉物体识别达到问题时都采用了深度学习技术[9]。深度学习技术具有多层处理的计算模型,能够从数据中学习其固有的结构,并在困难的情况下对模式进行精确分类。图像分析和深度学习技术也逐渐开始在农业领域运用[10]。深度学习技术在农业领域最常见的应用是关于叶基病害、植物识别、作物和产量估计[10]。最近也有一些研究开始利用深度网络来解决害虫的分类问题[11-12]。

Cheng等[11]使用了基于田间现场的图像和深度学习模型来解决昆虫分类的问题。并从Xie等[7]创建的子集中选择了10种不同类别的昆虫,且设置了每个类别的昆虫有55张图像,分别利用AlexNet模型和两个深度残差网络(ResNet-50、ResNet-101)计算得出了分类结果。上述三种方法针对这10种参与了测试的昆虫进行了分类,识别准确率分别为86.67%、94.67%和98.67%。但是,选择的昆虫的物种彼此之间的差异较大,且它们一般会出现在不同的生态系统中。Lim等[12]提出了一种名为AlexNet的架构,基于ImageNet数据库针对27种昆虫进行了分类,并对分类结果进行了分析。研究结果发现,模型中卷积核的数量以及昆虫图像的大小都会影响分类的性能。结果显示,昆虫识别的平均准确率最高可达81.82%。

2 试验数据集的采用

试验采用的数据集来源于农业病虫害研究图像数据库(Image Database for Agricultural Diseases and Pests Research,IDADP) http:∥www.icgroupcas.cn/website_bchtk/index.html,IDADP中几乎涵盖了各种农作物病害图像,每个图像的分辨率几乎都超过了1 000万像素,完全能够满足研究使用。其建立了一个可为机器学习建模提供训练和测试样本的农作物病虫害识别研究图像数据集。如图1所示,本次研究以水稻作为具体对象,同时将借助于该数据库进行分析。

为了在训练和测试分类器的过程中能够运用到更多的图像,本文采用了一系列的变换操作来产生更多的图像,包括将初始图像进行90°、-90°和180°的旋转,将图像在10°范围内进行额外地随机旋转,变化像素强度,部分随机滑动,以及随机放大图像到1.5倍,或随机的拉伸。训练集和测试集中图像数量的最终比例被设定为8∶2,所有的图像都被调整为224×224、PNG格式的彩色3(RGB)通道。总体而言,由16种不同类别的昆虫组成,其中有15种害虫(3个幼虫阶段和12个成虫阶段)和一种仅有植物而没有昆虫的类别。每个类别(共12个类别)都有15张原始图像,以及200张增强的图像。因此,该数据集中总计共有180张原始图像和2 400张增强图像。

3 图像识别方法

3.1 CNN与深度残差学习

在计算机视觉领域,CNN和深度学习技术的出现使得物体的识别和分类能够取得较高的适用性和精确性[11]。一个典型的CNN由一系列阶段组成,其中依次包括卷积层、非线性整流层和池化层。为了分层提取和选择特征,CNN最后将全连接层作为分类器进行决策,一个典型的CNN的架构如图2所示。反向传播算法一般被应用于权重的学习。虽然绝大多数的架构需要大量的训练来优化其权重,但微调方案允许通过导入由大量类似数据(如彩色图像)训练得出的初始权重来设置权重,并以此基于问题数据集进一步设计一个分类器。

图2 典型CNN模型示意图Fig. 2 Schematic diagram of typical CNN model

图3为常规CNN的网络与深度残差网络对比。

(a) 常规CNN网络

(b) 深度残差网络图3 常规CNN的网络与深度残差网络对比Fig. 3 Comparison between conventional CNN network and deep residual network

在大多数的图像识别任务中,CNN都设定了最高的比率。在第一批CNN取得巨大成功后,人们提出了新的体系结构,增加网络深度是提高准确性的有用策略。然而,随着层数的增加,网络饱和的精度会迅速降低[13]。解决这个问题的办法之一是通过在某些层之间添加快捷连接,将网络映射重新构建为剩余网络。图3(a)显示了常规CNN的网络层,图3(b)显示了具有不同映射方案的深度残差网络。从开始仅有五层结构的LeNet,发展到后面达到了19层结构,直至今天已经超过100层,这也代表了未来CNN的趋势是要不断深化网络层[13]。

3.2 深度残差模型

本文提出一个改进的深度残差模型,即对ResNet34网络进行改进,通过转换池化的方法并且将其结构进行调整,将1×1卷积完全替换原来的结构。而原结构中的全连接层则主要搜集分析全局信息,并且获得整图的特征,再将其进行降维。卷积层则主要用于在有效范围内获得特征,从而得到从感受野覆盖到全图的卷积核,作用和连接全连接层类似,计算过程等效。1×1的卷积能够有效抓取特征图中的卷积核数量,如果特征图的卷积核数量明显减少,那么参数量也会相应地出现明显减少。如此改进能够增加其判别能力,然后使用批量归一化方法可以让景观背景更加平滑,得以优化,从而达到获得更大的学习速率和更快收敛的目的[14-15]。改进后的网络模型结构如图4所示。

图4 改进的网络结构Fig. 4 Improved network structure

以Res Net34为基本网络,将残差结构输出结果送入一个14×14,步长为3的反卷积层,增加一个反卷积,对特征矩阵上采样,增加特征维度,结合标准平均池化操作完成二维特征池化,代替自适应平均池化操作;再经过一个7×7的平均池化层进行下采样;最后分类层由1×1卷积层完成,输出分类概率。

本文提出的改进模型在训练模型阶段即使进行完整训练的时期数量较少也不会降低准确率。事实上,改进的模型从整体上提高了识别准确率,这将在下一节的实验中进行验证与展示。

3.3 基于迁移学习的分类模型

迁移学习[16]属于机器学习算法的领域。当明确假设训练和测试分类器时所使用的任务、域和分布不同时,迁移学习可以用于对未来数据的预测。迁移学习的核心思想是从大量的早期实验中提取的知识和特征,可以通过转移的方式将一些知识运用到相关的问题中。而在这个过程中,应该有一种方法用于微调在不同的数据集中进行训练的网络权重,以适应新的域和数据分布。在CNN模型中,这一策略已被证明是有效的,特别是当新的域中的数据量相对较少时。

图5显示了本文水稻害虫图像识别迁移学习模型结构框图,其中突出了对所提模型的微调过程。首先,原始的ResNet34模型基于ImageNet的120万张图片训练得出模型的权重,且该权重被加载至最后的全连接层;然后,基于IDADP数据库原始图像和增强图像,采用80%数据用于进行训练和20%数据用于进行测试的交叉验证方案,对用于水稻害虫分类的改进ResNet34模型进行微调。在现阶段,学习率是一个重要的超参数值,其目的是尽可能减少新网络的训练工作量,以达到最高精度。事实证明,合理范围之内的步长变化有利于对所有类型的CNN进行微调[17]。

图5 水稻害虫图像识别迁移学习模型结构Fig. 5 Structure of rice pest image recognition migration learning model

在本文中,对学习率进行调整的过程分为以下几个步骤。首先,初始速率被设定为0,并逐步以正负0.01的步长进行调整,即0.1+0.01、0.1-0.01,以此类推进行1 000次迭代,且每次训练中最小的误差都会被记录在其中。使用Adam优化算法动态调整每个参数的学习率,这种差异化的学习率已被证明比基于步长降低学习率的方式能够更快地得到结果[18-19]。找到这个值后,将最终选择的速率设定为更低的一个量级(×10-1),并以此作为启发的方向在训练过程中靠近下降的斜度。激活函数为Relu函数,通过Softmax做出具体分类,求得的概率如式(1)所示。

(1)

式中:K——类别总数:

αj——上一层节点输入全连接层后将会得到第j类的值;

Sj——通过Softmax后第j类样本得到的概率大小。

通过交叉熵损失函数计算真实值与预测值二者的差距,具体如式(2)所示。

(2)

式中:m——目前输入网络的样本数量的值;

n——类别数量;

yji——真实的标签;

Closs——损失值。

4 试验与分析

4.1 试验设置

本文针对两种不同情况的分类问题进行了实验:第一组包括了6种主要害虫与1种无害昆虫的图像;第二组针对13个种类的分类任务,包括了无害昆虫和本文选择的主要害虫和次要害虫。本文所使用操作系统为Ubuntu 16.04,64位系统,深度学习框架TensorFlow-GPU V1.4.0,编程语言Python3.5,集成开发环境PyCharm 2018.2.2(Community Edition)。所提改进ResNet34模型的权重均采用来自ImageNet类的预训练权重。

为了进行比较,本文也采用了局部二进制支持向量机(LBP-SVM)模型[20]在8个像素的局部邻域和以24为半径的范围内进行训练。在支持向量机训练中,所有图像都被转换为灰度图以提取直方图,并后续将直方图输入到模型中。所有的CNN模型都配备有批量的图像。

在第一个试验中,网络对初始的6种害虫进行了分类(稻纵卷叶螟、二化螟、稻水象甲、麻皮蝽、东方蝼蛄、稻蝗),并增加了一种无害虫类。在第一个试验中,每个种类的害虫都配备了图像。试验中,数据集被随机地分成80%的训练子集和20%的验证子集。试验针对LBP-SVM模型[19]以及典型的CNN模型(AlexNet)进行了测试,并将其作为基准模型与一些深度残差模型进行了比较,例如:ResNet34模型、本文提出的改进ResNet34模型以及ResNet101模型。

4.2 结果与分析

改进ResNet34模型在两次试验中的迭代变化如图6、图7所示。在第一个试验中,识别主要害虫的训练过程持续了20个完整训练的时期,而第二个试验中,识别所有的害虫进行了40个完整训练的时期。从图6、图7中可以看出,随着迭代变化,分类准确率都超过了96%。

图6 第一个试验过程Fig. 6 Experimental process one

图7 第二个试验过程Fig. 7 Experimental process two

所有模型针对主要害虫进行分类时的准确率如表1所示。从表1中可以看出,所有的CNN模型的分类性能都远高于LBP-SVM模型,而本文提出的改进ResNet34模型取得的平均准确率最高(96.7%)。在第一个试验中,无害虫和麻皮蝽平均来看是最难以识别的,两者的分类准确率最低。虽然这两个类别的最高的识别准确率都达到了95.0%以上,但要把它们进行分类还具有一定困难。

表1 各类模型针对主要害虫以及无害虫分类的准确率Tab. 1 Accuracy rate of various models for the classification of major pests and no pests %

图8展示了各个模型的F1-score,可体现出两个试验的综合效果。如图8所示,本文提出的改进ResNet34模型很好地平衡和满足了数量和准确度两方面的要求,取得了最优结果。在本文实施的两个试验中,只选取分类器的第一选择作为结果。两个试验均只针对特定作物的害虫,且分类器的识别目标仅是水稻害虫,并不是其他昆虫,所以识别分类结果是非常准确的。

图8 两次分类试验的F1-scoreFig. 8 F1-score of two classification experiments

总的来说,上述网络模型在预测方面体现了较高的准确性。本文采用的IDADP数据集已经足够大,为了更进一步提高某些类别的准确性,数据量更大的数据集可对识别的性能更有助力。正如日常所观察到的,特别是在热带的种植园中,昆虫的种类可能相当多。因此,模型需要在昆虫种类的数量和识别准确度方面进行权衡。

第二个试验中使用的数据库中配置了9种不同害虫和1种无害虫,并对四种CNN模型进行了评估,分别为:AlexNet、ResNet34、ResNet101以及本文提出改进ResNet34模型。所有模型的识别准确率情况如表2所示。所有的CNN模型都取得了较高的准确率,残差模型(ResNet34、改进ResNet34、ResNet101)比AlexNet稍有优势。其中,分类性能最好的是所提改进ResNet34模型(96.8%)。

表2 各类模型针对所有害虫以及无害虫分类的准确性Tab. 2 Accuracy of various models for classification of all pests and no pests %

5 结论

1) 基于田间图像来针对某种特定的农作物进行害虫分类是一个极具挑战性的基于视觉的分类问题,不同种类的害虫给同一种作物造成的危害也是不一样的。首先,由于背景看起来更加相似,分类器将被要求区分它们是一般的昆虫或是害虫。其次,将找到影响一个种植园或生态系统的害虫设置为主要目标是更合适的,因为这有助于将最终的识别结果应用到真实环境中,从而达到管理农作物的目的。

2) 本文提出了一种改进的深度残差学习模型。与其他所有的在迁移学习环境下使用ImageNet预训练权重的测试模型相比,本文提出的模型的总体准确率更高,平均准确率超过96.0%。此外,提出的新模型可以进一步应用于扩展数据集的分析。

3) 本文提出的改进ResNet34模型很好地平衡和满足了数量和准确度两方面的要求,取得了最优结果。未来的研究工作需要验证更多的数据集,因此本文将后续增加新的样本和其他种类的昆虫和害虫,从而使得该方法可以应用于其他作物及其相关生态系统。

猜你喜欢

残差昆虫害虫
RFID昆虫阅读放大镜
基于双向GRU与残差拟合的车辆跟驰建模
蜗牛一觉能睡多久?
冬季果树常见蛀干害虫的防治
基于残差学习的自适应无人机目标跟踪算法
借昆虫上课
基于递归残差网络的图像超分辨率重建
我最喜欢的昆虫——知了
昆虫的冬天
枣树害虫的无公害防治