跳至内容

Roboflow 100 数据集

Roboflow 100,由 Roboflow开发并由英特尔赞助的 "100 "是一项开创性的物体检测基准。它包括从 90,000 多个公共数据集中抽取的 100 个不同数据集。该基准旨在测试模型在医疗保健、航空图像和视频游戏等不同领域的适应性。

Roboflow 100 概览

主要功能

  • 包括七个领域的 100 个数据集:航空、视频游戏、显微镜、水下、文件、电磁和真实世界。
  • 该基准包括 805 个类别的 224 714 幅图像,标注工作耗时超过 11 170 小时。
  • 所有图像的大小均调整为 640x640 像素,重点是消除类别模糊性和过滤代表性不足的类别。
  • 注释包括物体的边界框,因此适合用于训练和评估物体检测模型。

数据集结构

Roboflow 100 数据集分为七个类别,每个类别都有一套不同的数据集、图像和类别:

  • 航空:由 7 个数据集组成,共有 9 683 幅图像,涵盖 24 个不同类别。
  • 电子游戏:包括 7 个数据集,涉及 88 个类别的 11,579 幅图像。
  • 显微镜包括 11 个数据集,共 13,378 幅图像,跨越 28 个类别。
  • 水下:包含 5 个数据集,涵盖 39 个类别的 18 003 幅图像。
  • 文件:由 8 个数据集组成,包含 24 813 张图片,分为 90 个类别。
  • 电磁:由 12 个数据集组成,共计 41 个类别的 36 381 幅图像。
  • 真实世界:最大的类别,有 50 个数据集,提供 495 个类别的 110 615 幅图像。

这种结构为物体检测模型提供了一个多样而广泛的测试平台,反映了真实世界的应用场景。

制定基准

数据集基准测试使用准确率、平均精度和 F1 分数等标准化指标,评估机器学习模型在特定数据集上的性能。

制定基准

基准测试结果将存储在 "ultralytics-benchmarks/evaluation.txt" 中。

基准范例

from pathlib import Path
import shutil
import os
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=yolov8s.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 对于与计算机视觉和深度学习相关的各种应用都非常宝贵。研究人员和工程师可以利用这一基准来:

  • 在多领域背景下评估物体检测模型的性能。
  • 测试模型对真实世界场景的适应性,而不是普通的物体识别。
  • 在各种数据集(包括医疗保健、航空图像和视频游戏中的数据集)中对物体检测模型的能力进行基准测试。

要获得更多实际应用的想法和灵感,请务必查看我们的实际项目指南

使用方法

Roboflow 100 数据集可在GitHubRoboflow Universe 上获取。

您可以直接从Roboflow 100 GitHub 存储库访问。此外,在Roboflow Universe 上,只需点击每个数据集内的导出按钮,您就可以灵活地下载单个数据集。

样本数据和注释

Roboflow RF100 包含从不同角度和领域拍摄的各种图像和视频数据集。下面是 RF100 基准中的注释图像示例。

样本数据和注释

Roboflow 100 基准的多样性是传统基准的一大进步,传统基准通常只关注在有限的领域内优化单一指标。

引文和致谢

如果您在研究或开发工作中使用Roboflow 100 数据集,请引用以下论文:

@misc{2211.13523,
    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},
    Eprint = {arXiv:2211.13523},
}

我们感谢Roboflow 团队和所有贡献者为创建和维持Roboflow 100 数据集所付出的辛勤努力。

如果您有兴趣探索更多数据集,以加强您的物体检测和机器学习项目,请随时访问我们的综合数据集



创建于 2024-02-07,更新于 2024-04-29
作者:RizwanMunawar(2)、glenn-jocher(1)、abirami-vina(1)

评论