基于改进YOLOv4的林业害虫检测

2022-06-29 01:03陈道怀汪杭军
浙江农业学报 2022年6期
关键词:准确度计数害虫

陈道怀, 汪杭军

(1.浙江农林大学 信息工程学院,浙江 杭州 311300; 2.浙江农林大学暨阳学院 工程技术学院,浙江 诸暨 311800)

我国森林虫害种类繁多,成灾发生面积逐年递增,已成为制约我国林业可持续发展的重要因素之一;因此,加强森林虫害监测,及时发现虫害隐患并及时采取措施,避免因虫情大面积爆发而造成重大经济损失,具有十分重要的现实意义。

要进行及时准确的森林虫害监测,害虫的识别与计数是基础。要实现对害虫的准确判别,传统方法主要依靠林业专家的经验,进行人工识别与计数,但这种方法的识别效率较低,识别准确率不稳定,耗时耗力,且难以大面积推广。随着机器学习和图像处理技术的发展,害虫检测有望依靠机器自动完成。早期,研究人员主要是通过机器学习方法获取害虫的图像特征,完成害虫的检测和识别工作。例如,利用害虫周长、不变矩特征、全局特征模型与局部特征模型相结合的特征提取方式、害虫图像HOG(梯度直方图)特征、害虫颜色特征等对害虫进行有效识别。但以上研究均未涉及害虫姿态对识别的影响,对多姿态害虫的识别效果较差。为了克服害虫姿态对识别效果的影响:李文勇等提出了一种基于与形态无关的特征相组合、多类支持向量机分类器的多姿态害虫识别方法;张睿珂等提出了一种蛾类虫体前翅间夹角计算方法,可以确定虫体的三维姿态。在害虫计数方面:田冉等将红外传感器和机器视觉识别技术相融合,可实现对目标害虫的识别计数;肖德琴等提出一种基于结构化随机森林的害虫图像分割算法和利用不规则结构的特征提取算法,可实现对诱捕板上蔬菜害虫的监测计数。相较于人工手段,基于机器视觉的害虫识别与计数技术在识别效率和识别准确率上有了很大的提升。然而,林业病虫害的监测环境往往十分复杂,病虫害特征的提取难度增大,传统机器学习方法在林业病虫害监测上的可靠性较难得到保证。

近年来,深度学习技术得到了快速发展。相较于传统的机器学习方法,在图像处理、特征提取、特征抽象和特征分类等诸多方面,深度学习在效率和准确性上都显示出了更优异的特性。目前,深度学习方法在人机森林虫害远程监测、茶园害虫定位与识别、蝗虫实时监测、作物害虫检测识别等领域都已得到成功应用。但是,这些研究也仍然存在一些不足,例如:李衡霞等提出的基于深度卷积神经网络的油菜虫害检测方法,需首先生成初步候选区域,再利用Fast R-CNN算法实现对候选框的分类和定位,由于使用了两阶段的检测方法,检测速度较慢;李想提出一种改进的深度学习模型,可实现对红脂大小蠹虫情的全自动化监测,但是,此系统针对特定场景而设计,只能对一种类型的害虫进行检测,无法实现对多个类别害虫的检测。

在深度学习算法中,YOLO系列算法是Redmon等提出的一种具有端到端网络结构的全新、高效的多目标检测框架,能够在产生候选目标区域的同时完成分类和位置调整,检测速度得到显著提升。其中,YOLOv4是一种检测速度更快的深度卷积神经网络,已在林业领域得到不少应用。例如:王金鹏等提出了一种基于YOLOv4-LITE的火龙果检测方法,可应用于自然环境之中;蔡舒平等提出改进型的YOLOv4模型,可更好地实现对果园环境下障碍物的检测。

为了实现更高的检测准确度和更快的检测速度,本研究针对林业害虫的特点,对YOLOv4算法进行改进:首先,通过K-means算法对害虫数据集的标注框聚类,获取与害虫尺寸、比例相匹配的基准框,并基于DIoU-NMS算法实现对害虫的计数功能;然后,针对样本中害虫尺寸的差异,改进PANet结构,增加更大层级的尺度特征图,使模型拥有更小的感受野,增强其对小尺寸害虫的检测效果;最后,调整尺度特征图组合,在保证模型准确度的前提下提升模型检测速率,并精简模型。试验结果表明,本文提出的改进模型提升了对林业害虫的综合检测效果。

1 材料与方法

1.1 数据来源

本研究使用的图像数据集由作者课题组研发的智能害虫捕捉装置拍摄图像形成。该装置主要由黑光灯、摄像头、采样盘、LED灯组成(图1)。数据集中包含10个种类的害虫,共计图片1 050张,每张图片包含不同种类的害虫若干。为了更有效地检测害虫,将样本中的害虫尺寸分为小、中、大3类,并随机添加本研究不涉及的未知类害虫,以及害虫掉落时重叠、残肢断翅等各种情况。从图像数据集中随机选择70%样本作为训练集,20%作为验证集,10%作为测试集。将具体涉及的害虫种类及其样本信息整理于表1,其中,样本数量是指数据集中该类害虫数量的总和。

表1 图像数据集中的害虫样本信息

1,黑光灯;2,摄像头;3,采样盘;4,LED灯。

1.2 图像标注

采用LabelImg软件对所有图片中的害虫进行标注(图2),以供训练、测试时使用。具体标注步骤如下:(1)使用LabelImg软件打开需要标注的样本图片;(2)在图片上对每一个害虫创建矩形框,使其大小正好包围害虫;(3)对框选的害虫使用种类进行命名,生成对应的xml文件。

图2 害虫图像标注示意

1.3 虫情监测总体方案

为实现对害虫的自动采集、识别和计数工作,将本研究的总体方案(图3)概述如下:首先,利用智能害虫捕捉装置对诱捕到的害虫进行拍摄,获得图片,并对其进行标注,得到害虫数据集;然后,采用基于YOLOv4的改进模型进行训练,获得具有较好检测效果的害虫检测模型;接着,将模型部署到服务器,对从害虫捕捉装置上实时获得并上传的图片进行识别和计数;最后,通过虫情分析系统对害虫的发生趋势进行预测。

图3 虫情监测总体方案

1.4 YOLOv4目标检测算法

在原YOLO目标检测架构的基础上,YOLOv4算法从数据处理、主干网络、网络训练、激活函数、损失函数等方面进行了优化,使得模型的检测速度和精度都得到很大提升。首先,YOLOv4算法采用CSPDarknet53作为算法的主干网络来提取目标特征,相较于Darknet53,CSPDarknet53使用的CSPnet结构,能够在保持准确性的基础上获得更轻量化的表现;其次,YOLOv4在CSPDarknet53中引入了空间金字塔池化模块(SPP),可以显著改善感受域尺寸,将最重要的上下位特征提取出来,且保持网络处理速度不下降。此外,YOLOv4还使用了路径聚合网络(PANet)来提高信息流在网络中的传递效率。PANet通过上采样方式将高层特征的语义信息传播到低层,然后与低层特征的高分辨率信息相融合,从而提高对小目标物体的检测效果。同时,通过下采样增加从最底层到最上层的信息传输路径,将不同层的特征图融合来做预测。经过特征融合后,系统最终输出3种尺寸的特征层,分别为原输入尺寸的1/8、1/16和1/32。

1.5 YOLOv4改进算法

1.5.1 目标框K-means聚类

YOLOv4模型检测的基础是,在输入图片上生成一系列的anchor box。anchor box是生成预测框的前提,它的选用方式会直接影响模型的性能。YOLOv4模型使用的anchor boxes是在Coco数据集上统计出来的锚框,对于本研究的害虫检测任务来说,部分anchor过大,并不适用。因此,本研究先对害虫数据集聚类,得到合适的anchor大小。K-means算法聚类效果较优,且收敛速度较快。为此,本研究特使用K-means算法对数据集标注框进行聚类,以获取与害虫尺寸、比例相匹配的基准框,并采用平均重叠度(Avg IOU)作为目标聚类分析的度量,对害虫数据集进行聚类分析。Avg IOU的目标函数可表示为

(1)

式(1)中:表示人工标注的目标样本,表示簇的中心框,(,)表示簇的中心框和人工标注框的交并比,表示第个簇的中心中样本的个数,表示样本的总个数,表示簇的个数。

当=1~9时,分别对害虫数据集进行聚类分析,得到与Avg IOU的关系(图4)。可以看出,随着值的增加,曲线变化渐趋平稳。将拐点,即曲线开始变得平稳的位置(=3),视作最佳的anchor boxes数。此时,既可加快损失函数的收敛,又可消除候选框误差。

图4 K-means聚类分析的结果

1.5.2 害虫计数方法

在害虫监测系统中,不仅要识别出害虫的种类,还要统计不同种类害虫的数量。本研究在目标识别的基础上,引入最佳检测框的类别判断,从而实现对不同种类害虫进行计数的目的。

在YOLOv4算法中,对于同一检测对象会产生许多不同大小的预测框。本研究采用DIoU-NMS(Distance-IoU-NMS)算法来获得最佳的检测框,作为害虫的目标边界框。该算法首先将某一类别的预测框按置信度排序,将具有最高分值的框设定为基准框,然后分别与剩余的框作交并比(IoU)计算,删除大于设定阈值的,保留小于阈值的,并依次循环,从而消除冗余重复窗口,找到物体最佳位置。DIoU-NMS除了考虑预测框重叠区域的IoU外,还考虑了2个预测框中心点之间的距离,能够有效解决检测框损失函数收敛慢的问题。DIoU-NMS的计算公式如下:

(2)

式(2)中:为当前类别的置信度得分;表示当前类别中所有被比较的预测框;表示所有预测框中置信度最高的那一个预测框;表示预测的边框和真实的边框之间交集和并集的比值;为DIoU损失函数的惩罚项;表示NMS的阈值,一般取0.5。

当获得最佳检测框后,本研究对检测框所属的类别进行判断,当检测框的类别属于数据集中的某一种时,便将该类害虫加一。遍历过所有的检测框后,即可得到图像中各类害虫的数量和所有害虫的总数。

1.5.3 网络结构优化

YOLOv4原模型分别采用32倍、16倍和8倍下采样的特征图来检测图像中的大、中、小3类目标。然而,这在本研究中检测小个体的害虫时表现并不出色。为了提升对小个体害虫的检测准确率,获得更小的感受野,本研究在YOLOv4模型的基础上,增加了4倍下采样的层级特征图,以提升对害虫的检测效果。

在PANet网络中,首先通过上采样方式将52×52特征图的语义信息传播到104×104层,并与底层特征融合,以获取更多的细节信息,提高对小个体害虫的检测效果;然后通过下采样加强特征,同时输出新增的104×104层特征检测图。

改进后的YOLOv4模型如图5所示。

MISH和LeakyRelu为激活函数。

在新增层级特征图后,改进模型的复杂度相比于传统YOLOv4模型明显增加。在卷积神经网络中,网络越深,得到的特征图的神经元感受野越大,也就是说,每个神经元蕴含更为全局、语义层次高的特征,但是局部特征与细节特征会出现丢失。

为了减少模型复杂度和对比新增层级特征图对于小目标的检测效果,对模型采用不同尺度的特征图组合进行训练。其中,13×13特征图用来检测大目标,26×26特征图用来检测中目标,52×52特征图用来检测小目标,新增104×104特征图用来检测更小目标。根据具体模型特征图组合,将改进模型分为Improved YOLOv4-1、Improved YOLOv4-2、Improved YOLOv4-3、Improved YOLOv4-4。将上述模型的尺度特征图结构整理于表2。

表2 各模型结构对比

2 结果与分析

本研究所使用的平台为Windows 10操作系统,CPU为AMD R7 3700X,GPU为NVIDIA GeForce GTX 1070,内存16 G,并使用CUDA10加速框架对YOLOv3、YOLOv4和本研究提出的改进YOLOv4模型进行训练。初始学习率设置为0.001,最大迭代次数为20 000,选择step模式更新学习率,在训练迭代次数达到16 000和18 000时,分别将学习率降低至初始学习率的10%和1%。

采用以下指标对各个模型的性能表现进行对比和评估,涉及准确率、模型复杂程度、计算量等因素,具体包括:(1)MAP(均值平均精度),即所有类别平均精度的平均值;(2)FPS(每秒处理帧数),即单位时间(1s)可以处理的图片数量,其值越高,说明模型的检测速度越快;(3)FLOPs(浮点运算数),衡量神经网络中前向传播的运算次数,可以理解为计算量,其值越小,说明模型复杂度越低;(4)MP(模型参数量),衡量神经网络中所包含的参数的数量,其值越小,模型体积越小,越容易部署。

表3给出了各个模型不同指标的表现情况。可以看出:加入了104×104特征图的4种改进模型的精度均比YOLOv4原模型提高,其中,表现最好的Improved YOLOv4-4模型在精度上(MAP)较YOLOv4提升1.6百分点,比YOLOv3提升4.5百分点,且在计算速度(FPS)上比YOLOv4模型提升11.1%,在模型复杂度(FLOPs)上较YOLOv4模型减降低11.9%,在模型参数量(MP)上比YOLOv4模型减少了33.2%。由此可见,去除YOLOv4模型中原有的3个特征图后,对于害虫的识别效果不仅没有负向影响,反而有效解决了卷积层加深所带来的计算量增加、推理速度变缓、细节特征消失等问题。由于采用了104×104特征图,Improved YOLOv4-4模型的参数量减少,复杂程度降低,在综合性能上得到较大提升,为模型后续的部署、应用带来了更多便利。

表3 各模型结果对比

Improved YOLOv4-4模型在训练性能上同样也有很好的表现(图6),可较YOLOv4算法在更少的迭代次数下快速收敛,且整体的MAP得到了提升。

MAP,均值平均精度。

为了验证新增的层级特征图对于小个体害虫的具体检测效果,对YOLOv3、YOLOv4、Improved YOLOv4-4模型下每一类害虫的识别准确度和整体识别准确度进行对比(表4),将给定的10类害虫之外的未知害虫统一编号为11。

表4 各模型识别准确度对比

整体上,尺寸小的害虫识别准确度较低。这是因为较小个体的害虫较易受到重叠、光照、残肢等因素的影响而不易识别。对比不同模型,Improved YOLOv4-4模型对于尺寸为中和大的害虫的识别准确度与另2种模型相差不大,但对于小尺寸害虫的平均识别准确度(95.33%)比YOLOv4模型(93.05%)上升了2.28百分点。对于第11类害虫的识别准确度,Improved YOLOv4-4模型比YOLOv4模型的识别准确度提升了10.0百分点。这主要是因为,该类样本的数量并不是很多,而且存在尺寸较小的害虫,这样一来,检测出的害虫个数上较小的差别也会带来较大的识别准确度差距。同时,上述结果也充分反映了新增的层级特征图在小尺寸害虫检测中的优势。

为了验证基于DIoU-NMS算法实现的害虫计数方法及其在改进模型中的计数效果,对各模型的计数效果进行对比分析(表5)。考虑到简单害虫图像对计数效果的影响不大,特选取害虫背景较为复杂(如重叠、阴影较为严重)的图片进行检测计数对比。可以看出,Improved YOLOv4-4模型在对复杂背景下的害虫计数时效果更优,且突出表现在以下2种情况(图7):(1)识别到某些重叠状态下和在阴影处的害虫,改善漏检等情况;(2)对于小尺寸害虫的识别更为准确,如YOLOv4将美苔蛾误检测为黄土苔蛾,而改进模型能够正确识别。

表5 各模型的计数效果对比

图7 识别结果对比

3 结论

在森林病虫害监测中,如何对害虫进行有效、准确的检测一直是人们研究的主要目标。现有研究大多采用深度学习方法进行检测,但这些研究下的模型较复杂,难以快速部署,且所针对的害虫种类、状态比较单一,当存在重叠、残翅、断翅等情况时表现并不佳。为此,本研究在YOLOv4算法的基础上进行优化,在保证模型准确度的前提下,减小了模型的复杂度和计算量,提升了模型对复杂背景下害虫和小个体害虫的检测效果。

猜你喜欢
准确度计数害虫
影响重力式自动装料衡器准确度的因素分析
两个基本计数原理A卷
害虫的克星
蜗牛一觉能睡多久?
寓言二则
古代的人们是如何计数的?
论提高装备故障预测准确度的方法途径
Word中“邮件合并”功能及应用
对GB 17167实施过程中衡器准确度要求问题的探讨
把粮食保管好/一个消灭米象的办法