基于目标检测技术的农业有害昆虫识别方法研究

2022-10-29 12:22郭胜娟
农业开发与装备 2022年9期
关键词:置信度卷积昆虫

郭胜娟,刘 峰

(1.武汉城市职业学院初教学院,湖北武汉 430070;2.武汉大学计算机学院,湖北武汉 430072)

0 引言

昆虫是农作物生产的主要威胁,可以感染、破坏并降低农业产量。对有害昆虫的识别并对其进行及早防治有助于提高农业种植和经济林业的产值。准确、快速地从监控视频、远程协同以及无人机巡查图片中检测有害昆虫将有助于实现农林害虫的早期防治[1]。由于图像中昆虫的分辨率低,以及遮挡、噪声和特征缺乏等干扰因素,处理大型数据集中微小物体的检测具有一定的挑战性。近年来,如何使用人工智能技术快速、准确地从复杂背景图像中识别有害昆虫成为研究的热门问题,对农林生产、环境保护以及自然虫害防治都具有非常重要的研究价值[2,3]。因此,本文以日本脊吉丁、杨小舟蛾、柳兰叶甲和刺蛾四种有害昆虫为例,探讨基于YOLOV5的图像目标检测技术识别特定区域常见有限种类的有害昆虫的可能性,以便于为农业生产提供科学依据。

1 昆虫形态与危害性分析

日本脊吉丁(Chalcophora japonica)为鞘翅目吉丁虫科昆虫。体长2.9~3.7 cm,体型狭长而扁,末端尖,体色黑褐色,前胸、翅鞘有纵向灰白色条状斑纹,头部黑色,两复眼内侧及下缘有粉红色条纹。主要分布在福建、江西、湖南、重庆、云南等地。幼虫主要寄生在树干韧皮部、形成层和木质部浅层,蛀食树木导致树皮开裂与脱落,使得树势衰弱甚至死亡。

杨小舟蛾(Micromelalopha sieversi Staudinger)为舟蛾科小舟蛾属昆虫,体长1.1~1.4 cm,展翅2.4~2.6 cm[4]。体色有黄褐、红褐和暗褐等多种颜色,变化多样,具3条灰白横线的前翅。在我国广泛分布于北京、湖北、四川等地。虫卵半球形,黄绿色,呈块状排列于页面。幼虫主要寄居于经济作物和杨柳等景观树种,啃食叶表,使叶片呈箩筛状。多发于7、8月份高温多雨天气。

柳兰叶甲(Plagiodera versicolora)为鞘翅目叶甲科昆虫[5]。体长4 mm左右,全体有金属光泽,头部横宽,具有褐色触角,前胸背板光滑,前缘呈弧形凹入。广泛分布在全国各地。成虫和幼虫主要寄居于葡萄、柳、桃等叶片,啃食嫩叶,导致寄主叶片穿孔或者孔洞,使被害叶片呈纱窗网纹状。

刺蛾(Limacodidae)鳞翅目刺蛾科昆虫[6]。成虫体长1.5~1.6 cm,翅展3.6~4.0 cm,体绿色,胸背中央有1条棕色纵线,腹部灰黄色,翅背面灰绿色;复眼黑褐色。幼虫体长2.5~2.8 cm,初黄色,后为黄绿至绿色。前胸盾上有1对黑斑,亚背线部位有10对刺突,气门下方有8对刺突。分布地域广泛,几乎遍及全国。刺蛾是杂食性食叶害虫,以苹果、梨、枣等果树以及月季、杨、柳等多种园林植物的叶片为食,危害性大,危害范围广。刺蛾幼虫常啃食叶下表皮及叶肉,成虫啃食树全叶,形成圆形透明小斑块。

2 有害昆虫识别方法

基于图像特征提取并对图像分类的算法早期已经被应用于农业昆虫的识别。竺乐庆等人搜集了10种害虫579个样本,采用局部平均颜色特征和支持向量机对样本进行分类[7]。Fina等人引入了K均值聚类算法对作物害虫识别进行识别。张红涛等人收集了270个训练样本,设计了一个田间害虫识别系统[8]。Ebrahimi等人使用微分核函数SVM方法来对小样本数据集的昆虫进行分类[9]。

在人工智能领域,深度学习算法具有很强的学习能力,广泛应用在图像特征提取方面。自卷积神经网络提出以来,出现ResNet、GoogleNet和UNet等优秀的神经网络。它们可以自动学习复杂图像的形态、颜色和纹理特征,解决了传统手工设计的特征提取器局限性和主观性,从而广泛应用复杂图像检测、分割、分类和识别领域。

2018年,Denan Xia等人提出了一种基于卷积神经网络的多层分类器来解决昆虫识别问题[10]。该方法首先采用16层卷积网络VGG-19模型用于提取特征,并采用区域生成网络(RPN)定位昆虫。2020年,Fuji Ren等人设计了一种特征重用残差块,将输入信号的特征与残差信号融合,形成特征重用残差网络(FR ResNet),通过对重用残差信息进行学习,提高了图像信息的表示能力[11]。

Abderraouf等人提出了一种改进了YOLOv3网络框架,通过集成自适应特征融合模块,能够快速检测农业害虫[12]。Lei Du等人基于Faster R-CNN,提出了一种称为害虫区域CNN的端到端模型Pest R-CNN,能够对玉米叶片的夜蛾取食痕迹进行快速检测[13]。

3 目标检测算法YOLO v5

有害昆虫的识别本质上是通过视频或者图像的目标检测过程,而Joseph等人提出的YOLO算法广泛应用于目标检测领域[14,15,16,17]。YOLO是一种端到端的网络模型,它将对象检测重新定义为一个回归问题,使用单个卷积神经网络,在一幅图像中定义多个预测框来实现多目标的检测任务。YOLO V5是Ultralytics推出的开源目标检测算法,它支持快速的视频和图像检测,可以实现实时目标检测任务[18]。

3.1 网络结构

YOLO v5整个网络架构由如图1所示的输入部分、主干部分、头部部分和预测部分组成。输入部分主要负责对数据的输入和数据增强,支持锚框的自动计算机制,支持基于马赛克的数据增强机制,支持对图像随机裁剪、排列、缩放等拼接方式。

主干部分主要作用是提取输入图片中的特征信息,以便于头部网络进行特征融合。YOLO v5的主干网络部分由Focus子模块、CBL模块与CSP模块组成。CBL模块由卷积、批量正则化和Leaky relu激活函数组成。Focus模块由多个片段拼接和CBL模块卷积组成。ResUnit单元是两次CBL操作后进行的残差链接运算组成。CSP模块由CBL模块、ResUnit单元运算后,再进行卷积和残差链接的方式拼接,拼接后再采用批量正则化、Leaky relu和CBL操作组成。

颈部部分主要是采用卷积、CSP模块、上采样和拼接操作形成三种不同尺度的预测特征图。该模块借鉴了继承了YOLOV4的优点,多通道特征PANet网络模型来提升预测精度[18]。预测部分主要通过卷积形成三个不同尺度的特征向量,采用全连接层实现目标检测任务。

如图1所示,在YOLO v5中,算法首先将图像转化为608×608像素的三通道RGB图像,然后,将其分割为S×S个网格,如果标注的样本中心落入到某个网格,则该网格负责预测目标对象。因此,每个网格需要预测一个矩形锚框来拟合目标对象的位置,每个待预测的锚框由[w,h,x,y,c]五元组组成,其中锚框长度(w)、宽度(h)、中心点位置坐标x,y值以及预测的置信度(c)可以通过机器学习预测。同时,在这五元组已预测的情况下,还需要预测该框中的物体属于某个类别L的可能性(pL)。若需要预测k个类别,则应保存每个锚框的参数为(5+k)个参数。假设每个中心点预测三个锚框,而预测类别数为80,则每个中心点需要3×(80+5)=255个参数。机器学习时,随机生成这些参数,通过卷积神经网络的迭代,将参数优化到样本标签拟合的位置,从而完成机器学习的过程。YOLO v5采用三个尺度来预测锚框,其推荐尺度分别为76×76、38×38、19×19。

图1 YOLO v5 网络结构图

3.2 网络的改进

为了解决数据集的规模相对较小和类别相对不平衡而导致过拟合问题,本文在YOLO v5的Mosaic 数据增强方式的基础上,将四张图片进行随机裁剪、缩放后,再随机排列拼接形成一张图片,实现丰富数据集的同时,增加了小样本目标,提升网络的训练速度。

此外,本文还采用复制、粘贴和混合技术对数据进行增强。对于一组四个训练图像,首先通过随机选择几张图片对其进行亮度、色调和饱和度分量来应用颜色抖动调整;再通过插入操作将其插入其他图片来产生更多的输入图像;接着采用随机马赛克技术对图像进行处理,然后通过平移、翻转、旋转和缩放等几何变换技术,实现图像融合。

为了提高网络的学习精度,本文在Yolo v5的损失函数基础上,融合了中心点损失函数[18]。设xi为第i个预测框中心点位置,Cyi每个标签的中心点位置。则中心点损失函数的定义如公式1所示。

4 实验分析

4.1 数据集

为了探究日本脊吉丁、杨小舟蛾、柳兰叶甲和刺蛾四种昆虫的人工智能识别机制,本文基于Baidu图像从公开数据集中收集了四种昆虫在不同的生长周期中的图片2 680张,采用数据增强的方式对数据进行四倍增强。对增强后的数据集按照9:1随机划分为训练集和测试集,再对测试集按照8:2随机划分为过程训练集和评估集。

将样本图像的尺寸进行归一化处理,处理后的图像分辨率为608×608。对归一化后的数据采用Labelme软件进行人工标注为JSON格式,通过Python程序将JSON格式转化为VOC格式和YOLO格式。

4.2 实验环境与评估方式

实验的操作系统为Windows 11,主要软件为Python-3.9.7和torch-1.10.2 ;显卡为NVIDIA GeForce RTX 3060,6G显存。

实验主要参数配置为:学习率lr为0.01,动量系数为0.937,批尺寸设置为16,图像输入分辨率为608×608,iou阈值为0.2,Anchor阈值为4.0,训练epoch为400。

为了评估实验识别精度,本实验选用预测准确度、置信度为0.5~0.95的平均精度mAP、混淆矩阵和F1曲线等评价指标来进行评价[19,20]。mAP通常用于衡量目标检测的精度指标;混淆矩阵用于观察模型在各个类别上的表现;F1曲线主要用来观察定模型精度和最佳置信度。

4.3 实验结果

在昆虫检测过程中,深度神经网络提取图像中可能存在的昆虫,并标注昆虫的类别以及概率即置信度。为了验证算法的性能,本文从测试集中随机选择4张样本,并根据标签标注锚框[图2(上图)]与算法预测结果[图2(下图)]进行对比。从图中可见,算法能完整的预测四种昆虫,其中脊吉丁、叶甲的置信度达到1.0,杨小舟蛾和刺蛾的置信度达到0.8。对比预测结果的刺蛾,由于标签样本并没有完全标注所有的刺蛾,算法通过推理,找到了所有的刺蛾,并将所有刺蛾进行归并,这说明该算法具有一定的迁移能力,能够找到比标签更合乎实际情况的昆虫。

图2 四种昆虫样本标签(上图)与预测结果对比图(下图)

4.4 准确性分析

为了验证算法的准确性,本文采用独立的测试集对算法进行测试,结果如表1所示。测试表明四种昆虫的平均准确率达到96.7%,平均召回率达到97%,置信度在0.5~0.95区间的平均精度mAP值为79.1%。从该预测结果可以开出,所有昆虫的召回率都大于92%,其中脊吉丁召回率可以达到100%,而刺蛾的召回率可以达到92.3%。但是随着置信度水平的提升,所有四种昆虫的准确率都有不同程度的下降。

表1 四种昆虫的测试结果

在独立测试集上,四种昆虫的混淆矩阵和F1曲线如图3所示。从混淆矩阵可以看出,脊吉丁的准确率和召回率都可以达到100%,但是杨小舟蛾和刺蛾的准确率较低,达到92%,很容易将部分背景图像认为是杨小舟蛾和刺蛾。从F1曲线可以看出,置信度在10%~85%范围都能有效地区分四种昆虫。

图3 测试集的混淆矩阵和F1曲线

5 结语

本文收集公开的日本脊吉丁、杨小舟蛾、柳兰叶甲和刺蛾四种昆虫,通过labelme进行人工标注,采用改进的YOLO v5算法对四种昆虫进行检测。通过对比实验和数值分析,证明可以采用YOLO v5快速检测四种有害昆虫,为农业和林业生产的害虫早期发现提供了科学依据。

猜你喜欢
置信度卷积昆虫
基于数据置信度衰减的多传感器区间估计融合方法
基于全卷积神经网络的猪背膘厚快速准确测定
一种基于定位置信度预测的二阶段目标检测方法
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
有趣的无脊椎动物
昆虫产卵跟鸡生蛋一样吗?
校核、验证与确认在红外辐射特性测量中的应用
Smallest Flying Robot 会飞的机器昆虫