摘要

针对草莓生长过程中易受多种病害侵扰且田间实时诊断困难的问题,本文构建了一种基于YOLOv8的草莓果实病害检测系统。系统以草莓果实为检测目标,涵盖胶病(Benh cao su)、黑斑病(Benh dom den)、灰霉病(Benh moc xam)、白粉病(Benh phan trang)以及正常果实(Qua binh thuong)共5个类别。数据集共包含884张图像,其中训练集700张、验证集81张、测试集103张。实验结果显示,模型在测试集上的平均精度均值(mAP@0.5)达到0.795,其中灰霉病检测效果最优(AP=0.846),整体召回率最高可达0.92,精确率在高置信度阈值下可达1.00。研究表明,YOLOv8在草莓果实病害检测任务中具有较高实用价值。

引言

草莓作为高附加值经济作物,其果实品质与病害管理密切相关。传统病害识别依赖人工巡检,不仅效率低下,且易受主观经验和光照条件影响,难以满足现代农业精准防控的需求。近年来,基于深度学习的目标检测技术,尤其是YOLO系列模型,因其实时性与高精度在农业病害检测领域得到了广泛应用。然而,草莓果实病害种类多样、病斑形态相似、背景干扰复杂,给自动化检测带来了挑战。

本文设计并实现了一套基于YOLOv8的草莓果实病害检测系统,旨在实现对5类常见病害及正常果实的快速识别。系统训练共使用700张标注图像,并分别设置验证集与测试集对模型性能进行系统评估。通过混淆矩阵、F1曲线、PR曲线及训练损失曲线等多维度分析,本文验证了模型在病害检测任务中的可行性与局限性。研究工作不仅为草莓病害智能识别提供技术参考,也为后续优化模型结构、提升细粒度病害分类能力奠定基础。

目录

  摘要

引言

功能模块

1、用户管理模块

2、界面与交互模块

3、检测源管理模块

4、检测参数配置模块

5、YOLO检测核心模块

6、结果显示模块

7、结果保存模块

8、工具栏功能

9、辅助功能

10、数据校验模块

背景

数据集介绍

训练过程

训练结果

总体性能评估​编辑​编辑​编辑

各类别性能分析​编辑​编辑

关键混淆问题:

训练曲线分析(results.png)​编辑

PR曲线分析​编辑


功能模块

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

注册

登录

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

参数实时调节(置信度和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)
输入非空 登录/注册时必填项非空检查

背景

草莓病害是影响产量和果实品质的主要因素之一。其中,胶病(Benh cao su)常导致果实流胶腐烂,黑斑病(Benh dom den)表现为果实表面黑色凹陷斑块,灰霉病(Benh moc xam)在潮湿条件下迅速蔓延,白粉病(Benh phan trang)则使果实表面覆有白色粉状霉层。这四类病害在田间往往混合发生,且早期症状与正常果实颜色、纹理高度相似,肉眼难以准确区分。传统检测方法依赖植保专家现场诊断,成本高、时效性差,无法适应大面积种植园的实时监测需求。

随着计算机视觉和深度学习技术的快速发展,基于卷积神经网络的目标检测模型已逐步替代传统图像处理方法。YOLOv8作为当前YOLO系列的最优版本之一,在检测速度和精度之间取得了良好平衡,尤其适合移动端或无人机载农业检测场景。然而,现有公开草莓病害数据集较少,且多集中于叶片病害,针对果实病害的系统性研究仍显不足。因此,构建一套覆盖主要果实病害、标注规范的本地数据集,并基于YOLOv8进行系统训练与评估,具有重要的研究意义和实际应用价值。

数据集介绍

图像采集自实际种植环境,涵盖不同光照、角度和背景条件下的草莓果实图像。数据集中共包含5个类别,具体名称如下:

  • Benh cao su(胶病)

  • Benh dom den(黑斑病)

  • Benh moc xam(灰霉病)

  • Benh phan trang(白粉病)

  • Qua binh thuong(正常果实)

所有图像均经过人工筛选与精确标注,采用边界框(bounding box)标注果实区域及其对应病害类别。数据集总图像数量为884张,按照训练、验证、测试三部分进行划分:

  • 训练集(Train):700张

  • 验证集(Val):81张

  • 测试集(Test):103张

训练过程

训练结果

总体性能评估

指标 说明
mAP@0.5 0.795 中等偏上,模型整体可用
全类F1最高值 0.74(@置信度0.252) 平衡尚可
全类召回率 0.92(@置信度0.000) 漏检较少
全类精确率 1.00(@置信度0.942) 高置信度下预测极准

结论:模型在低置信度阈值下召回率高,在高置信度下精确率高,说明模型有较好的区分能力。


各类别性能分析

类别 精确率(估算) 召回率(估算) 主要问题
Benh moc xam(灰霉病) 0.93 0.93 表现最好
Benh phan trang(白粉病) 0.82 0.82 较好
Benh dom den(黑斑病) 0.67 0.67 中等
Benh cao su(胶病) 0.50 0.50 较差
Qua binh thuong(正常果) 0.81 0.81 较好
background(背景) 0.17 0.17 极差(误检严重)
关键混淆问题:
  • 背景 → 正常果(0.17):背景常被误检为正常果

  • 胶病 → 正常果(0.25):胶病易漏检为正常

  • 灰霉病 → 正常果(0.18):部分灰霉病被误判为正常

  • 白粉病 → 胶病(0.82):白粉病严重误判为胶病


训练曲线分析(results.png)

  • loss曲线:box_loss、cls_loss、dfl_loss均稳定下降,收敛良好,无过拟合迹象。

  • mAP50:从0.65上升到0.77左右,后期趋于平稳。

  • mAP50-95:约0.58,说明模型对小目标或轻度病害的定位精度一般。


PR曲线分析

  • mAP@0.5 = 0.795,PR曲线下面积尚可。

  • 各类别AP:

    • 灰霉病:0.846(最高)

    • 白粉病:0.824

    • 黑斑病:0.776

    • 胶病:0.767

    • 正常果:0.761

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

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

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

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

界面核心代码:

Logo

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

更多推荐