Ultralytics YOLO 在 Global Wheat Head 数据集上的训练实战基于 GWHD 的单类别田间目标检测【免费下载链接】ultralyticsUltralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking项目地址: https://gitcode.com/GitHub_Trending/ul/ultralytics本文围绕 Ultralytics 官方检测数据集文档 Global Wheat Head Dataset 展开系统讲解 GWHDGlobal Wheat Head Dataset小麦穗头数据集的构成、划分逻辑与 GlobalWheat2020.yaml 配置文件的逐字段含义并结合 check_det_dataset 源码 剖析“首次训练自动下载”的底层机制最终给出可复制运行的 Python/CLI 训练方案帮助你把 YOLO26 落地到农业表型分析这一实际场景。1. 数据集概述Global Wheat Head DatasetGWHD是一个单类别目标检测数据集用于在户外田间图像中检测小麦穗头wheat heads——小麦植株上结籽的穗部。它由来自 7 个国家的 9 家研究机构合作构建图像采集自欧洲、北美、亚洲和大洋洲的多个种植区目的是让模型在不同环境之间具备强泛化能力。数据集共包含5,446 张带标注的高分辨率 RGB 田间图像划分为三个子集划分 (Split)图像数量来源区域Train训练3,422欧洲法国、英国、瑞士、北美加拿大Validation验证748瑞士ETH Zürichethz_1子集Test测试1,276澳大利亚、日本、中国精确的小麦穗头检测是估计穗头密度、穗部大小和产量潜力的基础是植物表型分析与作物管理中的关键中间任务。2. 关键特性真实田间图像覆盖小麦穗头外观、光照条件和生育期上的自然变化而非受控环境下的拍摄结果。跨区域构建由 7 个国家、9 家研究机构协作完成横跨欧洲、北美、亚洲与澳大利亚种植区天然支持跨环境泛化评估。开箱即用的单类别标注全部标注为wheat_head一个类别的边界框可直接接入目标检测与跟踪流水线。真正的泛化基准测试集澳大利亚、日本、中国来自训练中未见过的基因型与区域是衡量模型泛化能力的“留出集”。注意验证集的特殊性验证集的 748 张图像来自ethz_1子集而ethz_1同时也包含在训练集中。因此验证指标反映的是“域内”表现真正衡量泛化能力的是来自澳、日、中三国的测试集。这一点在 GlobalWheat2020.yaml 的注释中也以WARNING: train set contains ethz_1明确标出。3. Dataset YAML 配置详解Ultralytics 通过 YAML 文件定义数据集的路径、类别与下载逻辑。GWHD 对应的配置文件是仓库内维护的 ultralytics/cfg/datasets/GlobalWheat2020.yaml训练时只需传入文件名GlobalWheat2020.yaml即可。配置文件核心内容如下# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list path: GlobalWheat2020 # dataset root dir train: # train images (relative to path) 3422 images - images/arvalis_1 - images/arvalis_2 - images/arvalis_3 - images/ethz_1 - images/rres_1 - images/inrae_1 - images/usask_1 val: # val images (relative to path) 748 images (WARNING: train set contains ethz_1) - images/ethz_1 test: # test images (optional) 1276 images - images/utokyo_1 - images/utokyo_2 - images/nau_1 - images/uq_1 # Classes names: 0: wheat_head # Download script/URL (optional) download: | from pathlib import Path from ultralytics.utils.downloads import download # 下载官方图像包Zenodo 上的 Codalab 官方压缩包与 YOLO 格式标签包 dir Path(yaml[path]) # dataset root dir urls [ 官方图像包下载地址, YOLO 标签包下载地址 ] download(urls, dirdir) # 创建 annotations / images / labels 目录 # 将 11 个子集arvalis_1..3、ethz_1、rres_1、inrae_1、usask_1、 # utokyo_1/2、nau_1、uq_1移入 images/对应 .json 注释移入 annotations/上例中的两个下载 URL 为远端资源地址完整值请直接查看仓库源文件 GlobalWheat2020.yaml。逐字段解读path: GlobalWheat2020数据集根目录名。若该相对路径不存在解析器会将其挂到全局数据集目录DATASETS_DIR下默认即datasets/所在的本地数据目录这是“自动下载”行为的落盘位置。train7 个子集法国 Arvalis 的 3 个子集、瑞士 ETH Zürich 的ethz_1、英国 Rothamstedrres_1、法国 INRAE 的inrae_1、加拿大萨斯喀彻温大学的usask_1合计 3,422 张。val仅ethz_1748 张与训练集共享该子集见第 2 节的域内说明。test4 个子集日本东京大学的utokyo_1/utokyo_2、中国南京农业大学的nau_1、澳大利亚昆士兰大学的uq_1合计 1,276 张用于跨环境泛化评估。names: {0: wheat_head}单类别定义类别索引 0 对应wheat_head。检测头输出的特征维度、损失计算与结果可视化Results.boxes上的cls→ 类别名映射均依赖这一映射。download内嵌的 Python 下载脚本负责拉取图像包与标签包并把 11 个子集目录从压缩包中重命名整理到images/把对应的 COCO 风格.json注释文件移入annotations/。4. 自动下载机制的源码剖析文档强调“数据集约 7.0 GB在首次使用时自动下载无需手动操作”。这一行为由 ultralytics/data/utils.py 中的check_det_dataset()实现完整调用链如下定位配置文件L566-L572传入裸名称如GlobalWheat2020时会自动补齐.yaml后缀并在包内cfg/datasets/目录中找到 GlobalWheat2020.yaml若传入目录则调用find_dataset_yaml查找其中的描述文件。解析与校验L582-L619YAML.load()读取文件后强制检查train/val键必须存在names或nc必须存在且类型正确——这正是 YAML 里必须写names: {0: wheat_head}的原因。路径解析L623-L637path若为相对路径且不存在会被重新解析为DATASETS_DIR / GlobalWheat2020随后train/val/test每个子集路径都拼接根目录并逐一resolve()。触发自动下载L639-L663逐一检查val列表中的目录是否已存在若缺失且autodownloadTrue则取出 YAML 中的download字段并分三种情况执行以http开头且以.zip结尾 → 直接调用safe_download下载并解压以bash开头 → 作为 shell 脚本执行其余情况GWHD 属于此类→ 作为 Python 脚本执行exec(s, {yaml: data})L659-L660脚本内即可引用当前解析好的data字典从而拿到yaml[path]作为落盘目录。执行成功后日志会打印success (xx.xs), saved to DATASETS_DIR。从源码结构看下载目录DATASETS_DIR可通过settings.yaml配置修改若下载目录中仍找不到图像程序会抛出FileNotFoundError并提示当前数据集目录位置L647-L651便于排查网络或磁盘问题。此外check_det_dataset()末尾还会通过check_font()预下载可视化所需字体L664保证训练回调中绘制wheat_head边界框时不缺字体依赖。5. 训练 YOLO26Python 与 CLI 两种方式在 GWHD 上训练yolo26n模型100 个 epoch、图像尺寸 640的标准用法如下。首次运行时框架会先执行第 4 节所述的自动下载流程约 7.0 GB之后再进入训练。 Pythonfrom ultralytics import YOLO # 加载预训练模型训练推荐使用 model YOLO(yolo26n.pt) # 训练模型 results model.train(dataGlobalWheat2020.yaml, epochs100, imgsz640) CLI# 从预训练 *.pt 模型开始训练 yolo detect train dataGlobalWheat2020.yaml modelyolo26n.pt epochs100 imgsz640参数要点data数据集描述符传文件名即可check_det_dataset()会自动定位到包内配置modelyolo26n.ptn为最轻量档位的 YOLO26 检测模型适合单类别、中小规模数据更大模型s/m/l/x可参考 YOLO26 模型页epochs100训练轮数GWHD 仅 5,446 张图像100 轮配合早停patience是常见配置imgsz640输入分辨率田间小目标场景可在显存允许时适当调大以保留更多穗头细节。完整参数列表请参考 Training 模式文档。训练完成后可将验证/测试流程切到val或testsplit 上评估其中test指标澳、日、中三国数据才是泛化能力的真实度量。6. 样本图像与标注形态GWHD 的图像呈现了户外田间的真实多样性不同拍摄角度俯视穗层、近距单穗、光照、生育期与背景杂草混杂。标注形态为边界框每张图中每个可见的小麦穗头对应一个wheat_head框标签文件为 YOLO 归一化格式由下载脚本从官方.json注释转换而来存放于数据集根目录的labels/下与images/子集一一对应。在检测结果可视化中每个框上会渲染wheat_head 置信度标签。原文档附带了一张带标注示例图多穗头田间图像 检测框此处不重复引用外部图片读者训练完成后可通过model.val()的plots输出自行查看同类的真实标注效果。7. 应用场景GWHD 广泛用于训练与评估小麦穗头检测的深度学习模型其跨区域、跨基因型、跨条件的多样性使其成为植物表型分析与作物管理领域的核心资源具体支撑产量估算穗头密度 × 单穗粒数 → 田间产量潜力估计作物健康监测结合图像中的穗部状态评估成熟度与长势表型组学大规模表型数据获取服务育种筛选跟踪与密度统计基于检测框可直接扩展为视频跟踪与区域计数流水线。8. 引用与致谢若在你的研究或开发工作中使用了 GWHD请引用以下论文article{david2020global, title{Global Wheat Head Detection (GWHD) Dataset: A Large and Diverse Dataset of High-Resolution RGB-Labelled Images to Develop and Benchmark Wheat Head Detection Methods}, author{David, Etienne and Madec, Simon and Sadeghi-Tehran, Pouria and Aasen, Helge and Zheng, Bangyou and Liu, Shouyang and Kirchgessner, Norbert and Ishikawa, Goro and Nagasawa, Koichi and Badhon, Minhajul and others}, journal{arXiv preprint arXiv:2005.02162}, year{2020} }在此向参与该数据集创建与维护的 9 家研究机构致谢感谢其为植物表型分析与作物管理研究社区提供了这一重要资源。数据集的完整说明见官方站点见 GlobalWheat2020.yaml 头部注释中的 URL。9. 常见问题FAQQ1Global Wheat Head 数据集用来做什么主要用于训练与开发小麦穗头检测的深度学习模型服务于小麦表型分析与作物管理更精确地估计穗头密度、穗部大小与整体产量潜力并辅助评估作物健康度与成熟度支撑高效、可持续的作物管理决策。Q2数据集有多少图像和类别单一类别wheat_head划分为 3,422 张训练图像、748 张验证图像、1,276 张测试图像。训练与验证数据来自欧洲与北美测试集来自澳大利亚、日本与中国用于评估模型对未见环境的泛化能力。Q3如何训练 YOLO26n确认 GlobalWheat2020.yaml 存在于包内无需手动下载配置文件然后按第 5 节的 Python 或 CLI 示例运行dataGlobalWheat2020.yaml训练即可全部参数见 Training 文档。Q4如何下载该数据集无需手动下载首次以dataGlobalWheat2020.yaml训练时check_det_dataset()检测到本地缺失会自动执行 YAML 中的download脚本从远端拉取约 7.0 GB 的图像包与标签包并解压到本地数据集目录机制详见第 4 节源码剖析。更多检测数据集可浏览 Detection 数据集总览。Q5配置文件在哪里GlobalWheat2020.yaml随仓库分发位于 ultralytics/cfg/datasets/GlobalWheat2020.yaml包含数据集根路径、各 split 子集列表、单类别定义与自动下载脚本是模型训练在 Ultralytics YOLO 中识别该数据集的唯一入口。Q6为什么穗头检测对作物管理重要穗头密度与大小是评估作物健康、成熟度与产量潜力的直接指标。基于 GWHD 训练的模型参见 YOLO 模型总览可规模化采集这些表型帮助农研人员监控作物状态、优化水肥等资源投入提升产量与资源利用效率支撑可持续农业与粮食安全。10. 小结GWHD 是 Ultralytics 官方内置的单类别田间目标检测数据集wheat_head5,446 张配置入口为 GlobalWheat2020.yaml训练只需一条命令dataGlobalWheat2020.yaml自动下载与目录整理由 check_det_dataset() 通过执行 YAML 内嵌download脚本完成评估时务必区分验证集域内ethz_1与训练集共享与测试集澳/日/中跨环境留出集两类指标的不同含义。【免费下载链接】ultralyticsUltralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking项目地址: https://gitcode.com/GitHub_Trending/ul/ultralytics创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考