YOLO-YSTs:一种基于改进YOLOv10n的实时农田害虫检测方法

点击蓝字

关注我们

关注并星标

从此不迷路

计算机视觉研究院

公众号ID计算机视觉研究院

学习群扫码在主页获取加入方式

https://www.mdpi.com/1424-8220/25/7/2193

计算机视觉研究院专栏

Column of Computer Vision Institute

使用黄色粘虫板是一种利用害虫对黄色趋性的绿色害虫防治方法。黄色粘虫板不仅能控制害虫数量,还能用于监测害虫,是一种比使用农药更经济、更环保的选择。然而,黄色粘虫板上的害虫体型小且分布密集,使用轻量级模型检测时准确率较低。而大型模型存在训练时间长、部署困难等问题,这给在边缘计算平台上进行田间害虫检测带来了挑战。

PART/1

     概述   

使用黄色粘虫板是一种利用害虫对黄色趋性的绿色害虫防治方法。黄色粘虫板不仅能控制害虫数量,还能用于监测害虫,是一种比使用农药更经济、更环保的选择。然而,黄色粘虫板上的害虫体型小且分布密集,使用轻量级模型检测时准确率较低。而大型模型存在训练时间长、部署困难等问题,这给在边缘计算平台上进行田间害虫检测带来了挑战。针对这些问题,本文提出了一种基于改进YOLOv10n模型的轻量级检测方法YOLO-YSTs。该方法旨在平衡害虫检测精度和模型大小,并在边缘计算平台上进行了验证。该模型引入了SPD-Conv卷积模块、iRMB倒置残差块注意力机制和Inner-SIoU损失函数,对YOLOv10n网络架构进行改进,最终在平衡模型速度和精度的同时,解决了小目标和重叠目标的漏检和误检问题。实验结果表明,YOLO-YSTs模型在黄色粘虫板数据集上的精确率、召回率、mAP50mAP50–95值分别达到了83.2%83.2%86.8%41.3%,检测速度达到139FPSGFLOPs仅为8.8。与YOLOv10n模型相比,mAP50提升了1.7%。与其他主流目标检测模型相比,YOLO-YSTs也取得了最佳的综合性能。通过对YOLOv10n模型的改进,有效提高了黄色粘虫板上害虫的检测精度,并且该模型在边缘移动平台上部署时表现出良好的检测性能。总之,所提出的YOLO-YSTs模型在黄色粘虫板害虫图像检测中提供了更平衡的性能,在边缘移动平台上部署时表现出色,这对田间害虫监测和害虫综合治理具有重要意义。

PART/2

     背景   

深度学习技术,尤其是YOLO算法,在目标检测方面展现出了卓越的性能。YOLO通过单个网络同时进行目标定位和分类,实现了端到端的训练,并且兼顾了准确性和实时性。当应用于害虫检测领域时,YOLO也优于其他方法,彰显了其通用性。在害虫检测领域,YOLO模型提高了检测精度,实现了轻量化性能,是害虫检测的可靠工具。例如,孙(Sun)等人提出了一种改进的YOLO-FMDI模型用于番茄病虫害检测,在保持高精度的同时减少了模型参数。20245月发布的YOLOv10作为YOLO系列的一个版本,展现出了出色的性能和效率。在YOLOv10之前,YOLO系列在后处理中依赖非极大值抑制(NMS),这阻碍了端到端的部署,并影响了推理速度。YOLOv10引入了一种无NMS策略,采用双重分配方法和一致的匹配指标,以解决后处理中预测冗余的问题。这消除了对NMS的依赖,并且在大目标任务上表现良好。然而,YOLOv10在检测小型且密集的目标时可能会遇到漏检、误检或检测重叠等问题。例如,关(Guan)等人在使用YOLOv10进行麦穗检测时遇到了漏检等问题,尤其是在密集且复杂的背景下。这表明YOLOv10需要改进,以便有效地解决此类问题。

为了解决小型且密集目标的漏检、误检以及检测重叠等问题,研究人员引入了诸如SPD-Conv(空间位置相关卷积)、iRMB注意力机制以及Inner-SIoU损失函数等模块,以提升模型性能。SPD-Conv是一种创新的空间编码方法,它通过更高效地处理图像数据来增强深度学习模型的性能。这项技术将图像中的空间信息转换为深度信息,并通过减少信息损失来提高特征提取的准确性。在处理小目标图像时,它优化了模型的性能。例如,孙(Sun)等人提出了一种基于SPD-Conv的无人机巡检小目标检测算法,以应对无人机巡检过程中检测小型且密集分布目标的挑战,实现了小目标检测精度的提升。彭(Peng)等人用SPD-Conv替换了YOLOv8主干网络中的卷积层,提高了在道路裂缝检测中对细长和小裂缝的识别率。iRMB的核心概念是将轻量级卷积神经网络(CNN)架构与基于注意力的模型结构相结合,旨在创建高效的移动网络。例如,陆(Lu)等人将iRMB注意力机制集成到YOLOv5s模型中,有效地提高了在油漆缺陷检测中小目标的检测精度。Inner-IoU(内部交并比)的核心概念是提高目标检测中边界框回归的准确性,尤其是在目标高度重叠的情况下。SIoU损失函数通过纳入角度考量和尺度敏感性,引入了一种更为复杂的边界框回归方法,解决了先前损失函数的局限性。通过结合Inner-IoUSIoU的概念形成Inner-SIoU,该模型在小目标检测中发挥出了最大效能。例如,陈(Chen)等人用Inner-SIoU改进了YOLOv8n模型,提高了在检测电源适配器外观缺陷时的精度。

此外,目前市场上的害虫监测设备体积庞大、价格昂贵(通常超过10万元人民币),并且在复杂的野外环境中部署和维护成本很高。因此,开发结构紧凑、成本低廉且易于安装的小型害虫监测平台具有巨大的应用潜力。低成本的监测平台本身计算资源有限,这对目标检测模型的轻量化和准确性提出了更高的要求。

基于上述研究背景,本文旨在通过改进YOLOv10n模型来增强对小型且密集目标的检测能力,从而实现对黄色粘虫板上害虫的检测。同时,开发了一种智能害虫监测设备,使用树莓派4B作为处理器单元,USB摄像头作为图像采集单元,用于检测黄色粘虫板上的害虫。树莓派4B具有出色的硬件配置和较高的计算性能,使其在许多应用场景中都具有通用性。与其他边缘计算设备(如英伟达JetsonNano)相比,树莓派4B的整体性能相当。然而,树莓派4B的价格明显比英伟达JetsonNano更实惠,并且具有相当大的资源优势,包括全面的开发文档和可靠的售后支持。配置等于或高于树莓派4B的边缘计算设备也可以实现本文所述的功能。不过,考虑到成本和开发投入,我们选择了树莓派4B作为处理单元。针对黄色粘虫板的YOLO-YSTs害虫检测模型的具体改进如下:1.通过使用SPD-Conv模块来替换YOLOv10n模型中的步长卷积和池化操作,从而在减少参数数量的同时避免下采样过程中的信息丢失。2.YOLOv10n模型中添加iRMB逆残差块注意力机制,以平衡模型对局部细节特征和全局语义特征的关注。3.YOLOv10n模型中使用Inner-SIoU损失函数,以解决小型且重叠目标的漏检和误检问题。改进后的模型旨在部署在树莓派4B上,实现基于实地的智能害虫监测,并为农业害虫综合管理提供技术支持。

PART/3

     新算法框架解析   

害虫检测设备

本文中的害虫检测设备采用树莓派4B作为处理单元,USB摄像头作为图像采集模块。树莓派4B是一款基于Linux操作系统的嵌入式计算机,具有体积小巧、计算能力强的特点。USB摄像头安装方便,成像清晰。本文提出的模型部署在树莓派4B上。树莓派4BUSB摄像头和害虫检测设备如下图所示:

树莓派4B的具体参数见下表:

树莓派4B配备了丰富的通用输入输出(GPIO)接口,支持一系列主流框架和算法。该设备的软件开发环境包括Raspbian操作系统、Python3.9OpenCV4.1,并使用NCNN进行推理。

此外,由于实验田种植的是单一作物,从田间采集的害虫图像主要包含粉虱(WF)、跳甲(SFB)和食蚜蝇(SP)。为了增强模型对多类害虫检测的泛化能力并提高其鲁棒性,本文还纳入了公开数据集黄色粘虫板作为补充。该数据集由284张图像组成,由4TU联盟创建,该联盟包括四所著名的荷兰技术大学(代尔夫特理工大学、埃因霍温理工大学、屯特大学和瓦赫宁根大学),旨在用于害虫检测研究。该数据集包含三类害虫:粉虱(WF)、大草蛉(MR)和尼氏蓟马(NC),害虫图像如下图所示。

上图显示,粘虫板上的害虫相对较小。大草蛉的大小通常在5080像素之间,跳甲的大小在60110像素之间,尼氏蓟马的大小在80100像素之间,食蚜蝇的大小约为200像素。最小的害虫粉虱,大小在1040像素之间,并且跳甲和粉虱呈现出密集分布,在某些区域还会有重叠。

上图展示了数据增强对图像的影响。数据集按照7:2:1的比例划分为训练集、验证集和测试集,其中训练集包含2469张图像,验证集包含706张图像,测试集包含352张图像。为了让模型在训练过程中能更好地学习害虫特征,训练集和验证集都包含了来自所收集数据集和公开数据集的图像,而测试集则单独保留,用于评估模型在不同数据集上的泛化能力和性能。

YOLO-YSTs模型

本研究选择YOLOv10n模型作为改进的基线模型。首先,使用SPD卷积(SPD-Conv)模块来替代YOLOv10n模型中的卷积步长操作和池化操作。SPD-Conv由一个空间到深度(SPD)层和一个卷积层(非步长卷积层)组成,并且可以应用于大多数卷积神经网络(CNN)架构。SPD-Conv在保留可学习信息的同时对特征图进行下采样,完全摒弃了传统的卷积步长操作和池化操作。SPD-Conv通过几个关键步骤来实现其目标:1.替换卷积步长层和池化层:在传统的CNN架构中,卷积步长层和池化层会减小特征图的空间维度,以降低计算量并扩大感受野。然而,这些操作常常会导致细节信息的丢失,这对小目标物体的检测精度产生了负面影响。SPD-Conv摒弃了这些操作,以保留更多的空间信息并避免信息丢失。2.空间到深度层(SPD):这一层会重新排列特征图的元素,将空间信息转换到深度维度,在保留通道维度上所有信息的同时增加特征图的深度,从而避免了传统下采样方法中常见的信息丢失问题。3.非步长卷积层:在SPD层之后,SPD-Conv引入了一个步长为1的卷积层用于特征提取。这意味着卷积核会在输入特征图的每个像素上滑动,不会跳过任何位置。通过这种方式,卷积核会处理特征图的每一个区域,确保最大限度地保留图像信息,并生成更丰富的特征表示。这在不丢失细节的情况下减少了特征图中的通道数量,同时有效地处理了特征。通过这种机制,SPD-Conv在特征提取阶段保留了更多的信息,从而增强了模型识别小目标图像的能力,使其适用于检测黄色诱虫板上的小害虫。

如上图所示,使用SPD-Conv来替代YOLOv10n模型中原来的带步长的卷积层,以优化特征提取过程。

其次,将iRMB(反向残差块注意力机制)添加到YOLOv10n模型中,以平衡模型对局部细节特征和全局语义特征的关注程度。反向残差块(IRB)是轻量级卷积神经网络(CNN)结构中使用的一个基础模块,其主要设计目的是先扩展通道数量,然后进行特征提取,从而提取更丰富的特征。与传统的先压缩通道数量的残差块相比,反向残差块在一些轻量级网络中表现出更好的性能。然而,对于基于注意力机制的模型,尚未提出相应的结构。iRMB将传统CNNIRB设计理念扩展到基于注意力机制的结构中,并将CNN架构在捕捉局部特征方面的高效性与Transformer架构的长距离交互建模能力相结合,在特征提取过程中考虑整个输入空间,这有效地辅助了全局目标检测。iRMB使模型在保持轻量级特性的同时,能够有效地利用计算资源并实现较高的准确性,从而增强了模型处理长距离信息的能力。此外,元移动块经过抽象处理,能够利用各种扩展比例和高效算子,实现了模块化设计。通过即插即用的方式,将不同的操作集成到一个统一的框架中,为模型提供了更大的灵活性。如图5所示,将iRMB注意力机制添加到YOLOv10n模型中,以增强模型对密集区域害虫的关注,同时也使其适合部署在边缘移动设备上进行害虫检测。

最后,为了解决黄色诱虫板上小体型且相互重叠的害虫出现漏检和误检的问题,使用Inner-SIoU损失函数来替代YOLOv10n模型中原来的CIoU损失函数。传统的交并比(IoU)计算方法考虑的是预测边界框与真实边界框之间的整体重叠情况。相比之下,Inner-IoU关注的是边界框的核心内部重叠部分,而非整体重叠部分,从而对重叠区域提供了更精确的评估。通过引入辅助边界框来计算损失函数,它可以集成到现有的基于IoU的损失函数中,对各种检测任务具有很强的泛化能力。SIoU损失函数纳入了角度因素,考虑了预期回归方向与预测回归方向之间的角度,从而重新定义了惩罚度量标准,克服了先前损失函数在区域评估方面的局限性。SIoU损失函数由四个部分组成:角度损失、距离损失、形状损失和IoU损失。这一改进有效地减少了自由度,使得SIoU损失函数能够轻松融入任何目标检测任务中,进而有助于取得更好的检测结果。本文通过将Inner-IoUSIoU结合成Inner-SIoU损失函数来改进YOLOv10n模型,特别针对检测重叠害虫这一挑战。改进后的YOLO-YST的最终网络结构如上图所示。黑色虚线框表示在网络结构中要添加模块的位置。

PART/4

     实验及可视化   

本研究中的实验是在搭载NVIDIARTX4070GPUWindows1164位)系统上进行的。软件环境包括Python3.11CUDA12.4以及PyTorch2.4.1。实验环境和具体的参数配置见下表。

上图展示了来自通用数据集的一些检测结果。YOLOv10n模型和YOLO-YSTs模型都能够检测出黄色诱虫板上的害虫图像。然而,YOLOv10n模型在某些目标的检测上存在漏检和误检的问题。在图(a)中,对于图像左侧相互重叠的粉虱(WF),YOLOv10n模型错误地将目标识别为大眼长蝽(MR),而YOLO-YSTs模型则正确地识别出了这个重叠的目标。在图(b)中,在对南黄呆蓟马(NC)进行检测时,YOLOv10n模型漏检了右下角的目标,而本文提出的模型则成功地检测到了它。

上图展示了来自我们数据集的一些检测结果,其中图(b)代表了野外黄色诱虫板上害虫数量最多的情况。在图(a)中,针对食蚜蝇科昆虫(SP)的检测,YOLOv10n模型未能检测到目标,而YOLO-YSTs模型则成功识别出了该目标。在图(b)中,对于密集分布的跳甲(SFB),YOLOv10n模型出现了明显的漏检情况,而YOLO-YSTs模型解决了检测密集目标的问题。在图(c)中,YOLOv10n模型将其他害虫种类误识别为食蚜蝇科昆虫(SP),而YOLO-YSTs模型则避免了误检的情况。综上所述,YOLO-YSTs模型增强了对小体型且密集目标的检测能力,能够成功识别黄色诱虫板上的小目标,并有效地解决了漏检和误检的问题。

如上图所示,部署过程首先要将训练好的PyTorch模型转换为中间的ONNX格式,然后在树莓派4B上编译NCNN。接着,将ONNX文件传输到树莓派4B上,并使用onnx2ncnn工具将其转换为NCNN格式。最后,模型对相机采集的数据进行推理。例如,贾尼(Jani)等人在树莓派上部署了各种模型以进行实时推理,并在害虫数据集上对这些模型进行了测试,取得了良好的检测结果。

有相关需求的你可以联系我们!

END

转载请联系本公众号获得授权

计算机视觉研究院学习群等你加入!

ABOUT

计算机视觉研究院

计算机视觉研究院主要涉及深度学习领域,主要致力于目标检测、目标跟踪、图像分割、OCR、模型量化、模型部署等研究方向。研究院每日分享最新的论文算法新框架,提供论文一键下载,并分享实战项目。研究院主要着重”技术研究“和“实践落地”。研究院会针对不同领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!


往期推荐 

🔗

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计算机视觉研究院

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值