小麦病害检测数据集【‘细菌叶斑病‘, ‘褐斑病‘, ‘叶瘤病‘】

news2024/11/15 1:40:56

小麦病害检测数据集】nc=3 标签names:['Bacteria Leaf Blight','Brown Spot', 'Leaf smut'] 名称:【'细菌叶斑病', '褐斑病', '叶瘤病'】共6715张,8:1:1比例划分,(train;5372张,val:671张,test:672张标注文件为YOLO适用的txt格式。可以直接用于模型训练。

小麦病害检测数据集介绍

60fc1fbbdd324a23851881fd890558a1.png

项目背景:

小麦作为全球重要的粮食作物之一,其健康状况直接关系到食品安全和农业生产的稳定性。小麦病害不仅影响作物产量,还会降低作物品质。传统的病害检测方法依赖于农业专家的经验和实验室分析,这种方法成本高且效率低下。本数据集旨在为小麦病害检测提供高质量的标注数据,支持自动化检测系统的开发与应用。

3f812962ea424835bb3ac4494bad5cb7.png

数据集概述:

  • 名称:小麦病害检测数据集
  • 规模:共计6,715张图像
  • 数据划分:按照8:1:1的比例划分为训练集、验证集和测试集
    • 训练集:5,372张图像
    • 验证集:671张图像
    • 测试集:672张图像
  • 类别:3种病害标签,其中“0”表示细菌叶斑病(Bacteria Leaf Blight), “1”表示褐斑病(Brown Spot), “2”表示叶瘤病(Leaf smut)
  • 标注格式:适用于YOLO的.txt格式标注文件,可以直接用于模型训练

数据集特点:

37a3015c7bcd4689bd8cb489c1f2cab6.png

  1. 全面性:涵盖小麦常见病害类型,确保数据集的多样性和实用性。
  2. 高质量标注:每张图像都已详细标注,确保数据的准确性和可靠性。
  3. 适用范围广:适用于多种深度学习框架,方便科研人员和开发者直接使用。
  4. 标准格式:采用广泛使用的YOLO格式标注文件,方便导入不同的检测框架。

数据集内容:

  • 细菌叶斑病(Bacteria Leaf Blight):标注了小麦叶片受到细菌感染的病斑。
  • 褐斑病(Brown Spot):标注了小麦叶片上的褐色病斑。
  • 叶瘤病(Leaf smut):标注了小麦叶片受到真菌感染形成的病斑。

数据集用途:

  1. 病害检测:可用于训练和评估深度学习模型,特别是在小麦病害检测方面。
  2. 作物保护:帮助实现作物病害的早期发现和防治,减少化学农药的使用。
  3. 科研与教育:为小麦病害检测领域的研究和教学提供丰富的数据支持。

使用场景:

  1. 田间监测:在农田中,利用该数据集训练的模型可以自动识别小麦病害。
  2. 质量控制:在农作物质量控制系统中,利用该数据集可以提高检测的准确性和速度。
  3. 生产管理:在农作物生产和管理工作中,利用该数据集可以提高工作效率和作物产量。

技术指标:

  • 数据量:共计6,715张图像,覆盖多种小麦病害类型。
  • 数据划分:按照8:1:1的比例划分,确保数据集的充分训练和验证。
  • 标注格式:适用于YOLO的.txt格式标注文件,方便导入不同的检测框架。
  • 标注精度:所有图像均已详细标注,确保数据的准确性和可靠性。

注意事项:

  • 数据隐私:在使用过程中,请确保遵守相关法律法规,保护个人隐私。
  • 数据预处理:在使用前,建议进行一定的数据预处理,如图像归一化等。

获取方式:

  • 下载链接:请访问项目主页获取数据集下载链接。
  • 许可证:请仔细阅读数据集的使用许可协议。

关键代码示例:

以下是关键代码的示例,包括数据加载、模型训练、检测和结果展示。

数据加载:

1import os
2import cv2
3import numpy as np
4
5# 数据集路径
6DATASET_PATH = 'path/to/dataset'
7IMAGES_DIR = os.path.join(DATASET_PATH, 'images')
8LABELS_DIR = os.path.join(DATASET_PATH, 'labels')
9
10# 加载数据集
11def load_dataset(directory):
12    images = []
13    labels = []
14
15    for img_file in os.listdir(IMAGES_DIR):
16        if img_file.endswith('.jpg'):
17            img_path = os.path.join(IMAGES_DIR, img_file)
18            label_path = os.path.join(LABELS_DIR, img_file.replace('.jpg', '.txt'))
19            
20            image = cv2.imread(img_path)
21            with open(label_path, 'r') as f:
22                label = f.readlines()
23            
24            images.append(image)
25            labels.append(label)
26
27    return images, labels
28
29train_images, train_labels = load_dataset(os.path.join(DATASET_PATH, 'train'))
30val_images, val_labels = load_dataset(os.path.join(DATASET_PATH, 'val'))
31test_images, test_labels = load_dataset(os.path.join(DATASET_PATH, 'test'))

模型训练:

1# 初始化YOLOv8模型
2model = YOLO('yolov8n.pt')
3
4# 定义训练参数
5EPOCHS = 100
6BATCH_SIZE = 16
7
8# 训练模型
9results = model.train(data='wheat_disease_detection.yaml', epochs=EPOCHS, batch=BATCH_SIZE)

模型检测:

1# 加载训练好的模型
2model = YOLO('best.pt')
3
4# 检测图像
5def detect_wheat_diseases(image):
6    results = model.predict(image)
7    for result in results:
8        boxes = result.boxes
9        for box in boxes:
10            x1, y1, x2, y2 = box.xyxy[0]
11            conf = box.conf
12            class_id = box.cls
13            
14            # 显示结果
15            cv2.rectangle(image, (int(x1), int(y1)), (int(x2), int(y2)), (0, 255, 0), 2)
16            cv2.putText(image, f'Class: {class_id}, Conf: {conf:.2f}', (int(x1), int(y1)-10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
17    
18    return image
19
20# 测试图像
21test_image = cv2.imread('path/to/test_image.jpg')
22result_image = detect_wheat_diseases(test_image)
23cv2.imshow('Detected Wheat Diseases', result_image)
24cv2.waitKey(0)
25cv2.destroyAllWindows()

配置文件 wheat_disease_detection.yaml

1train: path/to/train/images
2val: path/to/val/images
3test: path/to/test/images
4
5nc: 3  # Number of classes
6names: ['Bacteria Leaf Blight', 'Brown Spot', 'Leaf smut']  # Class names
7
8# Training parameters
9batch_size: 16
10epochs: 100
11img_size: [640, 640]  # Image size

使用指南:

  1. 数据准备:确保数据集路径正确,并且数据集已准备好。
  2. 模型训练:运行训练脚本,等待训练完成。
  3. 模型检测:使用训练好的模型进行检测,并查看检测结果。

结语:

本数据集提供了一个高质量的小麦病害检测数据集,支持自动化病害检测、作物保护等多个应用场景。通过利用该数据集训练的模型,可以提高病害检测的效率和准确性。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2139742.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【AI视频】复刻抖音爆款AI数字人作品初体验

博客主页: [小ᶻZ࿆] 本文专栏: AI视频 | AI数字人 文章目录 💯前言💯抖音上的爆火AI数字人视频💯注册HeyGen账号💯复刻抖音爆款AI数字人💯最终生成效果💯小结 对比原视频效果:…

JVM面试真题总结(十一)

文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 解释双亲委派模型及其优势 双亲委派模型是Java类加载器的一个重要…

Qt:静态局部变量实现单例(附带单例使用和内存管理)

前言 本文主要写静态局部变量实现的单例以及单例的释放,网上很多教程只有单例的创建,但是并没有告诉我们单例的内存管理,这就很头疼。静态局部变量实现的单例应该是最简单的单例,而且不需要内存管理。 正文 静态局部变量单例&a…

微服务实战系列之玩转Docker(十五)

前言 博主的玩转Docker系列,今天正式开启第十五篇的征程! 在过去的十四篇中,涉及的内容有知识、有原理、有工具、更有实践。当你打开每一篇文章时,均会获得一个特定主题的知识和技巧,助你在云原生的世界里&#xff0c…

C++实现unordered_map和unordered_set

1. 结构示意 2. 模版参数控制 我们知道,unordered_set和unordered_map与set和map是一样的,前者不是真正的键值对,它的value值和key值相同;后者是真正的键值对。STL非常注重代码的复用,它们在底层使用了同一棵红黑树模…

floodfill算法(一)

目录 一、图像渲染 1. 题目链接:733. 图像渲染 2. 题目描述: 3. 解法 🌴算法思路: 🌴算法代码: 二、岛屿数量 1. 题目链接:200. 岛屿数量 2. 题目描述: 3. 解法 &#x1f…

FinLex An effective use of word embeddings for financial lexicon generation

FinLex: An effective use of word embeddings for financial lexicon generation 论文阅读 文章目录 FinLex: An effective use of word embeddings for financial lexicon generation 论文阅读 AbstractMethodology具体词表例子LM 词列表与 FinLex 词列表 词列表在分类任务中…

网络安全学习(二)Netdiscover

Netdiscover是一款网络扫描工具(kali中有这个工具),它可以扫描本地网络主机,它借助ARP协议实施主机发现,长这个样子。 点击打开,进入命令行。 首先查看本机的IP地址,命令为ifconfig&#xff0c…

TAG:BladeLLM 的纯异步推理架构

作者:张子鹏 PAI引擎团队 随着 GQA/MLA/MoE 等模型结构不断发展,大语言模型的推理逐步解除了显存限制,逐渐向着高并发、高吞吐的方向发展。推理引擎的运行时开销也变得不可忽视。主流 LLM 推理框架的运行时开销大致来自: Python …

【MySQL学习】基础指令全解:构建你的数据库技能

📃个人主页:island1314 🔥个人专栏:MySQL学习 ⛺️ 欢迎关注:👍点赞 👂🏽留言 😍收藏 💞 💞 💞 引言 下面的操作都是在windows 的…

AT89C51 Intel HEX手工结构分析 反汇编工具

在不查询格式情况下分析确定 Intel HEX 格式 Hex文件内容 :0300000002090BE7 :0C090B00787FE4F6D8FD7581080208F63C :01091700419E :1008F60078087C007D007BFF7A0979177E007F01EE :050906001208D080FE84 :10080000E709F608DFFA8046E709F208DFFA803EDA :1008100088828C83E709F0…

C++基础面试题 | C++中的构造函数可以是虚函数吗? C++中的析构函数一定要是虚函数吗?

文章目录 问题一:在C中,构造函数不能是虚函数。问题二:析构函数不一定需要声明为虚函数,但在多态环境下,建议一定将其声明为虚函数。示例虚函数总结 问题一:在C中,构造函数不能是虚函数。 这是…

PMP--一模--解题--81-90

文章目录 4.整合管理81、 [单选] 一位先前不活跃的干系人参与程度突然增加,这种意外的参与导致了一些变更请求。项目经理应该做什么? 4.整合管理82、 [单选] 公司的新产品系列将在两个月内发布,95%的项目任务均已完成。但是,管理层…

二分算法——优选算法

个人主页:敲上瘾-CSDN博客 个人专栏:游戏、数据结构、c语言基础、c学习、算法 本章我们来学习的是二分查找算法,二分算法的应用非常广泛,不仅限于数组查找,还可以用于解决各种搜索问题、查找极值问题等。在数据结构和算…

无人机飞手培训机构组建及市场分析

飞手培训机构是专门为培养无人机飞行员(飞手)而设立的教育机构。这些机构通过提供专业的培训课程,帮助学员掌握无人机飞行技术、了解相关法规、提升实战能力,并最终获得相关证书,以便在航拍摄影、农业植保、物流配送、…

MS SQL Server 实战 排查多列之间的值是否重复

目录 需求 范例运行环境 数据样本设计 功能实现 上传EXCEL文件到数据库 SQL语句 小结 需求 在日常的应用中,排查列重复记录是经常遇到的一个问题,但某些需求下,需要我们排查一组列之间是否有重复值的情况。比如我们有一组题库数据&…

django实现开发、测试、生产环境配置区分

文章目录 一、为什么要区分开发 (dev)、测试 (test) 和生产 (prod) 环境二、django项目如何通过配置实现环境配置的区分1、针对不同的环境创建不同的设置文件settings.py2、在设置文件中根据需要进行配置区分3、根据不同的环境运行使用不同的设置文件 任何实际的软件项目中都要…

使用Python打造全自动wx好友添加器:批量操作,高效省时的社交神器

在现代的数字营销和社交扩展中,自动化操作可以显著提高效率。尤其是wx这种广泛使用的即时通讯工具,很多用户有批量添加好友的需求,但手动操作费时费力。本教程将详细介绍如何使用 Python 开发一个自动化工具,帮助你批量添加wx好友…

宏任务和微任务+超全面试真题(持续更新ing

概念 微任务和宏任务是在异步编程中经常使用的概念,用于管理任务的执行顺序和优先级。 宏任务:setTimeout, setInterval,I/O 操作和 UI 渲染等。微任务: Promise 回调、async/await等 微任务通常比宏任务具有更高的优先级。 执…

C#基础(11)函数重载

前言 前面我们已经完成了ref和out补充知识点的学习,以及函数参数相关的学习,今天便再次为函数补充一个知识点:函数重载。 函数重载是指在同一个作用域中,可以有多个同名函数,但参数列表不同。它的发展可以追溯到早期…