Ultralytics YOLO27:

ImageNetteデータセット#

ImageNetteデータセットは、識別しやすい10クラスを含むImageNetのサブセットです。fast.aiが、ソフトウェア開発や教育向けに、ImageNetをより迅速かつ簡単に利用できる形で提供するために作成しました。テンチ、イングリッシュ・スプリンガー、カセットプレーヤー、フレンチホルンなどのクラスにわたるカラー画像が13,394枚含まれており、画像分類モデルを、ImageNetの全1,000クラスで必要となる数時間ではなく、数分でトレーニングできます。

主な機能#

  • ImageNetteには、テンチ、イングリッシュ・スプリンガー、カセットプレーヤー、チェーンソー、教会、フレンチホルン、ごみ収集車、ガソリンポンプ、ゴルフボール、パラシュートの10クラスにわたって13,394枚の画像が含まれています。
  • あらかじめ分割されたカラー画像が用意されており、トレーニング用が9,469枚、検証用が3,925枚です。画像のサイズはさまざまです。
  • クラス間の区別が明確な10クラスにより、ImageNetteはトレーニングが速く、扱いやすいため、画像分類のプロトタイピングや教育で広く利用されています。

データセットの構成#

ImageNetteには、あらかじめトレーニング用と検証用に分割されたデータが含まれており、各クラスは個別のフォルダーに格納されています。

分割画像クラス
学習9,46910
検証3,92510

クラスごとの正確な画像数には差があり、ImageNet全体の規模に比べて迅速なトレーニングやベンチマークに適しながらも、現実的な分布を提供します。

用途#

ImageNetteデータセットは、画像分類タスクにおけるディープラーニングモデルのトレーニングと評価に広く使われています。たとえば、畳み込みニューラルネットワーク(CNNs)やその他の機械学習アルゴリズムが対象です。シンプルな形式と適切に選ばれたクラスにより、機械学習とコンピュータービジョンの初心者から経験豊富な実務者まで、便利なリソースとして活用できます。

使用方法#

ImageNetteデータセットで標準的な画像サイズ224x224を使用し、エポック数100でモデルをトレーニングするには、次のコードスニペットを使用してください。利用可能な引数の一覧については、モデルのトレーニングページを参照してください。

トレーニング例
from ultralytics import YOLO

# モデルを読み込む
model = YOLO("yolo26n-cls.pt")  # 事前トレーニング済みモデルを読み込みます(トレーニングにはこちらを推奨します)

# モデルをトレーニングする
results = model.train(data="imagenette", epochs=100, imgsz=224)

サンプル画像とアノテーション#

ImageNetteデータセットには、さまざまな物体やシーンのカラー画像が含まれており、画像分類タスク向けの多様なデータセットを提供します。データセットに含まれる画像の例を以下に示します。

ImageNette分類データセットのサンプル画像

この例では、ImageNetteデータセットの画像の多様性と複雑さを示し、堅牢な画像分類モデルのトレーニングに多様なデータセットが重要であることを紹介しています。

ImageNette160とImageNette320#

プロトタイピングやトレーニングを高速化するため、ImageNetteにはImageNette160とImageNette320という2種類の縮小サイズ版も用意されています。これらのデータセットは、ImageNette全体と同じクラスと構造を保ちながら、画像の最大辺の長さを小さくしています。モデルの予備テストや、計算リソースが限られている場合に特に便利です。

これらのデータセットを使用するには、トレーニングコマンド内のimagenetteをimagenette160またはimagenette320に置き換えてください。以下のコードスニペットで使用方法を示します。

ImageNette160を使ったトレーニング例
from ultralytics import YOLO

# モデルを読み込む
model = YOLO("yolo26n-cls.pt")  # 事前トレーニング済みモデルを読み込みます(トレーニングにはこちらを推奨します)

# ImageNette160でモデルをトレーニングする
results = model.train(data="imagenette160", epochs=100, imgsz=160)
ImageNette320を使ったトレーニング例
from ultralytics import YOLO

# モデルを読み込む
model = YOLO("yolo26n-cls.pt")  # 事前トレーニング済みモデルを読み込みます(トレーニングにはこちらを推奨します)

# ImageNette320でモデルをトレーニングする
results = model.train(data="imagenette320", epochs=100, imgsz=320)

これらの小規模版データセットを使うと、現実的な画像分類タスクを維持しながら、開発時の反復を迅速に行えます。Ultralytics Platformを使って、分類データセットを管理し、クラウドでトレーニングを実行することもできます。

引用と謝辞#

研究または開発でImageNetteデータセットを使用する場合は、適切な形で謝意を示してください。ImageNetteの詳細については、ImageNetteデータセットのGitHubページをご覧ください。

fast.aiチームがImageNetteを作成・維持し、機械学習およびコンピュータービジョン研究コミュニニティに貴重なリソースを提供していることに謝意を表します。

よくある質問#

  • ImageNetteデータセットは、テンチ、イングリッシュ・スプリンガー、フレンチホルンなど、識別しやすい10クラスを含むImageNetの簡易版サブセットです。画像は13,394枚(トレーニング用9,469枚、検証用3,925枚)含まれています。fast.aiが、画像分類モデルの効率的なトレーニングと評価に使いやすいデータセットとして作成しました。そのため、機械学習やコンピュータービジョンのソフトウェア開発を迅速に進める場合や、教育目的に特に役立ちます。

  • ImageNetteには合計13,394枚の画像が含まれており、トレーニング用が9,469枚、検証用が3,925枚です。テンチ、イングリッシュ・スプリンガー、カセットプレーヤー、チェーンソー、教会、フレンチホルン、ごみ収集車、ガソリンポンプ、ゴルフボール、パラシュートの10クラスで構成されています。各クラスは個別のフォルダーに格納されており、Ultralyticsが想定する標準的な分類レイアウトに従っています。

  • ImageNette上でYOLOモデルをエポック数100でトレーニングするには、次のコマンドを使用してください。Ultralytics YOLO環境がセットアップされていることを確認してください。

    トレーニング例
    from ultralytics import YOLO
    
    # モデルを読み込む
    model = YOLO("yolo26n-cls.pt")  # 事前トレーニング済みモデルを読み込みます(トレーニングにはこちらを推奨します)
    
    # モデルをトレーニングする
    results = model.train(data="imagenette", epochs=100, imgsz=224)

    詳しくは、トレーニングのドキュメントページをご覧ください。

  • ImageNetteデータセットには、次のような利点があります。

    • 迅速でシンプル: クラスは10種類、画像は約13,000枚のみで、ImageNet全体に比べてトレーニングの複雑さと所要時間を大幅に抑えられます。
    • 教育用途: 必要な計算能力と時間が少ないため、画像分類の基礎を学び、教えるのに最適です。
    • 汎用性: 画像分類モデル、特に畳み込みニューラルネットワーク(CNNs)のトレーニングやベンチマークに広く使われています。

    モデルのトレーニングとデータセット管理について詳しくは、データセット構造のセクションをご覧ください。

  • はい。ImageNetteにはImageNette160とImageNette320という2種類のリサイズ版もあり、画像の最大辺の長さが小さくなっています。これらのバージョンはプロトタイピングを高速化でき、計算リソースが限られている場合に特に便利です。

    ImageNette160を使ったトレーニング例
    from ultralytics import YOLO
    
    # モデルを読み込む
    model = YOLO("yolo26n-cls.pt")
    
    # ImageNette160でモデルをトレーニングする
    results = model.train(data="imagenette160", epochs=100, imgsz=160)

    詳しくは、ImageNette160とImageNette320を使ったトレーニングをご覧ください。

  • ImageNetteデータセットは、次の用途で幅広く使われています。

    • 教育現場: 初心者に機械学習とコンピュータービジョンの基礎を教えるために使われます。
    • ソフトウェア開発: 画像分類モデルの迅速なプロトタイピングと開発に使われます。
    • ディープラーニング研究: さまざまなディープラーニングモデル、特に畳み込みニューラルネットワーク(CNNs)の性能評価やベンチマークに使われます。

    具体的なユースケースについては、アプリケーションのセクションをご覧ください。

コメント