Meet YOLO26: next-gen vision AI.

Link to this section画像分類データセットの概要#

Link to this sectionYOLO分類タスクのデータセット構造#

Ultralytics YOLO分類タスクでは、トレーニング、テスト、およびオプションの検証プロセスを適切に行うため、データセットをrootディレクトリ下の特定の分割ディレクトリ構造に構成する必要があります。この構造には、トレーニング(train)および検証(val)フェーズ用の個別のディレクトリが含まれ、オプションでテスト(test)用のディレクトリも追加できます。

これらの各ディレクトリには、データセット内の各クラスに対応するサブディレクトリを1つずつ含める必要があります。サブディレクトリは対応するクラス名で命名し、そのクラスのすべての画像を格納します。各画像ファイルは一意の名前を付け、JPEGやPNGなどの一般的な形式で保存してください。

Link to this sectionフォルダ構造の例#

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
|   |   |-- ...
|   |
|   |-- ...

この構造化アプローチにより、モデルはトレーニングフェーズ中に適切に整理されたクラスから効果的に学習し、テストおよび検証フェーズ中にパフォーマンスを正確に評価できます。

Link to this section使用方法#

from ultralytics import YOLO

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

# Train the model
results = model.train(data="path/to/dataset", epochs=100, imgsz=640)
ヒント

ほとんどの組み込みデータセット名(例:cifar10imagenettemnist160)は、最初に対象を参照したときに自動的にデータをダウンロードしてキャッシュします。独自のデータセットを作成した場合のみ、dataをフォルダパスに向けてください。

Link to this sectionサポートされているデータセット#

Ultralyticsは、自動ダウンロードに対応した以下のデータセットをサポートしています。

  • Caltech 101: 画像分類タスク用の101のオブジェクトカテゴリの画像を含むデータセット。
  • Caltech 256: 256のオブジェクトカテゴリと、より難易度の高い画像を含むCaltech 101の拡張バージョン。
  • CIFAR-10: 10クラス、各クラス6,000枚、計6万枚の32x32カラー画像データセット。
  • CIFAR-100: 100のオブジェクトカテゴリと各クラス600枚の画像を含むCIFAR-10の拡張バージョン。
  • Fashion-MNIST: 画像分類タスク用の10のファッションカテゴリの70,000枚のグレースケール画像で構成されるデータセット。
  • ImageNet: 1,400万枚以上の画像と20,000のカテゴリを持つ、オブジェクト検出および画像分類用の大規模データセット。
  • ImageNet-10: より迅速な実験とテストのための、10カテゴリを持つImageNetの小規模サブセット。
  • Imagenette: より迅速なトレーニングとテストのために、簡単に識別可能な10クラスを含むImageNetの小規模サブセット。
  • Imagewoof: 画像分類タスク用に10の犬種カテゴリを含む、より難易度の高いImageNetのサブセット。
  • MNIST: 画像分類タスク用の手書き数字の70,000枚のグレースケール画像を含むデータセット。
  • MNIST160: MNISTのトレーニングおよびテスト分割から、各数字(0〜9)の最初の8枚の画像。データセットには合計160枚の画像が含まれています。

Link to this section独自のデータセットの追加#

独自のデータセットをUltralytics YOLOによる分類モデルのトレーニングに使用したい場合は、前述の「データセット構造」で指定された形式に従っていることを確認し、トレーニングスクリプトの初期化時にdata引数をデータセットディレクトリに向けてください。

Link to this sectionよくある質問 (FAQ)#

Link to this sectionYOLO分類タスク用にデータセットをどのように構成すればよいですか?#

Ultralytics YOLO分類タスク用にデータセットを構成するには、特定の分割ディレクトリ形式に従う必要があります。データセットをtraintest、およびオプションのval用の個別のディレクトリに整理します。これらの各ディレクトリには、各クラスの名前が付いたサブディレクトリを含め、その中に対応する画像を配置する必要があります。これにより、トレーニングと評価のプロセスが円滑になります。例として、CIFAR-10データセットの形式を検討してください。

cifar-10-/
|-- train/
|   |-- airplane/
|   |-- automobile/
|   |-- bird/
|   ...
|-- test/
|   |-- airplane/
|   |-- automobile/
|   |-- bird/
|   ...
|-- val/ (optional)
|   |-- airplane/
|   |-- automobile/
|   |-- bird/
|   ...

詳細については、YOLO分類タスクのデータセット構造セクションを参照してください。

Link to this sectionUltralytics YOLOは画像分類のためにどのデータセットをサポートしていますか?#

Ultralytics YOLOは、画像分類のためにCaltech 101Caltech 256CIFAR-10CIFAR-100Fashion-MNISTImageNetImageNet-10ImagenetteImagewoofMNISTを含むいくつかのデータセットの自動ダウンロードをサポートしています。これらのデータセットはYOLOで使いやすいように構造化されています。各データセットのページで、その構造とアプリケーションに関する詳細を確認できます。

Link to this sectionYOLO画像分類のために独自のデータセットを追加するにはどうすればよいですか?#

Ultralytics YOLOで独自のデータセットを使用するには、分類タスクに必要な指定ディレクトリ形式に従っていることを確認してください。traintest、およびオプションのvalディレクトリを分離し、各クラスのサブディレクトリにそれぞれの画像を格納します。データセットが正しく構造化されたら、トレーニングスクリプトを初期化する際に、data引数をデータセットのルートディレクトリに向けてください。以下にPythonでの例を示します。

from ultralytics import YOLO

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

# Train the model
results = model.train(data="path/to/your/dataset", epochs=100, imgsz=640)

詳細については、独自のデータセットの追加セクションを参照してください。

Link to this sectionなぜ画像分類にUltralytics YOLOを使用すべきなのですか?#

Ultralytics YOLOには、画像分類において以下のような利点があります。

  • 事前学習済みモデル: yolo26n-cls.ptのような事前学習済みモデルを読み込むことで、トレーニングプロセスを迅速に開始できます。
  • 使いやすさ: トレーニングと評価のためのシンプルなAPIとCLIコマンド。
  • 高性能: リアルタイムアプリケーションに最適な、最先端の精度と速度。
  • 複数のデータセットへの対応: CIFAR-10ImageNetなど、さまざまな一般的なデータセットとのシームレスな統合。
  • コミュニティとサポート: トラブルシューティングや改善のための広範なドキュメントと活発なコミュニティへのアクセス。

詳細な洞察や実際のアプリケーションについては、Ultralytics YOLOをご覧ください。

Link to this sectionUltralytics YOLOを使用してモデルをトレーニングするにはどうすればよいですか?#

Ultralytics YOLOを使用したモデルのトレーニングは、PythonとCLIの両方で簡単に行うことができます。以下に例を示します。

from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-cls.pt")  # load a pretrained model

# Train the model
results = model.train(data="path/to/dataset", epochs=100, imgsz=640)

これらの例は、どちらのアプローチを使用してもYOLOモデルをトレーニングできる簡単なプロセスを示しています。詳細については、使用方法セクションおよび分類タスクのトレーニングページを参照してください。

コメント