Roboflow 100 データセット
Roboflow 100, sponsored by Intel, is a groundbreaking object detection benchmark dataset. It includes 100 diverse datasets. This benchmark is specifically designed to test the adaptability of computer vision models, like Ultralytics YOLO models, to various domains, including healthcare, aerial imagery, and video games.
Ultralyticsでは、さまざまなユースケースに対応するため、2つのライセンスオプションを提供しています。
- AGPL-3.0 ライセンス: このOSI承認済みのオープンソースライセンスは、学生や愛好家に最適であり、オープンな協力と知識の共有を促進します。詳細についてはLICENSEファイルを確認するか、AGPL-3.0 ライセンスページをご覧ください。
- Enterprise ライセンス: 商用利用向けに設計されたこのライセンスでは、UltralyticsのソフトウェアやAIモデルを商用製品やサービスにシームレスに統合できます。商用アプリケーションでの利用を検討されている場合は、Ultralytics Licensingよりお問い合わせください。
主な特徴
- 多様なドメイン: 航空、ビデオゲーム、顕微鏡、水中、文書、電磁気、現実世界の7つの異なるドメインにわたる100個のデータセットが含まれています。
- 規模: このベンチマークは805クラス、224,714枚の画像で構成されており、データラベリングに11,170時間以上が費やされています。
- 標準化: すべての画像は前処理され、一貫した評価のために640x640ピクセルにリサイズされています。
- クリーンな評価: クラスの曖昧さを排除し、表現不足のクラスを除外することに重点を置いており、よりクリーンなモデル評価を保証します。
- Annotations: Includes bounding boxes for objects, suitable for training and evaluating object detection models using metrics like 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に見られる広範囲の現実世界のアプリケーションシナリオを反映しています。
ベンチマーク
データセットのベンチマークとは、標準化された指標を使用して特定のデータセットに対する機械学習モデルの性能を評価することです。一般的な指標には、精度、平均適合率(mAP)、F1スコアなどがあります。これらについての詳細は、YOLO パフォーマンスメトリクスガイドをご覧ください。
提供されたスクリプトを使用したベンチマーク結果は、ultralytics-benchmarks/ディレクトリ内のevaluation.txtに保存されます。
以下のスクリプトは、RF100Benchmarkクラスを使用して、Roboflow 100ベンチマーク内の全100データセットでUltralytics YOLOモデル(例:YOLO26n)をプログラムでベンチマークする方法を示しています。
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=yolo26s.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は、コンピュータビジョンおよびディープラーニングに関連するさまざまなアプリケーションにとって非常に価値があります。研究者やエンジニアはこのベンチマークを活用して、以下のようなことが可能です。
- マルチドメイン環境における物体検出モデルの性能を評価する。
- Test the adaptability and robustness of models to real-world scenarios beyond common benchmark datasets like COCO or PASCAL VOC.
- ヘルスケア、航空画像、ビデオゲームなどの専門分野を含む、多様なデータセットにわたって物体検出モデルの機能をベンチマークする。
- 異なるニューラルネットワークアーキテクチャおよび最適化技術間でモデルの性能を比較する。
- Identify domain-specific challenges that may require specialized model training tips or fine-tuning approaches like transfer learning.
For more ideas and inspiration on real-world applications, explore our guides on practical projects or check out Ultralytics Platform for streamlined model training and deployment.
使用方法
メタデータやダウンロードリンクを含むRoboflow 100データセットは、公式の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チームとすべての貢献者に深く感謝いたします。
If you are interested in exploring more datasets to enhance your object detection and machine learning projects, feel free to visit our comprehensive dataset collection, which includes a variety of other detection datasets.
FAQ
Roboflow 100データセットとは何であり、なぜ物体検出において重要なのでしょうか?
Roboflow 100データセットは、物体検出モデルのベンチマークです。これにはヘルスケア、航空画像、ビデオゲームなどのドメインをカバーする100種類の多様なデータセットが含まれています。その重要性は、従来のドメインが限定されたベンチマークを超えて、幅広い現実世界のシナリオ全体でモデルの適応性と堅牢性をテストする標準化された方法を提供していることにあります。
Roboflow 100データセットではどのドメインがカバーされていますか?
Roboflow 100データセットは7つの多様なドメインにまたがっており、物体検出モデルに対して独自かつ困難な課題を提供します。
- 航空: 7データセット(例:衛星画像、ドローンビュー)。
- ビデオゲーム: 7データセット(例:さまざまなゲーム環境のオブジェクト)。
- 顕微鏡: 11データセット(例:細胞、粒子)。
- 水中: 5データセット(例:海洋生物、水没物)。
- 文書: 8データセット(例:テキスト領域、フォーム要素)。
- 電磁気: 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モデルと互換性のある他の検出データセットを閲覧してください。