摘要

针对农业生产中害虫种类多、识别难度大、人工检测效率低等问题,本文基于YOLOv8目标检测算法构建了一套昆虫检测系统,实现对10类常见农业害虫的自动识别与定位。系统采用包含696张训练图像、199张验证图像和100张测试图像的自建数据集,训练过程中使用mAP、F1分数、召回率、混淆矩阵等指标对模型性能进行全面评估。实验结果表明,模型在测试集上的总体精度为0.918,召回率达到1.00,mAP50为0.89,F1分数在置信度阈值为0.645时达到0.88,各类别之间混淆程度低,训练过程稳定收敛。该系统具备较高的检测准确性与泛化能力,可广泛应用于农田害虫智能监测与预警。

目录

  摘要

功能模块

1、用户管理模块

2、界面与交互模块

3、检测源管理模块

4、检测参数配置模块

5、YOLO检测核心模块

6、结果显示模块

7、结果保存模块

8、工具栏功能

9、辅助功能

10、数据校验模块

引言

背景

数据集介绍

1 数据来源与类别

2 数据集划分

训练过程

训练结果

总体评价

关键指标汇总

各类别表现分析

表现极佳的类别(F1 > 0.95)

表现良好的类别(F1 0.85–0.95)

轻微混淆的类别

训练过程分析(results.png)​编辑


功能模块

用户登录注册:支持密码检测,密码加密。

注册

登录

✅ 图片检测:可对图片进行检测,返回检测框及类别信息。

参数实时调节(置信度和IoU阈值)

✅ 支持选择检测目标:可以选择一个或者多个类目的目标进行检测

✅ 视频检测:支持视频文件输入,检测视频中每一帧的情况。

✅ 摄像头实时检测:连接USB 摄像头,实现实时监测。

日志记录:日志标签页记录操作和错误信息,带时间戳

结果保存模块:支持图片/视频/摄像头检测结果保存

1、用户管理模块

功能 描述
用户注册 用户名、密码、确认密码、邮箱(选填)注册,密码SHA256加密存储
用户登录 用户名密码验证,自动跳转主界面
用户数据存储 JSON文件存储用户信息(密码加密、注册时间、邮箱)
登录状态 主界面显示当前登录用户名

2、界面与交互模块

功能 描述
玻璃效果界面 半透明毛玻璃背景,圆角边框,现代化视觉风格
无边框窗口 自定义标题栏,支持窗口拖动、最小化、最大化、关闭
响应式布局 主窗口三栏布局(左侧控制区、中央显示区、右侧信息区)
状态栏 显示设备信息、模型状态、当前用户、实时时间

3、检测源管理模块

功能 描述
图片检测 支持JPG/JPEG/PNG/BMP格式图片载入
视频检测 支持MP4/AVI/MOV/MKV格式视频载入
摄像头检测 实时调用摄像头(默认ID 0)进行检测
检测源切换 下拉菜单切换三种检测模式,自动更新界面状态

4、检测参数配置模块

功能 描述
置信度阈值 滑动条调节(0-100%,步长1%),实时显示当前值
IoU阈值 滑动条调节(0-100%,步长1%),实时显示当前值
类别选择 动态生成检测类别复选框,支持全选/取消全选
参数同步 参数实时同步到检测器核心

5、YOLO检测核心模块

功能 描述
模型加载 加载best.pt模型文件,自动检测GPU可用性,支持CPU/GPU切换
多模式检测 图片检测、视频检测、摄像头实时检测
检测线程 基于QThread的多线程处理,避免界面卡顿
检测结果 返回目标类别、置信度、边界框坐标
FPS计算 实时计算处理帧率
进度反馈 视频处理进度条实时更新

6、结果显示模块

功能 描述
实时画面 中央区域显示检测结果图像(带标注框)
统计信息 检测状态、目标数量、FPS、处理帧数实时更新
检测列表 右侧列表显示当前帧所有检测到的目标(类别+置信度)
日志记录 日志标签页记录操作和错误信息,带时间戳
占位显示 未选择检测源时显示系统LOGO和提示文字

7、结果保存模块

功能 描述
保存开关 复选框控制是否保存检测结果
路径选择 自定义保存路径,支持图片/视频格式自动识别
自动命名 保存文件自动添加时间戳(detection_result_20240101_120000.jpg
视频保存 支持检测结果视频录制(MP4格式)
手动保存 工具栏保存按钮可随时保存当前画面
保存反馈 保存成功弹窗提示,日志记录保存路径

8、工具栏功能

功能 描述
图片按钮 快速切换到图片检测模式并打开文件选择器
视频按钮 快速切换到视频检测模式并打开文件选择器
摄像头按钮 快速切换到摄像头检测模式
保存按钮 手动保存当前显示画面

9、辅助功能

功能 描述
错误处理 统一错误弹窗提示,日志记录错误详情
资源清理 检测停止时自动释放摄像头、视频文件、视频写入器资源
时间显示 状态栏实时显示系统时间
模型状态 状态栏显示模型加载状态和当前设备(CPU/GPU)

10、数据校验模块

功能 描述
注册验证 用户名长度≥3,密码长度≥6,密码一致性检查,邮箱格式验证
协议确认 注册前需勾选同意用户协议
文件校验 模型文件存在性检查,文件大小验证(≥6MB)
输入非空 登录/注册时必填项非空检查

引言

农业生产中,害虫是影响作物产量与质量的重要因素之一。传统害虫识别方式主要依赖农业专家的经验判断或农民的人工观察,存在效率低、主观性强、响应滞后等问题。随着计算机视觉与深度学习技术的发展,基于图像的目标检测方法在农业病虫害识别中展现出巨大潜力。

YOLO(You Only Look Once)系列算法因其端到端的检测结构、高实时性和良好的检测精度,已成为目标检测领域的主流方法之一。YOLOv8在先前版本的基础上进一步优化了网络结构、损失函数和后处理策略,在小目标检测和类别不平衡场景下表现更为优越。

本研究旨在构建一个基于YOLOv8的昆虫检测系统,针对10类常见农业害虫进行自动识别与定位。通过对训练过程、损失曲线、混淆矩阵、PR曲线等结果进行系统分析,验证模型在实际农业场景中的可行性与鲁棒性,为后续的智能农业监测系统提供技术支持。

背景

农业害虫是全球农业生产中的主要生物胁迫因素之一。根据联合国粮农组织(FAO)统计,每年因害虫导致的粮食损失约占全球总产量的20%–40%,对粮食安全构成严重威胁。传统害虫防治依赖于定期田间巡查和化学农药喷洒,前者人力成本高、覆盖范围有限,后者则容易导致环境污染和害虫抗药性增强。

近年来,随着精准农业和智能农业概念的兴起,基于图像处理和机器学习的害虫自动识别技术逐步成为研究热点。早期的害虫识别方法多依赖于手工设计的特征(如颜色、纹理、形状)配合传统分类器(如支持向量机、随机森林)。这些方法在实验室条件下表现尚可,但在复杂的田间背景、光照变化、害虫姿态多样等真实环境中鲁棒性较差。

深度学习,尤其是卷积神经网络的出现,极大地推动了图像识别领域的发展。目标检测算法从早期的R-CNN系列到YOLO、SSD等一阶段检测器,逐步实现了从“能否检测”到“快速且精准检测”的跨越。YOLOv8作为YOLO系列的最新迭代版本,引入了更高效的特征提取网络(CSPNet改进版)、无锚框检测头(Anchor-Free)以及更科学的损失函数(CIoU + VFL Loss),在保持高速推理的同时显著提升了小目标检测和重叠目标区分能力。

数据集介绍

1 数据来源与类别

本研究使用自建农业害虫图像数据集,所有图像均在田间或标准农业实验田中采集,涵盖不同光照条件、作物生长期和拍摄角度。共包含以下10类害虫:

  • army worm(行军虫)

  • legume blister beetle(豆类芫菁)

  • red spider(红蜘蛛)

  • rice gall midge(稻瘿蚊)

  • rice leaf roller(稻纵卷叶螟)

  • rice leafhopper(稻叶蝉)

  • rice water weevil(稻水象甲)

  • wheat phloeothrips(小麦管蓟马)

  • white backed plant hopper(白背飞虱)

  • yellow rice borer(二化螟)

2 数据集划分

数据集 图像数量
训练集 696 张
验证集 199 张
测试集 100 张

数据划分遵循分层随机抽样原则,确保每类害虫在各子集中的分布比例与原始数据一致。所有图像均经过人工标注,采用YOLO格式的边界框标注文件,标注内容包括类别标签和矩形框坐标。

训练过程

训练结果

总体评价

模型整体表现优秀,尤其在识别绝大多数害虫类别时具有高精度、高召回率,F1分数高达0.88(在置信度阈值0.645时),mAP50 达到0.89,mAP50-95为0.89,说明模型在目标检测任务中非常可靠。


关键指标汇总

指标 说明
mAP50 0.89 在IoU=0.5时平均精度高
mAP50-95 0.89 对不同IoU阈值表现稳定
总体F1分数 0.88 @ 0.645置信度 平衡精度与召回率
总体精度 (Precision) 0.918 误检少
总体召回率 (Recall) 1.00 几乎无漏检
最佳置信度阈值 ~0.645 用于推理时过滤低置信预测

各类别表现分析

表现极佳的类别(F1 > 0.95)
  • legume blister beetle

  • white backed plant hopper

  • rice gall midge

  • rice water weevil

  • army worm

  • yellow rice borer

这些类别在PR曲线中显示 Precision & Recall 接近 1.0,混淆矩阵中几乎没有与其他类别混淆。

表现良好的类别(F1 0.85–0.95)
  • red spider(精度0.829,召回1.00)

  • rice leaf roller(精度0.929)

  • rice leafhopper(精度0.855)

轻微混淆的类别

归一化混淆矩阵中可以看到:

  • army worm 有少量被误判为 background(概率约0.12)

  • rice gall midge 与 rice leaf roller 之间存在轻微混淆(约0.1)

  • white backed plant hopper 与 yellow rice borer 之间有交叉误判

这些混淆在农业害虫检测中是可接受的,尤其是形态或生态位相似的物种。


训练过程分析(results.png)

指标 趋势 解读
train/box_loss 持续下降 边界框定位收敛良好
train/cls_loss 持续下降 分类收敛良好
val/box_loss 稳定下降 泛化能力强
val/cls_loss 稳定下降 无过拟合迹象
precision 稳定上升至0.90+ 误检控制好
recall 快速上升至1.0 漏检极少
mAP50 上升至0.89 整体检测能力强

训练曲线平滑,无剧烈震荡,说明训练稳定、超参数设置合理

假设您现在准备好进行标注。有几种开源工具可以帮助简化数据标注流程。以下是一些有用的开放标注工具:

Label Studio:一个灵活的工具,支持各种标注任务,并包含用于管理项目和质量控制的功能。 CVAT:一个强大的工具,支持各种标注格式和可定制的工作流程,使其适用于复杂的项目。 Labelme:一个简单易用的工具,可以快速标注带有多边形的图像,非常适合简单的任务。 LabelImg: 一款易于使用的图形图像标注工具,特别适合以 YOLO 格式创建边界框标注。

用于实例分割的 LabelMe 标注工具

这些开源工具经济实惠,并提供一系列功能来满足不同的标注需求。

界面核心代码:

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐