yolov11小麦病害检测数据集 基于YOLOv11+pyqt5的小麦病害检测系统 小麦叶锈病 小麦健康识别 小麦散黑穗病 黄锈病、秆锈病
yolov11模型训练小麦病害检测数据集 建立基于YOLOv11pyqt5的小麦病害检测系统 推理识别检测叶锈病、健康、散黑穗病、黄锈病、秆锈病文章目录yolov11模型训练小麦病害检测数据集 建立基于YOLOv11pyqt5的小麦病害检测系统 推理识别检测叶锈病、健康、散黑穗病、黄锈病、秆锈病使用 torchvision.transforms 进行数据增强在 YOLO 训练流程中应用数据增强将自定义变换应用于 YOLO 数据加载✅ 系统架构概览 第一步准备环境与数据1. 安装依赖库2. 数据集结构 第二步训练 YOLOv11 模型 第三步开发 PyQt5 可视化界面1. 创建主窗口 UI2. 启动应用✅ 结语以下文字及代码仅供参考学习。基于YOLOv11pyqt5的小麦病害检测系统小麦病虫害数据集 yolo格式数据集划分好训练集1164张图片验证集218张图片测试集165张图片分为5个类别叶锈病、健康、散黑穗病、黄锈病、秆锈病。实现对图像进行随机角度旋转的数据增强可以使用torchvision.transforms或者imgaug等库。这里我将提供一个基于torchvision.transforms的简单示例它适合在 PyTorch 数据加载管道中集成。使用 torchvision.transforms 进行数据增强首先确保你的环境中已经安装了torchvisionpipinstalltorchvision然后创建一个自定义的变换组合其中包括随机旋转操作。以下是如何将其集成到你的数据加载管道中的示例importtorchfromtorchvisionimporttransforms,datasetsfromtorch.utils.dataimportDataLoaderimportos# 定义图像变换包括随机旋转data_transforms{train:transforms.Compose([transforms.RandomRotation(degrees(-30,30)),# 随机旋转-30到30度transforms.Resize((224,224)),# 调整大小transforms.ToTensor(),transforms.Normalize([0.485,0.456,0.406],[0.229,0.224,0.225])# 标准化]),val:transforms.Compose([transforms.Resize((224,224)),transforms.ToTensor(),transforms.Normalize([0.485,0.456,0.406],[0.229,0.224,0.225])]),}# 假设你的数据集路径如下组织data_dirwheat_disease_datasetimage_datasets{x:datasets.ImageFolder(os.path.join(data_dir,x),data_transforms[x])forxin[train,val]}dataloaders{x:DataLoader(image_datasets[x],batch_size32,shuffleTrue,num_workers4)forxin[train,val]}dataset_sizes{x:len(image_datasets[x])forxin[train,val]}class_namesimage_datasets[train].classes# 打印类别名称和数据集大小以确认设置正确print(class_names)print(dataset_sizes)在 YOLO 训练流程中应用数据增强YOLO 的训练过程中使用这些增强方法YOLO 框架本身提供了非常灵活的数据增强选项。你可以在配置文件或者命令行参数中指定增强策略。对于 Ultralytics YOLO 版本可以通过修改或添加数据增强参数来达到目的。在训练时加入额外的数据增强选项yolo trainmodelyolov11s.ptdatadata.yamlepochs100imgsz640batch16augmentTrue这里的augmentTrue开启了 YOLO 自带的一系列数据增强技术包括但不限于随机裁剪、翻转、颜色抖动等但不直接支持特定的角度旋转。如果需要更细致的控制比如指定旋转角度则需要通过自定义数据加载器的方式实现如上面提供的torchvision.transforms示例所示。将自定义变换应用于 YOLO 数据加载为了让 YOLO 接受自定义的图像变换你需要修改数据加载部分的代码使其包含上述的自定义变换。这通常涉及到修改 YOLO 源码中的数据加载函数这是一个高级操作可能需要一定的 Python 和深度学习框架的知识。不过考虑到灵活性和易用性推荐先尝试使用 YOLO 内置的数据增强功能并评估其效果。如果内置选项无法满足需求再考虑深入定制数据加载过程。训练集1164验证集218测试集165也可自行替换模型使用该界面做其他实现检测目标自定义Python PyQt5可视化界面可对图片/视频/摄像头进行识别结构清晰、标注完整的小麦病虫害数据集包含 5 类小麦病害叶锈病、健康、散黑穗病、黄锈病、秆锈病采用 YOLO 格式标注。目标是训练YOLOv11 模型并开发一个基于 PyQt5 的可视化检测系统支持图片、视频和摄像头实时识别。✅ 系统架构概览组件技术模型YOLOv11假设为 Ultralytics YOLO 官方版本数据格式YOLO 标注格式txt jpg推理引擎PyTorch / ONNXRuntime可视化界面PyQt5支持输入类型图片、视频、摄像头 第一步准备环境与数据1. 安装依赖库pipinstallultralytics pyqt5 opencv-python numpy onnxruntime如果使用 GPUpipinstalltorch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu1182. 数据集结构确保你的数据集目录结构如下wheat_disease_dataset/ ├── images/ │ ├── train/ │ ├── val/ │ └── test/ ├── labels/ │ ├── train/ │ ├── val/ │ └── test/ └── data.yamldata.yaml内容示例train:./images/trainval:./images/valtest:./images/testnc:5names:[healthy,leaf_rust,smut,yellow_rust,stem_rust] 第二步训练 YOLOv11 模型使用 Ultralytics 提供的yolo命令行工具进行训练yolo trainmodelyolov11s.ptdatadata.yamlepochs100imgsz640batch16modelyolov11s.pt: 使用官方预训练模型假设存在datadata.yaml: 配置文件路径epochs100: 训练轮数imgsz640: 输入图像尺寸batch16: 批量大小根据显存调整训练完成后会在runs/detect/train/weights/目录下生成best.pt和last.pt模型文件。 第三步开发 PyQt5 可视化界面构建一个 GUI 应用程序可以加载图片、视频或摄像头画面并显示检测结果。1. 创建主窗口 UIimportsysfromPyQt5.QtWidgetsimportQApplication,QWidget,QLabel,QPushButton,QFileDialog,QVBoxLayoutfromPyQt5.QtGuiimportQPixmap,QImagefromPyQt5.QtCoreimportQt,QTimerimportcv2importnumpyasnpfromultralyticsimportYOLOclassWheatDiseaseDetector(QWidget):def__init__(self):super().__init__()self.setWindowTitle(小麦病害检测系统)self.setGeometry(100,100,800,600)self.labelQLabel(self)self.label.setAlignment(Qt.AlignCenter)self.btn_imgQPushButton(选择图片,self)self.btn_videoQPushButton(选择视频,self)self.btn_cameraQPushButton(打开摄像头,self)layoutQVBoxLayout()layout.addWidget(self.label)layout.addWidget(self.btn_img)layout.addWidget(self.btn_video)layout.addWidget(self.btn_camera)self.setLayout(layout)# 加载模型self.modelYOLO(runs/detect/train/weights/best.pt)# 连接按钮事件self.btn_img.clicked.connect(self.load_image)self.btn_video.clicked.connect(self.load_video)self.btn_camera.clicked.connect(self.open_camera)self.capNoneself.timerQTimer()self.timer.timeout.connect(self.update_frame)defload_image(self):path,_QFileDialog.getOpenFileName(self,选择图片,,Image Files (*.png *.jpg *.jpeg))ifpath:resultsself.model(path)result_imgresults[0].plot()self.display_image(result_img)defload_video(self):path,_QFileDialog.getOpenFileName(self,选择视频,,Video Files (*.mp4 *.avi))ifpath:self.capcv2.VideoCapture(path)self.timer.start(30)defopen_camera(self):self.capcv2.VideoCapture(0)self.timer.start(30)defupdate_frame(self):ret,frameself.cap.read()ifret:resultsself.model(frame)result_imgresults[0].plot()self.display_image(result_img)defdisplay_image(self,img):rgb_imagecv2.cvtColor(img,cv2.COLOR_BGR2RGB)h,w,chrgb_image.shape bytes_per_linech*w qt_imageQImage(rgb_image.data,w,h,bytes_per_line,QImage.Format_RGB888)pixmapQPixmap.fromImage(qt_image).scaled(self.label.width(),self.label.height(),Qt.KeepAspectRatio)self.label.setPixmap(pixmap)2. 启动应用if__name____main__:appQApplication(sys.argv)windowWheatDiseaseDetector()window.show()sys.exit(app.exec_())–✅ 结语基于 YOLOv11 PyQt5 的小麦病害检测系统可以用于农业科研、病害防治等实际场景中。如需添加更多功能如导出检测结果、数据库记录、多语言支持等也可以继续拓展。

相关新闻

企业级AI编程落地最后一公里:如何用OpenTelemetry监控提示词漂移、用SARIF标准化漏洞反馈、用Diff测试验证生成代码一致性?

企业级AI编程落地最后一公里:如何用OpenTelemetry监控提示词漂移、用SARIF标准化漏洞反馈、用Diff测试验证生成代码一致性?

更多请点击: https://codechina.net 第一章:企业级AI编程落地的最后一公里挑战本质 企业级AI编程的“最后一公里”,并非技术能力的边界,而是工程化、组织协同与业务语义对齐的交汇地带。当模型在实验室中达到98%的准确率&#xf…

2026/10/12 2:58:41 阅读更多 →
建站工期拖延,十次有八次卡在“客户的图还没给“

建站工期拖延,十次有八次卡在“客户的图还没给“

建站工期拖延,十次有八次卡在"客户的图还没给" 做交付久了会发现,项目延期的头号原因不是设计改稿,也不是需求变更,而是——图还没给齐。 设计稿定了、页面框架都搭好了,就等产品图、团队照、案例图&#xf…

2026/9/26 8:18:30 阅读更多 →
2026年|外贸人必看!外贸独立站建设平台深度测评

2026年|外贸人必看!外贸独立站建设平台深度测评

导语随着2026年外贸市场环境的变化,Google的EEAT原则成为SEO排名的硬性门槛,SEM也需适应AI驱动的自动化竞价生态,新手独立站还面临诸多运营问题。在此背景下,为有外贸出海需求的企业主深度测评当下主流的外贸独立站建设平台&#…

2026/10/4 18:30:24 阅读更多 →

最新新闻

北邮数据库实验:在线考试系统模式设计与Power Designer实战

北邮数据库实验:在线考试系统模式设计与Power Designer实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 2:58:42 阅读更多 →
GaussDB工作级认证备考:拆解建表、执行计划与迁移避坑实战

GaussDB工作级认证备考:拆解建表、执行计划与迁移避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 2:58:42 阅读更多 →
V8引擎性能优化:从AST到JIT再到去优化的完整机制

V8引擎性能优化:从AST到JIT再到去优化的完整机制

写过几年 JavaScript 的人,心里多半都有过这个疑问:明明这是一门“跑在浏览器里的脚本语言”,甚至当年还被不少人当成玩具语言,为什么 V8 能把 JS 压榨到接近原生程序的性能?而且不光是快,它启动还得快、内…

2026/10/12 2:58:42 阅读更多 →
2亿5G消息平台项目流标:招标门槛、技术架构与交付能力博弈

2亿5G消息平台项目流标:招标门槛、技术架构与交付能力博弈

前阵子通信圈里都在传一个消息:某头部基础电信运营商的5G消息平台项目,预算接近2亿元,第一次公开招标竟然流标了。放在前几年,这种量级的项目基本是“定好剧本再走流程”,谁中标往往在开标前就有眉目。现在连2亿的大单…

2026/10/12 2:58:42 阅读更多 →
EasyBCD引导Windows10与Ubuntu18.04双系统:MBR与UEFI分区避坑全解析

EasyBCD引导Windows10与Ubuntu18.04双系统:MBR与UEFI分区避坑全解析

Windows 10 已经安好了,再塞一个 Ubuntu 18.04 进来,听起来就是个“分区、装系统、重启选菜单”的活。但我第一次走这条链路时,光引导就折腾了整整两天,EasyBCD、GRUB、MBR、UEFI 这些概念轮番上阵,最后才搞清楚问题不…

2026/10/12 2:58:42 阅读更多 →
数据库课程设计实战:从ER建模到JDBC事务与答辩技巧

数据库课程设计实战:从ER建模到JDBC事务与答辩技巧

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 2:57:41 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →