【YOLO-Ultralytics】【数据集配置】 【v8.3.235版本】数据集配置文件详细解析
文章目录
- [【YOLO-Ultralytics】【数据集配置】 【v8.3.235版本】数据集配置文件详细解析](#【YOLO-Ultralytics】【数据集配置】 【v8.3.235版本】数据集配置文件详细解析)
- 前言
- 内容构成
- 通用基准数据集
- 数据集介绍未完成。。。。。等用一个博主介绍一个。
- 总结
前言
配置文件路径:ultralytics\cfg\datasets
YOLO-Ultralytics 框架中专门的数据集配置目录(核心数据集配置载体),其核心作用是通过文件夹内的各类.yaml文件,搭建起模型与对应公开数据集之间的 "适配桥梁"------ 这些文件会记录不同数据集的存储路径、训练 / 验证数据的位置、目标类别列表及数量,甚至特定任务(如检测、分割、姿态估计)的适配参数,当用 YOLO 训练或测试时,只需指定对应.yaml文件,模型就能自动定位数据、识别类别并匹配任务类型,以此简化了不同场景数据集与 YOLO 框架的对接流程,让模型快速适配检测、分割等各类任务的训练与测试。
内容构成
| 数据集类型 | 对应YAML文件 | 关联任务类型 |
|---|---|---|
| 通用基准数据集 | coco.yaml、coco8.yaml、coco128.yaml、VOC.yaml、ImageNet.yaml、Objects365.yaml、lvis.yaml | 目标检测/实例分割/姿态估计、图像分类、大规模目标检测/分割 |
| 医疗/工业领域数据集 | brain-tumor.yaml、medical-pills.yaml、carparts-seg.yaml、crack-seg.yaml、package-seg.yaml | 脑肿瘤检测/分割、药片检测/分类、汽车部件分割、裂缝分割、包裹分割 |
| 竞赛专用数据集 | DOTAv1.yaml、DOTAv1.5.yaml、dota8.yaml、GlobalWheat2020.yaml、xView.yaml、VisDrone.yaml | 遥感目标检测、小麦穗检测、无人机目标检测/跟踪 |
| 多模态/特殊格式数据集 | coco8-grayscale.yaml、coco8-multispectral.yaml、dota8-multispectral.yaml | 灰度图像目标检测、多光谱图像目标检测 |
| 姿态/关键点数据集 | coco8-pose.yaml、coco-pose.yaml、dog-pose.yaml、tiger-pose.yaml、hand-keypoints.yaml | 人体/动物姿态估计、手部关键点检测 |
| 场景/行业专用数据集 | african-wildlife.yaml、Argoverse.yaml、construction-ppe.yaml、HomeObjects-3K.yaml、kitti.yaml、open-images-v7.yaml、signature.yaml、SKU-110K.yaml | 野生动物检测、自动驾驶感知、建筑安全检测、家居物品检测、零售商品检测 |
YAML 配置文件具备多重实用特性:它以轻量简洁的 YAML 格式支持手动编辑与快速修改,既能兼容目标检测、分割、姿态估计等 YOLO 支持的所有任务,还拥有良好扩展性 ------ 用户遵循格式添加自定义数据集的 YAML 配置即可接入训练,同时同一数据集的不同任务变体还能共享基础配置,具备不错的复用性。
通用基准数据集
coco.yaml
yaml
# ------------------------------------------------------
# Ultralytics YOLO 数据集配置文件 (AGPL-3.0开源许可证)
# 数据集说明:COCO 2017数据集由微软发布,是目标检测领域的经典公开数据集
# 文档参考:https://docs.ultralytics.com/datasets/detect/coco/
# 示例用法:执行YOLO训练命令 yolo train data=coco.yaml
# 数据集目录结构(自动下载后):
# 上级目录
# ├── ultralytics # YOLO核心代码目录
# └── datasets # 所有数据集存放根目录
# └── coco ← 数据集根目录(下载后占用20.1 GB存储空间)
# ------------------------------------------------------
# 训练/验证/测试集路径配置规则:
# 1) 目录形式:path/to/imgs(指定图片所在目录)
# 2) 文件形式:path/to/imgs.txt(指定包含图片路径的文本文件)
# 3) 列表形式:[path/to/imgs1, path/to/imgs2, ...](多个路径的集合)
path: coco # 数据集根目录(后续train/val/test路径均相对此目录)
train: train2017.txt # 训练集图片路径(相对path),包含118287张图片
val: val2017.txt # 验证集图片路径(相对path),包含5000张图片
test: test-dev2017.txt # 测试集图片路径(相对path),包含40670张图片中的20288张,可提交至https://competitions.codalab.org/competitions/20794进行评测
# 类别配置(对应COCO数据集80个目标检测类别,ID从0开始)
names:
0: person # 人
1: bicycle # 自行车
2: car # 汽车
3: motorcycle # 摩托车
4: airplane # 飞机
5: bus # 公交车
6: train # 火车
7: truck # 卡车
8: boat # 船
9: traffic light # 交通灯
10: fire hydrant # 消防栓
11: stop sign # 停止标志
12: parking meter # 停车计时器
13: bench # 长凳
14: bird # 鸟类
15: cat # 猫
16: dog # 狗
17: horse # 马
18: sheep # 羊
19: cow # 牛
20: elephant # 大象
21: bear # 熊
22: zebra # 斑马
23: giraffe # 长颈鹿
24: backpack # 背包
25: umbrella # 雨伞
26: handbag # 手提包
27: tie # 领带
28: suitcase # 行李箱
29: frisbee # 飞盘
30: skis # 滑雪板
31: snowboard # 滑雪单板
32: sports ball # 运动球
33: kite # 风筝
34: baseball bat # 棒球棒
35: baseball glove # 棒球手套
36: skateboard # 滑板
37: surfboard # 冲浪板
38: tennis racket # 网球拍
39: bottle # 瓶子
40: wine glass # 红酒杯
41: cup # 杯子
42: fork # 叉子
43: knife # 刀
44: spoon # 勺子
45: bowl # 碗
46: banana # 香蕉
47: apple # 苹果
48: sandwich # 三明治
49: orange # 橙子
50: broccoli # 西兰花
51: carrot # 胡萝卜
52: hot dog # 热狗
53: pizza # 披萨
54: donut # 甜甜圈
55: cake # 蛋糕
56: chair # 椅子
57: couch # 沙发
58: potted plant # 盆栽
59: bed # 床
60: dining table # 餐桌
61: toilet # 马桶
62: tv # 电视
63: laptop # 笔记本电脑
64: mouse # 鼠标
65: remote # 遥控器
66: keyboard # 键盘
67: cell phone # 手机
68: microwave # 微波炉
69: oven # 烤箱
70: toaster # 烤面包机
71: sink # 水槽
72: refrigerator # 冰箱
73: book # 书
74: clock # 时钟
75: vase # 花瓶
76: scissors # 剪刀
77: teddy bear # 泰迪熊
78: hair drier # 吹风机
79: toothbrush # 牙刷
# 数据集自动下载脚本/URL配置(可选)
# 作用:若本地未找到该数据集,运行YOLO训练/验证时会自动执行此脚本下载并解压数据
download: |
from pathlib import Path
from ultralytics.utils import ASSETS_URL
from ultralytics.utils.downloads import download
# 下载标注文件
segments = True # 标注类型:True为实例分割标注,False为目标检测框标注
dir = Path(yaml["path"]) # 数据集根目录路径(对应上方path配置项)
# 标注文件下载链接:根据标注类型选择分割/检测标注包
urls = [ASSETS_URL + ("/coco2017labels-segments.zip" if segments else "/coco2017labels.zip")] # 标注文件压缩包
download(urls, dir=dir.parent) # 下载标注文件到数据集上级目录
# 下载图片数据
urls = [
"http://images.cocodataset.org/zips/train2017.zip", # 训练集图片包(19GB,包含118000张图片)
"http://images.cocodataset.org/zips/val2017.zip", # 验证集图片包(1GB,包含5000张图片)
"http://images.cocodataset.org/zips/test2017.zip", # 测试集图片包(7GB,包含41000张图片,可选下载)
]
download(urls, dir=dir / "images", threads=3) # 下载图片到数据集根目录下的images子目录,启用3线程加速下载
coco8.yaml
yaml
# ------------------------------------------------------
# Ultralytics YOLO 数据集配置文件 (AGPL-3.0许可证)
# 用途:定义COCO8数据集(COCO train2017前8张图片)的检测任务配置
# 示例用法:yolo train data=coco8.yaml
# 数据集目录结构(自动下载后):
# parent
# ├── ultralytics
# └── datasets
# └── coco8 ← 根目录(1 MB),包含images/和labels/子目录
# ------------------------------------------------------
# 数据集路径配置(支持相对路径/绝对路径/文件列表/路径列表)
path: coco8 # 数据集根目录(核心路径,后续train/val/test均相对此路径)
train: images/train # 训练集图片路径,共4张(相对path)
val: images/val # 验证集图片路径,共4张(相对path)
test: # 测试集图片路径(可选,当前未配置)
# 类别配置(对应COCO数据集80个目标检测类别,ID从0开始)
names:
0: person # 人
1: bicycle # 自行车
2: car # 汽车
3: motorcycle # 摩托车
4: airplane # 飞机
5: bus # 公交车
6: train # 火车
7: truck # 卡车
8: boat # 船
9: traffic light # 交通灯
10: fire hydrant # 消防栓
11: stop sign # 停止标志
12: parking meter # 停车计时器
13: bench # 长凳
14: bird # 鸟类
15: cat # 猫
16: dog # 狗
17: horse # 马
18: sheep # 羊
19: cow # 牛
20: elephant # 大象
21: bear # 熊
22: zebra # 斑马
23: giraffe # 长颈鹿
24: backpack # 背包
25: umbrella # 雨伞
26: handbag # 手提包
27: tie # 领带
28: suitcase # 行李箱
29: frisbee # 飞盘
30: skis # 滑雪板
31: snowboard # 滑雪单板
32: sports ball # 运动球
33: kite # 风筝
34: baseball bat # 棒球棒
35: baseball glove # 棒球手套
36: skateboard # 滑板
37: surfboard # 冲浪板
38: tennis racket # 网球拍
39: bottle # 瓶子
40: wine glass # 红酒杯
41: cup # 杯子
42: fork # 叉子
43: knife # 刀
44: spoon # 勺子
45: bowl # 碗
46: banana # 香蕉
47: apple # 苹果
48: sandwich # 三明治
49: orange # 橙子
50: broccoli # 西兰花
51: carrot # 胡萝卜
52: hot dog # 热狗
53: pizza # 披萨
54: donut # 甜甜圈
55: cake # 蛋糕
56: chair # 椅子
57: couch # 沙发
58: potted plant # 盆栽
59: bed # 床
60: dining table # 餐桌
61: toilet # 马桶
62: tv # 电视
63: laptop # 笔记本电脑
64: mouse # 鼠标
65: remote # 遥控器
66: keyboard # 键盘
67: cell phone # 手机
68: microwave # 微波炉
69: oven # 烤箱
70: toaster # 烤面包机
71: sink # 水槽
72: refrigerator # 冰箱
73: book # 书
74: clock # 时钟
75: vase # 花瓶
76: scissors # 剪刀
77: teddy bear # 泰迪熊
78: hair drier # 吹风机
79: toothbrush # 牙刷
# 数据集自动下载配置(可选)
# 作用:若本地无该数据集,运行YOLO训练/验证时会自动下载该压缩包并解压到path指定目录
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/coco8.zip
数据集介绍未完成。。。。。等用一个博主介绍一个。
总结
主要存放各类数据集的配置文件,定义了数据集路径、类别、加载规则等核心信息,为模型的训练、验证和推理提供数据集相关的配置支撑。