一· 概述
本文档主要记录 YOLOv5
算法在进行模型训练前,关于加载数据集的配置文件的说明。
默认情况下,YOLOv5
官方规定了数据集的格式与文件结构,分别使用 train
test
val
用于保存训练集、测试集、验证集的图片与标注文本,且图片与标注文件名为一一对应关系,如下所示:
dataset_cat_dog/
├── images/
│ ├── train/
│ │ ├── img1.jpg
│ │ └── ...
│ ├── test/
│ │ ├── img5.jpg
│ │ └── ...
│ └── val/
│ ├── img10.jpg
│ └── ...
└── labels/
├── train/
│ ├── img20.txt
│ └── ...
|── test/
│ ├── img25.txt
│ └── ...
└── val/
├── img30.txt
└── ...
下面将详细讲解如何按照 YOLOv5
的要求,配置数据集的配置文件。
二· 配置文件说明
2.1 官方配置文件解析
YOLOv5
官方在源代码中提供了一个默认的配置文件 data/coco128.yaml
,用于指定数据集的路径、类别数量、类别名称等信息,如下所示(以下内容为翻译版本,源文件链接 : coco128.yaml ):
# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# COCO128 数据集 https://www.kaggle.com/ultralytics/coco128 (COCO数据集中train2017部分的前128张图片) 出自 Ultralytics
# 使用示例 : python train.py --data coco128.yaml
# 目录结构如下:
# parent
# ├── yolov5
# └── datasets
# └── coco128 ← 如本地没有数据集,则会自动下载到这里
# 训练/验证/测试集可以使用以下三种方式指定:1) 目录:path/to/imgs,2) 文件:path/to/imgs.txt,或者 3) 列表:[path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/coco128 # 数据集根目录
train: images/train2017 # 训练集图片目录 ('path'的相对路径) 128 images
val: images/train2017 # 验证集图片目录 ('path'的相对路径) 128 images
test: # test images (optional)
# Classes
nc: 80 # 类别数量
names: ['person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', 'traffic light',
'fire hydrant', 'stop sign', 'parking meter', 'bench', 'bird', 'cat