Roboflow 100データセット
IntelがスポンサーとなっているRoboflow 100は、画期的な物体検出ベンチマークデータセットです。これには、Roboflow Universeで利用可能な90,000を超える公開データセットからサンプリングされた100の多様なデータセットが含まれています。このベンチマークは、コンピュータビジョンモデル(Ultralytics YOLOモデルなど)の、ヘルスケア、航空画像、ビデオゲームなどのさまざまなドメインへの適応性をテストするために特別に設計されています。
ライセンス
Ultralytics は、さまざまなユースケースに対応するために、2 つのライセンスオプションを提供しています。
- AGPL-3.0ライセンス: このOSI承認済みオープンソースライセンスは、オープンなコラボレーションと知識の共有を促進し、学生や愛好家にとって理想的です。詳細については、LICENSEファイルを参照し、AGPL-3.0ライセンスのページをご覧ください。
- エンタープライズライセンス: 商用利用向けに設計されたこのライセンスにより、UltralyticsソフトウェアとAIモデルを商用製品およびサービスにシームレスに統合できます。商用アプリケーションが必要な場合は、Ultralytics Licensingからお問い合わせください。
主な特徴
- Diverse Domains: 空撮、ビデオゲーム、顕微鏡、水中、ドキュメント、電磁波、現実世界という7つの異なるドメインにわたる100個のデータセットが含まれています。
- スケール: ベンチマークは、805クラスにわたる224,714枚の画像で構成され、データラベリングに11,170時間以上の労力を費やしています。
- 標準化: すべての画像は前処理され、一貫した評価のために640x640ピクセルにリサイズされます。
- Clean Evaluation: クラスの曖昧さを排除し、過小評価されているクラスを除外して、よりクリーンなモデル評価を保証することに重点を置いています。
- Annotations: オブジェクトのバウンディングボックスが含まれており、トレーニングや、mAPなどのメトリクスを使用したオブジェクト検出モデルの評価に適しています。
データセットの構造
Roboflow 100データセットは、7つのカテゴリに編成されており、それぞれにデータセット、画像、クラスの独自のコレクションが含まれています。
- 航空: 7つのデータセット、9,683枚の画像、24のクラス。
- ビデオゲーム: 7つのデータセット、11,579枚の画像、88のクラス。
- 顕微鏡: 11個のデータセット、13,378枚の画像、28個のクラス。
- 水中: 5つのデータセット、18,003枚の画像、39のクラス。
- ドキュメント: 8個のデータセット、24,813枚の画像、90個のクラス。
- Electromagnetic: 12個のデータセット、36,381枚の画像、41個のクラス。
- 実世界: 50個のデータセット、110,615枚の画像、495個のクラス。
この構造は、物体検出モデルに多様で広範なテストの場を提供し、さまざまなUltralytics Solutionsに見られる幅広い実世界のアプリケーションシナリオを反映しています。
ベンチマーク
データセットのベンチマークには、標準化されたメトリクスを使用して、特定のデータセットに対する機械学習モデルのパフォーマンスを評価することが含まれます。一般的なメトリクスには、精度、平均適合率(mAP)、およびF1スコアが含まれます。詳細については、YOLOパフォーマンスメトリクスガイドをご覧ください。
ベンチマーク結果
提供されたスクリプトを使用したベンチマーク結果は、以下に保存されます。 ultralytics-benchmarks/
ディレクトリ、具体的には evaluation.txt
.
ベンチマークの例
次のスクリプトは、Ultralytics YOLOモデル(YOLOv11nなど)を、Roboflow 100ベンチマーク内のすべての100個のデータセットでプログラムでベンチマークする方法を示しています。 RF100Benchmark
クラス。
import os
import shutil
from pathlib import Path
from ultralytics.utils.benchmarks import RF100Benchmark
# Initialize RF100Benchmark and set API key
benchmark = RF100Benchmark()
benchmark.set_key(api_key="YOUR_ROBOFLOW_API_KEY")
# Parse dataset and define file paths
names, cfg_yamls = benchmark.parse_dataset()
val_log_file = Path("ultralytics-benchmarks") / "validation.txt"
eval_log_file = Path("ultralytics-benchmarks") / "evaluation.txt"
# Run benchmarks on each dataset in RF100
for ind, path in enumerate(cfg_yamls):
path = Path(path)
if path.exists():
# Fix YAML file and run training
benchmark.fix_yaml(str(path))
os.system(f"yolo detect train data={path} model=yolo11s.pt epochs=1 batch=16")
# Run validation and evaluate
os.system(f"yolo detect val data={path} model=runs/detect/train/weights/best.pt > {val_log_file} 2>&1")
benchmark.evaluate(str(path), str(val_log_file), str(eval_log_file), ind)
# Remove the 'runs' directory
runs_dir = Path.cwd() / "runs"
shutil.rmtree(runs_dir)
else:
print("YAML file path does not exist")
continue
print("RF100 Benchmarking completed!")
アプリケーション
Roboflow 100は、コンピュータビジョンおよび深層学習に関連するさまざまなアプリケーションにとって非常に貴重です。研究者やエンジニアは、このベンチマークを活用して以下を行うことができます。
- マルチドメイン環境における物体検出モデルの性能を評価します。
- 一般的なベンチマークデータセット(COCOやPASCAL VOCなど)を超えて、現実世界のシナリオに対するモデルの適応性と堅牢性をテストします。
- ヘルスケア、航空写真、ビデオゲームなどの専門分野を含む、多様なデータセットにわたる物体検出モデルの能力をベンチマークします。
- 異なるニューラルネットワークアーキテクチャと最適化手法におけるモデルの性能を比較します。
- 専門的なモデルトレーニングのヒントや、ファインチューニング(転移学習など)のアプローチが必要となる可能性のある、ドメイン固有の課題を特定します。
実際のアプリケーションに関するアイデアやインスピレーションについては、実践的なプロジェクトに関するガイドをご覧いただくか、Ultralytics HUBで効率化されたモデルトレーニングとデプロイメントをご確認ください。
使用法
メタデータとダウンロードリンクを含むRoboflow 100データセットは、公式Webサイトで入手できます。 Roboflow 100 GitHubリポジトリ。そこから直接データセットにアクセスして、ベンチマークのニーズに活用できます。Ultralytics RF100Benchmark
ユーティリティは、これらのデータセットをダウンロードして、Ultralyticsモデルで使用できるように準備するプロセスを簡素化します。
サンプルデータとアノテーション
Roboflow 100は、さまざまな角度やドメインからキャプチャされた多様な画像を含むデータセットで構成されています。以下は、RF100ベンチマークに含まれるアノテーション付き画像の例であり、さまざまなオブジェクトとシーンを示しています。データ拡張などの手法を使用すると、トレーニング中の多様性をさらに高めることができます。
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チームとすべての貢献者の多大な努力に感謝いたします。
物体検出と機械学習プロジェクトを強化するために、より多くのデータセットを探索したい場合は、さまざまな検出データセットを含む包括的なデータセットコレクションをご覧ください。
よくある質問
Roboflow 100データセットとは何ですか?また、オブジェクト検出において、なぜそれが重要なのでしょうか?
Roboflow 100データセットは、物体検出モデルのベンチマークです。Roboflow Universeから提供された100個の多様なデータセットで構成されており、ヘルスケア、航空画像、ビデオゲームなどのドメインをカバーしています。その重要性は、従来のドメインが限られていることが多いベンチマークを超えて、幅広い現実世界のシナリオにわたるモデルの適応性と堅牢性をテストするための標準化された方法を提供することにあります。
Roboflow 100 データセットは、どの分野を対象としていますか?
Roboflow 100データセットは、物体検出モデルに独自の課題を提供する7つの多様なドメインにまたがっています。
- 航空: 7つのデータセット(例:衛星画像、ドローンからの映像)。
- ビデオゲーム: 7つのデータセット(例:さまざまなゲーム環境からのオブジェクト)。
- 顕微鏡: 11個のデータセット(細胞、粒子など)。
- 水中: 5つのデータセット(例:海洋生物、水没物)。
- ドキュメント: 8個のデータセット(テキスト領域、フォーム要素など)。
- Electromagnetic: 12個のデータセット(レーダー署名、スペクトルデータ可視化など)。
- 実世界: 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モデルと互換性のある他の検出データセットを閲覧してください。