【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 使用指南)。

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

相关推荐
我不是8神2 小时前
字节跳动 Eino 框架(Golang+AI)知识点全面总结
开发语言·人工智能·golang
TonyLee0172 小时前
半监督学习介绍
人工智能·python·深度学习·机器学习
hjs_deeplearning2 小时前
文献阅读篇#11:自动驾驶中的基础模型:场景生成与场景分析综述(2)
人工智能·机器学习·自动驾驶
沫儿笙2 小时前
FANUC发那科焊接机器人厚板焊接节气
人工智能·机器人
百***78753 小时前
Sora Video2 API国内接入避坑与场景落地:开发者实战笔记
人工智能·笔记·gpt
lpfasd1233 小时前
与AI对话2小时,AI给我的启示
人工智能
Ro Jace3 小时前
On Periodic Pulse Interval Analysis with Outliers and Missing Observations
人工智能·机器学习
川西胖墩墩3 小时前
复杂任务的分布式智能解决方案
人工智能·分布式
DashVector3 小时前
通义深度搜索-上传文件
人工智能·深度学习·阿里云·ai·深度优先