时间:2023-05-17 10:16:15
导语:在迁移学习常见蔬菜害虫的检测分析的撰写旅程中,学习并吸收他人佳作的精髓是一条宝贵的路径,好期刊汇集了一篇优秀范文,愿这些内容能够启发您的创作灵感,引领您探索更多的创作可能。
关键词:目标检测;迁移学习;神经网络;智慧农业;十字花科害虫;豆科害虫
引言:中国蔬菜种植面积、总产量、人均蔬菜消费量及出口量均居世界第一,是蔬菜生产、消费与出口大国[1].其中,十字花科和豆科蔬菜是日常生活中常见的蔬菜.害虫是影响十字花科和豆科蔬菜生产的主要因素之一.十字花科和豆科蔬菜的害虫主要包括菜青虫、小菜蛾、黄曲条跳甲、白菜蜗牛、二十八星瓢虫、豆野螟等[2].随着人工智能、自动控制等理论的飞速发展,智慧农业逐渐成为农业发展的方向[3].在智慧农业领域,自动识别害虫是急需解决的一个难题.针对十字花科和豆科蔬菜的主要害虫,以自然场景下拍摄的6种害虫图片为基础,构建十字花科和豆科蔬菜害虫(CruciferousandLeguminousVegetablePests,CLVP)数据集.在该数据集上,以FasterR-CNN[4]和RetinaNte[5]作为骨干网络,构建蔬菜害虫目标检测系统.基于迁移学习理论,训练3个目标检测网络模型,即FR-R101、FR-X101和Re-R101.在该数据集上,Re-R101模型获得相对更好的害虫检测结果.此外,通过分析实验数据,讨论害虫检测失败的原因,指出提升害虫目标检测准确率的研究方向.
1相关工作和贡献
在使用计算机视觉技术分析病虫害方面,已经有一系列的研究[6-10].下面将主要从3个方面介绍相关工作,即害虫目标检测系统、目标检测算法和迁移学习.针对不同种类的害虫,之前的研究提出一系列智能检测系统.针对蔬菜食叶害虫,文献[7]分析被害虫啃食过的菜叶图片,提取相应的形状特征,构建BP神经网络模型,实现识别甘蓝菜的两类害虫.针对蔬菜鳞翅目害虫,文献[8]使用卷积神经网络实现自动识别和检测害虫.针对田间常见病虫害,文献[9]构建病虫害智能化识别系统.针对农作物病虫害,文献[10]提出基于空间金字塔池化的深度卷积神经网络,实现自动识别农作物害虫.目标检测算法主要分为2大类.第1类是Two-Stage算法,主要以R-CNN系列算法为代表,比如:R-CNN[11]、FastR-CNN[12]和Faster-RCNN[4]等.这类算法主要分为2个步骤,即生成候选区域,在上一步生成的候选区域上分类和回归.在R-CNN算法的基础上,FastR-CNN使用深度卷积神经网络提取目标特征.与使用SPPnet[13]的R-CNN相比,FastR-CNN的训练和测试速度更快,精度更高.在FastR-CNN算法的基础上,文献[4]提出FasterR-CNN算法.第2类是One-Stage算法,主要以RetinaNte[5]、YOLO[14]和SSD[15]为代表.这类算法使用一个端到端的网络模型直接预测物体的位置和类别.迁移学习[16]具有广泛的应用场景[17].将迁移学习理论应用于棉花叶部病虫害识别,文献[18]使用改进的AlexNte网络模型在PlantVllaige数据集上预训练,将该预训练模型迁移到棉花病虫害数据集.将迁移学习应用于无人机获取耕地信息,文献[19]提出一种耕地信息获取方法,提升获取耕地信息的精度.结合迁移学习和软件缺陷预测,文献[20]提出一种基于加权贝叶斯模型的迁移学习算法,提高了跨项目缺陷预测性能.基于参数迁移策略,文献[21]采用微调再训练源模型的方法,实现识别水产动物.在修改源模型全连接层的基础上,该方法进一步调整高层卷积模块的权重,从而提升模型的性能.本文的主要贡献如下.首先,针对十字花科和豆科蔬菜害虫,建立CLVP数据集.其次,基于迁移学习理论,以FasterR-CNN[4]和RetinaNte[5]为骨干网络,构建蔬菜害虫目标检测系统.此外,使用TOOD[22]算法进一步验证CLVP是一个具有挑战性的数据集.最后,分析实验数据,推断检测失败的原因,指出提升害虫目标检测准确率的研究方向.
2CLVP数据集
针对十字花科蔬菜和豆科蔬菜的主要害虫,本文收集793张害虫图片.在标注这些图片后,构建V1版本的CLVP数据集.CLVP数据集.表1各类害虫样本数量和标注数量害虫名称图片数量标记数量菜青虫7989小菜蛾79162黄曲条跳甲352433白菜蜗牛122172二十八星瓢虫87104豆野螟7474在CLVP-V1数据集中,包含6种蔬菜害虫,分别是菜青虫(Cabbageworm)、小菜蛾(Diamondbackmoth)、黄曲条跳甲(Phyl-lotretastriolata)、白菜蜗牛(Cabbagesnail)、二十八星瓢虫(Lady-bug)和豆野螟(Marucatestulalisgeyer).在菜地,用手机从不同角度拍摄这些害虫图片.菜青虫、小菜蛾、黄曲条跳甲、白菜蜗牛、二十八星瓢虫和豆野螟的图片数量分别为79、79、352、122、87和74.在收集害虫图片后,对图片进行以下操作.首先,对不同类别的害虫设置对应的编号;然后,使用开源图片标注工具LabelImg标注每一张图片中害虫的类别和位置.这六类害虫的标注数量分别是89、162、433、172、104和74.在CLVP-V1中,害虫的样本数量和标注数量如表1所示在CLVP数据集中,图片是在自然环境下拍摄的,包含各种现实环境因素,例如:菜地背景、光照变化、害虫姿态变化等.部分样例图片如图1所示.与之前构建的害虫数据集不同,在CLVP数据中收集了许多害虫幼虫的图片,例如菜青虫幼虫、小菜蛾幼虫等.在文献[7]和文献[9]中,数据集的检测对象主要是害虫的成虫形态.文献[1-2]提出某些害虫的幼虫对相关蔬菜有更严重的危害.幼虫体积较小导致在图片中所占像素较少;此外,幼虫颜色与拍摄背景相似.这使得CLVP数据集更具有挑战,对害虫目标检测算法提出更高的要求.
3害虫目标检测系统
使用FasterR-CNN[4]和RetinaNte[5]作为蔬菜害虫目标检测系统的骨干网络模型,基于迁移学习理论实现害虫目标检测系统.该系统的框架如图2所示.
3.1目标检测骨干网络
FasterR-CNN主要包含4个子模块.第1个子模块是特征提取网络.使用卷积神经网络提取图片特征,得到相应的特征图.该特征图被共享用于RPN网络和目标分类.第2个子模块是区域生成网络(RegionProposalNetwork,RPN).使用固定尺寸的滑动窗口在卷积特征图上滑动,得到对应维数的向量.将这个向量输入全连接层后,得到判定目标为前景或背景的得分以及相应的边界框回归参数.第3个子模块是感兴趣区域池化.该模块接收特征图和经过RPN生成的候选区域,提取固定尺寸的特征向量.第4个子模块是目标分类和边界框回归.RetinaNte包含4个子网络,即ResNte[23]、特征金字塔网络(FeaturePyramidNetwork,FPN)[24]、类别子网络和锚框子网络.类别子网络实现分类锚框,锚框子网络使锚框回归到检测目标的真实位置.为了解决训练过程中的类别不平衡问题,提出FocalLoss损失函数.定义二分类的交叉熵损失函数如下:pt=p,ify=11-p,otherwise(1)其中,p∈0,1是模型对y=1的估计概率.通过平衡因子αt,定义FocalLoss如下:FL(pt)=-αt(1-pt)γlog(pt)(2)其中,γ≥0为可调节参数,(1-pt)γ是调节因子.
3.2基于迁移学习的害虫检测
迁移学习能够把在源领域学习的知识应用到另一个新的目标领域,使得在目标领域也取得较好的泛化能力,在现实生活中有诸多应用场景.以FasterR-CNN和RetinaNte作为蔬菜害虫目标检测系统的骨干网络,分别构建3个目标检测网络模型,即FR-R101、FR-X101和Re-R101.具体而言,FR-R101模型以FasterR-CNN为骨干网络,使用FPN提升目标检测系统的准确率,使用101层的ResNte作为计算特征图的子网络;FR-X101模型使用101层的ResNeXt[25]作为计算特征图的子网络,其他与FR-R101模型类似;Re-R101模型以RetinaNte作为骨干网络,使用101层的ResNte作为计算特征图的子网络.如图2所示,在COCO数据集[26]上训练网络模型,得到模型参数M.基于迁移学习理论,在CLVP数据集上训练、验证和测试的主要过程如下.首先,除分类层之外,用M初始化网络参数.由于模型M已经具有提取低层特征的能力,使用M初始化网络参数能加快训练网络模型的收敛速度.为了避免过拟合,使用在线数据增强策略来增加图像样本的多样性.在CLVP数据集的训练集上,使用SGD[27]算法优化网络模型N.其次,以20次训练迭代为周期,在验证集上循环验证模型N的预测能力.最后,保存在CLVP训练集上训练好的模型,并用该模型预测在测试集上的蔬菜害虫检测结果.在使用SGD[27]算法优化网络模型时,学习率是一个重要的超参数.算法1用伪代码的形式描述网络模型的训练过程,并详细地说明学习率的变化策略.为避免梯度爆炸和过拟合,在网络训练的3个阶段,即训练热身阶段、基准学习率阶段和学习率衰减阶段,使用不同策略设置学习率.在新的数据集上,使用预训练模型训练时,如果设置较大的基准学习率,会导致模型不稳定,降低模型的收敛性.针对该问题,使用训练热身策略,缓慢地把学习率从一个较小的值增加至基准学习率.在训练热身阶段结束之后,使用基准学习率训练网络模型.为了避免过拟合,当迭代次数大于学习率衰减阈值时,进入学习率衰减阶段.使用上述学习率调整策略,增加模型的稳定性,提升模型的泛化能力.
4实验和讨论
4.1实验规则
从CLVP-V1数据集中选择80%的样本作为训练集,剩下10%的样本作为验证集,其他约10%作为测试集.为了方便其他学者在CLVP-V1数据集上评估算法,将公开CLVP-V1数据集,提供训练、验证和测试的列表.与COCO[26]数据集使用的评价指标一样,分别根据10个IoU值(从0.5到0.95,间隔0.05)计算均值平均精度(meanAveragePrecision,mAP).CLVP数据集使用这10个mAP的平均值作为评估指标.
4.2实验设置
为了验证迁移学习的效果,在CLVP数据集上,对比3个目标检测网络模型,即FR-R101、FR-X101和Re-R101.在英伟达TeslaV100GPU上训练、验证和测试模型.为了公平地比较,设置上述3个网络模型的参数相同.使用第4.3节中介绍的方法,确定最大训练迭代次数maxi.设置批量大小为4,训练热身迭代次数wi为100,训练热身初始因子wf为0.001,基准学习率base为0.001,学习率衰减阈值di为1000,学习率衰减因子df为0.1.为了去除多余和得分较低的检测框,在验证和测试阶段设置非极大值抑制阈值和得分阈值均为0.5.
4.3评估最大迭代次数
为获得合适的最大迭代次数,在训练网络时,保存训练过程的Loss值和验证集的mAP值.使用上述数据绘制FR-R101、FR-X101和Re-R101的训练损失与验证集mAP的示意图,分别如图3、图4和图5所示.从图3可以发现,在CLVP-V1训练集上,大概迭代500次时,训练Loss值降到0.2;迭代训练大概3500次左右时,在验证集上获得相对较好的实验结果.观察图4可以发现,在训练集上,FR-X101网络训练将近500次时,训练Loss值降到0.2;迭代训练大概3200次左右时,在验证集上获得相对较高的mAP值.从图5可以发现,迭代训练600次左右时,训练Loss值降到0.2;迭代训练大概3300次左右时,在验证集上获得相对较好的结果.综合上述对比分析,对这3个网络模型,设置最大训练迭代次数分别为3515、3189和
4.4实验结果
根据以上实验配置,在CLVP-V1数据集上,分别评估上述3个目标检测网络模型和TOOD[22]算法,评估结果如表2所示.分析表2中的数据,可以得出以下推断.