Meet YOLO26: next-gen vision AI.

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 Licensing 联系我们。

Roboflow 100 diverse object detection benchmark

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 性能指标指南 中了解更多相关信息。

基准测试结果

每个输出都归入单个 runs/<task>/multitrain/ 目录下:每个数据集在各自的子目录中进行微调(带有各自的 results.png),各数据集的指标和平均指标被写入 multitrain_results.json,同时生成 multitrain_results.png 条形图。model.train() 调用也会返回一个 {dataset: metrics} 字典,以便程序化访问。

基准测试示例

下面的脚本从 Roboflow 下载 datasets_links.txt 中列出的 Roboflow 100 数据集,然后在一次 model.train() 调用中对整个集合上的单个基础模型(例如 YOLO26n)进行微调。传递数据集列表可以依次对每个数据集微调基础模型,并自动可视化跨数据集的结果。下载数据集需要免费的 Roboflow API 密钥

import re
from pathlib import Path

from ultralytics import YOLO
from ultralytics.utils import ASSETS_URL, YAML
from ultralytics.utils.checks import check_requirements
from ultralytics.utils.downloads import safe_download

# Download the RF100 datasets from Roboflow (requires a free Roboflow API key)
check_requirements("roboflow")
from roboflow import Roboflow

rf = Roboflow(api_key="YOUR_ROBOFLOW_API_KEY")
safe_download(f"{ASSETS_URL}/datasets_links.txt")  # list of RF100 dataset links

datasets = []
for line in Path("datasets_links.txt").read_text().splitlines():
    try:
        _, _url, workspace, project, version = re.split("/+", line.strip())
        location = f"rf-100/{project}-{version}"
        rf.workspace(workspace).project(project).version(version).download("yolov8", location=location)
        yaml = Path(location) / "data.yaml"
        cfg = YAML.load(yaml)  # point train/val at the downloaded image folders
        cfg["train"], cfg["val"] = "train/images", "valid/images"
        YAML.save(yaml, cfg)
        datasets.append(str(yaml))
    except Exception:
        continue

# Fine-tune one base model across all RF100 datasets and visualize the cross-dataset results
model = YOLO("yolo26n.pt")
results = model.train(data=datasets, epochs=100, imgsz=640)  # {dataset: metrics}

# Per-dataset runs, multitrain_results.json (per-dataset + mean), and multitrain_results.png are saved
# together under runs/detect/multitrain. Read results in-memory or from the JSON for custom post-processing.
for dataset, metrics in results.items():
    if metrics:  # None if that dataset failed to train
        print(f"{dataset}: mAP50-95 = {metrics['metrics/mAP50-95(B)']:.4f}")

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 仓库 中获取。你可以直接从那里访问和利用该数据集来满足你的基准测试需求。一旦按上述说明下载并准备好数据集,通过传递数据集 YAML 列表,Ultralytics 模型可以在单次 model.train() 调用中跨整个集合进行微调。

Link to this section示例数据与标注#

Roboflow 100 由从各种角度和领域捕获的图像数据集组成。以下是 RF100 基准中包含的标注图像示例,展示了对象和场景的多样性。使用 数据增强 等技术可以进一步提高训练过程中的多样性。

Roboflow 100 sample images with annotations

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 数据集跨越了七个不同的领域,为 目标检测 模型带来了独特的挑战:

  1. 航拍:7 个数据集(例如卫星图像、无人机视角)。
  2. 视频游戏:7 个数据集(例如来自各种游戏环境的对象)。
  3. 显微镜:11 个数据集(例如细胞、颗粒)。
  4. 水下:5 个数据集(例如海洋生物、水下物体)。
  5. 文档:8 个数据集(例如文本区域、表单元素)。
  6. 电磁:12 个数据集(例如雷达特征、光谱数据可视化)。
  7. 现实世界: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 模型兼容的 检测数据集

评论