Ultralytics YOLO 数据集体系详解:七大视觉任务数据集、data.yaml 配置与数据集贡献全流程
发布时间:2026/9/5 16:48:40 作者:尧图编辑部 阅读量:1,286

Ultralytics YOLO 数据集体系详解七大视觉任务数据集、data.yaml 配置与数据集贡献全流程【免费下载链接】ultralyticsUltralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking项目地址: https://gitcode.com/GitHub_Trending/ul/ultralytics本文为 Ultralytics 仓库中数据集总览文档docs/en/datasets/index.md的完整技术扩充。你将了解 Ultralytics 覆盖检测、实例分割、语义分割、深度估计、图像分类、姿态估计与 OBB旋转框七大任务的全部内置数据集清单掌握各任务data.yaml配置文件的字段语义与源码解析方式并能独立完成一个新数据集的目录组织、图片压缩、打包与贡献PR全流程。一、数据集体系总览任务、数据集与文档索引Ultralytics 内置支持多种主流计算机视觉数据集覆盖以下任务类型每个任务均提供独立的数据集索引页目标检测Object Detection在图像中检测并定位物体为每个物体绘制边界框。索引页docs/en/datasets/detect/index.md实例分割Instance Segmentation以像素级精度识别并定位物体且能区分同一类别的不同实例与只给每个像素打类别标签的语义分割不同。索引页docs/en/datasets/segment/index.md语义分割Semantic Segmentation为图像中每个像素分配类别标签生成稠密场景图适用于自动驾驶、场景解析、地表覆盖制图等。索引页docs/en/datasets/semantic/index.md深度估计Depth Estimation单目深度估计任务从单张 RGB 图像预测每像素深度图单位米支撑 3D 场景重建、机器人导航与 AR/VR 应用。索引页docs/en/datasets/depth/index.md图像分类Image Classification根据图像视觉内容将其归入一个或多个预定义类别。索引页docs/en/datasets/classify/index.md姿态估计Pose Estimation确定物体相对于相机或世界坐标系的姿态核心是识别人体或动物等物体上的关键点关节点。索引页docs/en/datasets/pose/index.md旋转框检测Oriented Bounding Boxes, OBB使用旋转边界框检测图像中具有任意朝向的物体常用于航拍与卫星影像相比传统轴对齐框OBB 能更好地贴合各种朝向的物体。索引页docs/en/datasets/obb/index.md此外Track 模式直接运行在检测、分割、姿态与 OBB 模型之上不需要跟踪器专属的训练数据集见 docs/en/datasets/track/index.md。二、目标检测数据集目标检测类数据集均为 docs/en/datasets/detect/index.md 下的完整清单数据集文档页简介African-wildlifedetect/african-wildlife.md非洲野生动物图像含水牛、大象、犀牛、斑马等Argoversedetect/argoverse.md城市环境的 3D 跟踪与运动预测数据标注丰富Brain-tumordetect/brain-tumor.md脑部肿瘤检测含 MRI/CT 扫描图像及肿瘤位置、特征信息COCOdetect/coco.mdCommon Objects in Context大规模检测/分割/描述数据集80 个类别COCO8detect/coco8.mdCOCO train 前 4 张 val 前 4 张的子集适合快速测试COCO8-Grayscaledetect/coco8-grayscale.mdCOCO8 的灰度版本RGB 转灰度用于单通道模型评估COCO8-Multispectraldetect/coco8-multispectral.mdCOCO8 的 10 通道多光谱版本插值 RGB 波长用于光谱感知模型评估COCO128detect/coco128.mdCOCO train2017 前 128 张图像子集适合测试Construction-PPEdetect/construction-ppe.md工地场景安全装备头盔、反光背心、手套、靴子、护目镜及缺失装备标注Global Wheat 2020detect/globalwheat2020.md2020 全球小麦挑战赛麦穗图像数据集HomeObjects-3Kdetect/homeobjects-3k.md室内场景标注数据含 12 种常见家居物品适用于智能家居/机器人/ARKITTI新增detect/kitti.md自动驾驶数据集含立体、LiDAR 与 GPS/IMU 输入用于 2D 目标检测LVISdetect/lvis.md大规模检测/分割/描述数据集1203 个类别Medical-pillsdetect/medical-pills.md药片标注图像用于药品质检、分拣与合规Objects365detect/objects365.md高质量大规模检测数据集365 类、60 万 标注图像OpenImagesV7detect/open-images-v7.md170 万训练图、4.2 万验证图的综合数据集RF100detect/roboflow-100.md跨 7 个成像域的 100 个数据集基准用于综合评估Signaturedetect/signature.md含签名标注的文档图像支持身份验证与欺诈检测研究SKU-110Kdetect/sku-110k.md零售环境密集目标检测1.1 万 图像、170 万个框VisDronedetect/visdrone.md无人机航拍检测与多目标跟踪数据1 万 图像与视频序列VOCdetect/voc.mdPascal VOC20 类、1.1 万 图像xViewdetect/xview.md俯视图影像检测60 个类别、100 万 标注目标三、实例分割、语义分割与深度估计数据集实例分割数据集docs/en/datasets/segment/index.md 下的数据集清单Carparts-segsegment/carparts-seg.md面向车辆零部件识别的专用数据集同时服务于检测与分割任务。COCOsegment/coco.md大规模检测/分割/描述数据集20 万 标注图像。COCO8-segsegment/coco8-seg.md8 张 COCO 图像含分割标注的子集。COCO128-segsegment/coco128-seg.md128 张 COCO 图像含分割标注的子集。Crack-segsegment/crack-seg.md路面与墙体裂缝检测专用支持检测与分割双任务。Package-segsegment/package-seg.md仓库/工业环境包裹识别适配检测与分割应用。语义分割数据集docs/en/datasets/semantic/index.md 下的数据集清单Cityscapessemantic/cityscapes.md城市街景语义分割19 个训练类。Cityscapes8semantic/cityscapes8.md8 张图像的 Cityscapes 精简子集用于快速验证语义分割流水线。ADE20Ksemantic/ade20k.md场景解析数据集150 个语义类。深度估计数据集docs/en/datasets/depth/index.md 下的数据集清单NYU Depth V2depth/nyu-depth-v2.md标准室内深度基准由 Microsoft Kinect v1 采集。KITTIdepth/kitti.md真实户外自动驾驶场景含 Velodyne LiDAR 深度。Depth8depth/depth8.md8 张 SUN RGB-D 图像的精简子集用于快速流水线检查。四、图像分类、姿态估计与 OBB 数据集图像分类数据集docs/en/datasets/classify/index.md 下的数据集清单Caltech 101classify/caltech101.md101 个物体类别。Caltech 256classify/caltech256.mdCaltech 101 的扩展版256 类、更具挑战性。CIFAR-10classify/cifar10.md6 万张 32×32 彩色图像10 类、每类 6 千张。CIFAR-100classify/cifar100.md100 个类别、每类 600 张。Fashion-MNISTclassify/fashion-mnist.md7 万张灰度图像10 个服饰类别。ImageNetclassify/imagenet.md1400 万 图像、2 万类别的大规模数据集。ImageNet-10classify/imagenet10.md10 类 ImageNet 子集用于快速实验。Imagenetteclassify/imagenette.md10 个易区分类别的 ImageNet 子集。Imagewoofclassify/imagewoof.md10 个犬种类别、更具挑战性的 ImageNet 子集。MNISTclassify/mnist.md7 万张手写数字灰度图像。MNIST160classify/mnist.mdMNIST train 与 test 中每个数字的前 8 张共 160 张。姿态估计数据集docs/en/datasets/pose/index.md 下的数据集清单COCOpose/coco.md含人体姿态标注的大规模数据集。COCO8-posepose/coco8-pose.md8 张含人体姿态标注的 COCO 子集。Dog-posepose/dog-pose.md约 8500 张犬类图像每只狗 24 个关键点。Hand-Keypointspose/hand-keypoints.md2.6 万 张手部图像每只手 21 个关键点。Tiger-posepose/tiger-pose.md263 张虎类图像每只虎 12 个关键点。OBB 数据集docs/en/datasets/obb/index.md 下的数据集清单DOTA-v2obb/dota-v2.md170 万实例、11268 张图像的航拍 OBB 数据集。DOTA8obb/dota8.mdDOTAv1 前 8 张4 训练/4 验证适合快速测试。DOTA128obb/dota128.md128 张图像子集规模与多样性兼顾。五、data.yaml 配置文件字段语义与源码级解析每个内置数据集在 ultralytics/cfg/datasets/ 下都有对应的*.yaml配置文件yoloCLI 与 Python API 通过dataxxx.yaml引用它们例如yolo train datacoco8.yaml。结合仓库中的真实配置文件各字段的语义如下通用字段路径、划分与类别以 coco8.yaml 为例path: coco # 数据集根目录 train: images/train # 训练图像相对 path4 张 val: images/val # 验证图像相对 path4 张 test: # 测试图像可选 names: # 类别表 0: person 1: bicycle 2: car # ... 共 80 个 COCO 类别 download: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8.zippath/train/val/test支持三种写法——目录路径、图像列表文本文件path/to/imgs.txt、图像路径列表[path1, path2, ..]。完整的 coco.yaml 就采用了train: train2017.txt的列表文件写法并附带下载脚本download:字段先拉取标签再拉取train2017.zip、val2017.zip图像包。download可选字段支持 URL 或内嵌 Python 下载脚本训练时数据集若缺失会按此字段自动下载解压。下载落盘位置数据集默认下载到 Ultralytics 设置中的datasets_dir目录见 ultralytics/utils/init.py 中datasets_dir: str(datasets_root / datasets)与DATASETS_DIR全局变量定义各 yaml 头部注释中的# parent └── datasets └── coco8 ← downloads here树状图即描述该落盘结构。任务专属字段姿态估计——coco8-pose.yaml 额外定义了关键点相关字段kpt_shape: [17, 3] # [关键点数量, 维度]维度 2 为 (x,y)3 为 (x,y,visible) flip_idx: [0, 2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 16, 15] # 水平翻转时的关键点重排索引 names: 0: person kpt_names: # 每个类的关键点名称 0: - nose - left_eye # ... 共 17 个人体关键点语义分割——cityscapes8.yaml 用masks_dir指定语义掩码目录并用label_mapping把源标签 ID 映射到训练 ID不可参与训练的标签映射为ignore_label转换后变为 255path: cityscapes8 train: images/train val: images/val masks_dir: masks # 语义掩码目录 names: 0: road 1: sidewalk # ... 共 19 个 Cityscapes 训练类 label_mapping: -1: ignore_label 7: 0 # 源标签 7 - 训练类 0 (road) 24: 11 # ...深度估计——depth8.yaml 使用 16 位 PNG 深度图通过depth_scale将像素值换算为米path: depth8-png train: images/train val: images/val nc: 1 names: 0: depth channels: 3 depth_scale: 1000 # PNG 值 1000 1 米其头部注释还给出了常见取值ARKitScenes 与 NYU Depth V2 用10001 mm 精度最大 65.535 mKITTI 用2563.90625 mm 精度Virtual KITTI 2 用1001 cm 精度。从源码结构看nc: 1names: [depth]表示深度任务以单通道回归方式接入统一的 YOLO 数据加载链路。OBB——dota8.yaml 只包含通用字段path/train/val/names15 个 DOTA 类 download说明旋转框标注仍存放在与目标检测一致的 YOLO 格式标签文件中仅坐标字段扩展为旋转角。多通道扩展COCO8-Grayscale单通道与 COCO8-Multispectral10 通道两个衍生数据集表明从源码中check_det_dataset返回值包含channels字段ultralytics/data/utils.py 中return {..., channels: 3}可以推断数据集加载链路已支持按数据集声明输入通道数用于单通道/多光谱模型的评估。六、如何贡献一个新数据集完整工作流向 Ultralytics 贡献数据集需经过以下 8 步确保与现有基础设施对齐收集图像从公开数据库或自采渠道获取图像。标注图像根据任务标注边界框、分割多边形或关键点。导出标注把标注转换为 Ultralytics 支持的 YOLO*.txt格式。组织目录建立如下标准文件夹结构dataset/ ├── images/ │ ├── train/ │ └── val/ └── labels/ ├── train/ └── val/创建data.yaml在数据集根目录编写描述数据集、类别及其他必要信息的data.yaml字段写法见上节 ultralytics/cfg/datasets/ 中的真实示例。优化图像可选为减小体积、提升下载速度可压缩图像推荐但非必需。打包 zip将整个数据集目录压缩为 zip 文件。编写文档并提交 PR创建描述该数据集及其如何融入现有框架的文档页然后提交 Pull Request具体流程见 docs/en/help/contributing.md。官方工具图像优化与打包的源码实现文档给出的示例代码如下from pathlib import Path from ultralytics.data.utils import compress_one_image from ultralytics.utils.downloads import zip_directory # Define dataset directory path Path(path/to/dataset) # Optimize images in dataset (optional) for f in path.rglob(*.jpg): compress_one_image(f) # Zip dataset into path/to/dataset.zip zip_directory(path)两个函数在仓库中的实现细节值得贡献者了解compress_one_imageultralytics/data/utils.py签名为compress_one_image(f, f_newNone, max_dim1920, quality50)。默认将长边超过 1920 px 的图像等比缩放到 1920 以内并以 JPEG 质量 50 保存小于阈值的图像不重采样。实现上优先使用 PIL并将Image.MAX_IMAGE_PIXELS置为None以规避约 1.79 亿像素的DecompressionBombErrorRGBA/LA图像先转 RGB 再存 JPEGPIL 失败时自动回退到 OpenCVcv2.INTER_AREA插值缩放。传f_new可另存而非覆盖原图——贡献数据集时若不想破坏原始素材建议保留该参数。zip_directoryultralytics/utils/downloads.py签名为zip_directory(directory, compressTrue, exclude(.DS_Store, __MACOSX), progressTrue)。它会先清理目录中的.DS_Store文件再按目录递归打包默认使用ZIP_DEFLATED压缩生成的 zip 与源目录同名并放置在同级目录即dataset/打包为dataset.zip同时提供 TQDM 进度条。目录不存在时抛出FileNotFoundError。这套标准目录 data.yaml 官方打包工具的组合保证了社区贡献的数据集能被yolo train dataxxx.yaml自动下载、校验和加载与内置数据集享有同一套数据加载、缓存与缓存校验逻辑。七、常见问题FAQUltralytics 支持哪些目标检测数据集Ultralytics 支持大量目标检测数据集代表性的包括COCO80 类大规模检测/分割/描述、LVIS1203 类细粒度检测、Argoverse城市环境 3D 跟踪与运动预测、VisDrone无人机航拍检测与跟踪、SKU-110K零售环境密集检测1.1 万 图像。这些数据集用于训练各类 YOLO 模型完整清单见 docs/en/datasets/detect/index.md。如何向 Ultralytics 贡献一个新数据集按六步概要执行收集图像 → 标注框/分割/关键点视任务而定→ 导出为 YOLO*.txt格式 → 按images/{train,val}labels/{train,val}结构组织 → 编写data.yaml含描述、类别等→ 可选压缩图像减小体积 → 打包为 zip → 编写文档页并提交 PR遵循 docs/en/help/contributing.md。完整指南见本文第六节。如何用 Ultralytics 工具优化和打包数据集直接使用compress_one_image与zip_directory两个工具函数代码见本文第六节。该流程能显著减小数据集体积获得更高效的存储与更快的下载速度其参数行为最大边长 1920、JPEG 质量 50、排除 macOS 垃圾文件等可直接从源码确认。Ultralytics YOLO 模型有哪些与数据集生态配套的特性统一框架多任务同一套框架支持检测、实例分割、语义分割、深度估计、分类与姿态估计本文列举的全部数据集均可通过yolo train dataxxx.yaml直接接入预训练模型提供多任务高性能预训练权重缩短训练周期易用 API简单的 CLI/Python 接口便于集成到既有工作流平台能力Ultralytics 平台还提供数据集上传管理、直接用于训练、可视化与分布分析等能力见 docs/en/platform/data/index.md帮助完成从数据管理到训练的一站式流程。【免费下载链接】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),仅供参考