YOLOE训练数据准备:从Objects365到LVIS的完整流程
【免费下载链接】yoloeYOLOE: Real-Time Seeing Anything [ICCV 2025]项目地址: https://gitcode.com/gh_mirrors/yol/yoloe
YOLOE作为实时目标检测领域的创新模型,其性能高度依赖高质量的训练数据。本文将详细介绍如何从Objects365和LVIS两大主流数据集开始,完成YOLOE训练数据的准备工作,帮助你快速搭建专业的目标检测训练流程。
一、数据集选择:为什么是Objects365和LVIS?
在目标检测模型训练中,数据集的质量和多样性直接决定了模型的泛化能力。YOLOE推荐使用Objects365和LVIS作为基础训练数据,这两个数据集各有优势:
- Objects365:包含365个日常物体类别,超过60万张图像和1000万个标注框,适合训练模型对常见物体的检测能力
- LVIS:专注于长尾物体检测,包含1230个类别,其中许多类别在传统数据集中很少出现,能有效提升模型对罕见物体的识别能力
图1:LVIS数据集包含丰富的物体类别和精细标注,特别适合长尾物体检测任务
二、Objects365数据集处理全流程
2.1 数据集下载与目录结构
首先需要下载Objects365数据集并按标准结构组织:
datasets/ └── Objects365v1/ ├── images/ │ └── train/ └── annotations/ ├── objects365_train.json └── objects365_train_segm.json2.2 使用官方工具转换标注格式
YOLOE提供了专门的工具将Objects365的COCO格式转换为YOLO格式,工具位于tools/generate_objects365v1.py。该脚本主要完成以下工作:
- 读取COCO格式的标注文件
- 将 segmentation 数据转换为YOLO格式的多边形标注
- 去重处理重复标注
- 生成数据集配置文件
运行转换命令:
python tools/generate_objects365v1.py转换完成后,会在datasets/Objects365v1/labels/train/目录下生成YOLO格式的标注文件,并创建ultralytics/cfg/datasets/Objects365v1.yaml配置文件。
三、LVIS数据集处理指南
3.1 LVIS数据集特点与准备
LVIS(Large Vocabulary Instance Segmentation)数据集专注于解决长尾分布问题,包含1230个类别,其中83%的类别属于低频出现的长尾类别。处理流程如下:
3.2 标注格式转换
YOLOE提供了LVIS数据集转换工具tools/generate_lvis_sc.py,该工具可以将LVIS标注转换为适合训练的格式:
python tools/generate_lvis_sc.py脚本会生成简化版的标注文件,方便模型进行单类或多类训练。
四、数据预处理最佳实践
4.1 数据清洗与过滤
在使用这两个数据集前,建议进行以下数据清洗步骤:
- 去除低质量图像:通过脚本检测并移除模糊、过暗或过小的图像
- 检查标注完整性:确保每个图像都有对应的标注文件,且标注框与物体边界匹配
- 类别平衡处理:对于LVIS的长尾类别,可以考虑过采样或数据增强来平衡类别分布
4.2 数据增强策略
YOLOE支持多种数据增强方式,配置文件位于ultralytics/cfg/default.yaml。推荐针对不同数据集使用以下增强策略:
- Objects365:重点使用几何变换(翻转、旋转、缩放)和色彩抖动
- LVIS:增加混合增强(MixUp、Mosaic)和随机裁剪,提升模型对罕见类别的鲁棒性
图2:YOLOE支持多种数据增强技术,有效提升模型的泛化能力
五、数据集配置文件详解
处理完成后,需要配置数据集的YAML文件,指定数据路径和类别信息:
- Objects365配置:ultralytics/cfg/datasets/Objects365v1.yaml
- LVIS配置:可参考Objects365配置格式,修改路径和类别信息
典型的配置文件结构如下:
path: ../datasets/Objects365v1 train: images/train val: None test: None names: 0: person 1: bicycle 2: car ...六、开始训练:数据加载与验证
完成数据准备后,可以使用以下命令开始训练:
# 克隆仓库 git clone https://gitcode.com/gh_mirrors/yol/yoloe cd yoloe # 使用Objects365训练 python train.py --data ultralytics/cfg/datasets/Objects365v1.yaml --model yoloe.pt # 或使用LVIS训练 python train.py --data ultralytics/cfg/datasets/LVIS.yaml --model yoloe.pt训练过程中,建议定期验证数据加载情况和模型性能,确保数据准备工作的正确性。
总结
高质量的训练数据是YOLOE模型取得优异性能的基础。通过本文介绍的从Objects365到LVIS的完整数据准备流程,你可以为YOLOE模型构建专业的训练数据集。无论是处理常见物体还是长尾物体检测任务,合理的数据准备策略都能显著提升模型性能。
记住,数据准备是一个迭代优化的过程,建议根据训练结果不断调整数据处理和增强策略,以获得最佳的模型性能。
【免费下载链接】yoloeYOLOE: Real-Time Seeing Anything [ICCV 2025]项目地址: https://gitcode.com/gh_mirrors/yol/yoloe
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考