农业数字化|玉米地田间作物识别数据集|幼苗出苗率|杂草识别|YOLO格式|AI智能农田应用
在智慧农业加速落地的今天,田间作物精准识别、出苗率智能统计、杂草自动化防控已成为提升种植效率与产量的核心环节。传统人工巡检效率低、误差大,而高质量标注数据集与轻量化深度学习模型,正成为破解农田视觉感知“最后一公里”的关键抓手。
📌 项目概述
本数据集为农业场景专用目标检测数据集,聚焦玉米田间真实环境,面向玉米幼苗识别、出苗率统计、杂草智能检测等核心任务,原生支持YOLO系列模型快速训练与部署,助力农业AI工程化落地。
🧾 数据集核心信息
| 信息项 | 详情 |
|---|---|
| 任务方向 | 目标检测(Object Detection) |
| 目标类别 | 玉米(corn)、杂草(weeds) |
| 数据规模 | 908张高分辨率田间实拍图像 |
| 数据集结构 | 11个细分子集,覆盖不同光照、长势、杂草类型 |
| 数据格式 | 标准YOLO标注格式,图像为JPG/PNG通用格式 |
| 核心价值 | 支撑出苗率统计、精准除草、智能巡检模型训练 |
✅ 数据集优势
- 场景纯净:无冗余背景,全为玉米田间真实环境,降低模型干扰
- 标注规范:严格遵循YOLO标注规范,开箱即用,减少数据预处理成本
- 细分充分:11个子集覆盖苗期、成株期、稀疏/稠密杂草等多样工况
- 工程友好:适配YOLOv5/v8/v10/v12等主流框架,支持端侧与云端部署
🧠 深度学习实战代码(玉米-杂草YOLO训练)
# -*- coding: utf-8 -*-""" 玉米地杂草识别训练脚本 · 农业场景专用 适配本数据集:玉米(corn) + 杂草(weeds)二分类检测 场景经验:农田低对比度、叶片重叠、光照多变 训练策略:小批次、高增强、早停,适配农田小目标特性 """fromultralyticsimportYOLOimporttorch# ====================== 核心配置 ======================# 数据集配置(对应本数据集目录结构)DATA_YAML="maize_weeds.yaml"# 选用轻量模型,适配无人机/边缘设备部署MODEL="yolov8s.pt"EPOCHS=150BATCH_SIZE=16IMAGE_SIZE=640# 农田场景建议:低置信度+适中IOU,减少漏检CONF_THRESH=0.25IOU_THRESH=0.45# ====================== 训练启动 ======================deftrain_maize_weeds():# 优先使用GPUdevice=0iftorch.cuda.is_available()else"cpu"model=YOLO(MODEL)# 训练参数(农田数据增强经验值)model.train(data=DATA_YAML,epochs=EPOCHS,batch=BATCH_SIZE,imgsz=IMAGE_SIZE,device=device,patience=20,# 早停,防止过拟合cache=True,# 加速读取augment=True,# 开启增强hsv_h=0.015,# 色调(农田光照鲁棒)hsv_s=0.3,# 饱和度hsv_v=0.4,# 明度degrees=10,# 旋转限制perspective=0.001,# 轻微透视flipud=0.1,# 上下翻转fliplr=0.5,# 左右翻转conf=CONF_THRESH,iou=IOU_THRESH,project="runs/maize_weeds",name="yolov8s_maize",exist_ok=True)# ====================== 推理验证 ======================defdetect_field_image(model_path,img_path):""" 单张田间图像推理:输出玉米/杂草位置与置信度 """model=YOLO(model_path)results=model.predict(source=img_path,conf=CONF_THRESH,iou=IOU_THRESH,imgsz=IMAGE_SIZE,save=True,show=False)# 打印出苗/杂草统计信息forresultinresults:boxes=result.boxes corn_num=sum(1fordinboxes.clsifint(d)==0)weed_num=sum(1fordinboxes.clsifint(d)==1)print(f"🌽 玉米株数:{corn_num}| 🌿 杂草株数:{weed_num}")if__name__=="__main__":train_maize_weeds()# 训练完成后推理# detect_field_image("runs/maize_weeds/yolov8s_maize/weights/best.pt", "test.jpg")📋 配套YAML配置(maize_weeds.yaml)
# 玉米-杂草检测数据集配置 · 对齐本数据集结构path:./datasets/adventices-mais# 数据集根目录train:images/train# 训练集路径val:images/val# 验证集路径test:images/test# 测试集(可选)# 类别定义(与数据集标注完全一致)nc:2names:0:corn1:weeds🎯 典型应用场景
- 出苗率智能统计:无人机巡田→图像识别→自动计算出苗率→生成田间报表
- 精准除草机器人:实时检测杂草→定位喷药/机械除草→省药减损、保护幼苗
- 农田监测系统:边缘端轻量化部署,7×24小时监测长势与杂草入侵
- 育种辅助评估:批量分析苗期长势,为品种筛选提供客观数据
🔧 环境依赖
# 一键安装依赖pipinstallultralytics opencv-python torch torchvision pillow📌 使用流程
- 下载数据集并解压至
datasets/adventices-mais - 配置
maize_weeds.yaml路径 - 运行训练脚本,自动完成训练与验证
- 导出
best.pt用于推理、部署、二次开发
📌 标签
#农业数字化 #玉米出苗率 #杂草识别 #YOLO数据集 #目标检测 #智慧农业 #AI农田 #农业智能化 #计算机视觉 #深度学习数据集