YOLO Vision 2026:

Roboflow 100 データセット#

Intelがスポンサーを務める Roboflow 100 は、画期的な物体検出ベンチマークデータセットです。100種類の多様なデータセットが含まれています。このベンチマークは、医療、航空画像、ビデオゲームなど、さまざまなドメインに対する、Ultralytics YOLO modelsのようなコンピュータービジョンモデルの適応性をテストするために特別に設計されています。

ライセンス

Ultralyticsでは、用途に合わせて以下の2つのライセンスオプションを提供しています。

  • AGPL-3.0 License: このOSI承認済みオープンソースライセンスは、学生や愛好家に最適であり、オープンなコラボレーションと知識の共有を促進します。詳細については、LICENSEファイルを参照し、AGPL-3.0 License pageをご覧ください。
  • Enterprise License: 開発および本番環境での使用において、このライセンスにより、AGPL-3.0のオープンソース要件をバイパスして、UltralyticsのソフトウェアとAIモデルを内部ツール、自動化ワークフロー、本番デプロイメントなどのビジネス製品やサービスにシームレスに統合できます。開始するには、Ultralytics Licensingからお問い合わせください。

Roboflow 100 diverse object detection benchmark

主な特徴#

  • 多様なドメイン: 航空、ビデオゲーム、顕微鏡、水中、ドキュメント、電磁気、実世界の7つの異なるドメインにまたがる100個のデータセットが含まれています。
  • 規模: このベンチマークは805クラスにわたる224,714枚の画像で構成されており、11,170時間以上のデータラベリング作業に相当します。
  • 標準化: 一貫した評価を行うため、すべての画像は前処理され、640x640ピクセルにリサイズされています。
  • クリーンな評価: クリーナーなモデル評価を確実にするため、クラスの曖昧さを排除し、表現が不十分なクラスを除外することに焦点を当てています。
  • アノテーション: オブジェクトのバウンディングボックスが含まれており、mAPなどの指標を使用して物体検出モデルをトレーニングおよび評価するのに適しています。

データセットの構造#

Roboflow 100データセットは7つのカテゴリに分類されており、それぞれがデータセット、画像、クラスのユニークなコレクションを含んでいます。

  • 航空: 7データセット、9,683画像、24クラス。
  • ビデオゲーム: 7データセット、11,579画像、88クラス。
  • 顕微鏡: 11データセット、13,378画像、28クラス。
  • 水中: 5データセット、18,003画像、39クラス。
  • ドキュメント: 8データセット、24,813画像、90クラス。
  • 電磁気: 12データセット、36,381画像、41クラス。
  • 実世界: 50データセット、110,615画像、495クラス。

この構造は、さまざまなUltralytics Solutionsで見られる幅広い現実世界のアプリケーションシナリオを反映した、物体検出モデル向けの多様かつ広範なテスト環境を提供します。

ベンチマーク#

データセットのベンチマークには、標準化された指標を使用して特定のデータセットに対する機械学習モデルのパフォーマンスを評価することが含まれます。一般的な指標には、精度、mean Average Precision (mAP)、F1-scoreが含まれます。これらについての詳細は、YOLO Performance Metrics guideでご確認いただけます。

ベンチマーク結果

すべての出力は単一の runs/<task>/multitrain/ ディレクトリの下にグループ化されます。各データセットは独自のサブディレクトリ(独自の results.png 付き)でファインチューニングされ、データセットごとの指標と平均指標は、multitrain_results.png の棒グラフとともに multitrain_results.json に書き込まれます。また、model.train() の呼び出しにより、プログラムからアクセスするための {dataset: metrics} 辞書も返されます。

ベンチマークの例

以下のスクリプトは、Roboflow から datasets_links.txt にリストされている Roboflow 100 データセットをダウンロードし、1回の model.train() 呼び出しでコレクション全体にわたって単一のベースモデル(例: YOLO26n)をファインチューニングします。データセットのリストを渡すことで、ベースモデルが各データセットで連続してファインチューニングされ、データセット間の結果が自動的に視覚化されます。

import re
from pathlib import Path

from roboflow import Roboflow

from ultralytics import YOLO
from ultralytics.utils import ASSETS_URL, LOGGER, YAML
from ultralytics.utils.downloads import safe_download

# Download the RF100 datasets (requires a Roboflow API key)
rf = Roboflow(api_key="YOUR_ROBOFLOW_API_KEY")
safe_download(f"{ASSETS_URL}/datasets_links.txt")  # list of RF100 dataset links

datasets = []
for line in Path("datasets_links.txt").read_text().splitlines():
    try:
        _, _url, workspace, project, version = re.split("/+", line.strip())
        location = f"rf-100/{project}-{version}"
        rf.workspace(workspace).project(project).version(version).download("yolov8", location=location)
        yaml = Path(location) / "data.yaml"
        cfg = YAML.load(yaml)  # point train/val at the downloaded image folders
        cfg["train"], cfg["val"] = "train/images", "valid/images"
        YAML.save(yaml, cfg)
        datasets.append(str(yaml))
    except Exception as e:
        LOGGER.warning(f"Failed to prepare dataset from {line!r}: {e}")

# Fine-tune one base model across all RF100 datasets and visualize the cross-dataset results
model = YOLO("yolo26n.pt")
results = model.train(data=datasets, epochs=100, imgsz=640)  # {dataset: metrics}

# Per-dataset runs, multitrain_results.json (per-dataset + mean), and multitrain_results.png are saved
# together under runs/detect/multitrain. Read results in-memory or from the JSON for custom post-processing.
for dataset, metrics in results.items():
    if metrics:  # None if that dataset failed to train
        print(f"{dataset}: mAP50-95 = {metrics['metrics/mAP50-95(B)']:.4f}")

アプリケーション#

Roboflow 100 は、コンピュータビジョンおよびディープラーニングに関連するさまざまなアプリケーションにおいて非常に価値があります。研究者やエンジニアはこのベンチマークを活用して、次のことができます。

現実世界のアプリケーションに関するさらなるアイデアやインスピレーションについては、実践的なプロジェクトに関するガイドをご覧いただくか、効率的なモデルのトレーニングデプロイのためにUltralytics Platformをご確認ください。

使用方法#

メタデータやダウンロードリンクを含む Roboflow 100 データセットは、公式のRoboflow 100 GitHub repositoryで入手できます。ベンチマークのニーズに合わせて、そこから直接データセットにアクセスして利用できます。上記のようにデータセットをダウンロードして準備したら、データセットの YAML のリストを渡すことで、1回の model.train() の呼び出しでコレクション全体にわたって Ultralytics モデルをファインチューニングできます。

サンプルデータとアノテーション#

Roboflow 100 は、さまざまな角度やドメインからキャプチャされた多様な画像を持つデータセットで構成されています。以下は RF100 ベンチマークに含まれるアノテーション付き画像の例であり、オブジェクトやシーンの多様性を示しています。データ拡張などの技術により、トレーニング中の多様性をさらに高めることができます。

Roboflow 100 sample images with annotations

Roboflow 100 ベンチマークに見られる多様性は、限られたドメイン内で単一の指標の最適化にしばしば焦点を当てていた従来のベンチマークからの重要な進化を表しています。この包括的なアプローチは、多数の異なるシナリオにわたって良好に機能する、より頑健で多用途なコンピュータビジョンモデルの開発に役立ちます。

引用と謝辞#

研究や開発作業でRoboflow 100データセットを使用する場合は、元の論文を引用してください。

引用
@misc{rf100benchmark,
    Author = {Floriana Ciaglia and Francesco Saverio Zuppichini and Paul Guerrie and Mark McQuade and Jacob Solawetz},
    Title = {Roboflow 100: A Rich, Multi-Domain Object Detection Benchmark},
    Year = {2022},
    Eprint = {arXiv:2211.13523},
    url = {https://arxiv.org/abs/2211.13523}
}

コンピュータビジョンコミュニティにとって貴重なリソースであるRoboflow 100データセットの作成と維持におけるRoboflowチームおよびすべての貢献者の多大な努力に感謝いたします。

物体検出および機械学習プロジェクトを強化するためにさらに多くのデータセットを探索することに興味がある場合は、さまざまな他の検出データセットを含む当社の包括的なデータセットコレクションをぜひご覧ください。

よくある質問 (FAQ)#

Roboflow 100データセットとは何ですか、また、物体検出にとってなぜ重要ですか?#

Roboflow 100 データセットは、物体検出モデルのためのベンチマークです。医療、航空画像、ビデオゲームなどのドメインをカバーする100種類の多様なデータセットで構成されています。その重要性は、従来の時間的・ドメイン制限のあるベンチマークを超えて、幅広い現実世界のシナリオにわたってモデルの適応性と堅牢性をテストする標準化された方法を提供することにあります。

Roboflow 100データセットにはどのドメインが含まれていますか?#

Roboflow 100 データセットは7つの多様なドメインにわたり、物体検出モデルに独自の課題を提供します。

  1. 航空: 7データセット(例:衛星画像、ドローンからの視点)。
  2. ビデオゲーム: 7データセット(例:様々なゲーム環境のオブジェクト)。
  3. 顕微鏡: 11データセット(例:細胞、粒子)。
  4. 水中: 5データセット(例:海洋生物、水中のオブジェクト)。
  5. ドキュメント: 8データセット(例:テキスト領域、フォーム要素)。
  6. 電磁気: 12データセット(例:レーダー署名、スペクトルデータの視覚化)。
  7. 実世界: 50データセット(日用品、シーン、小売などを含む広範なカテゴリ)。

この多様性により、RF100 はコンピュータビジョンモデルの汎用性を評価するための優れたリソースとなります。

研究でRoboflow 100データセットを引用する場合、何を含めるべきですか?#

Roboflow 100データセットを使用する場合は、作成者にクレジットを与えるために元の論文を引用してください。推奨されるBibTeXの引用は以下の通りです。

引用
@misc{rf100benchmark,
    Author = {Floriana Ciaglia and Francesco Saverio Zuppichini and Paul Guerrie and Mark McQuade and Jacob Solawetz},
    Title = {Roboflow 100: A Rich, Multi-Domain Object Detection Benchmark},
    Year = {2022},
    Eprint = {arXiv:2211.13523},
    url = {https://arxiv.org/abs/2211.13523}
}

さらなる探索のために、包括的なデータセットコレクションをご覧いただくか、Ultralytics モデルと互換性のある他の検出データセットを閲覧してください。

コメント