YOLO 标准数据集的格式是怎样的
1. 引言
YOLO(You Only Look Once)系列算法是目前目标检测领域应用最广泛的模型之一。无论是训练、验证还是部署,理解 YOLO 标准数据集的格式都是第一步。本文将从目录结构、标注文件、类别文件、配置文件等几个方面,系统梳理 YOLO 标准数据集的格式规范。
2. 数据集目录结构
YOLO 标准数据集通常采用以下目录结构,将图片和标注文件按训练集、验证集、测试集分开存放:
dataset/
├── images/
│ ├── train/
│ ├── val/
│ └── test/
├── labels/
│ ├── train/
│ ├── val/
│ └── test/
├── classes.txt
└── data.yaml
其中 images 目录存放原始图片,labels 目录存放与图片一一对应的标注文件,classes.txt 记录类别名称,data.yaml 是数据集配置文件。
3. 图片文件
YOLO 对图片格式没有严格限制,常见的 .jpg、.png、.bmp 等格式均可使用。图片文件名与对应的标注文件名必须保持一致(仅扩展名不同),例如:
images/train/000001.jpg
labels/train/000001.txt
4. 标注文件格式
YOLO 的标注文件是纯文本文件,每一行代表一个目标对象,格式为:
class_id x_center y_center width height
其中各字段含义如下:
- class_id:目标所属类别的编号,从 0 开始,对应
classes.txt中的类别顺序。 - x_center:目标中心点的 x 坐标,归一化到 0~1 之间。
- y_center:目标中心点的 y 坐标,归一化到 0~1 之间。
- width:目标的宽度,归一化到 0~1 之间。
- height:目标的高度,归一化到 0~1 之间。
归一化公式为:
x_center = (x_min + x_max) / 2 / image_width
y_center = (y_min + y_max) / 2 / image_height
width = (x_max - x_min) / image_width
height = (y_max - y_min) / image_height
5. 标注文件示例
假设一张 640×480 的图片中包含一个类别编号为 0 的目标,其边界框左上角坐标为 (100, 80),右下角坐标为 (300, 240),则标注文件内容为:
0 0.3125 0.3333 0.3125 0.3333
计算过程如下:
x_center = (100 + 300) / 2 / 640 = 0.3125
y_center = (80 + 240) / 2 / 480 = 0.3333
width = (300 - 100) / 640 = 0.3125
height = (240 - 80) / 480 = 0.3333
6. 类别文件 classes.txt
classes.txt 是一个纯文本文件,每行一个类别名称,行号即类别编号(从 0 开始)。例如:
person
car
bicycle
上述文件中,person 的编号为 0,car 的编号为 1,bicycle 的编号为 2。
7. 配置文件 data.yaml
YOLO 训练时通常使用一个 YAML 配置文件来指定数据集路径和类别信息,内容示例如下:
train: dataset/images/train
val: dataset/images/val
test: dataset/images/test
nc: 3
names: ['person', 'car', 'bicycle']
其中 train、val、test 分别指定训练集、验证集、测试集的图片路径,nc 表示类别总数,names 是类别名称列表。
8. 常见注意事项
- 标注文件中的坐标必须归一化到 0~1 之间,不能使用像素坐标。
- 如果图片中没有目标对象,对应的标注文件应为空文件。
- 类别编号必须从 0 开始连续编号,不能跳号。
- 图片与标注文件的文件名必须完全一致(仅扩展名不同)。
- 训练集、验证集、测试集的图片和标注文件要分别放在对应的子目录中。
9. 总结
YOLO 标准数据集的格式核心在于:图片与标注文件一一对应,标注文件采用归一化的中心点坐标和宽高表示边界框,类别通过编号映射到类别文件。掌握这一格式规范,是顺利进行 YOLO 模型训练和数据预处理的基础。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)