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