本项目为前几天收费帮学妹做的一个项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。
一、项目描述
基于 YOLOv8 深度学习模型的茶叶病虫害目标检测系统,采用 PyQt5 构建图形界面,可对茶叶叶片图像进行智能识别,自动检测并标注 6 种类别:藻斑病、茶饼病、灰斑病、健康、木虱病、红斑病,为茶园病虫害防治提供快速诊断手段。
二、项目功能
1. 单张图片检测 :选择图片后自动推理,显示标注框、类别、置信度及坐标信息
2. 批量图片检测 :对整个文件夹中的图片逐一检测并汇总结果
3. 视频检测 :加载视频文件逐帧实时检测
4. 摄像头实时检测 :调用本机摄像头进行实时病虫害识别
5. 结果保存与导出 :检测图片/视频可保存至本地,检测记录可导出为 CSV 文件
6. 模型分析 :查看混淆矩阵、PR 曲线、类别分布柱状图、精度召回率折线图等训练评估图表
7. 目标筛选 :通过下拉框聚焦显示指定检测目标,表格实时记录检测明细(序号、路径、类别、置信度、坐标)
三、运行环境
– 操作系统:Windows
– Python 3.11
– PyTorch 2.1.2(CPU 版,支持 CUDA 时自动切换 GPU)
– OpenCV 4.9.0
– NumPy 1.26.4
– 预训练权重:models/best.pt(置信度阈值 0.25,IOU 阈值 0.7)
– 启动方式:运行项目根目录下的 CS.py
四、项目技术
– 深度学习框架 :Ultralytics YOLOv8 + PyTorch,负责模型加载与推理
– 界面开发 :PyQt5,含自定义 QSS 样式、多线程(QThread)处理视频保存避免界面卡顿、进度条反馈
– 图像处理 :OpenCV 完成图像读取、缩放、视频流捕获与结果绘制
– 数据管理 :YOLO 格式数据集(datasets/TeaData),检测结果表格化展示并支持 CSV 导出
– 可视化 :Matplotlib 生成训练评估图表,检测结果以边界框形式叠加显示
以上系统源码经过技术整理与调试,确保能正常运行
五、项目截图