ARTICLE DETAIL

资讯详情

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

Ultralytics YOLO26 实战:Objects365 大规模目标检测数据集训练、预训练检查点与 712GB 下载机制全解

Ultralytics YOLO26 实战:Objects365 大规模目标检测数据集训练、预训练检查点与 712GB 下载机制全解 Ultralytics YOLO26 实战Objects365 大规模目标检测数据集训练、预训练检查点与 712GB 下载机制全解【免费下载链接】ultralyticsUltralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking项目地址: https://gitcode.com/GitHub_Trending/ul/ultralyticsObjects365 是由 Megvii 研究团队发布的大规模目标检测数据集以约 174 万张训练图和 365 个物体类别成为检测模型预训练的首选数据源之一。本篇基于 Ultralytics 仓库中的 Objects365 数据集文档 与配套配置、源码讲透三件事如何用Objects365.yaml一键自动下载并训练 YOLO26 检测器、如何免下载直接使用官方 Objects365 预训练权重做预测与微调以及这套YAML 内嵌 Python 下载脚本机制在 ultralytics/data/utils.py 中的真实执行链路。数据集概览与关键特性Objects365 是 ICCV 2019 论文Shao et al., Objects365: A Large-Scale, High-Quality Dataset for Object Detection发布的数据集聚焦真实世界场景中的多样化物体覆盖从人、车、椅子到瓶子、狗、路灯等 365 个类别。官方文档给出的核心规格指标数值训练图像1,742,289 张验证图像80,000 张类别数365上游发布规模约 200 万张图像、3000 万个边界框从数据集特性看它适合目标检测的原因有四365 类词汇表 稠密框标注标注以边界框形式给出天然适配检测模型的训练与评估真实场景多样性图像覆盖各类 in-the-wild 场景构成有挑战性的检测基准预训练价值高官方文档引用 ICCV 2019 论文的实验结论——以 Objects365 预训练比以 ImageNet 预训练在 COCO 基准上高 5.6 个点42.0 vs 36.4 mAP。这正是 Ultralytics 选择它作为 YOLO26 预训练数据源的原因典型应用场景检测骨干预训练后续在 COCO、VOC 等更小数据集上微调、零售货架识别瓶、杯、运动鞋、手提包等日用类别、机器人与智能环境的无结构化场景识别、以及检测模型泛化能力基准评测。数据集结构与 YAML 配置Ultralytics 在 ultralytics/cfg/datasets/Objects365.yaml 中维护该数据集的完整配置定义两个数据划分划分图像数用途Train1,742,289模型训练Validation80,000评估与基准测试下载流程会拉取 train 与 val 两个划分合计 1,822,289 张图像配置中的test:键刻意留空。YAML 的头部注释给出了路径约定与磁盘占用预估# Objects365 dataset https://www.objects365.org/ by Megvii # Example usage: yolo train dataObjects365.yaml # parent # ├── ultralytics # └── datasets # └── Objects365 ← downloads here (712 GB 367G data 345G zips) path: Objects365 # dataset root dir train: images/train # train images (relative to path) 1742289 images val: images/val # val images (relative to path) 80000 images test: # test images (optional)names段按 0–364 索引完整定义了 365 个类别包括Person、Sneakers、Car、Street Lights、Bottle、Dog、Cat、Traffic Sign、Laptop、Refrigerator等完整 365 项见 Objects365.yaml。需要特别留意类别名中带有斜杠的复合类别如Cabinet/shelf、Handbag/Satchel、Pen/Pencil、Bowl/Basin、Truck与Heavy Truck分属不同类别等——在自定义下游数据集中若沿用其中部分类别需保持这种命名一致才能对齐权重中的类别索引。下载脚本的源码级解析YAML 尾部Objects365.yaml 的download:块内嵌了一段 Python 脚本这是 Ultralytics 数据集即配置 设计的核心——把数据获取逻辑与配置放在一起首次训练时自动执行。该脚本的工作流程安装评估依赖调用check_requirements(faster-coco-eval)安装faster-coco-eval包并从中导入COCO类用于解析原始 COCO 格式标注分片并行下载train 划分下载 51 个补丁包patch0.tar.gz~patch50.tar.gz即代码中的50 1外加标注文件zhiyuan_objv2_train.tar.gz使用 17 线程val 划分下载 44 个补丁包43 1v1 补丁patch0–14与 v2 补丁patch16–43分两组以 16 线程下载另有标注文件zhiyuan_objv2_val.json图像归位用ThreadPoolExecutor(max_workers16)把各补丁解压出的*.jpg重命名平铺到images/split/下标注格式转换以类别为主循环遍历 365 个类别对每张图像调用COCO.getAnnIds/loadAnns取出标注框将 COCO 的像素级 xywh 经xyxy2xywhn转为归一化 xywhn 五元组逐行追加写入labels/split/image.txt{class_id} {x} {y} {w} {h}精度 5 位小数——这正是 YOLO 训练所需的标准标签格式。其中坐标转换函数xyxy2xywhn定义在 ultralytics/utils/ops.pyclipTrue参数保证越界框被裁剪到图像内部避免出现归一化坐标大于 1 的脏标签。这套脚本如何被触发入口在 ultralytics/data/utils.py 的check_det_dataset()它先做数据完整性校验——train、val键必须存在names与nc必须二选一二者共存时长度必须一致Objects365 的 365 个names会被自动折算为nc: 365当 val 图像目录不存在且autodownload为真时检查download键若以http开头且以.zip结尾则按 URL 下载若以bash开头则执行 shell 命令否则直接把脚本当作 Python 代码exec(s, {yaml: data})执行ultralytics/data/utils.py。Objects365 走的正是最后这条分支脚本内通过闭包变量yaml[path]拿到数据集根目录下载目录默认为DATASETS_DIR默认位于项目根目录的datasets/可在 Ultralytics 设置文件中修改日志会提示 Note dataset download directory is ...。⚠️磁盘与时间预算Objects365 首次使用自动下载共需约712GB 空闲磁盘——345GB 的 tar.gz 压缩包 367GB 解压后的数据集。下载脚本还会执行标注转换耗时取决于网络带宽与硬件。在评估训练方案前官方文档建议先到 检测数据集总览 对比体积更小的替代数据集如 COCO128、COCO8 等。Objects365 预训练模型免下载直接可用Ultralytics 官方发布了在 Objects365v1 上预训练的 YOLO26 检测与分割模型均为 150 epochs、640 分辨率训练无需下载 712GB 数据集即可检测全部 365 类。检测模型在 Objects365v1 验证集上的单模型单尺度指标模型尺寸 (px)mAP val 50-95mAP val 50参数量 (M)FLOPs (B)YOLO26n64016.322.32.56.0YOLO26s64024.331.79.621.3YOLO26m64030.338.220.669.4YOLO26l64032.240.125.087.7YOLO26x64035.844.156.1195.7分割模型使用 Objects365v1 的掩码生成同时报告框与掩码精度模型尺寸 (px)mAP box 50-95mAP mask 50-95参数量 (M)FLOPs (B)YOLO26n-seg64015.713.22.89.7YOLO26s-seg64023.819.510.534.8YOLO26m-seg64029.523.823.8122.7YOLO26l-seg64031.725.328.2141.0YOLO26x-seg64035.427.963.1315.3注mAP val 为单模型单尺度、Objects365v1 验证划分上的结果Params 与 FLOPs 为model.fuse()融合后模型的数值。这些检查点在源码中的资产清单有明确定义ultralytics/utils/downloads.py 的GITHUB_ASSETS_NAMES包含yolo26{k}-objv1{suffix}.ptk ∈ nsmlxsuffix 为-150或-seg意味着yolo26n-objv1-150.pt、yolo26s-objv1-seg.pt等文件均可被框架识别为官方资产首次YOLO(...)加载时自动下载与常规.pt权重行为一致。与 YOLO26 官方训练流程的关系根据 YOLO26 训练配方文档所有 YOLO26 基础模型都是两阶段训练——先在 Objects365v1 上预训练 150 epochs再在 COCO 上微调全程 640×640、MuSGD 优化器、batch 128。官方明确没有任何 YOLO26 检查点是从随机权重直接训练 COCO 得到的各尺寸 COCO 检查点yolo26n.pt~yolo26x.pt的训练配置中都记录了对应的yolo26*-objv1-150.pt起始权重。换言之Objects365 预训练是 YOLO26 性能的一部分来源而这些中间检查点被官方一并发布供社区复用。使用预训练检查点预测与微调基于 Objects365 预训练权重做预测365 类检测或在其基础上微调Python 与 CLI 两种方式如下# Python from ultralytics import YOLO # 加载 Objects365 预训练 YOLO26n 模型 model YOLO(yolo26n-objv1-150.pt) # 运行预测 results model.predict(sourceimage.jpg) # 从该预训练检查点开始训练在你的数据集上 results model.train(datacoco8.yaml, epochs100, imgsz640)# CLI使用 Objects365 预训练模型做预测 yolo detect predict sourceimage.jpg modelyolo26n-objv1-150.pt # CLI从 Objects365 预训练检查点开始训练 yolo detect train datacoco8.yaml modelyolo26n-objv1-150.pt epochs100 imgsz640从源码结构看加载这些权重与加载普通yolo26n.pt走的是同一条资产下载与检查链路GITHUB_ASSETS_NAMES白名单校验因此不需要任何额外配置即可复用。官方训练配方文档给出的建议是微调自己的数据集时直接从yolo26s-objv1-150.pt这类同尺寸 Objects365 权重出发而不是从 COCO 检查点出发因为后者只面向 80 类完整训练参数列表见 训练模式文档预测参数见 预测模式文档。全量训练在 Objects365 数据集上训练 YOLO26n若要在整个 Objects365 数据集上从头训练例如复现预训练阶段或扩展数据以 100 epochs、640 图像尺寸训练 YOLO26n 为例# Python from ultralytics import YOLO # 加载模型推荐加载预训练权重开始训练 model YOLO(yolo26n.pt) # 开始训练 results model.train(dataObjects365.yaml, epochs100, imgsz640)# CLI从预训练 *.pt 模型开始训练 yolo detect train dataObjects365.yaml modelyolo26n.pt epochs100 imgsz640执行dataObjects365.yaml时的实际链路model.train()→ 数据校验入口check_det_dataset(Objects365.yaml)→ 解析 YAML、发现images/val不存在且autodownload开启 → 执行 YAML 内嵌下载脚本见上文解析→ 下载 712GB、转换标注 → 继续训练。首次运行日志会提示数据集下载目录位置。训练过程中的可调参数epochs、imgsz、batch、patience早停等的完整列表在 训练模式文档 中。标注样例Objects365 包含多样化的高分辨率图像365 类上标注稠密典型样本呈现真实户外/室内场景中的多目标框标注——这种 in-the-wild 密集标注风格正是其作为预训练源的说服力所在官方文档配有样例图可在 Objects365 数据集文档 中查看。引用与致谢若在你的研究或开发工作中使用 Objects365 数据集请引用原始论文InProceedings{Shao_2019_ICCV, author {Shao, Shuai and Li, Zeming and Zhang, Tianyuan and Peng, Chao and Yu, Gang and Zhang, Xiangyu and Li, Jing and Sun, Jian}, title {Objects365: A Large-Scale, High-Quality Dataset for Object Detection}, booktitle {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)}, month {October}, year {2019} }感谢创建并维护 Objects365 数据集的研究团队该数据集是计算机视觉研究社区的重要资源。常见问题Objects365 用来做什么训练与评估目标检测模型尤其是大词汇表预训练 小数据集微调的范式先在 365 类、174 万张图上预训练再在任务特定的小数据集上微调。数据规模到底多大Ultralytics 的Objects365.yaml覆盖 365 类、1,742,289 张训练图 80,000 张验证图共 1,822,289 张无 test 划分上游发布版本整体报告约 200 万张图像、3000 万个边界框。下载需要多少空间约 712GB345GB 压缩包 367GB 解压数据。首次以dataObjects365.yaml训练时自动触发下载脚本还会安装faster-coco-eval并转换标注耗时较长空间紧张时可先查看 检测数据集总览 中的小体积替代方案。为什么选 Objects365 而不是其他预训练集365 类词汇表 稠密框标注 真实场景多样性。官方文档引用 ICCV 2019 论文Objects365 预训练相对 ImageNet 预训练在 COCO 上提升 5.6 个 mAP 点42.0 vs 36.4且 Ultralytics 已用它为全部 YOLO26 尺寸模型完成预训练阶段训练配方文档。YAML 配置文件在哪仓库内 ultralytics/cfg/datasets/Objects365.yaml包含数据路径、365 类类别名与内嵌下载脚本是搭建训练环境的唯一入口配置。【免费下载链接】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),仅供参考
返回列表