如何构建基于YOLOv5的番茄病虫害监测系统Pyqt5界面及训练代码?
摘要:《基于YOLO算法的番茄叶子病害检测系统》是一套智能化农业解决方案,支持14种番茄病害检测。系统采用YOLOv5v8v11v12多模型架构,具备图片视频实时摄像头多模态检测功能,包含用户管理、结果保存与可视化等模块。技术分析显示Y
视频演示
基于深度学习的番茄叶子病虫害监测系统
1. 前言
大家好!欢迎来到 Coding茶水间。
今天给大家介绍的题目是 《基于YOLO算法的番茄叶子病害检测系统》。
在现代化设施农业中,番茄作为重要经济作物,其叶片的健康状况直接关系到产量与品质。然而在现状中,很多种植基地仍依赖人工田间巡查或定期抽样检查,不仅工作量大、效率低,而且在病害早期、症状不明显或叶片重叠、光照变化时极易漏检。同时,番茄常见病害种类繁多——包括叶斑病、花叶病毒、卷叶病以及多种虫害,人工识别不但受经验限制,还容易出现误判,难以及时采取防治措施。随着精准农业和智慧植保的发展,市场对能自动识别多种病害类型、支持批量检测和实时监测的智能系统需求越来越迫切。
针对这一痛点,我们团队研发了这套成品级番茄叶子病害检测系统。它基于YOLO算法,可一次性识别多达14种病害及虫害,支持图片、视频、文件夹批量图片以及实时摄像头检测。系统提供多模型切换、置信度与IOU调节、语音播报、检测结果可视化与表格导出等功能,并能通过训练脚本扩展至更多病害类型,满足科研实验、农场无人巡检与病害大数据采集等多种场景。
接下来,我们就从主界面布局、核心参数调节、多场景检测演示,到模型训练与脚本调用,为大家完整呈现这套系统的实现与应用价值。
2. 项目演示
2.1用户登录界面
登录界面布局简洁清晰,左侧展示系统主题,用户需输入用户名、密码及验证码完成身份验证后登录系统。
2.2新用户注册
注册时可自定义用户名与密码,支持上传个人头像;如未上传,系统将自动使用默认头像完成账号创建。
2.3主界面布局
主界面采用三栏结构,左侧为功能操作区,中间用于展示检测画面,右侧呈现目标详细信息,布局合理,交互流畅。
2.4个人信息管理
用户可在此模块中修改密码或更换头像,个人信息支持随时更新与保存。
2.5多模态检测展示
系统支持图片、视频及摄像头实时画面的目标检测。识别结果将在画面中标注显示,并且带有语音播报提醒,并在下方列表中逐项列出。点击具体目标可查看其类别、置信度及位置坐标等详细信息。
2.6 检测结果保存
可以将检测后的图片、视频进行保存,生成新的图片和视频,新生成的图片和视频中会带有检测结果的标注信息,并且还可以将所有检测结果的数据信息保存到excel中进行,方便查看检测结果。
2.7多模型切换
系统内置多种已训练模型,用户可根据实际需求灵活切换,以适应不同检测场景或对比识别效果。
3.模型训练核心代码
本脚本是YOLO模型批量训练工具,可自动修正数据集路径为绝对路径,从pretrained文件夹加载预训练模型,按设定参数(100轮/640尺寸/批次8)一键批量训练YOLOv5nu/v8n/v11n/v12n模型。
# -*- coding: utf-8 -*-
"""
该脚本用于执行YOLO模型的训练。
它会自动处理以下任务:
1. 动态修改数据集配置文件 (data.yaml),将相对路径更新为绝对路径,以确保训练时能正确找到数据。
2. 从 'pretrained' 文件夹加载指定的预训练模型。
3. 使用预设的参数(如epochs, imgsz, batch)启动训练过程。
要开始训练,只需直接运行此脚本。
"""
import os
import yaml
from pathlib import Path
from ultralytics import YOLO
def main():
"""
主训练函数。
该函数负责执行YOLO模型的训练流程,包括:
1. 配置预训练模型。
2. 动态修改数据集的YAML配置文件,确保路径为绝对路径。
3. 加载预训练模型。
4. 使用指定参数开始训练。
