基于YOLOv5的林业有害生物检测与识别

2022-09-25 02:38孙丽萍谭少亨周宏威邹青池
森林工程 2022年5期
关键词:害虫卷积林业

孙丽萍,谭少亨,周宏威*,邹青池

(1.东北林业大学 机电工程学院,哈尔滨 150040;2.辽宁省天然林保护中心,沈阳 110036)

0 引言

国内外学者对于深度学习方法在农业和林业害虫检测与识别方面均有大量研究。孙鹏等[11]提出了一种基于注意力的卷积神经网络用于大豆害虫识别,将注意力机制与卷积神经网络相结合,极大地增强了模型的特征提取能力。佘颢等[12]对SSD模型进行了改进,将SSD原来的多尺度特征映射替换为特征金字塔,丰富了模型特征,提高了小目标检测性能与归一化程度。张博等[13]将空间金字塔池化与改进的YOLOv3网络相结合,提出一种农作物害虫种类识别算法,改进的YOLOv3利用采样和卷积操作相结合实现反卷积,有效地提高了模型的检测和泛化能力。杨国国等[14]结合图像的显著性分析,通过对整幅图像进行颜色衰减加速计算,得出每个超区域的显著性值,结合超像素区域之间的空间影响,进而给出害虫目标的潜在区域利用优化后的卷积神经网络进行检测。陈娟等[15]在实际环境中构建了园林害虫的数据集,通过富边缘检测算法获得了更精细的害虫图像,以残差网络为主体,通过改进残差块和共轭算法对网络进行优化。Jiao等[16]提出了一种用于检测24种害虫的无锚区域卷积神经网络(AF-RCNN):首先,设计特征融合模块,从害虫信息中提取有效特征,然后确定一种基于融合特征图的无锚区域建议网络(AFRPN),来获取可能的虫害位置,最后,将无锚区域卷积神经网络(AF-RCNN)和Faster R-CNN合并为一个网络,以解决小目标害虫的识别问题。Liu等[17]构建了一个新的害虫数据集,收集了80 000多幅图像,并提出了一种基于区域的端到端PestNet网络,用于对多种类型的害虫进行大规模检测和分类,主要分为3部分:①卷积神经网络,用于结合通道空间注意的特征提取与增强;②区域建议网络,用于从特征图中获取模型的潜在输出; ③位置敏感计分图替换模型的全连接层。Li等[18]提出了一种基于深度卷积神经网络的害虫检测和识别方法;通过粗网和细网设计,对不同种群分布下的小目标害虫进行识别和计数。梁万杰等[19]提出了一种基于卷积神经网络的研究方法,设计了一个10层的卷积神经网络模型,用来提取图像的特征,对水稻二化螟虫进行识别。Liu等[20]构建了一个真实环境下的番茄病虫害数据集,提出了一种改进的YOLOv3算法来检测番茄病虫害,改进后的YOLOv3网络利用特征金字塔提高了小目标的检测精度,对番茄虫害数据上包围框的维度进行聚类,为模型提供全局先验位置信息,提高了模型的训练速度;然后通过多尺度训练,证明模型可以适应不同分辨率的图像,提高了模型的泛化能力。Sun等[21]提出了一种深度学习检测方法,利用先进的RetinaNet检测模型,在信息素诱捕器中直接识别和计数成年红松树脂甲虫(RTB),采用k-means锚点优化和残差分类子网,缩小了探测器的尺寸。

计算机视觉技术在林业有害生物的检测与识别方面应用广泛,对不同的害虫进行检测与识别。有害生物检测与识别存在3个难点:①不同种类的害虫有相似之处,如图1所示;②同种害虫具有不同的姿态,如图2所示;③在多只害虫的情况下,图像中通常会出现重叠害虫,如图3所示。深度学习方法在实现林业有害生物的检测与识别方面有着极大的优势。

图1 不同种类的相似害虫

图2 同种害虫的不同姿态

图3 重叠的害虫

YOLO算法是深度学习中的一种新兴的目标检测算法,该算法由Redmon等[22]提出,通过一个网络同时实现了目标检测的分类和定位,YOLO算法在目标检测中得到了广泛的应用。目前,YOLO算法经历了从YOLOv1到YOLOv5的发展,其中YOLOv5效果最优[22-24]。YOLOv5于2020年推出,具有体积小、速度快和精度高的优点,在生态成熟的PyTorch中实现。R-CNN目标检测算法可以有效地改善图像中待检测目标的问题,但是R-CNN的算法模型比YOLOv5更复杂,计算量更大。因此,选取最新的YOLOv5目标检测算法对林业有害生物数据集进行检测与识别。

1 YOLOv5模型

YOLOv5是YOLO算法中最新的目标检测算法,分为4种权重,分别为YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x,其中YOLOv5s的体积最小。本文选择YOLOv5s权重,由输入、骨干网络、颈部网络和预测4个部分组成。网络结构如图4所示。

图4 YOLOv5网络结构

1.1 输入

在输入端,YOLOv5借鉴了CutMix方法,利用马赛克数据增强,有效地提高了对小目标的检测与识别。添加自适应缩放处理,将图像缩放到统一大小,然后发送到网络中学习,增强网络数据处理能力。

1.2 骨干网络

骨干网络包括CSP网络和Focus结构等。Focus结构包含4个切片操作和一个32个卷积核的卷积,将原来的608×608×3图像转化为304×304×12的特征图。CSP网络进行局部跨层融合,利用不同层的特征信息获得更丰富的特征图。

1.3 颈部网络

颈部网络部分同时包含PANet和SPP。PANet充分整合不同层的图像特征,将不同CSP网络的顶部特征信息和输出特征按照自上而下的顺序进行聚合,然后将浅层特征从底向上进行聚合。SPP使用4个不同大小的核进行最大池化,然后进行张量拼接。

在手表式血压计的基础上提供一种通过手机摄像头以及闪光灯测量心率的方式。该模块使用基于小波变换的带通滤波器及快速傅里叶变换(FFT)技术,通过手机自带摄像头以及闪光灯实现,在食指指腹轻贴摄像头时,通过捕捉毛细血管的搏动,对血液流变以及毛细血管蠕动的影像分析,获得其心率值(如图5所示)。

1.4 预测

预测部分包含GIOU_Loss损失函数和非最大值抑制。YOLOv5s的损失函数使用GIOU_Loss,解决了IOU_Loss无法处理2个包围框的情况。几何关系如图5所示。假设预测框(Pred)与真实框(Re)的最小矩形包围框是C, 预测框和真实框的并集为N, 预测盒框与真实框的交集为M,交集与并集之比为IOU,如公式(1)所示。

图5 几何关系

(1)

D是C和N的差集,如公式(2)所示。

D=|C-N|。

(2)

GIOU是IOU减去D与C的比值,如公式(3)所示。

(3)

GIOU_LOSS的计算如公式(4)所示,其中GIOU_LOSS为交并比的损失函数。

(4)

由于滑动窗口,同一目标可能有不止一个检测框。YOLOv5使用非最大值抑制(Non-Maximum Suppression,NMS)选择检测框,使用DIOU_NMS,删除多余的检测框,保留最佳检测框。DIOU_NMS可以提高重叠目标和遮挡目标的检测精度。

2 实验结果与分析

2.1 害虫分类推理模型

该模型的框架如图6所示,分为2部分:训练阶段和测试阶段。在训练阶段,将训练集输入模型进行训练。在测试阶段,模型完成对输入图像的害虫检测和分类。该模型对美国白蛾、松墨天牛、星天牛、麻皮蝽、霜天蛾、人纹污灯蛾、柳蓝叶甲、草履蚧和桑天牛这9个类别的预测得分进行处理,然后将预测的害虫种类和得分绘制在输出图像上。

图6 病虫害识别框架

2.2 数据集

构建了一个林业有害生物数据集。在Google、Naver 和 FreshEye 等搜索引擎收集了约2 668张害虫照片,包括美国白蛾、松墨天牛、星天牛、麻皮蝽、霜天蛾、人纹污灯蛾、柳蓝叶甲、草履蚧和桑天牛9种林业害虫,9种林业害虫图像如图7所示。随后建立样本库,为获取的害虫图像筛选和标记类别,以避免数据的重复和错误,原始数据集涵盖害虫目标的不同拍摄视角。通过翻转、旋转、裁剪、变形、缩放、调整亮度和添加噪声等图像增强过程,最终制成包含8 389张图片的数据集。在此数据集中,利用标记工具labelimg对图片中的林业害虫进行了标记:首先从数据集图片中利用矩形框框选出相应的害虫目标;然后将框选出的害虫标记类别;再将标记后的标签存为txt格式的标签文件;最后将标签完成的数据集按照8∶2的比例划分为训练集和测试集。

图7 9种害虫图像

2.3 评价指标

本实验使用精确度(Precision)、召回率(Recall)和均值平均精度(mean Average Precision,mAP)作为评价指标。检测结果为真正例(TP)、假正例(FP)、真负例(TN)和假负例(FN)4种。定义见表1。

表1 不同样本的定义

精确度(Precision,公式中用P表示)是指预测正确的正样本数量与所有预测为正样本的样本数量之比,如公式(5)所示。

(5)

召回率(Recall,公式中用R表示)是指预测正确的正样本数量与检测正确的样本数量之比,计算如公式(6)所示。

(6)

平均精度(Average Precision, AP,公式中用AP表示)为P和R围合的曲线面积,均值平均精度(Mean Average Precision, mAP,公式中用mAP表示)为各类别AP的平均值,计算如公式(7)所示。

(7)

式中:G为虫害类别的数量。

2.4 YOLOv5算法试验与分析

对本文YOLOv5s算法模型进行训练,训练后的Precision、Recall和mAP如图8所示。

图8 训练结果

由图8可以看出,前100 epochs,模型的Precision、Recall和mAP上升较快,在训练200 epochs后已经达到相当高的精度,训练300 epochs后接近最优值,可达到准确识别林业有害生物的效果。

实验结果如图9所示。

由图9可以看出,该模型能够从检测结果中正确地检测和识别带有物体遮挡、重叠和模糊的害虫图像。其中正常害虫图像的预测得分达到了0.9以上,被物体遮挡、互相遮挡、模糊的害虫图像也能达到很高的识别精度。

图9 测试结果

2.5 不同算法性能比较

本实验采用Pytorch框架,模型在GeForce GTX 1080ti(显存12G)显卡, CUDA 10.2实验环境下进行训练。3种算法的训练参数设置见表2。

表2 各算法参数设置

对本文提出的YOLOv5s算法和YOLOv3、Faster-RCNN算法进行测试集的检测和识别,得到不同模型的指标,如图10所示。

图10 不同算法的准确率、召回率和均值平均精度

从图10可以看出,本文YOLOv5s算法的Precision达到了0.973,Recall达到了0.929,mAP达到了0.942。与YOLOv3和Faster-RCNN相比,具有更高的Precision、Recall和mAP,该模型相比其他算法的识别精度更高,实时性好,鲁棒性好,性能也优于其他算法,适合作为实现林业有害生物检测与识别的算法。

3 结论

本研究提出了一种林业有害生物检测与识别方法,基于YOLOv5算法在目标检测方面的强大功能,选择YOLOv5算法中4种模型中体积最小的YOLOv5s模型, 实现了林业有害生物图像检测与识别。

试验结果表明,该模型能够准确地检测和识别被物体遮挡的、重叠和模糊的害虫图像。与YOLOv3和Faster-RCNN算法相比,本文提出的林业有害生物识别模型具有良好的检测识别效果和明显的性能优势。

为了达到推广应用的效果,今后还需要开展以下方面的研究: ①增加林业害虫分类的研究;②进一步扩充数据,增加病虫害的种类和数量;③进一步优化模型,提高模型训练效果和识别水平; ④研究模型对害虫不同生育阶段的识别能力,从而提高模型的泛化能力和水平。

猜你喜欢
害虫卷积林业
欢迎订阅《林业科学研究》
基于3D-Winograd的快速卷积算法设计及FPGA实现
蜗牛一觉能睡多久?
《林业科学》征稿简则
《林业科技》征稿简则
冬季果树常见蛀干害虫的防治
卷积神经网络的分析与设计
从滤波器理解卷积
land produces
基于傅里叶域卷积表示的目标跟踪算法