Набор данных Roboflow 100
Roboflow 100, спонсируемый Intel, является новаторским эталонным набором данных для обнаружения объектов. Он включает в себя 100 разнообразных наборов данных, взятых из более чем 90 000 общедоступных наборов данных, доступных на Roboflow Universe. Этот бенчмарк специально разработан для проверки адаптивности моделей компьютерного зрения, таких как модели Ultralytics YOLO, к различным областям, включая здравоохранение, аэрофотосъемку и видеоигры.
Лицензирование
Ultralytics предлагает два варианта лицензирования для различных случаев использования:
- Лицензия AGPL-3.0: Эта одобренная OSI лицензия с открытым исходным кодом идеально подходит для студентов и энтузиастов, способствуя открытому сотрудничеству и обмену знаниями. Подробности см. в файле LICENSE, а также посетите нашу страницу лицензии AGPL-3.0.
- Корпоративная лицензия: Эта лицензия, предназначенная для коммерческого использования, позволяет беспрепятственно интегрировать программное обеспечение Ultralytics и модели искусственного интеллекта в коммерческие продукты и сервисы. Если ваш сценарий предполагает коммерческое применение, обратитесь к нам через Ultralytics Licensing.
Основные характеристики
- Разнообразные домены: Включает 100 наборов данных в семи различных областях: Аэрофотосъемка, Видеоигры, Микроскопия, Подводный мир, Документы, Электромагнетика и Реальный мир.
- Масштаб: Эталонный набор данных включает 224 714 изображений по 805 классам, что составляет более 11 170 часов работы по разметке данных.
- Стандартизация: Все изображения предварительно обрабатываются и изменяются до размера 640x640 пикселей для обеспечения согласованной оценки.
- Чистая оценка: Сосредоточена на устранении неоднозначности классов и отфильтровывает недостаточно представленные классы для обеспечения более чистой оценки модели.
- Аннотации: Включает ограничивающие рамки для объектов, подходящие для обучения и оценки моделей обнаружения объектов с использованием таких метрик, как mAP.
Структура набора данных
Набор данных Roboflow 100 организован в семь категорий, каждая из которых содержит уникальную коллекцию наборов данных, изображений и классов:
- Аэросъемка: 7 наборов данных, 9 683 изображения, 24 класса.
- Видеоигры: 7 наборов данных, 11 579 изображений, 88 классов.
- Микроскопия: 11 наборов данных, 13 378 изображений, 28 классов.
- Подводный мир: 5 наборов данных, 18 003 изображения, 39 классов.
- Документы: 8 наборов данных, 24 813 изображений, 90 классов.
- Electromagnetic: 12 наборов данных, 36 381 изображение, 41 класс.
- Реальный мир: 50 наборов данных, 110 615 изображений, 495 классов.
Эта структура предоставляет разнообразную и обширную площадку для тестирования моделей обнаружения объектов, отражающую широкий спектр сценариев реального применения, встречающихся в различных решениях Ultralytics.
Бенчмаркинг
Бенчмаркинг набора данных включает в себя оценку производительности моделей машинного обучения на конкретных наборах данных с использованием стандартизированных метрик. Общие метрики включают точность, среднюю среднюю точность (mAP) и F1-меру. Вы можете узнать больше об этом в нашем руководстве по метрикам производительности YOLO.
Результаты бенчмаркинга
Результаты бенчмаркинга с использованием предоставленного скрипта будут сохранены в ultralytics-benchmarks/
директории, в частности, в evaluation.txt
.
Пример бенчмаркинга
Следующий скрипт демонстрирует, как программно протестировать Ultralytics YOLO модель (например, YOLOv11n) на всех 100 наборах данных в рамках Roboflow 100 benchmark, используя RF100Benchmark
class.
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 является эталоном для моделей обнаружения объектов. Он включает в себя 100 разнообразных наборов данных из Roboflow Universe, охватывающих такие области, как здравоохранение, аэрофотосъемка и видеоигры. Его значение заключается в предоставлении стандартизированного способа проверки адаптивности и устойчивости модели в широком диапазоне реальных сценариев, выходя за рамки традиционных, часто ограниченных по области применения, эталонов.
Какие области охватывает набор данных Roboflow 100?
Датасет Roboflow 100 охватывает семь различных областей, предлагая уникальные задачи для моделей обнаружения объектов:
- Аэрофотосъемка: 7 наборов данных (например, спутниковые снимки, виды с дронов).
- Видеоигры: 7 наборов данных (например, объекты из различных игровых сред).
- Микроскопия: 11 наборов данных (например, клетки, частицы).
- Подводный мир: 5 наборов данных (например, морская жизнь, затопленные объекты).
- Документы: 8 наборов данных (например, текстовые области, элементы форм).
- Electromagnetic: 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.