基于YOLOv5的农林虫害检测系统设计
2024-07-10彭怀锋许锁鹏
彭怀锋 许锁鹏
摘要:病虫害对稳定粮食产量、增加油料自给率等方面造成了严重威胁,需要引起广泛关注和高度重视。早期病虫害精准识别是预警和防控的关键,长期以来,对大多数传统农作物的虫害识别主要依赖于人工检测。文章为提升农作物病虫害检测的准确性与效率,设计了一种基于YOLOv5的农林害虫检测系统。该系统采用深度学习实现农林虫害检测,具有可视化界面,方便使用者操作,并可对农林中检测出的虫害给出提示和警报。
关键词:YOLOv5;虫害检测;模型;预警
中图分类号:TP29 文献标志码:A
0 引言
传统的害虫检测识别主要是通过田间调查法和物理诱捕法。田间调查法主要是依靠人工走访判断,由相关的专业人员到虫害现场进行害虫取样,并对其进行分析,从而得出水稻的虫害类别及其危害情况。物理诱捕法则是通过提前在农林中布防相关的诱捕器,使用这些诱捕器收集的害虫样本,进行分析。这2种方法的使用都需要大量的人力和物力,且方法的准确率低、主观性强,难以满足当前农作物健康生长的需要。
农作物产量和质量的稳定受到虫害问题的严重威胁。确保有效防治虫害的首要任务是对虫害的高效、准确识别与定位[1],因此,开展半自动或全自动大规模病虫害精准识别研究与应用尤为重要。随着人工智能技术的不断进步,深度学习在虫害检测与定位领域的应用日益受到学者们的关注。深度学习技术通过提取图像特征,结合可视化方法,实现了对目标对象的精准识别与定位[2]。目前,以 Faster-RCNN[3]为代表的Two-Stage目标检测方法和以YOLO系列为代表的 One-Stage目标检测方法,在目标检测识别领域均得到了广泛应用,为提高农林虫害识别的准确性和效率提供了有力支持。为了提高农作物病虫害检测的精确度和效率,本文深入探讨了基于YOLOv5技术的农林害虫检测系统。该系统配备了直观的用户界面,旨在简化操作流程,使得使用者能够便捷地运用,从而辅助农户采取相应措施。
1 系统整体设计
软件系统的整体设计方案如下:首先,对设计过程中涉及的关键技术进行剖析;其次,针对目标用户群体的具体需求,详尽分析各项功能要求;最后,确定软件设计的整体逻辑与思路。
1.1 技术分析
该检测系统以Python语言为核心进行构建,并采用PyTorch框架进行模型的训练。PyTorch框架凭借灵活性、稳定性和高效性,显著提升了系统的开发效率和性能稳定性。在模型选择方面,本文采用YOLOv5模型。YOLOv5模型检测精度高,所占存储空间小,仅占用27 MB的存储空间[4]。作为一款One-Stage类模型,YOLOv5的运行速度迅捷,并支持在GPU上运行,从而大幅缩减了训练时间。为了方便用户操作,该系统采用了PyQt5模块设计图像用户界面。PyQt5是一组由Python编写的模块,作为一个跨平台工具集,能够在多种主流操作系统上运行[5]。
1.2 功能需求
该系统主要用于农林,其用户为管理人员和普通用户,因此,该系统需要有以下功能:实现对视频进行检测和实时监测;对发现的虫害做出提示;对视频的分析和检测速度应该尽可能快,减少延迟;系统界面应该简洁直观,方便使用者操作[6]。
1.3 视频检测设计
首先,启动软件运行程序。该程序将调用设备的摄像头功能,以获取实时的视频流数据。其次,程序将对获取的视频流进行判断,确认是否存在有效的视频输入[7]。若视频流正常,程序将进一步对视频流中的每一帧图像进行读取和识别处理。在此过程中,若识别到任何虫害迹象,系统将立即发出报警提示,同时继续捕获并处理后续的实时视频流数据。然而,若系统无法检测到有效的视频流,则将自动退出检测程序。视频流检测流程如图1所示。
2 模型的训练
2.1 数据获取
在数据获取阶段,数据集是从Roboflow[8]上的universe中收集的,总共有4200张图片。其中,类别标号1~12为longicorn(天牛);13~24为grasshopper(蝗虫);25~36为bee(蜜蜂);37~48为fly(苍蝇);49~60为mantis(螳螂)。
2.2 数据集格式转化和分类
鉴于在Roboflow上收集的数据集未经标注,而YOLOv5的训练要求每张图片有对应YOLO(TXT格式)的标签文件,因此,需进行手动打标签。笔者利用Roboflow平台的内置标注功能,在此平台完成了标注。此外,在模型训练之前,需将数据集划分为测试集、训练集和验证集3类。在本次数据集中,分配了790张图片作为测试集,3100张图片作为训练集以及310张图片作为验证集。
2.3 获得预训练权重并训练模型
为了优化模型训练的效率,首先加载预训练的权值,并启动网络训练。YOLOv5框架提供了多种不同尺寸规格的预训练权重,这些权重经过精心设计和训练,满足了用户多样化的需求。用户可以根据自身需求,选择最合适的预训练权重版本。
一般而言,预训练模型的权值文件体积越大,其在后续训练过程中的精度通常会越高。然而,这也意味着训练过程可能会消耗更多的计算资源,导致训练时长相应延长。在本训练数据集的实践中,本文选用了yolov5s.pt作为预训练权重文件。
2.4 模型评估
精确率(Precision)和召回率(Recall)是衡量模型性能的指标,取值范围为0~1[8]。当这2个指标的值越接近0时,表示模型的质量越差;而越接近1时,则表示模型的质量越高。然而,这2个指标仅从单一角度评价模型性能,因此,在进一步评估模型时,通常会采用均值平均精度(mAP)这一指标。通常,精确率和召回率之间存在负相关关系,当mAP值趋近于0.8时,可以认为该模型的性能相对较好。
3 系统的实现与测试
3.1 系统开发环境测试
经过严格筛选和测试,本系统的开发采用了GeForce GTX 3060这一高性能PC级GPU,同时辅以64位Windows11操作系统,确保系统的稳定性和兼容性达到最佳状态。深度学习库选用PyTorch作为计算框架,使用anaconda创建虚拟环境;图形化界面设计采用PyQt5框架实现;系统的开发环境则使用PyCharm集成开发环境进行代码编辑与调试。
3.2 系统功能实现
通过选择视频文件检测选项,并将待检测视频上传至系统,用户可在软件界面上直接查看检测结果。如图2所示,检测结果将标注出每个检测到的害虫,并同时展示其置信度。此外,系统将在检测到虫害时发出报警,以便用户及时采取应对措施。
4 结语
农林虫害检测是农林治理和解决农林虫害的基础,如何快速准确地检测并识别虫害是难点之一。采用深度学习技术进行虫害检测已经成为害虫检测领域的发展趋势。为了推动深度学习方法在水稻虫害检测领域的应用,本文设计了一种基于YOLOv5技术的农林害虫检测系统。该系统的实现有效地提高了虫害预警的效率,降低了农林监管的人工成本。后续,笔者还将继续研究以下内容:(1)鉴于未来需求的持续演变,该系统将持续进行功能与性能的优化与拓展,旨在提升功能的完备性,以满足多样化的使用场景需求。(2)在检测视频时,从出现虫害至系统弹出报警信息,系统会有一定的延时,因此,系统实时性还需要继续提高。
参考文献
[1]李娇,葛艳,刘玉鹏.基于改进YOLOv5的昏暗小目标交通标志识别[J].计算机系统应用,2023(5):172-179.
[2]陈辉东,丁小燕,刘艳霞.基于深度学习的目标检测算法综述[J].北京联合大学学报,2021(3):39-46.
[3]李映松,杨爱英,刘轩,等.基于Transformer改进的Faster-Rcnn仓储箱体检测算法[J].自动化与仪器仪表,2022(8):1-6.
[4]李青云,李燕,卢峥松,等.轻量化超参数卷积神经网络的安全帽检测算法[J].现代计算机,2022(11):60-66.
[5]刘佳梁.基于Qt5开发的面向工业设备的状态监视及控制软件[J].电脑知识与技术,2023(20):70-72.
[6]徐炳文.基于C#的远程智能视频监控系统的设计与实现[J].网络安全技术与应用,2023(10):49-52.
[7]雷明.机器学习:原理,算法与应用[M].北京:清华大学出版社,2019.
[8]COOK J A,RAMADAS V.When to consult precision-recall curves[J].The Stata Journal,2020(1):131-148.
(编辑 王雪芬)
Design of agricultural and forestry pest detection system based on YOLOv5
PENG Huaifeng, XU Suopeng
(School of Intelligent Equipment Engineering, Wuxi Taihu University, Wuxi 214064, China)
Abstract: Diseases and insect pests pose a serious threat to stable grain production and increase the self-sufficiency rate of oil, which needs to be widely concerned and highly valued. Early accurate identification of pests and diseases is the key to early warning and control, for a long time, the pest identification of most traditional crops mainly relies on manual detection. In order to improve the accuracy and efficiency of crop pest detection, a YOLOv5 based agricultural and forestry pest detection system was studied in this paper. The system use deep learning for pest detection in agriculture and forestry, has a visual interface, which is convenient for users to operate, and at the same time gives tips and alerts for detected pests in agriculture and forestry.
Key words: YOLOv5; pest detection; model; warning