跳至内容

图像分类数据集概述

YOLO 分类任务的数据集结构

对于 Ultralytics YOLO 在分类任务中,数据集必须按照特定的分割-定向结构进行组织。 root 目录,以便于进行适当的培训、测试和可选的验证过程。该结构包括单独的培训目录 (train)和测试(test)阶段,以及一个可选的验证目录 (val).

每个目录应包含数据集中每个类别的一个子目录。子目录以相应类别命名,包含该类别的所有图像。确保每个图像文件都有唯一的名称,并以 JPEG 或 PNG 等通用格式存储。

文件夹结构示例

以 CIFAR-10 数据集为例。文件夹结构应如下所示:

cifar-10-/
|
|-- train/
|   |-- airplane/
|   |   |-- 10008_airplane.png
|   |   |-- 10009_airplane.png
|   |   |-- ...
|   |
|   |-- automobile/
|   |   |-- 1000_automobile.png
|   |   |-- 1001_automobile.png
|   |   |-- ...
|   |
|   |-- bird/
|   |   |-- 10014_bird.png
|   |   |-- 10015_bird.png
|   |   |-- ...
|   |
|   |-- ...
|
|-- test/
|   |-- airplane/
|   |   |-- 10_airplane.png
|   |   |-- 11_airplane.png
|   |   |-- ...
|   |
|   |-- automobile/
|   |   |-- 100_automobile.png
|   |   |-- 101_automobile.png
|   |   |-- ...
|   |
|   |-- bird/
|   |   |-- 1000_bird.png
|   |   |-- 1001_bird.png
|   |   |-- ...
|   |
|   |-- ...
|
|-- val/ (optional)
|   |-- airplane/
|   |   |-- 105_airplane.png
|   |   |-- 106_airplane.png
|   |   |-- ...
|   |
|   |-- automobile/
|   |   |-- 102_automobile.png
|   |   |-- 103_automobile.png
|   |   |-- ...
|   |
|   |-- bird/
|   |   |-- 1045_bird.png
|   |   |-- 1046_bird.png
|   |   |-- ...
|   |
|   |-- ...

这种结构化方法可确保模型在训练阶段有效地从组织良好的类中学习,并在测试和验证阶段准确地评估性能。

使用方法

示例

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n-cls.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="path/to/dataset", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=path/to/data model=yolov8n-cls.pt epochs=100 imgsz=640

支持的数据集

Ultralytics 支持自动下载以下数据集:

  • Caltech 101:一个包含 101 个对象类别的图像的数据集,用于图像分类任务。
  • 加州理工学院 256:Caltech 101 的扩展版本,包含 256 个物体类别和更具挑战性的图像。
  • CIFAR-10:一个包含 60K 幅 32x32 彩色图像的数据集,分为 10 类,每类 6K 幅图像。
  • CIFAR-100:CIFAR-10 的扩展版本,每类有 100 个对象类别和 600 幅图像。
  • 时尚-MNIST:由 10 个时尚类别的 70,000 张灰度图像组成的数据集,用于图像分类任务。
  • ImageNet:这是一个用于物体检测和图像分类的大型数据集,包含超过 1,400 万张图像和 20,000 个类别。
  • ImageNet-10:ImageNet 的较小子集,包含 10 个类别,用于更快地进行实验和测试。
  • Imagenette:ImageNet 的较小子集,包含 10 个易于区分的类别,可加快训练和测试。
  • Imagewoof:ImageNet 的一个更具挑战性的子集,包含 10 个犬种类别,用于图像分类任务。
  • MNIST:由 70,000 幅手写数字灰度图像组成的数据集,用于图像分类任务。

添加自己的数据集

如果您有自己的数据集,并希望使用Ultralytics 来训练分类模型,请确保数据集格式符合上文 "数据集格式 "中的规定,然后将您的 data 参数的数据集目录。



Created 2023-11-12, Updated 2024-06-02
Authors: glenn-jocher (6), stormsson (1), GreatV (1)

评论