yolov5 的标签格式

参考链接:

https://github.com/ultralytics/yolov5/issues/9816

翻译内容

你好!。感谢您询问YOLOv5🚀数据集格式。用于分割的XY坐标与用于长方体中心的标准坐标相同。

为了正确训练,您的数据必须为YOLOv5格式。有关数据集设置的完整文档以及开始培训您的第一个模型所需的所有步骤,请参阅我们的训练定制数据教程。以下是该教程的几个节选:

1.1 创建 dataset.yaml

COCO128是一个示例性的小教程数据集,由COCO train2017中的前128张图像组成。这些相同的128张图像用于训练和验证,以验证我们的训练管道是否会过拟合。data/COCO128.yaml是数据集配置文件(如下面所示),它定义了
1)数据集的根目录路径,train/val/test图像目录(或带有图像路径的*.txt文件)的相对路径

2)类名字典。

data/COCO128.yaml:

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/coco128  # dataset root dir
train: images/train2017  # train images (relative to 'path') 128 images
val: images/train2017  # val images (relative to 'path') 128 images
test:  # test images (optional)

# Classes (80 COCO classes)
names:
  0: person
  1: bicycle
  2: car
  ...
  77: teddy bear
  78: hair drier
  79: toothbrush

1.2 创建 lables

使用Roboflow Annotate这样的工具为图像添加标签后,将标签导出为YOLO格式,并使用一个*.txt文件(如果图像中没有对象,则不需要*.txt文件)。*.txt文件规格如下:

  • 每个对象一行
  • 每行的格式是:class x_center y_center width height
  • 方框的坐标必须要归一化到(0-1),如果方框以像素为单位,请将x_center和width除以图像宽度,将y_center和height除以图像高度。
  • 类别必须从0开始,。

对应于下面图像的标签文件包含2个人(类别0)和一个领带(类别27):

在这里插入图片描述
在这里插入图片描述

1.3 组织目录

根据以下示例组织您的训练和val图像和标签。YOLOv5假设/coco128位于/YOLOv5目录旁边的/dataset目录中。YOLOv5通过将每个图像路径中/images/的最后一个实例替换为/labels/,自动查找每个图像的标签。例如:

../datasets/coco128/images/im0.jpg  # image
../datasets/coco128/labels/im0.txt  # label

Good luck 🍀 and let us know if you have any other questions!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐