Meet YOLO26: next-gen vision AI.

Link to this sectionНабор данных Roboflow 100#

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

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

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

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

Roboflow 100 diverse object detection benchmark

Link to this sectionКлючевые особенности#

  • Разнообразные домены: включает 100 наборов данных из семи различных областей: Аэрофотосъемка, Видеоигры, Микроскопические изображения, Подводная съемка, Документы, Электромагнитные данные и Реальный мир.
  • Масштаб: бенчмарк содержит 224 714 изображений по 805 классам, что представляет собой более 11 170 часов работы по разметке данных.
  • Стандартизация: все изображения предварительно обработаны и изменены до размера 640x640 пикселей для единообразной оценки.
  • Чистота оценки: основное внимание уделяется устранению неоднозначности классов и фильтрации недостаточно представленных классов для обеспечения более точной оценки моделей.
  • Аннотации: включает ограничивающие рамки объектов, подходящие для обучения и оценки моделей обнаружения объектов с использованием таких метрик, как 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-мера. Ты можешь узнать больше об этом в нашем руководстве по метрикам производительности YOLO.

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

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

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

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

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 бесценен для различных приложений, связанных с компьютерным зрением и глубоким обучением. Исследователи и инженеры могут использовать этот бенчмарк для:

  • Оценки производительности моделей обнаружения объектов в мультидоменном контексте.
  • Тестирования адаптивности и устойчивости моделей к реальным сценариям, выходящим за рамки обычных бенчмарк-наборов данных, таких как COCO или PASCAL VOC.
  • Бенчмаркинга возможностей моделей обнаружения объектов на разнообразных наборах данных, включая такие специализированные области, как здравоохранение, аэрофотосъемка и видеоигры.
  • Сравнения производительности моделей на основе различных архитектур нейронных сетей и методов оптимизации.
  • Выявления специфических для домена проблем, которые могут потребовать специализированных советов по обучению моделей или подходов к дообучению, таких как обучение с переносом знаний.

Чтобы найти больше идей и вдохновения для реальных проектов, изучи наши руководства по практическим проектам или посети платформу Ultralytics для упрощенного обучения моделей и развертывания.

Link to this sectionИспользование#

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

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 sectionFAQ#

Link to this sectionЧто такое набор данных Roboflow 100 и почему он важен для обнаружения объектов?#

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

Link to this sectionКакие домены охватывает набор данных Roboflow 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.

Комментарии