【YOLOv8 农业实战】11 组大豆 + 棉花深度学习数据集分享|附格式转换 + 加载代码

农业目标检测是智能农业、精准种植、病虫害预警的核心技术支撑,而高质量标注数据集是提升模型识别精度的关键。大豆和棉花作为我国重要经济作物,其叶片识别、病害检测、田间分割等场景的数据集需求迫切。

本次整理 11 组聚焦大豆、棉花的农业专用数据集,涵盖叶片病害识别、田间分割、花包检测、杂草识别等核心场景,适配 YOLOv5/YOLOv8 等主流模型。本文不仅提供数据集详细信息,还附上标注格式转换、数据加载实操代码,助力科研与项目落地,全程规避违规风险。

一、数据集核心参数(技术适配版)

所有数据集均经过合规性筛选,已标注类数据标注精度≥94%,可直接用于模型训练或二次优化,具体信息如下:

序号 数据集名称 核心规格 标注信息 适用场景
1 大豆单株田间分割数据集 594 张 已标注,YOLOv8 格式(边界框 + 分割掩码),精度 95% 大豆单株计数、株型分析、田间长势监测
2 大豆田间分割数据集 466 张 已标注,YOLOv8 格式,覆盖不同种植密度场景 大豆田间覆盖度计算、群体长势评估
3 大豆叶片病害识别数据集 1034 张,含叶斑病、锈病、健康 3 类 未标注,原始图片集,病害特征鲜明 大豆病害分类模型训练、数据集自制标注
4 大豆叶片分割数据集(含病虫害镂空) 1295 张 已标注,YOLOv8 格式,区分健康区域与病害镂空区域 大豆病害严重程度评估、叶片损伤量化
5 大豆叶片识别数据集 230 张 已标注,YOLOv8 格式,聚焦叶片个体识别 大豆叶片计数、叶面积估算、生长周期监测
6 大豆叶片大规模数据集 5711 张 已标注,CSV 格式(含类别标签、特征参数) 大豆叶片特征分析、大样本模型预训练
7 豆类叶片(健康 / 病害 / 虫害)分割识别数据集 1028 张 已标注,YOLO 格式(兼容 v5/v8),3 类场景标签 豆类作物综合病虫害检测、跨作物模型迁移
8 棉花花包识别数据集 754 张 已标注,YOLOv8 格式,花包定位精准 棉花产量预估、花包发育阶段监测
9 棉花花包识别数据集 1 600 张 已标注,YOLOv8 格式,含不同光照条件样本 棉花花包检测模型优化、抗干扰性训练
10 棉花图像识别数据集 464 张 已标注,YOLOv5 格式,支持格式转换后使用 棉花植株识别、田间分布监测
11 无人机视角大豆田杂草识别数据集 197 张 已标注,YOLOv8 格式,无人机高空视角 大豆田杂草精准防除、自动化除草设备适配

💡 提示:第 7 组数据集支持跨豆类作物迁移学习,第 11 组无人机视角数据可直接用于农业无人机巡检系统开发。

二、技术实操:数据集格式转换 + 加载代码

1. 标注格式转换(解决多格式兼容问题)

(1)CSV 格式转 YOLOv8 格式(适配第 6 组数据集)

python

运行

复制代码
import pandas as pd
import os
import cv2

# 数据集路径配置
csv_path = "soybean_leaf_data.csv"  # CSV标注文件路径
img_dir = "images/"  # 图片存放目录
save_label_dir = "labels/"  # 转换后标签保存目录
os.makedirs(save_label_dir, exist_ok=True)

# 读取CSV文件(假设CSV含列:image_name, class_id, x1, y1, x2, y2)
df = pd.read_csv(csv_path)
class_names = ["健康叶片", "病害叶片", "虫害叶片"]  # 需根据实际CSV类别调整

for img_name, group in df.groupby("image_name"):
    img_path = os.path.join(img_dir, img_name)
    img = cv2.imread(img_path)
    h, w = img.shape[:2]  # 获取图片尺寸
    
    label_path = os.path.join(save_label_dir, img_name.replace(".jpg", ".txt"))
    with open(label_path, "w", encoding="utf-8") as f:
        for _, row in group.iterrows():
            class_id = row["class_id"]
            # 转换为YOLOv8格式(x_center, y_center, w, h,归一化)
            xc = (row["x1"] + row["x2"]) / 2 / w
            yc = (row["y1"] + row["y2"]) / 2 / h
            bw = (row["x2"] - row["x1"]) / w
            bh = (row["y2"] - row["y1"]) / h
            f.write(f"{class_id} {xc:.6f} {yc:.6f} {bw:.6f} {bh:.6f}\n")

print("CSV转YOLOv8格式完成!")
(2)YOLOv5 转 YOLOv8 格式(适配第 10 组数据集)

python

运行

复制代码
import os

# 仅需统一标签文件命名与类别索引,YOLOv5与YOLOv8核心格式兼容
def yolov5_to_yolov8(label_dir):
    for label_file in os.listdir(label_dir):
        if label_file.endswith(".txt"):
            # 读取YOLOv5标签
            with open(os.path.join(label_dir, label_file), "r") as f:
                lines = f.readlines()
            # 直接保存为YOLOv8格式(无需修改内容,仅确保类别索引一致)
            with open(os.path.join(label_dir, label_file), "w") as f:
                f.writelines(lines)

# 调用函数转换
yolov5_to_yolov8("yolov5_labels/")
print("YOLOv5转YOLOv8格式完成!")

2. YOLOv8 数据集加载与验证

python

运行

复制代码
from ultralytics import YOLO
import yaml
import os

# 编写数据集配置文件(agri_data.yaml)
data_config = {
    "path": "./agri_dataset",  # 数据集根目录
    "train": "images/train",    # 训练集图片路径
    "val": "images/val",        # 验证集图片路径
    "nc": 8,                    # 类别总数(根据实际数据集调整)
    "names": ["大豆单株", "大豆叶片", "大豆叶斑病", "大豆锈病", 
              "棉花花包", "杂草", "豆类病害叶片", "豆类虫害叶片"]  # 类别名称
}

# 保存配置文件
with open("agri_data.yaml", "w", encoding="utf-8") as f:
    yaml.dump(data_config, f, allow_unicode=True)

# 加载预训练模型并验证数据集格式
model = YOLO("yolov8n.pt")
# 格式验证(仅验证不训练)
model.val(data="agri_data.yaml", imgsz=640, batch=16, verbose=True)
print("数据集格式验证通过,可直接用于训练!")

3. 训练调参建议(针对农业数据集特点)

  • 小样本数据集(如 197 张杂草数据、230 张叶片识别数据):采用迁移学习,冻结主干网络前 8 层,学习率设为 0.0005,迭代 60 轮,搭配 MixUp 数据增强提升泛化能力。
  • 中大规模数据集(如 5711 张大豆叶片数据、1034 张病害数据):解冻全部网络层,学习率设为 0.001,迭代 100 轮,使用早停机制(patience=8)避免过拟合。
  • 农业场景优化:针对田间光照变化、遮挡问题,在数据增强中增加亮度对比度调整(±20%)、随机遮挡(比例≤10%),提升模型在实际田间环境的鲁棒性。

三、数据集价值与应用场景(技术落地导向)

1. 科研价值

为农业信息技术、机器学习领域提供真实场景数据支撑,可用于优化作物识别、病害检测、语义分割等模型,推动精准农业技术创新。

2. 实际应用场景

  • 智能病虫害预警:基于大豆叶片病害数据集训练模型,集成到田间传感器或无人机巡检系统,实现病害实时识别与预警。
  • 产量预估:通过大豆单株分割、棉花花包识别数据集,结合株型、花包数量等特征,建立产量预测模型。
  • 精准除草:利用无人机视角杂草识别数据集,适配自动化除草设备,实现杂草精准定位与防除。
  • 科研与教学:适用于高校农业工程、计算机视觉专业的实验教学,以及相关领域的课题研究。

四、后续分享计划

后续将聚焦农业目标检测落地痛点,补充以下内容:1. 大豆 / 棉花病虫害细分场景数据集(如不同生育期病害);2. YOLOv8 模型轻量化部署教程(适配边缘计算设备、农业无人机);3. 农业数据集标注实战(LabelStudio 使用指南)。

如需获取数据集详细获取方式,可关注博主或者私信。

相关推荐
AngelPP3 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年3 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼3 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS4 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区5 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈5 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang5 小时前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx
shengjk17 小时前
NanoClaw 深度剖析:一个"AI 原生"架构的个人助手是如何运转的?
人工智能
西门老铁8 小时前
🦞OpenClaw 让 MacMini 脱销了,而我拿出了6年陈的安卓机
人工智能