基于深度学习的林业害虫检测优化

2022-09-07 15:20:06刘应安业巧林周小亮
液晶与显示 2022年9期
关键词:先验害虫损失

赵 严,刘应安,业巧林,周小亮

(南京林业大学 信息科学技术学院,江苏 南京 210037)

1 引 言

林业害虫泛指危害森林及林产品的昆虫。林业害虫的侵袭或寄生会导致林木生长发育不良,产品质量下降,生态环境恶化。2020年中国生态环境状况显示,全国主要林业有害生物发生面积为1 278.45万公顷,比2019年上升3.4%,虫害发生面积为790.62万公顷[1]。林业害虫检测是虫情监测的关键环节,其方法研究对于林业发展有重要意义。

近年来,深度学习发展迅速,卷积神经网络(Convolutional Neural Network,CNN)[2]凭 借 自动提取特征的优势逐渐替代人工特征提取方法[3-5]。研究者开始将深度学习同昆虫检测相结合。2018年,Z.Liu等人[6]首次将深度学习目标检测模型应用于识别储粮害虫稻象甲和玉米象。结果表明,Inception-ResNet-v2作特征提取网络,Faster R-CNN[7]作检测器,mAP达到85.76%。可是该研究需要额外制作预训练数据集;采用两步预测模型,计算开销大。2020年,J.Liu等人[8]利用图像金字塔改进YOLOv3[9],实现多尺度特征的融合,并在不同图片尺寸下进行番茄病虫害检测。2021年,袁哲明等人[10]提出基于深度学习的轻量化田间昆虫检测模型,以YOLOv3为基础融合深度可分离卷积和联合交并比。2021年,J.W.Chen等人[11]利用多种目标检测方法对3类害虫进行基于移动平台的检测研究,结果表明YOLOv4[12]取得了最高的检测精度。2021年,M.Zha等人[13]提出一种轻量化YOLOv4林业害虫检测方法,该方法以添加CA注意力机制[14]的MobileNetv2作特征提取网络,利用BiFPN和ASFF进行特征融合,在北京林业大学制作的数据集上mAP达到88.93%。

本文以深度学习模型YOLOv4为基础进行林业害虫检测优化研究,无需制作预训练数据集且为端到端单阶段模型,相较于Faster R-CNN等双阶段模型,具备一定的检测实时性。为进一步提高林业害虫检测精度,本文给出优化的林业害虫检测模型Pest-YOLOv4:

(1)为CSPDarknet-53特征提取网络引入ECA-CBAM注意力机制。使网络更多地关注有利于检测的特征信息,在一定程度上缓解特征提取信息丢失问题。

(2)重新组织网络颈部,构成SPP-PANet。融合多重感受野捕获的特征信息,在缓解梯度消失的同时增强特征提取信息的表达能力。

(3)利用Focal Loss思想改进损失函数,缓解小样本检测任务存在的正负样本不平衡问题,加强网络对难区分样本的学习。

此外,采用K-means++算法重新聚类先验框,提高了avg-IoU值。

2 YOLOv4

2.1 YOLOv4模型结构

YOLOv4网络结构分为3个部分:

(1)特征提取网络。相较于YOLOv3的特征提取网络,YOLOv4引入CSP(Cross Stage Partial connections)结 构[15],构 成CSPDarknet-53特征提取网络。

(2)网络颈部。采用SPP[16]模块和PANet[17]。YOLOv4采用优化的SPP模块进行多尺度池化,获取了更丰富的语义信息。PANet在FPN[18]后添加了自底向上融合部分,从而缩短底层和顶层特征之间的信息路径。

(3)网络检测器。沿用YOLOv3的YOLO Head,利用CIoU损失[19]改进边界框回归损失。

2.2 YOLOv4损失函数

YOLOv4损失函数由置信度损失、类别损失和边界框回归损失3个部分构成。3部分及YOLOv4总损失分别如式(1)、(2)、(3)、(6)所示。

式中,λobj、λnoobj和λclass分别为正样本置信度权重、负样本置信度权重和类别损失权重;S2为划分的网格数量;B为先验框数量;Iobjij和Inoobjij用于判断第i网格的第j先验框内样本的正负性,若为正样本则Iobjij和Inoobjij分别为1和0,否则分别为0和1;classes集 合 为 类 别集合;C^ji和Cji分 别 为 第i网格存在正样本的实际置信度和预测置信度;P^i(c)和Pi(c)分别为第i网格类别为c的实际概率和预测概率;IoU为真实框和预测框的交并比;(bgt,wgt,hgt)和(b,w,h)分别为真实框和预测框的中心坐标、宽、高;ρ2(b,bgt)表示b和bgt两点间欧式距离;k为同时覆盖真实框和预测框的最小包围框的对角线长度。

3 Pest-YOLOv4

3.1 K-means++先验框聚类

为了匹配实验数据集样本尺寸,需要重新聚类先验框的宽高比。Pest-YOLOv4采用K-means++算法进行聚类。K-means++相较于K-means而言,采用了使初始聚类中心间的相互距离尽可能远的策略。Pest-YOLOv4结构图如图1所示。算法流程如下:

图1 Pest-YOLOv4结构图Fig.1 Structure of Pest-YOLOv4

输入:集合S,K

(1)从集合S中随机选取一个点作为初始聚类中心Ci;

(2)计算S中每个点x至其最近聚类中心Cx的距离D(x),依据D(x)生成各点成为下一聚类中心的概率P(x)。依据各点P(x)使用加权随机抽样选取一个新的聚类中心Ci;

(3)重复步骤(2),直到找到K个聚类中心;

(4)计算集合S中每个点至K个聚类中心的距离D(x)并将其划入D(x)最小的聚类中心所在簇。重新生成每个簇的聚类中心Ci;

(5)重复步骤(4),直至聚类中心Ci不再变化。输出:K组聚类中心

集合S为林业害虫宽高集合;K为需要生成的先验框数量。距离度量D(x)采用样本间IoU值。距离度量D(x)、聚类中心概率P(x)、重新生成聚类中心Ci的计算公式分别如式(7)、(8)、(9)所示。

式 中,IoU(A,B)为 真 实 框A和 真 实 框B的 交并比。

3.2 ECA-CBAM

为深度学习模型增加注意力机制可使模型更多地关注有利于检测的特征信息,从而提升模型检测精度[20-21]。Pest-YOLOv4提出ECACBAM注意力机制,该注意力机制基于CBAM(Convolutional Block Attention Module)[22]模块和ECA(Efficient Channel Attention)[23]模块实现。

CBAM为卷积块注意力模块,包括通道域(Channel Attention Module,CAM)和空间域(Spatial Attention Module,SAM)两个部分。CAM结构、SAM结构、CBAM连接方式如图2所示。

图2 CBAM结构图Fig.2 Structure of CBAM

CBAM内CAM采用的全连接层被设计为捕捉非线性跨通道交互,涉及降维以控制模型复杂度。降维对通道注意力权重预测产生了负面影响,并且没有必要捕获所有通道之间的依赖关系[23]。ECA模块在不降低维数的通道级全局平均池化后,通过尺寸为k的一维卷积,利用每个通道及其k-1个邻居来捕获局部跨通道交互信息。该方法保证了模型效率,提高了计算效果。ECA模块如图3所示,其中k=3。

图3 ECA模块结构图Fig.3 Structure of ECA

k代表参与一个通道注意力权重预测的相邻通道数。k通过通道维度C的映射自适应地确定,计算公式如式(10)所示:

式 中,|t|odd为 距 离t最 近 的 奇 数;γ和b分 别 为2和1。

ECA模块可有效降低CAM参数量和计算量,并避免CAM降维操作带来的通道注意力权重预测效果损失,其结构如图3所示。Pest-YOLOv4基于ECA模块和CBAM内的SAM部分,构成ECA-CBAM模块,结构如图4所示。

图4 ECA-CBAM模块结构图Fig.4 Structure of ECA-CBAM

ECA-CBAM改进CBAM原 有CAM存在的问题,并保留CBAM串联结合通道注意力模块和空间注意力模块的策略。ECA-CBAM对特征图依次进行通道注意力加权和空间注意力加权,操作步骤如式(11)、(12)所示。

式中,F为ECA-CBAM的输入特征图,Mc(·)为ECA通道注意力权重计算公式,Ms(·)为SAM空间注意力权重计算公式,⊗为元素乘法。

Mc(·)和Ms(·)计 算 方 式 如 式(13)、(14)所示。

式中,σ(·)为Sigmoid激活函数,fa×b(·)为核尺寸a×b的卷积操作,k由式(10)确定,AvgPool(·)为平均值池化操作,MaxPool(·)为最大值池化操作。

在ECA-CBAM与网络结合的过程中,本文分析YOLOv4网络框架,在特征提取网络内添加注意力模块时,合适的位置是在CSP模块后及特征图引入PANet和SPP前。该处的ECA-CBAM可以增强CSP模块提取的特征信息表达能力,提高PANet的特征融合效果,使SPP模块融合的多尺度特征信息向有利于林业害虫检测的方向发展。共计选择3个添加位点,如图1中的②所示。

3.3 SPP-PANet

YOLOv4引入优化后的SPP模块,以小的计算开销为代价,大幅提高了mAP。该模块结构如图5所示。

图5 SPP模块结构图Fig.5 Structure of SPP

特征图输入后并联进入核尺寸为{13,9,5,1}、步长为1的最大值池化,拼接融合,即得到SPP模块的输出。SPP模块利用4个不同尺度的最大值池化进行特征提取并拼接,实现多尺度感受野信息的融合,在显著增加网络感受野的同时分离出重要的上下文特征。

YOLOv4仅对深层特征使用一次SPP模块以丰富特征图信息。此次信息丰富的效果直接作用于25×25的YOLO Head并通过PANet深层特征上采样融合路径间接作用于50×50和100×100的YOLO Head。文献[24]提出利用多SPP模块优化目标检测模型的策略,构建YOLOv4-SPP3模型,在VEDAI小 目标数据集上mAP提高2.3%(mAP50为75.4%),可见该策略具备提高检测效果的能力。但是SPP模块会将原特征图通道数扩增4倍。YOLOv4-SPP3为每个YOLO Head都配置直接作用的SPP模块,共计存在3个SPP模块并且引入额外的卷积操作,极大地增加了模型计算开销。

YOLOv4模 型100×100的YOLO Head距SPP模块位置远、受影响程度小,且其前存在大量卷积操作,为其引入直接作用的SPP模块将极大丰富该处特征图信息并缓解梯度消失现象。在网络第134层增加SPP模块,构成SPP-PANet。此时网络仅存在两个SPP模块并且未额外引入卷积操作,有效控制了网络模型的计算开销。两SPP分别直接作用于25×25和100×100的YOLO Head,并且通过上采样和下采样路径共同间接作用于50×50的YOLO Head。SPP-PANet结构如图1中的③所示。

3.4 Focal Loss优化损失函数

单阶段检测模型为了保证算法的实时性,在整张图片上回归预测物体坐标,较双阶段模型减少了生成目标候选区域的过程。林业害虫检测存在小目标的特点,背景像素居多。在此情况下,大部分检测框位于背景区域,正负样本不平衡问题显著。同时,林业害虫检测存在难区分问题,部分类别的害虫颜色、外观不易区分。Pest-YOLOv4利 用Focal Loss[25]缓解上 述问题。

YOLOv4置信度损失函数和类别损失函数采用二元交叉熵形式构成,如式(1)、式(2)所示。二元交叉熵一般形式如式(15)所示:

Focal Loss在二元交叉熵形式上引入平衡因子α和调制因子γ,可以改善正负样本不均衡问题,同时减少简单样本对网络的改变量,增强网络对复杂样本的学习能力。

仅添加调制因子γ时,其取值大于0。损失函数形式如式(16)所示:

当γ=2时,预测值为0.9的正样本(简单样本)的损失值将降低至原1 100,预测值为0.5的正样本(复杂样本)的损失值将降低至原1 4,实现了增加复杂样本的损失值占比,削弱了简单样本对模型的影响。

仅添加平衡因子α时,其取值范围为0.5~1。损失函数形式如式(17)所示:

当α=0.75时,正样本损失值将降低至原3 4,负样本损失值将降低至原1 4。此时,增加了正样本损失值占比,削弱了负样本对模型的改变量。

同时使用平衡因子α和调制因子γ时,平衡因子α取值0~0.5。损失函数形式如式(18)所示:

此时,调制因子γ已实现对简单负样本影响的削弱,平衡因子α的作用在于保证简单样本的损失值不至于过小。训练中,平衡因子取值0.25,调制因子取值2[26-27]。

改进后的置信度损失、类别损失如式(19)、(20)所示。

式中,α为平衡因子,γ为调制因子,其余符号的解释同式(1)、式(2)。

4 实 验

4.1 数据集

实验采用北京林业大学制作的小蠹科林业害虫数据集[28]。该数据集由室内害虫图像自动采集装置创建。自动采集装置由显示器、诱捕器、拍摄系统构成。采集时用镊子将害虫放入诱捕器的收集器内,模拟野外条件下害虫诱捕环境。利用拍摄系统获取害虫图片,并借助显示器的高清成像捕捉害虫细节,共计获得图片2 183张。其中,1 693张作为训练集,245张作为验证集,245张作为测试集。数据集图片采集情况如图6所示。

图6 北京林业害虫数据集展示Fig.6 Display of BJFU pest data set

数据集共有6类林业害虫,训练集中每类昆虫实例统计结果如表1所示。数据集图片分辨率为1 236×1 236,进行缩放调整至800×800。虫情测报仪利用特殊光谱的光源引诱害虫扑灯,凭借内部远红外线烘干器将虫体烘干。工作人员间隔固定时间通过接虫箱接虫并统计[29]。数据集中图片为收集器内拍摄所得,满足实际处理情况。

表1 训练集昆虫样本统计结果Tab.1 Statistics of insects in the training set

4.2 实验平台和参数

实验运行在Ubuntu 18.04.5 LTS操作系统上,CPU为AMD R9 5900X,GPU为NVIDIA RTX 3060,使用Pytorch深度学习框架,编译环境为cuda 11.0.228,torch 1.90,torchversion 0.10.0,numpy 1.21.1,Python 3.7。实验参数设置见表2。

表2 实验参数设置Tab.2 Experimental parameters setting

4.3 评价指标

为了验证目标检测模型的有效性,本文主要采用查准率(Precision,P)、查全率(Recall,R)、平均准确率(Average Precision,AP)、平均准确率均值(mean Average Precision,mAP)、每秒检测帧数(Frames Per Second,FPS)等评价指标。

查准率用于描述在所有预测为正的样本中预测正确的比例,如式(21)所示。查全率用于描述在所有正例样本中有多少被成功检测出,如式(22)所示。平均准确率指查准率和查全率为坐标轴绘制的P-R曲线围成面积。平均准确率均值指对所有类别的平均准确率取均值。平均准确率和平均准确率均值的计算公式如式(23)所示。

式中,TP表示预测为正、实际为正的样本;FP表示预测为正、实际为负的样本。

式中,TP表示预测为正、实际为正的样本;FN表示预测为负、实际为正的样本。

式中,N表示样本类别数;P(R)为查准率关于查全率的函数。

4.4 实验结果和分析

4.4.1 Kmeans++先验框优化

Pest-YOLOv4使用K-means++算法进行先验框的重新聚类,并采用平均交并比(avg-IoU)评价聚类效果。K-means++算法和K-means算法聚类效果如图7所示。

图7 K-means++和K-means聚类效果图Fig.7 Clustering effects of K-means++and K-means

由图7可得,当聚类中心数为9时,K-means++算法聚类先验框avg-IoU值为82.15%,相较于Kmeans算法的avg-IoU(78.35%)提高了3.8%。此时先验框尺寸为(34,50)、(50,35)、(44,72)、(73,45)、(57,75)、(70,59)、(72,115)、(115,72)、(107,108)。

为了进一步探究聚类获得的先验框有效性,分别采用两种聚类算法生成的先验框进行林业害虫检测,实验结果如表3所示。

表3 先验框优化结果比较Tab.3 Comparison of anchor box optimization

由表3可得,两种聚类方式生成的先验框对检测效果产生了影响,显著区别在于查全率和mAP指标。在不改动YOLOv4算法的情况下,利用K-means++优化先验框提高了YOLOv4模型的检测精度,查全率增加0.5%,mAP值增加0.5%。

4.4.2 Pest-YOLOv4

Pest-YOLOv4和YOLOv4训练损失情况如图8所示。

图8 损失情况图Fig.8 Loss curves

Pest-YOLOv4模 型 在109个Epoch时,总 损失值达到0.045 59,低于0.05。在230个Epoch时网络总损失值趋于稳定。比较Pest-YOLO4和YOLOv4模型收敛曲线可知,Pest-YOLO4收敛速度略快、收敛情况更加平稳。

为了验证所提Pest-YOLOv4对林业害虫检测的有效性和先进性,采用目前目标检测中性能较优的Faster R-CNN、SSD[30]、YOLOv3及YOLOv4进行对比实验。实验结果如表4和图9所示。

图9 5种模型林业害虫检测mAP比较Fig.9 mAP comparison of 5 models for forestry pest detection

表4 5种模型林业害虫检测结果比较Tab.4 Comparison of five models for forestry pest detection

Pest-YOLOv4相较于YOLOv4在查准率、查全率和mAP指标上皆有不同程度的提高,最明显的提高指标为查准率(Precision值67.5%),提高了7.2%。Pest-YOLOv4和Faster R-CNN查全率接近。在查准率和mAP指标上,Pest-YOLOv4分别高出4.5%和0.9%。相较于SSD和YOLOv3,Pest-YOLOv4检测效果改善明显。同时,Pest-YOLOv4具备检测实时性,FPS指标达到33.4,远高于双阶段检测模型Faster R-CNN,并高于SSD模型,同YOLOv3模型FPS接近。

Pest-YOLOv4与YOLOv4对每类林业害虫的检测结果如表5所示。Pest-YOLOv4在多数林业害虫种类上达到很好的检测效果,尤其是Leconte类别(AP值96.2%),但Coleoptera类别的识别效果一般(AP值86.2%)。这两类昆虫情况如图10所示。

表5 Pest-YOLOv4和YOLOv4检测结果Tab.5 Detection results of Pest-YOLOv4 and YOLOv4

由图10可得,Coleoptera类别相较于Leconte类别,尺寸更小、颜色外观更加不易区分。但是Pest-YOLOv4对此类林业害虫检测效果仍有明显提高(AP值提高5.7%),说明Pest-YOLOv4在处理小目标和难区分样本问题上有很大进步。

图10 Leconte和Coleoptera采集 情况Fig.10 Samples of Leconte and Coleoptera

在部分样本密集的测试图片上,Pest-YOLOv4和YOLOv4检测结果如图11所示。

由 图11可得,Pest-YOLOv4和YOLOv4的边界框拟合皆表现良好。对比图11(i-a)与图11(i-b),Pest-YOLOv4检测出的样本置信程度较YOLOv4更 高 且 更 稳 定。图11(i-a)、图11(ii-a)和图11(iii-a)显示YOLOv4对尺寸相对较小的Acuminatus类别林业害虫存在严重漏检,此与表6显示的YOLOv4对该类害虫检测查全率低一致。然而Pest-YOLOv4能够顺利检出该类害虫,未出现严重漏检。图11(iii-a)、图11(iii-b)显示,YOLOv4对位置分布靠近的样本存在漏检现象,然而Pest-YOLOv4仍可检出该情况样本。

图11 部分测试图片上Pest-YOLOv4和YOLOv4效果比较Fig.11 Comparison of Pest-YOLOv4 and YOLOv4 on some test pictures

4.4.3各改进模块对比实验

为探究改进策略对网络检测效果的影响,进行了各改进策略相互组合的检测效果对比实验,实验结果如表6所示。

由 表6可 得,YOLOv4检 测mAP达 到 了86.2%。YOLOv4-A添 加 了ECA-CBAM注意力模块,相较于YOLOv4模型的mAP值增加了2.3%。YOLOv4-B采用SPP-PANet作为网络颈部,mAP值达到87.1%,相较于YOLOv4增加了0.9%,说明SPP-PANet有利于检测效果的提高。YOLOv4-C利用Focal Loss改进损失函数,mAP值达到88.3%,相较于YOLOv4提高了2.1%,说明改进的损失函数可以有效地平衡正负样本比例,提高网络处理复杂样本的能力。YOLOv4-D在YOLOv4-B基础上添加ECA-CBAM注意力模块,mAP值达到89.0%,相较于YOLOv4增加了2.8%,相较于YOLOv4-B增加了1.9%,其表明ECA-CBAM和SPP-PANet共同使用可明显提高网络模型的检测效果。Pest-YOLOv4在YOLOv4-D的基础上利用Focal Loss改进损失函数,获得了最高的mAP值,达到90.4%,相较于YOLOv4提高4.2%,说明Pest-YOLOv4可以明显提高YOLOv4模型处理林业害虫检测任务的能力,对林业害虫虫情监测产生助益。

表6 各改进策略的检测效果Tab.6 Detection effects of various improvement strategies

5 结 论

林业害虫检测存在识别难度高、识别精度低的问题。本文进行林业害虫检测优化研究,提出了基于深度学习模型YOLOv4优化的Pest-YOLOv4网络模型。该模型在K-means++聚类先验框的基础上引入ECA-CBAM注意力机制,重新组织网络颈部构成SPP-PANet,利用Focal Loss改进损失函数,在1 693张含有多种林业害虫的图片上对模型进行训练。结果表明,Pest-YOLOv4在保证检测实时性的前提下,对多种林业害虫具有良好的检测能力,mAP值达到90.4%,相较于YOLOv4提高了4.2%。

猜你喜欢
先验害虫损失
少问一句,损失千金
蜗牛一觉能睡多久?
好孩子画报(2021年9期)2021-09-26 12:26:31
胖胖损失了多少元
冬季果树常见蛀干害虫的防治
今日农业(2020年23期)2020-12-15 03:48:26
基于无噪图像块先验的MRI低秩分解去噪算法研究
玉米抽穗前倒伏怎么办?怎么减少损失?
今日农业(2019年15期)2019-01-03 12:11:33
枣树害虫的无公害防治
现代园艺(2017年21期)2018-01-03 06:42:15
基于自适应块组割先验的噪声图像超分辨率重建
自动化学报(2017年5期)2017-05-14 06:20:44
农业害虫的冬季防治
现代农业(2016年5期)2016-02-28 18:42:39
基于平滑先验法的被动声信号趋势项消除