基于多尺度特征提取深度残差网络的水稻害虫识别

2023-05-15 09:56郑显润王文秀程亚红苏宇锋
华南农业大学学报 2023年3期
关键词:特征提取残差害虫

郑显润,郑 鹏,王文秀,程亚红,苏宇锋

(郑州大学机械与动力工程学院,河南 郑州 450000)

水稻作为我国主要农作物,在我国的种植面积稳定在3 000万hm2,年产量超2万亿t。稻米生产的安全稳定对于保证我国民众的口粮自给和粮食安全具有重要意义。在水稻种植过程中,每年都会因为多种病虫害的连续发生对我国稻米生产造成巨大的损失,水稻害虫的准确识别和监测对我国的稻米生产具有重要的意义。传统的水稻害虫识别主要依赖农民经验,但由于水稻害虫种类多且特征多变,对识别人员的专业性要求较高,从事农业生产的人员难以具备所需要的专业素养,导致人工作业很难满足现代农业生产的需求。

近年来,随着机器视觉和深度学习技术的发展,农业病虫害的分类识别问题也得到了广泛的研究,越来越多的学者将深度学习运用到病虫害的图像识别中。梁勇等[1]采用YOLOv5算法研究了稻纵卷叶螟和水稻二化螟识别计数,准确率达到了93.39%。杨红云等[2]采用卷积神经网络和迁移学习的方法实现了对6类水稻害虫实验室条件下的分类,准确率高达99.05%。姚青等[3]使用改进的RetinaNet网络实现对水稻冠层害虫为害状的自动监测,准确率达到了93.76%。刘德营等[4]采用卷积神经网络的方法对自然状态下白背飞虱进行了识别,准确率达96.17%。谢成军等[5]使用稀疏编码的空间金字塔模型识别农业害虫图像,与早期支持向量机和神经网络方法相比,提高了带背景害虫图像的识别精度,识别准确率达89.2%。Xiao等[6]基于词袋模型和支持向量机(BOF-SVM)对白粉虱、小菜蛾、蓟马和黄曲条跳甲等4种蔬菜害虫进行了分类和分析。张博等[7]运用空间金字塔池化改进了YOLOv3深度卷积神经网络,实现了对20种害虫的识别,识别精度达88.07%。程科等[8]采用一种基于BP和PSO的混合型算法,应用于稻飞虱图像的识别,平均准确率达到97%。鲍文霞等[9]设计了一个由特征提取、全局优化以及局部优化模块构成的轻量型残差网络LW-ResNet,在13种水稻害虫图像的测试数据集上识别准确率达到了92.5%。Lu等[10]将Ghost网络与Transformer相结合研究了葡萄叶片病虫害图像分类的问题,精度达98.14%。Li等[11]使用V iT植物病虫害公共数据集Plant_Country测试,识别准确率达96.71%,效果优于经典的GooleNet和EfficentNetV2等网络。现有的水稻害虫图像识别研究局限于简单背景、少类别甚至单一类别,对复杂自然背景下的水稻害虫多类别分类问题的研究仍有欠缺。自然环境下,由于害虫自身保护色的原因,害虫特征提取是一件很困难的事情,传统的颜色、纹理、灰度阈值的识别方案无法解决复杂自然背景下的害虫识别问题,难以提取害虫本身的有效特征。考虑到水稻害虫的图像数据采集的困难与成本,训练数据集基本为中小数据集,而Transformer模型的自注意力机制会带来大量计算资源的浪费,且在数据量不足的中小数据集上的表现不如卷积结构[12]。本文采用卷积神经网络的架构,设计了一种基于多尺度特征提取的深度残差网络,以期实现在复杂背景下对水稻害虫的准确识别和分类,为水稻害虫的自动监测提供技术支撑。

1 网络模型和数据集的构建

1.1 ResNet和Res2Net

为解决传统的卷积网络结构随着网络加深带来的“网络退化”问题,He等[13]提出了残差网络ResNet。相比于传统的卷积结构,ResNet残差块增加了“快捷连接”,使得深度卷积网络可以对残差进行学习(图1)。

图1 传统卷积结构(a)和残差卷积结构(b)Fig.1 Conventional convolutional structure(a)and residual convolutional structure (b)

原始的ResNet残差块由1×1卷积核、3 ×3卷积核和1×1卷积核3个部分组成,各部分之间采用批归一化(Batch normalization,BN)层和Relu激活函数连接。为了更多尺度地提取特征,Gao等[14]在ResNet残差网络的基础上改进了残差单元,采用了一组更小的滤波器替换了n 个 通道的3 ×3卷积核,每个都是w个通道(令n =s×w不失一般性),如图2所示。这些较小的滤波器以类残差的层次化方式连接,增加了输出特征所能代表的尺度的数量。具体来说,在第一个1×1卷积后,输入 x被划分成s个子集,定义为:

图2 Res2Net残差结构(尺度=4)Fig.2 Res2Net residual structure(Scale=4)

每一个特征都有相同的尺度大小,通道是输入特征的1 /s,除了 x1外 ,其他的子特征都有相应的3 ×3卷积核,定义为Ki(),其输出为yi,子特征 xi均与 Ki−1()相加,然后输入到 Ki()。为了在增加s时不增加参数,Gao等[14]省略了 x1的 3 ×3卷积,因此,

如式(2)所示,每一个子集 xi的卷积操作都能够学习到所有xi左边的特征信息,每一个输出 yi都能增大感受野,所以每一个Res2Net都能获取不同数量和不同感受野大小的特征组合。这里的s作为特征维的控制参数,s越大意味着特征有着更丰富的感受野,网络能学习到更多的特征。很明显,残差块中层次化的残差连接使网络能在更细粒度级别的变化上捕获细节和全局特性。

1.2 多尺度特征提取的深度残差网络设计

基于ResNet和Res2Net结构,本文构建了一种多尺度特征提取的深度残差网络,结构如图3所示。

图3 多尺度特征提取的深度残差网络结构图Fig.3 Network structure diagram of depth residual network based on multi-scale feature extraction

1.2.1 卷积深度的选择网络深度决定了网络的非线性表达能力,越深的网络意味着可以学习更加复杂的变换,进而可以拟合更复杂的特征。但是越深的网络训练成本越高,网络模型更大,还有可能产生过拟合的问题。综合考虑,本网络采用了50层卷积的结构设计。输入图像为统一进行尺寸标准化处理的224×224的RGB三通道图像。

1.2.2 引入标准化处理层由于图像数据的每个像素都是0~255之间的数值,数据点均分布在第一象限,而图像各像素点之间又是强相关的,即相邻像素点之间的数值往往比较接近,因此,图像各像素点会落在第一象限的局部区域中,形成狭长分布,特征值分布不均匀。神经网络初始化时,权重值是随机生成的,而使用梯度下降时,需要多次迭代才能实现对数据点的有效分割。为了让神经网络能更高效地进行数据处理,本文在网络初始设置了Z-Score标准化处理层,将输入的图像进行标准化处理:

式中,Image表示图像中各像素的值,Mean和Std分别表示RGB通道各自的平均值和标准差。各像素值将被限定成均值为0、方差为1的分布,数据点在每维上有着相似的宽度,增大数据分布范围的同时,也能消除奇异样本数据导致的不良影响,加速网络收敛。

1.2.3 首层卷积设计 其输入是尺寸标准化和标准化处理后的224×224图像,由64个卷积步长为2的 7×7卷积核组成,He等[15]提出用3个 3 ×3卷积核代替7 ×7卷积核的方案,网络性能略有提升,但增加了网络深度。VGG网络使用这种替代网络训练速度会变得很缓慢,考虑到本文网络增加了多尺度特征提取,为了减小网络负担,本文选择使用7 ×7卷积核。

1.2.4 池化层的选择 常用的卷积池化方法有2种:平均池化和最大池化。特征提取的误差主要来自2个方面,即邻域大小受限造成的估计值方差增大和卷积层参数误差造成的估计均值偏移。平均池化可以减小第一种误差,保留更多的背景信息;最大池化能减小第二种误差,保留更多的纹理信息。考虑到复杂背景下,害虫的纹理特征更具有代表性,本文网络选择使用最大池化,最大池化层由一个步长为2的3 ×3的卷积核构成。

1.2.5 批归一化与激活函数 引入Ioffe等[16]提出的BN。本文将BN层用在激活函数之前,可以加快模型收敛,使模型训练更加稳定,避免梯度爆炸或者梯度消失,且有一定的正则化作用。选用经典的Relu函数作为网络的激活函数,相较于Sigmod和Tanh,Relu函数没有饱和区,不存在梯度消失问题,而且计算更简单、实际收敛速度更快。本文也尝试了LeakyRelu和PRelu函数,发现LeakyRelu函数并不能带来性能的提升,而PRelu函数使性能明显下降。

1.2.6 多尺度特征提取模块 多尺度特征提取模块是由一系列引入Scale splitting层的Bottleneck结构堆叠而成,模块分为4层,每一层分别由3、4、6、3个Bottleneck结构残差块堆叠组成。本文网络将传统的ResNet Bottleneck残差块中的3 ×3卷积层替换为Scale splitting层,在Scale splitting层中进行多尺度划分和分尺度的 3×3卷积操作,然后将每个尺度的结果叠加,经BN层和Relu激活后输入到一个1×1的卷积层中,如图2所示。残差块内部每次卷积之后都接入一个BN层,中间采用Relu激活函数连接。

1.2.7 选用全局平均池化层 传统的CNN网络最后一层都是全连接层(如AlexNet),这样会导致网络参数非常多,容易引起过拟合,Lin等[17]研究证明,采用全局平均池化(Global pooling average,GPA)代替原来的全连接层,可以大大减小网络参数。全局平均池化可以通过加强特征图与类别的一致性简化卷积结构,还可以对空间信息进行求和,对输入的空间变换更具备鲁棒性,因此本文网络在最后一层选用了GPA层。

网络最后再接入一个全连接层作为分类器,最终实现对输入的水稻害虫图像进行识别和分类。

1.3 数据集的构建

1.3.1 数据集的采集 本文利用现有数据集结合全网检索的方式进行图像数据采集,最后人工分拣采集到的数据,形成了包含22类常见的水稻害虫且拥有6 385张原始图片的水稻害虫数据集RicePests22。

Wu等[18]构建了IP102农业害虫数据集,但是水稻害虫的种类较少,而且图像内容复杂,包含了各龄幼虫、成虫以及虫害为害状,且夹杂了一些不相关的甚至错误的图像,图像品质参差不齐;此外,IP102数据集仅收集了14种水稻害虫,种类较少。为了保证数据集的准确性和代表性,本文做了以下工作:1)对IP102数据集的内容进行优化,通过查阅《中国生物志库》[19]常见水稻害虫形态特征,剔除不相关的图片以及各龄幼虫、卵、蛹和虫害为害状的图片,保留成虫图像,人工分拣剔除错误分类的图片;2)使用常见水稻害虫的拉丁名全网检索害虫高清图像,保留每一类的前500张图片,再根据害虫特征人工分拣,剔除无关图像,保留成虫图像。扩充了IP102原有的14类水稻害虫的图片数量,并在原来的基础上补充了8类害虫,使种类扩充到22类。最终形成了包含如图4所示的22类水稻害虫的图像数据集RicePests22。

图4 数据集RicePests22中部分害虫Fig.4 Partial pests in dataset RicePests22

1.3.2 数据预处理数据集中6 385张图片的数量仍有不足,且类间样本图片数量差异较大,图像尺寸和质量也参差不齐,训练样本分布的不均衡会影响模型的泛化能力,图像质量也会影响模型的训练效果。为了提升数据集的可训练价值,本文对数据集进行了预处理和增强扩充(图5)。

1)图像尺寸标准化(图5b):由于图像大小尺寸不一,为了更好地适应深度学习网络,提取有效特征,本文采用近邻取样插值的方法,将图像统一变换为224×224大小。

2)Z-Score标准化:分别计算所有样本中RGB通道的平均值和偏差值,对样本图片进行标准化处理,得到标准化图片,使得预处理的数据被限定成均值为0、方差为1的分布,从而消除奇异样本数据导致的不良影响。当训练样本足够多时,训练集和测试集的平均值收敛且相等,这样可以根据单个样本的偏差加强分类特征,提高分类的精度。

3)数据增强扩充(图5c~图5h):为了在原来的基础上扩大样本数量和弱化样本分布不均的影响,本文随机对图像进行水平翻转、垂直翻转、旋转随机角度以及随机改变亮度、对比度和饱和度的处理,将样本图像扩大至原来的10倍。同时,为了弱化数据集内样本分布不均的问题,数据扩充时参考原数据集各类害虫图片数量和样本总体数量的比例,数量多的少扩充,数量少的多扩充,尽量均衡样本分布。

图5 数据预处理与增强扩充Fig.5 Data preprocessing and enhanced enrichment

2 试验验证与结果

2.1 试验环境和参数设置

模型的训练与测试均是在Windows10 64bit操作系统下完成。试验的硬件环境:CPU使用Inter(R)Core(TM)i9-10900X CPU@3.70GHz,RAM 128GB;GPU采用NVIDIA GeForce RTX 3090,显存容量为24 GB;软件环境:Py to rch 1.11.0,CUDA 11.4,Python 3.7,数据集使用自建的包含22类水稻害虫的数据集。

在数据集中随机抽取80%作为训练集,其余20%作为测试集,每轮(次)训练得到的模型均采用测试集验证模型效果,取最佳的模型保存。为了获得更好的训练效果,本文先将网络在ImageNet中进行预训练,再导入预训练参数在RicePests22中训练。综合考虑试验设备的性能和训练效果,将批量大小(Batch size)设置为64,即每批次选取64张图像进行训练与测试,迭代次数(Epoch)设置为100次,损失函数选用交叉熵损失函数,选择随机梯度下降优化算法(Stochastic gradient descent,SGD)优化模型,采用动态更新学习率的训练策略,初始学习率设置为0.000 1,若最近的2次训练准确度没有提升,学习率下调20%,最小的学习率设为0.000 01。

2.2 试验结果与分析

2.2.1 网络模型的性能本文分别对特征维(s)为4、6和8的多尺度深度残差网络进行了训练。由图6可知,s=6时训练的模型准确率最高,平均准确率达到了92.023%;随着训练的进行,损失函数逐步收敛趋于稳定,平均准确率逐步提升并稳定在一个范围内波动,训练的最好结果发生在第69次迭代,损失函数也收敛至接近于0。

图6 模型的损失函数与平均准确率图像Fig.6 Loss and average accuracy Images of this model

为了更好地评估模型的分类效果,本文将每一类的识别准确率与同为50层卷积结构的ResNet50网络进行对比,结果如图7所示。由图7可知,本文网络训练的模型整体准确率和大部分类别的分类准确率都优于ResNet50网络,尤其对ResNet50中表现不佳的白背飞虱和二星蝽有很大的提升。由于本文网络增加了特征提取尺度,可以提取到更多更细粒度化的特征。如白背飞虱和二星蝽这类害虫,其个体独有特征在背部纹路细节,本网络训练的模型拥有更准确的识别效果。但整体上看,不论是ResNet50还是本网络在同属稻飞虱的灰飞虱、白背飞虱、褐飞虱,同属稻螟虫的水稻大螟、水稻二化螟、水稻三化螟,以及同属蝽类的盾蝽、稻绿蝽、二星蝽的识别表现均不是很理想。由于这几类害虫的属内差别较小,外形特征相似度较高,而且害虫普遍具有与周围环境类似的花纹和保护色,神经网络在提取每类害虫独有特征上有欠缺,仍有可提升的空间。但是在属间的识别上两者都取得了很好的效果,像稻秆蝇、稻纵卷叶螟、稻瘿蚊等识别准确率都能达到90%,甚至更高。可见,本网络对解决水稻害虫图像识别的问题具有实用价值。

图7 ResNet50与本文网络_s=6的整体准确率和各种害虫准确率对比图Fig.7 Comparisons of the overall accuracy rates and the accuracy rates of various pests between ResNet50 and this network _s=6

为了更好地评估本网络模型的性能,本文在同一数据集上从识别准确率、训练模型大小、单张图片模型识别时间和训练时间4个方面与其他的经典网络进行了对比,结果如表1所示。由表1可见,准确度最高的是本文网络_s=6(92.023%),相较于同样是50层卷积结构的ResNet50,本网络模型的平均识别准确率提高了1.678个百分点;相较于经典网络AlexNet和VGG16,本文网络的识别准确率更具有明显的优势。

表1 各类网络模型的性能对比Table 1 Performance comparison of various network models

从模型大小上来看,ResNet18最小(42.7MB),VGG16最大(528.0MB);本文网络_s=6处于一个中游水准(134.0 MB),本文网络_s=4(90.7 MB)与ResNet50(90.1MB)模型大小相差不大,但平均识别准确率提升了0.6%。可见,本文网络模型可以在不显著增加模型大小的情况下,提升模型性能;对比s分别为4、6、8时的模型大小发现,Scale参数对模型大小具有较大的影响。

从模型单张图片识别速度来看,相对简单的网络ResNet18最快,识别时间为60.88ms;AlexNet在拥有233.0MB模型大小的情况下仍然有61.81 ms的识别时间,仅次于ResNet18,显然AelxNet模型在识别速度上具有一定的优势。相较于其他模型,本文的网络模型识别速度处于一个中游水准,对比同为50层卷积的ResNet50,识别时间明显延长,表明本文网络模型的识别效率不具备明显优势。

从训练时间上来看,训练时间是与模型复杂程度成正比的,本文的网络模型由于增加了多尺度特征的提取,网络更加复杂,训练时间更长。

从Scale参数引起平均识别准确率的变化来看,增加特征提取尺度数量(s)并不一定会提升模型识别准确率。当s从6增加到8的时候,准确率从92.023%下降到了91.588%。增加尺度数量,网络可以提取到更多的特征,但是这些特征不一定是有效的特征,而无效的特征会影响模型的准确度,尺度数量应该视具体的应用环境而定。对比s分别为4和6的数据来看,适当增加多尺度的特征提取可以在不明显提升训练和识别成本的前提下,有效提升模型的性能。

2.2.2 网络模型的应用随着智慧农业的兴起,很多自动化的农业监测系统被设计出来,如彭旭等[20]和Peng等[21]研究了基于机器视觉的农情自助监测系统。本文提出的网络模型应用到水稻虫情监控系统中可实现对水稻种植区的虫情实时监测,结合大数据可以直观地了解水稻害虫的种群分布、监测虫害的危害程度,便于农业管理部门指导农民规范用药,防止大规模虫害的发生。水稻虫情监测系统如图8所示,其工作逻辑如图9所示。

图8 水稻虫情监控系统Fig.8 Rice insect monitoring system

图9 水稻虫情监控系统工作流程图Fig.9 Work flow diagram of rice insect monitoring system

农民用户或者农业站工作人员可在虫害发生地实地拍摄虫害图像,通过手机端直接上传至水稻虫情监控系统服务器,系统将会对图像自动分类,并提取上传图像的地理位置、经纬度等信息,通过大数据及数据库技术,实现虫情数据的可视化实时监测。农业工作人员可根据虫情数据信息,规范指导农民用药,在减少农药残留的同时,保证水稻产量。同时该系统也能有效地解决水稻病虫害研究数据采集困难、采集成本高的问题,为从事水稻病虫害研究的科研人员提供数据支持。

3 结论

本文设计了一种基于多尺度特征提取的深度残差网络,对复杂自然背景下常见的22种水稻害虫进行了识别,平均识别准确率达到了92.023%,优于传统的AlexNet、ResNet18、ResNet34、ResNet50和VGG16等神经网络,可作为水稻害虫机器视觉检测的模型训练网络。分析多尺度特征提取的深度残差网络对22种水稻害虫识别的表现发现,本网络训练的模型对属间的识别效果较好,对属内不同种的害虫识别仍有提升的空间;同为50层卷积结构的ResNet50网络的识别表现也存在同样的问题。从识别准确率、模型大小、单张图片识别速度以及训练效率等方面的表现来看,本文设计的网络可以在不明显增加训练和识别时间的前提下,有效提升模型的性能。增加特征提取尺度数量并不一定使模型的性能提升,这与特征的过分提取有关,过多无效的特征提取不仅会使模型大小增加、识别效率降低甚至也会带来识别准确率的下降,因此,特征尺度数量需视具体情况而定。

本文网络模型可应用于水稻虫情监控系统,实现水稻害虫的准确分类,但本文网络及系统仍有改进的空间。在网络结构方面:1)后续在图像数据足够的情况下可以借鉴Transformer结构对网络优化,提升网络分类准确度;2)也可以将多尺度特征提取的深度残差网络当做教师网络,使用迁移学习的方法,训练更轻量化的模型,达到更理想的实际应用效果。在水稻虫情监控系统方面:1)可以开发虫情分布实时热点图,方便更直观地观测虫情变化;2)可以扩充叶片病变的监测内容,实现更多种类病虫害的监测;3)可以增加防治建议推送,用户田间上传数据后,系统根据用户上传的病虫害推送防治建议,包括农药品种和用药规范等信息。

猜你喜欢
特征提取残差害虫
基于双向GRU与残差拟合的车辆跟驰建模
蜗牛一觉能睡多久?
冬季果树常见蛀干害虫的防治
基于残差学习的自适应无人机目标跟踪算法
基于递归残差网络的图像超分辨率重建
基于Daubechies(dbN)的飞行器音频特征提取
枣树害虫的无公害防治
Bagging RCSP脑电特征提取算法
农业害虫的冬季防治
平稳自相关过程的残差累积和控制图