项目简介
本项目基于YOLOv8 目标检测算法+Streamlit 交互式 Web 框架开发,一套轻量化农业病害识别工具,支持葡萄、苹果、水稻三大作物的病害与虫害检测,上传图片 / 视频 / 本地摄像头实时推理,自动输出病害名称、发病症状、防治方案与参考图,无代码门槛,浏览器直接使用,适合农业教学、田间快速诊断、毕业设计使用。
【开源】基于yolov8的病虫害专家系统_哔哩哔哩
【开源】基于yolov8的病虫害专家系统
技术栈
深度学习框架:PyTorch + Ultralytics YOLOv8
Web 可视化:Streamlit
图像处理:OpenCV、Pillow
环境管理:Anaconda/miniconda(推荐)
配套文档:环境部署 PDF 手册
核心功能
多作物任务切换
支持 3 类作物独立模型:葡萄病虫害、苹果病虫害、水稻病害 + 水稻虫害
三种推理输入源
图片上传(jpg/png/jpeg/bmp/webp)
本地视频文件逐帧检测
电脑摄像头实时画面识别
可调检测参数
侧边栏滑动条自定义置信度阈值(10~100),适配不同清晰度样本
完整病害知识库
内置二十余种病害信息:病害中文名、发病症状、全套防治方法、病害实拍图、治理参考图
检测结果统计
自动统计画面内各类病害数量,分栏展示原图、标注效果图、病害说明、防治方案
轻量化部署
纯 Python 实现,无需前端开发,一行命令启动网页服务
项目目录结构
yolo8-agri-disease/ ├── app.py # 项目入口、Streamlit页面主逻辑 ├── config.py # 全局配置:模型路径、作物任务映射、数据源类型 ├── utils.py # 工具函数:模型加载、图像推理、病害知识库、视频/摄像头处理 ├── weights/ # YOLOv8训练权重存放目录 │ ├── grape_a.pt │ ├── grape_all.pt │ ├── apple.pt │ └── rice.pt ├── pic/ # 病害配套图片库 │ ├── grape/ # 葡萄病害图 │ ├── apple/ # 苹果病害图 │ ├── rice/ # 水稻病害图 │ └── insect/ # 水稻虫害图 ├── Streamlit+yolo8环境配置指导手册.pdf # 完整环境搭建教程 └── README.md # 项目说明文档
支持识别病害清单
葡萄病害
黑腐病、黑痘病、褐斑病、酸腐病、霜霉病、溃疡病、灰霉病、花叶病、健康叶片
苹果病害
褐斑病、花叶病、白粉病、腐烂病、健康叶片
水稻病害
褐斑病、稻瘟病、白叶枯病
水稻虫害
稻蝽虫卵、小菜蛾、二化螟(幼虫 / 成虫)、稻绿蝽、蝗虫
环境部署教程
使用操作流程
左侧侧边栏选择作物任务(葡萄 / 苹果 / 水稻)
下拉框选择对应训练好的模型权重
滑动条调整检测置信度(建议默认 25)
选择输入类型:图像 / 视频 / 摄像头
上传文件 / 打开摄像头,点击执行
页面分栏展示:原图、带检测框效果图、病害统计、症状说明、防治方案
常见问题
模型加载失败
检查
weights
文件夹是否存在对应 pt 权重文件,路径不要含中文。
摄像头无法打开
关闭其他占用摄像头软件,Windows 需给予终端相机权限。
运行速度极慢
优先使用 NVIDIA GPU;CPU 环境建议只处理图片,避免长视频。
streamlit 命令找不到
确认已经激活环境
yolo8
虚拟环境,重新执行 pip 安装 streamlit。
开源说明
本项目仅供学习、毕业设计、农业研究使用,禁止商用;
模型权重、病害图片为标注数据集训练所得,如需扩展作物可自行扩充数据集重新训练 YOLOv8。
补充
如需训练自定义作物病害模型,可基于 ultralytics YOLOv8 官方训练脚本,替换对应作物标注数据集即可接入本 Web 系统。