画像分類データセットの概要
YOLO分類タスクのデータセット構造
次の場合 Ultralytics YOLO の分類タスクでは、データセットは特定の分割ディレクトリ構造で構成されている必要があります。 root
ディレクトリを指定して、適切なトレーニング、テスト、およびオプションの検証プロセスを容易にします。この構造には、トレーニング用の個別のディレクトリ(train
)とテスト(test
)フェーズ、およびオプションで検証用のディレクトリ(val
)。
これらの各ディレクトリには、データセット内の各クラスに対して1つのサブディレクトリが含まれている必要があります。サブディレクトリは、対応するクラスにちなんで名付けられ、そのクラスのすべての画像が含まれています。各画像ファイルが一意に名前が付けられ、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("yolo11n-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 classify train data=path/to/data model=yolo11n-cls.pt epochs=100 imgsz=640
サポートされているデータセット
Ultralyticsは、自動ダウンロードで次のデータセットをサポートしています。
- Caltech 101: 画像分類タスク用の101個のオブジェクトカテゴリの画像を含むデータセット。
- Caltech 256: Caltech 101の拡張版で、256のオブジェクトカテゴリと、より難易度の高い画像が含まれています。
- CIFAR-10: 10個のクラスに分類された60,000枚の32x32カラー画像からなるデータセットで、クラスあたり6,000枚の画像が含まれています。
- CIFAR-100: CIFAR-10の拡張版で、100のオブジェクトカテゴリと、クラスあたり600枚の画像が含まれています。
- Fashion-MNIST: 画像分類タスク用の10のファッションカテゴリの70,000枚のグレースケール画像で構成されるデータセット。
- ImageNet:1400万を超える画像と20,000のカテゴリを持つオブジェクト検出および画像分類用の大規模データセット。
- ImageNet-10: より迅速な実験とテストのための10のカテゴリを持つImageNetのより小さなサブセット。
- Imagenette: より迅速なトレーニングとテストのために、簡単に区別できる10個のクラスを含むImageNetのより小さなサブセット。
- Imagewoof: 画像分類タスク用の10の犬種カテゴリを含む、ImageNetのより挑戦的なサブセット。
- MNIST: 画像分類タスクのための手書き数字の70,000のグレースケール画像のデータセット。
- MNIST160: MNISTデータセットの各MNISTカテゴリの最初の8つの画像。データセットには合計160の画像が含まれています。
独自のデータセットの追加
独自のデータセットがあり、Ultralytics YOLOで分類モデルをトレーニングするために使用したい場合は、上記の「データセット構造」で指定された形式に従っていることを確認し、 data
トレーニングスクリプトの初期化時に、データセットディレクトリへの引数。
よくある質問
YOLO 分類タスクのためにデータセットを構造化するにはどうすればよいですか?
Ultralytics YOLO分類タスク用にデータセットを構造化するには、特定の分割ディレクトリ形式に従う必要があります。データセットを個別のディレクトリに整理します。 train
, test
)、およびオプションで val
です。これらの各ディレクトリには、各クラスにちなんで名付けられたサブディレクトリが含まれており、対応する画像がその中にあります。これにより、スムーズなトレーニングと評価プロセスが容易になります。例として、 CIFAR-10 データセット形式:
cifar-10-/
|-- train/
| |-- airplane/
| |-- automobile/
| |-- bird/
| ...
|-- test/
| |-- airplane/
| |-- automobile/
| |-- bird/
| ...
|-- val/ (optional)
| |-- airplane/
| |-- automobile/
| |-- bird/
| ...
詳細については、YOLO 分類タスクのデータセット構造セクションをご覧ください。
Ultralytics YOLOは、画像分類でどのようなデータセットをサポートしていますか?
Ultralytics YOLOは、Caltech 101、Caltech 256、CIFAR-10、CIFAR-100、Fashion-MNIST、ImageNet、ImageNet-10、Imagenette、Imagewoof、およびMNISTを含む、画像分類用のいくつかのデータセットの自動ダウンロードをサポートしています。これらのデータセットは、YOLOで使いやすいように構造化されています。各データセットのページには、その構造とアプリケーションに関する詳細が記載されています。
YOLO画像分類用に独自のデータセットを追加するにはどうすればよいですか?
Ultralytics YOLOで独自のデータセットを使用するには、分類タスクに必要な特定のディレクトリ形式(個別の train
, test
)、およびオプションで val
ディレクトリと、それぞれの画像を含むクラスごとのサブディレクトリです。データセットが正しく構成されたら、 data
トレーニングスクリプトを初期化する際に、データセットのルートディレクトリへの引数。Python での例を次に示します。
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-cls.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="path/to/your/dataset", epochs=100, imgsz=640)
詳細については、独自のデータセットの追加セクションをご覧ください。
画像分類にUltralytics YOLOを使用する理由は何ですか?
Ultralytics YOLOは、画像分類にいくつかの利点を提供します。
- 学習済みモデル: のような事前学習済みモデルをロード
yolo11n-cls.pt
トレーニング プロセスを迅速に開始するため。 - 使いやすさ: トレーニングと評価のためのシンプルな API および CLI コマンド。
- ハイパフォーマンス: 最先端の精度と速度を備え、リアルタイムアプリケーションに最適です。
- 複数のデータセットのサポート: CIFAR-10、ImageNet など、さまざまな一般的なデータセットとのシームレスな統合。
- コミュニティとサポート: トラブルシューティングと改善のための広範なドキュメントと活発なコミュニティへのアクセス。
追加の洞察と実際のアプリケーションについては、Ultralytics YOLOをご覧ください。
Ultralytics YOLOを使用してモデルをトレーニングするにはどうすればよいですか?
Ultralytics YOLOを使用したモデルの学習は、pythonとCLIの両方で簡単に行うことができます。以下に例を示します。
例
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n-cls.pt") # load a pretrained model
# Train the model
results = model.train(data="path/to/dataset", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo classify train data=path/to/data model=yolo11n-cls.pt epochs=100 imgsz=640
これらの例は、どちらのアプローチを使用しても、YOLOモデルをトレーニングする簡単なプロセスを示しています。詳細については、使用方法セクションと、分類タスクのトレーニングページをご覧ください。