农业目标检测是智能农业、精准种植、病虫害预警的核心技术支撑,而高质量标注数据集是提升模型识别精度的关键。大豆和棉花作为我国重要经济作物,其叶片识别、病害检测、田间分割等场景的数据集需求迫切。
本次整理 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 使用指南)。
如需获取数据集详细获取方式,可关注博主或者私信。
