Roboflow 100数据集
Roboflow 100 由 Intel 赞助,是一个突破性的 目标检测 基准数据集。它包括从 Roboflow Universe 上超过 90,000 个公共数据集中抽样的 100 个不同的数据集。此基准专门用于测试 计算机视觉 模型(如 Ultralytics YOLO 模型)对各种领域的适应性,包括医疗保健、航空图像和视频游戏。
许可
Ultralytics 提供了两种许可选项,以适应不同的用例:
- AGPL-3.0 许可证: 这种经 OSI 批准的开源许可证非常适合学生和爱好者,可促进开放协作和知识共享。有关更多详细信息,请参见LICENSE文件,并访问我们的AGPL-3.0 许可证页面。
- 企业许可证: 此许可证专为商业用途而设计,允许将 Ultralytics 软件和 AI 模型无缝集成到商业产品和服务中。 如果您的场景涉及商业应用,请通过 Ultralytics 许可联系我们。
主要功能
- 多样化领域: 包含跨越七个不同领域的 100 个数据集:空中、视频游戏、微观、水下、文档、电磁和现实世界。
- 规模: 该基准包含 224,714 张图像,涵盖 805 个类别,代表超过 11,170 小时的数据标注工作。
- 标准化:所有图像都经过预处理并调整大小为 640x640 像素,以实现一致的评估。
- 清晰的评估: 专注于消除类别歧义,并过滤掉代表性不足的类别,以确保更清晰的模型评估。
- 标注(Annotations): 包括对象的边界框,适用于使用诸如训练和使用诸如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 分数。 您可以在我们的 YOLO 性能指标指南中了解更多相关信息。
基准测试结果
使用提供的脚本进行基准测试的结果将存储在 ultralytics-benchmarks/
目录,特别是在 evaluation.txt
.
基准测试示例
以下脚本演示了如何使用以下方法以编程方式在 Roboflow 100 基准测试中的所有 100 个数据集上对 Ultralytics YOLO 模型(例如,YOLOv11n)进行基准测试 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=yolo11s.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 HUB,以简化模型训练和部署。
用法
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 数据集所做的重大努力,使其成为计算机视觉社区的宝贵资源。
如果您有兴趣探索更多数据集以增强您的对象检测和机器学习项目,请随时访问我们全面的数据集集合,其中包括各种其他检测数据集。
常见问题
什么是 Roboflow 100 数据集,为什么它对对象检测如此重要?
Roboflow 100 数据集是目标检测模型的基准。它包含来自 Roboflow Universe 的 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}
}
为了进一步探索,请考虑访问我们的综合数据集集合或浏览其他与 Ultralytics 模型兼容的检测数据集。