Перейти к содержимому

Roboflow 100 Dataset

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

Roboflow 100 Обзор

Основные характеристики

  • Включает в себя 100 наборов данных по семи доменам: Аэрофотосъемка, видеоигры, микроскопическая съемка, подводная съемка, документы, электромагнитная съемка и реальный мир.
  • В бенчмарк вошли 224 714 изображений 805 классов, благодаря более чем 11 170 часам работы по маркировке.
  • Все изображения изменены до размера 640х640 пикселей, при этом особое внимание уделяется устранению двусмысленности классов и отсеиванию недопредставленных классов.
  • Аннотации включают ограничительные рамки для объектов, что делает его подходящим для обучения и оценки моделей обнаружения объектов.

Структура набора данных

Набор данных 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 классам.

Такая структура позволяет создать разнообразный и обширный полигон для тестирования моделей обнаружения объектов, отражающий реальные сценарии применения.

Бенчмаркинг

Бенчмаркинг датасетов оценивает производительность моделей машинного обучения на конкретных наборах данных, используя стандартизированные метрики, такие как точность, среднее значение точности и F1-score.

Бенчмаркинг

Результаты бенчмаркинга будут сохранены в файле "ultralytics-benchmarks/evaluation.txt".

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

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

  • Оценивай производительность моделей обнаружения объектов в многодоменном контексте.
  • Проверь адаптивность моделей к реальным сценариям, выходящим за рамки обычного распознавания объектов.
  • Проверь возможности моделей обнаружения объектов на различных наборах данных, в том числе в здравоохранении, аэрофотосъемке и видеоиграх.

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

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

Набор данных Roboflow 100 доступен на GitHub и Roboflow Universe.

Ты можешь получить доступ к нему прямо из репозитория Roboflow 100 GitHub. Кроме того, на сайте Roboflow Universe у тебя есть возможность скачать отдельные наборы данных, просто нажав на кнопку экспорта в каждом наборе.

Образцы данных и аннотации

Roboflow 100 состоит из наборов данных с разнообразными изображениями и видео, снятыми с разных ракурсов и доменов. Ниже приведены примеры аннотированных изображений в тесте RF100.

Образцы данных и аннотации

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

Цитаты и благодарности

Если ты используешь набор данных Roboflow 100 в своих исследованиях или разработках, пожалуйста, ссылайся на следующую статью:

@misc{2211.13523,
    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},
    Eprint = {arXiv:2211.13523},
}

Мы благодарим команду Roboflow и всех участников за их тяжелый труд по созданию и поддержанию набора данных Roboflow 100.

Если тебе интересно изучить больше наборов данных, чтобы улучшить свои проекты по обнаружению объектов и машинному обучению, не стесняйся посетить нашу обширную коллекцию наборов данных.

ВОПРОСЫ И ОТВЕТЫ

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

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

Как я могу использовать набор данных Roboflow 100 для бенчмаркинга своих моделей обнаружения объектов?

Чтобы использовать набор данных Roboflow 100 для бенчмарков, ты можешь реализовать класс RF100Benchmark из библиотеки Ultralytics . Вот краткий пример:

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

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=yolov8s.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 '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?

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

  1. Аэрофотосъемка: 7 наборов данных, 9 683 изображения, 24 класса
  2. Видеоигры: 7 наборов данных, 11 579 изображений, 88 классов
  3. Микроскопические: 11 наборов данных, 13 378 изображений, 28 классов
  4. Под водой: 5 наборов данных, 18 003 изображения, 39 классов
  5. Документы: 8 наборов данных, 24 813 изображений, 90 классов
  6. Электромагнитные: 12 наборов данных, 36 381 изображение, 41 класс
  7. Реальный мир: 50 наборов данных, 110 615 изображений, 495 классов

Такая установка позволяет проводить обширное и разнообразное тестирование моделей в различных реальных приложениях.

Как получить доступ и скачать набор данных Roboflow 100?

Набор данных Roboflow 100 доступен на GitHub и Roboflow Universe. Ты можешь скачать весь набор данных с GitHub или выбрать отдельные наборы данных на Roboflow Universe с помощью кнопки экспорта.

Что нужно указывать при цитировании набора данных Roboflow 100 в своих исследованиях?

Используя набор данных Roboflow 100 в своих исследованиях, позаботься о правильном цитировании. Вот рекомендуемый вариант цитирования:

Цитата

@misc{2211.13523,
    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},
    Eprint = {arXiv:2211.13523},
}

За более подробной информацией ты можешь обратиться к нашей обширной коллекции данных.



Создано 2024-02-07, Обновлено 2024-07-04
Авторы: glenn-jocher (5), RizwanMunawar (2), abirami-vina (1)

Комментарии