YOLO Vision 2026:

Набор данных Roboflow 100#

Roboflow 100, при спонсорстве Intel, представляет собой новаторский набор данных для бенчмаркинга object detection. Он включает в себя 100 разнообразных наборов данных. Этот бенчмарк специально разработан для проверки адаптируемости моделей computer vision, таких как Ultralytics YOLO models, к различным доменам, включая здравоохранение, аэрофотосъемку и видеоигры.

Лицензирование

Ultralytics предлагает два варианта лицензирования для разных сценариев использования:

  • AGPL-3.0 License: Эта одобренная OSI-approved лицензия с открытым исходным кодом идеально подходит для студентов и энтузиастов, способствуя открытому сотрудничеству и обмену знаниями. Дополнительную информацию см. в файле LICENSE и на нашей AGPL-3.0 License page.
  • Корпоративная лицензия: Для разработки и использования в производстве эта лицензия позволяет легко интегрировать ПО и ИИ-модели Ultralytics в бизнес-продукты и сервисы, включая внутренние инструменты, автоматизированные рабочие процессы и производственные развертывания, обходя требования открытого исходного кода AGPL-3.0. Чтобы начать работу, свяжись с нами через Ultralytics Licensing.

Roboflow 100 diverse object detection benchmark

Ключевые особенности#

  • Разнообразные домены: включает 100 наборов данных из семи различных областей: Аэрофотосъемка, Видеоигры, Микроскопические изображения, Подводная съемка, Документы, Электромагнитные данные и Реальный мир.
  • Scale: Бенчмарк включает 224 714 изображений в 805 классах, что представляет собой более 11 170 часов работы по data labeling.
  • Standardization: Все изображения preprocessed и изменены до разрешения 640x640 пикселей для обеспечения единообразной оценки.
  • Clean Evaluation: Фокусируется на устранении двусмысленности классов и фильтрует недостаточно представленные классы для обеспечения более чистой model evaluation.
  • Annotations: Включает bounding boxes для объектов, подходящие для training и оценки моделей обнаружения объектов с использованием таких метрик, как 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 классов.

Эта структура предоставляет разнообразную и обширную тестовую среду для моделей object detection, отражая широкий спектр сценариев реального применения, встречающихся в различных Ultralytics Solutions.

Бенчмаркинг#

Dataset benchmarking включает в себя оценку производительности моделей machine learning на определенных наборах данных с использованием стандартизированных метрик. Распространенные метрики включают accuracy, mean Average Precision (mAP) и F1-score. Вы можете узнать больше об этом в нашем руководстве YOLO Performance Metrics guide.

Результаты бенчмаркинга

Каждый вывод сгруппирован в одном каталоге runs/<task>/multitrain/: каждый набор данных настраивается (fine-tuned) в собственном подкаталоге (со своим собственным results.png), а метрики для каждого набора данных и средние значения записываются в multitrain_results.json вместе с гистограммой multitrain_results.png. Вызов model.train() также возвращает словарь {dataset: metrics} для программного доступа.

Пример бенчмаркинга

Приведенный ниже скрипт загружает наборы данных Roboflow 100, перечисленные в datasets_links.txt, из Roboflow, а затем выполняет тонкую настройку (fine-tune) одной базовой модели (например, YOLO26n) по всей коллекции за один вызов model.train(). Передача списка наборов данных выполняет тонкую настройку базовой модели на каждом из них последовательно и автоматически визуализирует результаты по разным наборам данных.

import re
from pathlib import Path

from roboflow import Roboflow

from ultralytics import YOLO
from ultralytics.utils import ASSETS_URL, LOGGER, YAML
from ultralytics.utils.downloads import safe_download

# Download the RF100 datasets (requires a Roboflow API key)
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 as e:
        LOGGER.warning(f"Failed to prepare dataset from {line!r}: {e}")

# 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}")

Применение#

Roboflow 100 неоценим для различных приложений, связанных с computer vision и deep learning. Исследователи и инженеры могут использовать этот бенчмарк для:

  • Оценки производительности моделей обнаружения объектов в мультидоменном контексте.
  • Тестирования адаптируемости и robustness моделей к сценариям реального мира за пределами распространенных benchmark datasets, таких как COCO или PASCAL VOC.
  • Бенчмаркинга возможностей моделей обнаружения объектов на разнообразных наборах данных, включая такие специализированные области, как здравоохранение, аэрофотосъемка и видеоигры.
  • Сравнения производительности моделей среди различных архитектур neural network и методов optimization.
  • Определения проблем, специфичных для домена, которые могут потребовать специализированных model training tips или подходов fine-tuning, таких как transfer learning.

Для получения дополнительных идей и вдохновения по реальным приложениям изучите our guides on practical projects или загляните на Ultralytics Platform для оптимизированного model training и deployment.

Использование#

Набор данных Roboflow 100, включая метаданные и ссылки для скачивания, доступен в официальном Roboflow 100 GitHub repository. Вы можете получить доступ к набору данных и использовать его напрямую оттуда для своих потребностей в бенчмаркинге. После того как наборы данных будут загружены и подготовлены, как показано выше, модели Ultralytics могут быть дообучены по всей коллекции за один вызов model.train(), передав список YAML-файлов наборов данных.

Примеры данных и разметки#

Roboflow 100 состоит из наборов данных с разнообразными изображениями, снятыми под разными углами и из разных доменов. Ниже приведены примеры аннотированных изображений, включенных в бенчмарк RF100, демонстрирующие разнообразие объектов и сцен. Такие методы, как data augmentation, могут еще больше повысить разнообразие во время обучения.

Roboflow 100 sample images with annotations

Разнообразие, наблюдаемое в бенчмарке Roboflow 100, представляет собой значительный шаг вперед по сравнению с традиционными бенчмарками, которые часто сосредоточены на оптимизации одной метрики в рамках ограниченного домена. Этот комплексный подход помогает в разработке более надежных и универсальных моделей computer vision, способных хорошо работать в множестве различных сценариев.

Цитирование и благодарности#

Если ты используешь набор данных 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 как ценного ресурса для сообщества компьютерного зрения.

Если ты хочешь изучить больше наборов данных для улучшения своих проектов по обнаружению объектов и машинному обучению, обязательно посети our comprehensive dataset collection, которая включает в себя множество других detection datasets.

FAQ#

  • Набор данных Roboflow 100 — это бенчмарк для моделей object detection. Он включает в себя 100 разнообразных наборов данных, охватывающих такие домены, как здравоохранение, аэрофотосъемка и видеоигры. Его значимость заключается в предоставлении стандартизированного способа проверки адаптируемости и надежности моделей в широком спектре реальных сценариев, выходя за рамки традиционных, часто ограниченных доменом бенчмарков.

  • Набор данных Roboflow 100 охватывает семь разнообразных доменов, предлагая уникальные задачи для моделей object detection:

    1. Аэрофотосъемка: 7 наборов данных (например, спутниковые снимки, виды с дронов).
    2. Видеоигры: 7 наборов данных (например, объекты из различных игровых сред).
    3. Микроскопические: 11 наборов данных (например, клетки, частицы).
    4. Подводная съемка: 5 наборов данных (например, морская флора и фауна, затопленные объекты).
    5. Документы: 8 наборов данных (например, текстовые области, элементы форм).
    6. Электромагнитные: 12 наборов данных (например, радарные сигнатуры, визуализации спектральных данных).
    7. Реальный мир: 50 наборов данных (широкая категория, включающая повседневные предметы, сцены, розничную торговлю и т. д.).

    Это разнообразие делает RF100 отличным ресурсом для оценки generalizability моделей компьютерного зрения.

  • При использовании набора данных 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}
    }

    Для дальнейшего изучения рассмотри возможность посещения нашей comprehensive dataset collection или просмотра других detection datasets, совместимых с моделями Ultralytics.

Комментарии