Roboflow 100 データセット
IntelがスポンサーとなっているRoboflow 100は、Intel、画期的な物体検出ベンチマークデータセットです。100種類の多様なデータセットが含まれています。このベンチマークは、ヘルスケア、航空画像、ビデオゲームなど、さまざまなドメインに対するYOLOモデルの適応性をテストするために特別に設計されています。コンピュータビジョンモデル(Ultralytics YOLOモデルなど)の適応性をテストするように設計されています。
Ultralyticsでは、さまざまなユースケースに対応するため、2つのライセンスオプションを提供しています。
- AGPL-3.0 ライセンス: このOSI 認定オープンソースライセンスは、オープンなコラボレーションと知識の共有を促進するため、学生や愛好家に最適です。詳細についてはLICENSE詳細についてはファイルを参照し、AGPL-3.0 Licenseページ.
- エンタープライズライセンスにアクセスしてください。:商用利用向けに設計されており、このライセンスによりUltralyticsソフトウェアおよびAIモデルを商用製品やサービスにシームレスに統合できます。商用利用のシナリオについては、お問い合わせください。Ultralytics ライセンス.
主な機能
- 多様なドメイン:航空、ビデオゲーム、顕微鏡、水中、文書、電磁気、実世界の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ソリューションで見られる実世界の幅広いアプリケーションシナリオを反映しています。Ultralyticsソリューション.
ベンチマーク
データセットのベンチマークには、標準化されたメトリクスを使用して特定のデータセットに対する機械学習モデルのパフォーマンスを評価することが含まれます。一般的なメトリクスには、精度、mAP、およびF1-scoreが含まれます。詳細については、YOLO Performance Metricsガイド.
提供されたスクリプトを使用したベンチマーク結果は、ultralytics-benchmarks/ディレクトリ、具体的にはevaluation.txt.
以下のスクリプトは、Roboflow 100ベンチマーク内の全100データセットに対して、Ultralytics YOLOモデル(例:YOLO11n)をプログラムでベンチマークする方法を示しています。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=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は、コンピュータビジョンとディープラーニングに関連するさまざまなアプリケーションにおいて非常に貴重です。研究者やエンジニアは、このベンチマークを活用して以下のことが可能です。
- マルチドメインコンテキストにおける物体検出モデルのパフォーマンスを評価する。
- 一般的な堅牢性を超えた、実世界のシナリオに対するモデルの適応性とベンチマークデータセット(COCOやPASCAL VOC.
- など)をテストする。ヘルスケア、航空画像、ビデオゲームなどの専門分野を含む、多様なデータセット全体で物体検出モデルの機能をベンチマークする。
- 異なるニューラルネットワークアーキテクチャおよび最適化技術間でのモデルパフォーマンスを比較する。
- 専門的なモデルトレーニングのヒントやファインチューニングアプローチ(転移学習.
など)が必要となる可能性のあるドメイン固有の課題を特定する。実世界のアプリケーションに関するアイデアやインスピレーションについては、実用的なプロジェクトに関するガイドを探索するか、Ultralytics Platform効率的なモデル学習とデプロイメント.
使用方法
を確認してください。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チームおよびすべての貢献者に感謝の意を表します。
物体検出および機械学習プロジェクトを強化するためにさらに多くのデータセットを探索したい場合は、包括的なデータセットコレクションにアクセスしてください。これには、他のさまざまな検出データセット.
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モデルと互換性のあるもの)を閲覧してください。