拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

玉米雄穗目标检测数据集 | 玉米雄穗 作物表型 智慧农业 无人机巡检 小样本检测9142期

玉米雄穗目标检测数据集 | 玉米雄穗 作物表型 智慧农业 无人机巡检 小样本检测9142期

玉米雄穗目标检测数据集 | 玉米雄穗 作物表型 智慧农业 无人机巡检 小样本检测9142期

数据集概述

本数据集专注于无人机航拍视角下的玉米雄穗(tassel)检测,服务于农业无人机巡检、作物表型分析及智能育种。数据涵盖田间玉米雄穗图像,适配雄穗计数、抽雄期监测及生长评估等应用。

数据集核心信息

数据要素详细说明
类别共1类:玉米雄穗(tas)
数量约 250 张图像
格式图像为 JPG/PNG;标签为 YOLO 格式的 txt 文件(归一化坐标),含data.yaml配置文件
数据划分建议按 8:2 划分,训练集 200 张,验证集 50 张
应用价值1.作物表型:支撑玉米雄穗的自动计数与抽雄期监测,辅助表型分析。
2.智能育种:为育种材料雄穗性状评估提供量化数据。
3.农业巡检:为无人机巡检系统提供雄穗识别能力,支持生长监测。
4.算法研发:为小样本目标检测、数据增强策略研究提供真实场景数据。

完整类别列表(共1类)

序号类别名称英文标签说明
1玉米雄穗tas玉米顶部的雄花序

数据三要素解析

类别与目标覆盖

  • 数据集定义1个核心类别:玉米雄穗(tas),聚焦单一目标,便于快速部署与高精度检测。
  • 雄穗位于玉米植株顶部,在航拍图像中呈羽状或分枝状结构,与叶片、茎秆有一定的视觉区分度。
  • 单类别设计降低了模型复杂度,有利于在边缘设备上实现高效推理。

数据规模与挑战

  • 图像总量约250张,规模较小,直接训练易导致过拟合或泛化能力差。
  • 实际拍摄图像,已人工标注,数据质量可靠。
  • 强烈建议:采用数据增强(旋转、翻转、亮度调整、Mosaic、copy_paste等)扩展至1000+ 张,提升模型泛化能力。

格式与配套资源

  • 采用通用YOLO 格式(txt),每张图像对应一个同名标签文件,包含类别 ID 与归一化边界框坐标。
  • 提供data.yaml配置文件,可直接用于 YOLOv5、YOLOv8 等模型训练。
  • 附赠数据划分脚本、训练代码、推理与评估代码,用户可直接运行。

知识普及:玉米雄穗检测的技术要点

  • 小样本学习策略:数据量小(250张)时,必须使用强数据增强(Mosaic、MixUp、copy_paste、HSV调整等)来扩充有效样本量,降低过拟合风险。
  • copy_paste增强:YOLOv8 内置的copy_paste增强可将标注的雄穗自动复制粘贴到其他图像中,极大增加正样本多样性,尤其适合小目标检测。
  • 小目标检测:雄穗在航拍图像中可能尺寸较小,建议使用更高分辨率输入(如imgsz=1280)或更大的模型(如 YOLOv8m/l)。
  • 关注召回率:农业计数场景中,漏检(低召回)比误检影响更大,评估时应重点关注 Recall 指标。
  • 主动学习迭代:使用当前模型预测未标注图像,筛选出“疑似雄穗”(置信度 0.3-0.6)的样本,人工标注后加入训练集,迭代提升模型性能。
  • 应用闭环:检测结果可结合无人机位置信息,生成雄穗分布图,辅助育种筛选与农艺管理。

快速开始(代码示例)

1. 准备配置文件 (data.yaml)

train:../datasets/corn_tas/images/trainval:../datasets/corn_tas/images/valnc:1names:['tas']

2. 数据划分脚本 (split_data.py)

importosimportrandomimportshutilfrompathlibimportPathdefsplit_dataset(image_dir,label_dir,output_dir,train_ratio=0.8):os.makedirs(f"{output_dir}/images/train",exist_ok=True)os.makedirs(f"{output_dir}/images/val",exist_ok=True)os.makedirs(f"{output_dir}/labels/train",exist_ok=True)os.makedirs(f"{output_dir}/labels/val",exist_ok=True)images=[fforfinos.listdir(image_dir)iff.endswith(('.jpg','.png','.jpeg'))]random.seed(42)random.shuffle(images)split_idx=int(len(images)*train_ratio)train_files=images[:split_idx]val_files=images[split_idx:]forimg_fileintrain_files:shutil.copy(f"{image_dir}/{img_file}",f"{output_dir}/images/train/{img_file}")txt_file=Path(img_file).with_suffix('.txt')ifos.path.exists(f"{label_dir}/{txt_file}"):shutil.copy(f"{label_dir}/{txt_file}",f"{output_dir}/labels/train/{txt_file}")else:open(f"{output_dir}/labels/train/{txt_file}",'w').close()forimg_fileinval_files:shutil.copy(f"{image_dir}/{img_file}",f"{output_dir}/images/val/{img_file}")txt_file=Path(img_file).with_suffix('.txt')ifos.path.exists(f"{label_dir}/{txt_file}"):shutil.copy(f"{label_dir}/{txt_file}",f"{output_dir}/labels/val/{txt_file}")else:open(f"{output_dir}/labels/val/{txt_file}",'w').close()print(f"✅ 划分完成!训练集:{len(train_files)}张,验证集:{len(val_files)}张")split_dataset(image_dir='your_data/images',label_dir='your_data/labels',output_dir='datasets/corn_tas')

3. 训练脚本 (train.py)

fromultralyticsimportYOLOimporttorch model=YOLO('yolov8m.pt')results=model.train(data='datasets/corn_tas/data.yaml',epochs=300,imgsz=640,batch=16,name='corn_tas_yolov8m',device='cuda'iftorch.cuda.is_available()else'cpu',workers=4,optimizer='AdamW',lr0=0.001,weight_decay=0.0005,patience=50,project='runs/corn',amp=True,close_mosaic=25,# 强数据增强hsv_h=0.015,hsv_s=0.7,hsv_v=0.5,translate=0.2,scale=0.5,fliplr=0.5,mosaic=1.0,mixup=0.5,copy_paste=0.3,degrees=15.0,shear=2.0)

4. 推理脚本 (predict.py)

fromultralyticsimportYOLO model=YOLO('runs/corn/corn_tas_yolov8m/weights/best.pt')results=model.predict(source='test_field.jpg',save=True,conf=0.25,iou=0.45,project='runs/predict',name='corn_test',imgsz=640)forresultinresults:boxes=result.boxesprint(f"检测到{len(boxes)}个雄穗")

标签

玉米雄穗作物表型智慧农业无人机巡检小样本检测目标检测YOLO格式深度学习数据集计算机视觉

返回列表