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/8/2 16:24:33 阅读更多 →
建站工期拖延,十次有八次卡在“客户的图还没给“

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

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

2026/8/2 16:24:33 阅读更多 →
2026年|外贸人必看!外贸独立站建设平台深度测评

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

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

2026/8/2 16:24:33 阅读更多 →

最新新闻

GetQzonehistory:三步备份你的QQ空间青春记忆

GetQzonehistory:三步备份你的QQ空间青春记忆

GetQzonehistory:三步备份你的QQ空间青春记忆 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 还记得那些年你在QQ空间写下的第一条说说吗?那些深夜的感悟、旅行的…

2026/8/2 17:13:02 阅读更多 →
激光原理、激光器核心部件与激光SLAM技术解析

激光原理、激光器核心部件与激光SLAM技术解析

1. 激光是什么:从“受激辐射”到“神奇光束”的诞生 如果你问一个路人“激光是什么”,他可能会指向超市的扫码枪、舞台上的光束灯,或者科幻电影里的光剑。没错,这些都是激光。但激光远不止于此。它既是现代工业的“精密手术刀”&a…

2026/8/2 17:13:02 阅读更多 →
从能响到好听:音频播放全链路解析与工程实践

从能响到好听:音频播放全链路解析与工程实践

1. 从“能响”到“好听”:声音播放的工程化思考最近在做一个智能硬件项目,涉及到音频播放功能。和一位刚入行的同事对接时,我发现他对于“声音播放”的理解,还停留在“调用一个API,把音频文件丢进去,喇叭能…

2026/8/2 17:13:02 阅读更多 →
基于RDA5807M的Grove I2C FM接收器:从原理到Arduino驱动实战

基于RDA5807M的Grove I2C FM接收器:从原理到Arduino驱动实战

1. 从零开始认识Grove - I2C FM接收器如果你玩过Arduino或者树莓派,对Grove这个模块化电子积木系统应该不陌生。它最大的好处就是把复杂的电路连线简化成了傻瓜式的插拔,让你能专注于功能实现,而不是和一堆杜邦线、电阻电容较劲。今天要聊的这…

2026/8/2 17:13:02 阅读更多 →
OpenAI未发布原型模型入侵Hugging Face,“永久停用”或为研发踩刹车信号

OpenAI未发布原型模型入侵Hugging Face,“永久停用”或为研发踩刹车信号

OpenAI模型入侵Hugging Face:4.5天的惊险攻击7月28日,OpenAI更新与Hugging Face共同发布的安全事故评估博客。7月29日,在华盛顿国会山,奥特曼结束与参议员闭门会后被记者追问,称那个闯进Hugging Face的未发布原型模型已…

2026/8/2 17:13:02 阅读更多 →
顺势掌控者系统 同花顺期货通指标

顺势掌控者系统 同花顺期货通指标

今天给大家带来是一款同花顺期货通指标,并且已经上架到同花顺期货通的指标广场上了。喜欢的朋友可以去指标广场安装试用!!友情提示:(指标只是辅助,不作建议)拼多多店铺:指标公式编写…

2026/8/2 17:12:01 阅读更多 →

日新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/2 0:00:38 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/2 0:00:38 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/2 0:00:38 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/2 0:00:38 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/2 0:00:38 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/2 0:00:38 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/2 6:34:16 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/2 2:47:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/2 0:23:22 阅读更多 →