news 2026/9/5 7:18:57

YOLO 标准数据集的格式是怎样的

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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']

其中trainvaltest分别指定训练集、验证集、测试集的图片路径,nc表示类别总数,names是类别名称列表。

8. 常见注意事项

  • 标注文件中的坐标必须归一化到 0~1 之间,不能使用像素坐标。
  • 如果图片中没有目标对象,对应的标注文件应为空文件。
  • 类别编号必须从 0 开始连续编号,不能跳号。
  • 图片与标注文件的文件名必须完全一致(仅扩展名不同)。
  • 训练集、验证集、测试集的图片和标注文件要分别放在对应的子目录中。

9. 总结

YOLO 标准数据集的格式核心在于:图片与标注文件一一对应,标注文件采用归一化的中心点坐标和宽高表示边界框,类别通过编号映射到类别文件。掌握这一格式规范,是顺利进行 YOLO 模型训练和数据预处理的基础。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/5 7:18:52

磁编码器与RDC位置传感器:机器人关节反馈的黄金组合

拆开一台主流协作机器人的关节,你会看到一副很有意思的画面:电机尾部一块小板子上,贴着一颗磁编码器芯片,旁边是一颗小小的径向磁铁;而在减速器输出侧,却绕着一圈线圈结构,跟着电机一起转——那…

作者头像 李华
网站建设 2026/9/5 7:18:48

数聚天成 DeepSData 数据获取与定制实战指南

在实际开展研究或构建数据驱动型应用时,最让人头疼的往往不是算法不够先进,而是“找不到合适的数据”。很多时候,我们清楚自己需要什么样的指标、时间跨度和地域范围,但面对分散在政府平台、统计机构、国际组织以及各类学术数据库…

作者头像 李华
网站建设 2026/9/5 7:18:07

MCU芯片深度解读:从选型到开发,一文厘清微控制器技术脉络

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/5 7:16:28

Sentaurus TCAD虚拟机安装指南:VMware与CentOS 7.9环境配置

1. 为什么做这个系列:Sentaurus TCAD 的安装痛点最近在准备半导体器件仿真环境,折腾了一圈 Sentaurus TCAD 的部署。这东西在 Linux 下跑得最稳,但不少人的主力机是 Windows,双系统切换又嫌麻烦,虚拟机就成了最省事的方…

作者头像 李华
网站建设 2026/9/5 7:14:45

ESP32在线烧录指南:浏览器+Web Serial API免安装刷固件

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/5 7:14:16

Agent时代软件工程基础该学什么:从编码到系统构建

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华