农业灯诱害虫图像识别的模型算法研究

2024-12-31 00:00:00邱钊宏郑康诚李嘉明董润立王建斌
河南科技 2024年10期
关键词:目标检测深度学习

摘 要:【目的】采用Faster R-CNN算法对样本数量少且分布不均衡的28类农田害虫数据集进行研究。【方法】首先,分析不同输入图像尺寸对训练模型性能的影响,确定了输入图像尺寸5 472×3 648的25%作为优选;其次,为了避免部分类别害虫因数据过少而导致的过拟合问题,采用Mixup和mosaic方法增加数据多样性,并使用迁移学习提高模型性能。【结果】这些方法可以有效地提高模型的泛化性和鲁棒性,除了9与10这两类害虫相似度非常高导致AP值较低外,其余害虫识别的AP平均值为92.07%。【结论】通过测试数据检验模型的泛化性,发现模型表现良好但仍有改进空间。

关键词:害虫识别;数据增强;Faster R-CNN;深度学习;目标检测

中图分类号:TP183" " "文献标志码:A" " "文章编号:1003-5168(2024)10-0027-05

DOI:10.19968/j.cnki.hnkj.1003-5168.2024.10.005

Research on Insect Identification Model Algorithm for Agricultural Lamp-baiting Images

QIU Zhaohong ZHENG Kangcheng LI Jiaming DONG Runli WANG Jianbin

(School of Mathematics and Statistics, Zhaoqing University, Zhaoqing 526061, China)

Abstract: [Purposes] This study aims to identify 28 types of farmland pests with small samples and unbalanced datasets using Faster R-CNN algorithm. [Methods] Firstly, the impact of different input image sizes on the performance of the training model is analyzed, and the optimal selection is determined as 25% of the input image size. Secondly, in order to avoid overfitting problems caused by too few pest data for some classifications, Mixup and Mosaic methods are used to increase data diversity, and transfer learning is used to improve the model performance. [Findings] These methods can effectively improve the generalization ability and robustness of the model. Except for the two kinds of pests No.9 and No.10, which have very high similarity and low AP value, the average AP value of other pests reaches 92.07%. [Conclusions] The generalization ability of the model is verified by the test data.The model performs well but still has room for improvement.

Keywords: pest identification; data augmentation; Faster R-CNN; deep learning; object detection

0 引言

“民以食为天,食以粮为先”,这是我国一直以来的粮食观。自2015年起,中国的年粮食总产量已连续八年超过1.3万亿斤,有力地保障了我国粮食产量安全。然而,每年因病虫害造成的粮食损失约280亿斤,这不仅造成了严重的经济损失,而且影响到我国粮食安全防线。因此,降低病虫害带来的粮食损失对我们来说至关重要。

由于害虫的种类多、分布广、繁殖快、适应性强,因此害虫预警和防治任务一直面临着巨大的挑战。害虫图片的采集方法主要有虫情灯诱[1-2]、粘虫板、田间人工采集3种。其中,虫情测报灯(灯诱)因其独特的优势而受到广泛关注。其优点在于可以自动拍摄图像无须人工参与,数据自动上传至云端方便访问。然而,虫情测报灯也存在部分缺点,例如,害虫鳞片、翅膀脱落可能导致害虫特征减少;腹部朝上可能导致不同类害虫的相似度增加,区分度降低;此外,目前尚无公开的虫情测报灯数据集可以供大家借鉴。

随着机器学习领域向深度学习方向的演进,害虫识别的主流方法也在发生相应的转变。姚青等[1]提出一种基于改进CornerNet的水稻灯诱飞虱自动检测方法,利用重叠滑动窗的方法提高飞虱(小目标个体)在图像检测区域中所占比例,提高白背飞虱和褐飞虱的检测率,降低了漏检率。林相泽等[2]提出一种将图像消冗与CenterNet网络相结合的识别分类方法,有效地完成了对3种主要稻飞虱的识别分类。姚青等[3]建立了基于双线性注意力网络的农业灯诱害虫识别模型BAPest-net,对6类相似的19种农业灯诱害虫进行识别,相比其他常用的5个模型可以获得更高的准确率。郑睿智等[4]提出了一种基于Swin Transformer网络模型和Cascade RCNN算法的农田害虫目标检测方法,采用在线和离线数据、多尺度输入、SWA和多模型融合等一系列方法增强模型的性能和鲁棒性。佘颢等[5]提出一种基于SSD网络模型的水稻害虫识别方法,该方法用特征能力更强的特征金字塔代替SSD原有的多尺度特征图,同时改进了归一化和激活函数,使模型对小目标的识别率更高、检测速度更快。张剑飞等[6]提出了一种基于Swin-Transformer和YOLOX-s改进的ST-YOLOX-s目标检测模型,实现了对30类常见害虫的有效目标检测工作,提高了小目标害虫检测性能。朱香元等[7]使用TPH-YOLOv5算法,对28类害虫识别获得较高的正确率。通过设计有针对性的小目标和小样本害虫数据增强方法,提升其对训练损失的贡献度,构建了基于微调的二阶段小样本学习策略,获得了较好的结果,总体平均精度一般在80%以上,有些甚至超过90%。

本研究基于一个样本数量少且分布不均衡的28类农田害虫数据集,展开了目标检测识别算法的研究。为了解决数据集存在的问题,采用了Mixup和Mosaci数据增强技术,以获得具有较高精度和泛化能力的模型。在此基础上进行了迁移学习,进一步提高了模型的检测精度。

1 数据集与数据探索

1.1 数据标注质量问题

原有的数据集中,样本数量相对较少,标记的害虫数量总共有1 019只。并且在逐一审核的过程中发现,不仅有些标记的类别存在错误,而且有些负样本标记为目标害虫,甚至有些害虫样本漏标。因此,在预处理时需要将错误分类的标记进行纠正,并且去掉了非目标的标记。

1.2 样本数量少、分布不平衡问题

本研究对28种害虫进行了分类统计(见图1不带斜线柱子)。结果显示,样本数量偏少,仅有3种害虫的样本数量超过100。此外,样本分布极不均衡,大约20%的害虫类别占据了总体样本数量的80%,呈现出明显的长尾分布现象。特别值得注意的是,干纹冬夜蛾和豆野螟这两类害虫的样本数量仅为1个,无法将其划分为训练集和验证集,不能进行模型训练。

样本不平衡问题不太严重,可以通过重采样来缓解。但是,在这个数据集上,该方法无法奏效,必须扩展样本数量。一种方法是从网络上寻找更多的数据。但是网络上没有与本数据集类似的灯诱害虫数据集;另一种方法是从现有的数据集中标注出遗漏的害虫样本,通过人工标注的方式将样本数量增加到1 500个,其中大黑鳃金龟类害虫的样本数量超过了200个(见图1带斜线柱子),这样就可以稍微缓解样本不平衡的问题。后续实验将采用数据增强的方法来进一步缓解样本数量少和样本不平衡的问题。

1.3 害虫大小的多尺度问题

害虫的尺寸大小存在明显的不均衡性、多尺度问题如图2所示。由图2可知,最大的害虫标注框面积(属于八点灰灯蛾)是最小的(属于白背飞虱)的几百倍(最高可达584.5≈[29]),这意味着模型需要能够在9个尺度(层级)上提取特征,这对模型的设计提出了挑战。此外,小尺度目标的识别一直是目标检测领域的难点。

1.4 害虫识别困难问题

害虫数据集中还存在复杂背景、局部遮挡、目标密集、不同姿态、肢体不全及亮度差异等问题如图3所示。这些问题的存在会对目标害虫检测造成一定困难。而有些问题,如亮度差异可以通过调整亮度预处理解决,但更多问题需要更复杂的应对方法。

2 检测模型算法

2.1 Faster R-CNN算法

害虫识别重精度不重速度,目标检测中精度较高的算法是基于Anchor的算法,包括两阶段和单阶段检测算法。其中两阶段算法以Faster R-CNN系列算法为典型,单阶段算法以YOLO系列算法为典型。本研究采用的是Faster R-CNN的两阶段算法[8],首先,将ResNet50作为骨干网络,用于从图像中提取特征;其次,在颈部(Neck)部分,使用FPN(Feature Pyramid Network)进行特征融合;最后,借助于Decoupled Prediction Head(头部),对目标进行分析和预测。

Faster R-CNN是由Ross B. Girshick在2016年提出的。在结构上,Faster R-CNN整合了特征抽取、proposal提取、边框回归与分类等步骤于一个网络之中,综合型性能有较大提高,尤其是在检测速度方面。Faster R-CNN具体可分为以下部分。

①主干特征提取网络。Faster R-CNN首先使用一组基础的卷积层来提取图像的特征生成特征图,随后便应用于后续的RPN层和全连接层。

②候选区域网络。在RPN网络中,通过激活函数判断锚框属于正样本还是负样本,进一步利用边框回归修正锚框生成精确的候选框——候选区域。

③Roi Pooling。收集输入的特征图和候选框,综合所收集的信息,提取候选框区域的特征图送入全连接层判定目标类别。

④分类。通过候选区域特征图计算候选框内目标的类别,并再次通过边框回归来获取检测框的最终精确位置。

2.2 评价指标

在模型分析中,本研究采用单个类别平均精度(AP)、整体准确率(mAP)作为评价指标,见式(1)。

[APj=01p(r)]

[MAP=1mmAPj] (1)

式中:p(r)表示PR曲线上0~1所对应的P值;APj表示某一个类别害虫;mAP表示对所有害虫类别的AP值取平均值。

3 试验及结果分析

3.1 试验环境

本研究使用了Python 3.10开发语言,百度公司paddledetection实现的Faster R-CNN算法。paddledetection是开源目标检测套件,基于百度深度学习平台飞桨(paddlepaddle)构建。计算设备使用英伟达3060 12 g显卡,系统开发环境为Windows+cuda 11+cuddn8.2。训练数据的标注格式转换为COCO格式。

使用随机梯度下降法(SGD)训练模型,初始学习率为0.005。首先使用学习率预热策略,在1000步内线性增加到初始学习率;然后使用PiecewiseDecay调度策略动态、调整学习率,权值衰减因子为0.1。批量大小为一般为4,训练迭代(epochs)一般为50。

3.2 数据增强

由于数据集的长尾分布特性,传统的重采样和重加权处理方法可能无法达到预期的效果。因此,我们需要借助数据增强手段,才可以训练出较好的深度学习模型。常见的方法包括:平移、旋转、调整大小等几何变换以及改变色调、增加噪声、调节亮度等强度变换,更高级的则是基于GAN的数据生成方法[9]、Mixup及Mosaic方法[6]。

本研究采用了亮度调整(0.7~1.5)、对比度调整(0.7~1.5)、缩放、旋转和翻转的组合变换来离线增强数据集,以确保每个类别害虫的数量都控制在200个(如果超过则随机采样200个)。此外,还采用了Mosaic手段进行在线数据增强如图4所示。其优点是大大增加了数据多样性,丰富了训练集中被检测物体的背景。不仅使数据更加丰富多样,避免因部分类型数据过少而导致的过拟合情况,而且提高了对小目标物体的检测性能。

3.3 训练输入图像的尺寸选择

数据集中原始图片尺寸统一为5 472×3 648。训练模型时,大图片占用更多的显存,只能使用较小的批量大小,增加计算量和训练时间。而小图片占用较小的显存,能使用更大的批量大小,可减少训练时间。但是缩小图像会造成信息丢失、特征减少,导致精度下降。因此,选择合适尺寸输入网络是首先要考虑的问题。本研究对100%、50%、25%、12.5%四种输入图像尺度进行试验。

四种尺寸的模型训练精度见表1。由表1可知,IoU值设定在0.50~0.95范围时,输入图像尺寸为50%大小,模型训练可以取得最高精度,随着输入尺寸减小,模型精度随之下降。IoU值设定为0.5时,模型精度有相似的下降趋势,然从50%下降为25%,模型精度仅下降2%。综上所述,选择原图尺寸的50%,虽可取得最佳精度,但计算时间更长(且有过拟合迹象),批量大小只能设为1。因此,后续实验选择次优的25%作为训练输入图像尺寸。

3.4 数据增强手段对性能的影响

不同数据增强手段对模型训练性能的影响见表2。由表2可知,当使用一些常规数据增强手段(如随机裁剪、翻转等)时,mAP_0.5:0.95和mAP_0.5数据都不错。引入Mixup数据增强后,模型性能略有下降,分别下降了0.019和0.016。在Mixup数据增强的基础上再引入Mosaic数据增强,mAP_0.5∶0.95上升了约1%,而mAP0.5下降了约1%。说明Mixup和Mosaic数据增强会使训练难度增加,模型性能会有小幅下降,但模型泛化性会提升。使用该模型进行迁移学习,即使用预训练模型进行常规数据增强训练,性能会进一步提高,模型的mAP_0.5∶0.95和mAP_0.5最高,分别能达到0.894和0.944的性能。

模型对28类害虫的分类检测精度见表3。由表3可知,各类别害虫检测准确率基本上非常高,特别是Pest402这个类别,其AP值达到了0.991,说明Faster R-CNN算法在识别该类别时具有非常不错的性能。然而,对于Pest9和Pest10这2个害虫类别,其AP值相对较低,两类害虫相似程度非常高,可参考姚青等[1]的方法进一步优化模型以提高其在这些类别上的性能。

3.5 模型检测结果

本研究对测试集中的图片进行了检测,选取了4种不同场景下的检测结果进行展示如图5所示。由图5可知,Faster R-CNN算法可以实现对多类害虫的有效检测。在简单或复杂的背景中,不同大小的害虫均能被正确分类。但有些害虫的标注框还不够准确,需要进一步优化。此外,本研究使用训练的几种害虫的原始样本非常少,需要补充训练样本数量以进一步提高模型精度和鲁棒性。

4 结语

针对虫情测报灯提供的农田害虫数据集存在样本少、目标小及分布不平衡导致的长尾效应和多尺度目标等问题,采用了人工标注的方法拓展了数据集,并且进一步地使用亮度对比度调整、缩放、旋转和翻转的组合变换等常规的离线数据增强以及Mixup和mosaic手段进行在线数据增强,来平衡数据集不同类别样本数目的分布,增加数据集的复杂性。本研究使用的Faster R-CNN的两阶段目标检测方法,能够很好地识别和定位农作物害虫。

在未来的模型研究和探索过程中,期待能引入半监督学习机制,将无标签样本纳入训练集进行学习,进一步扩大数据集的丰富度,这将是未来很好的研究尝试。

参考文献:

[1]姚青,吴叔珍,蒯乃阳,等.基于改进CornerNet的水稻灯诱飞虱自动检测方法构建与验证[J].农业工程学报,2021,37(7):183-189.

[2]林相泽,徐啸,彭吉祥.基于图像消冗与CenterNet的稻飞虱识别分类方法[J].农业机械学报,2022,53(9):270-276,294.

[3]姚青,姚波,吕军,等.基于双线性注意力网络的农业灯诱害虫细粒度图像识别研究[J].中国农业科学,2021,54(21):4562-4572.

[4]郑睿智,盛猛猛,蔡鑫浩,等.基于深度学习的农田害虫目标检测算法的研究与应用[J].数学建模及其应用,2022,11(4):55-61.

[5]佘颢,吴伶,单鲁泉.基于SSD网络模型改进的水稻害虫识别方法[J].郑州大学学报(理学版),2020,52(3):49-54.

[6]张剑飞,柯赛.基于YOLOX-s的农业害虫检测研究[J].计算机技术与发展,2023,33(5):208-213.

[7]朱香元,聂轰,周旭.基于TPH-YOLOv5和小样本学习的害虫识别方法[J].计算机科学,2022,49(12):257-263.

[8] REN S Q,HE K M,GIRSHICK R,et al.Faster R-CNN: Towards Real-Time object detection with region proposal networks[J].IEEE Transactions on Pattern Analysis amp; Machine Intelligence,2017,39(6):1137-1149.

[9]蒋心璐,陈天恩,王聪,等.农业害虫检测的深度学习算法综述[J].计算机工程与应用,2023,59(6):30-44.

猜你喜欢
目标检测深度学习
视频中目标检测算法研究
软件(2016年4期)2017-01-20 09:38:03
行为识别中的人体运动目标检测方法
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
深度学习算法应用于岩石图像处理的可行性研究
软件导刊(2016年9期)2016-11-07 22:20:49
基于深度卷积网络的人脸年龄分析算法与实现
软件工程(2016年8期)2016-10-25 15:47:34
移动机器人图像目标识别
基于P3电位的目标检测研究
科技视界(2016年4期)2016-02-22 13:09:19