Link to this sectionRoboflow 100 数据集#
Roboflow 100 由 Intel 赞助,是一个突破性的 目标检测 基准数据集。它包含 100 个不同的数据集。该基准专门用于测试 计算机视觉 模型(如 Ultralytics YOLO 模型)对各种领域的适应性,包括医疗保健、航空影像和电子游戏。
Ultralytics 提供两种许可选项以满足不同的使用场景:
- AGPL-3.0 许可证:此 OSI 认证的 开源许可证非常适合学生和爱好者,旨在促进开放协作和知识共享。有关更多详细信息,请参阅 LICENSE 文件并访问我们的 AGPL-3.0 许可证页面。
- 企业许可:此许可适用于开发和生产用途,允许将 Ultralytics 软件和 AI 模型无缝集成到商业产品和服务中,包括内部工具、自动化工作流和生产部署,从而绕过 AGPL-3.0 的开源要求。若要开始,请通过 Ultralytics 许可页面 与我们联系。
Link to this section主要特性#
- 多样化的领域:包含七个不同领域的 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.
Link to this section数据集结构#
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 解决方案 中发现的大量现实应用场景。
Link to this section基准测试#
数据集 基准测试 涉及使用标准化指标评估 机器学习 模型在特定数据集上的表现。常用指标包括 准确率、平均精度均值 (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!")Link to this section应用#
Roboflow 100 对于 计算机视觉 和 深度学习 的各种应用非常有价值。研究人员和工程师可以利用此基准来:
- 在多领域环境中评估目标检测模型的性能。
- Test the adaptability and robustness of models to real-world scenarios beyond common benchmark datasets like COCO or PASCAL VOC.
- 在不同的数据集上对比目标检测模型的能力,包括医疗保健、航空影像和电子游戏等专业领域。
- 比较不同 神经网络 架构和 优化 技术之间的模型性能。
- 识别可能需要专门的 模型训练技巧 或 微调 方法(如 迁移学习)的领域特定挑战。
如需更多关于实际应用的想法和灵感,请探索 我们关于实践项目的指南 或查看 Ultralytics 平台 以获得简化的 模型训练 和 部署。
Link to this section使用方法#
Roboflow 100 数据集(包括元数据和下载链接)可在官方 Roboflow 100 GitHub 仓库 中获得。你可以直接从那里访问和利用数据集来满足你的基准测试需求。Ultralytics RF100Benchmark 工具简化了为 Ultralytics 模型下载和准备这些数据集的过程。
Link to this section样本数据和标注#
Roboflow 100 由从不同角度和领域捕获的多样化图像组成。以下是 RF100 基准中包含的已标注图像示例,展示了对象和场景的多样性。使用 数据增强 等技术可以进一步提高训练过程中的多样性。
Roboflow 100 基准中的多样性代表了传统基准的重大进步,传统基准往往侧重于优化有限领域内的单一指标。这种综合方法有助于开发更健壮、更多功能的 计算机视觉 模型,使其能够在众多不同场景中表现良好。
Link to this section引用与致谢#
如果你在研究或开发工作中使用 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 数据集这一计算机视觉社区的宝贵资源所做出的巨大努力。
如果你有兴趣探索更多数据集以增强你的目标检测和机器学习项目,请随意访问 我们全面的数据集集合,其中包含了各种其他 检测数据集。
Link to this section常见问题#
Link to this section什么是 Roboflow 100 数据集,它对于目标检测为何如此重要?#
Roboflow 100 数据集是一个用于 目标检测 模型的基准。它包含 100 个不同的数据集,涵盖医疗保健、航空影像和电子游戏等领域。它的重要性在于提供了一种标准化的方式来测试模型在各种现实场景中的适应性和鲁棒性,超越了传统的、往往局限于特定领域的基准。
Link to this sectionRoboflow 100 数据集涵盖了哪些领域?#
Roboflow 100 数据集跨越七个不同的领域,为 目标检测 模型带来了独特的挑战:
- 航空:7 个数据集(例如,卫星图像、无人机视角)。
- 电子游戏:7 个数据集(例如,来自各种游戏环境的对象)。
- 显微镜:11 个数据集(例如,细胞、颗粒)。
- 水下:5 个数据集(例如,海洋生物、水下物体)。
- 文档:8 个数据集(例如,文本区域、表单元素)。
- 电磁:12 个数据集(例如,雷达特征、光谱数据可视化)。
- 现实世界:50 个数据集(一个宽泛的类别,包括日常物品、场景、零售等)。
这种多样性使得 RF100 成为评估计算机视觉模型 泛化能力 的绝佳资源。
Link to this section在研究中引用 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 模型兼容的 检测数据集。