Roboflow 100 数据集
由 Intel 赞助的 Roboflow 100 是一项具有开创性的 目标检测 基准数据集。它包含 100 个不同的数据集。此基准旨在专门测试 计算机视觉 模型(例如 Ultralytics YOLO 模型)对医疗保健、航拍图像和视频游戏等不同领域的适应能力。
Ultralytics 提供两种许可选项,以满足不同的使用场景:
- AGPL-3.0 许可协议:此 OSI 认证 的开源许可证非常适合学生和爱好者,旨在促进开放协作和知识共享。有关更多详细信息,请参阅 LICENSE 文件并访问我们的 AGPL-3.0 许可页面。
- 企业许可协议:此许可专为商业用途设计,允许将 Ultralytics 软件和 AI 模型无缝集成到商业产品和服务中。如果你的场景涉及商业应用,请通过 Ultralytics 许可 与我们联系。
主要特性
- 多元化领域:包括涵盖七个不同领域的 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 个数据集,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 解决方案 中常见的广泛现实应用场景。
基准测试
数据集 基准测试 涉及使用标准化指标在特定数据集上评估 机器学习 模型的性能。常见指标包括 准确率、平均精度均值 (mAP) 和 F1-score。你可以在我们的 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.
如需更多关于真实应用的想法和灵感,请探索 我们的实践项目指南 或查看 Ultralytics 平台 以获得简化的 模型训练 和 部署 体验。
使用方法
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 团队和所有贡献者,他们为创建和维护 Roboflow 100 数据集这一计算机视觉社区的宝贵资源所做出的巨大努力。
如果你有兴趣探索更多数据集以增强你的目标检测和机器学习项目,请随意访问 我们的综合数据集集合,其中包含各种其他的 检测数据集。
常见问题 (FAQ)
什么是 Roboflow 100 数据集,它对于目标检测有何重要意义?
Roboflow 100 数据集是 目标检测 模型的基准。它包含 100 个涵盖医疗保健、航拍图像和视频游戏等领域的多样化数据集。其意义在于提供了一种标准化的方法,用于测试模型在广泛的现实场景中的适应性和鲁棒性,超越了传统的、通常受领域限制的基准测试。
Roboflow 100 数据集涵盖了哪些领域?
Roboflow 100 数据集跨越了七个多元化领域,为 目标检测 模型带来了独特的挑战:
- 航拍: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}
}